quantbt-engine 1.1.0__tar.gz → 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- quantbt_engine-1.2.0/CHANGELOG.md +223 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/MANIFEST.in +4 -0
- quantbt_engine-1.2.0/PKG-INFO +892 -0
- quantbt_engine-1.2.0/README.md +838 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/pyproject.toml +4 -2
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/__init__.py +190 -1
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/api/event_driven.py +51 -0
- quantbt_engine-1.2.0/src/quantbt/backends/__init__.py +124 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/_native_event_rust.py +1532 -84
- quantbt_engine-1.2.0/src/quantbt/backends/native_audit_projection.py +187 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_event.py +1562 -208
- quantbt_engine-1.2.0/src/quantbt/backends/native_intrabar_rust.py +600 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_metric_support.py +42 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_option.py +956 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_package_arbitrage.py +274 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_portfolio.py +61 -229
- quantbt_engine-1.2.0/src/quantbt/backends/native_portfolio_package.py +913 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_prepared_evaluation.py +999 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_vectorized.py +546 -86
- quantbt_engine-1.2.0/src/quantbt/backends/native_wfo.py +1000 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_wfo_public.py +731 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_wfo_support.py +239 -0
- quantbt_engine-1.2.0/src/quantbt/backends/native_wfo_target.py +579 -0
- quantbt_engine-1.2.0/src/quantbt/backends/option_validation.py +110 -0
- quantbt_engine-1.2.0/src/quantbt/backends/portfolio_reports.py +206 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo.py +881 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_batch.py +323 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_batch_selection.py +516 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_preparation.py +127 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_sampling.py +199 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_support.py +671 -0
- quantbt_engine-1.2.0/src/quantbt/backends/reactive_wfo_workers.py +567 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backtester.py +54 -16
- quantbt_engine-1.2.0/src/quantbt/benchmarks/README.md +118 -0
- quantbt_engine-1.2.0/src/quantbt/benchmarks/phase7_thresholds.json +45 -0
- quantbt_engine-1.2.0/src/quantbt/benchmarks/v1_1_measurement.py +198 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/__init__.py +143 -0
- quantbt_engine-1.2.0/src/quantbt/core/_trace_columns.py +141 -0
- quantbt_engine-1.2.0/src/quantbt/core/account_metadata.py +17 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/accounting_contracts.py +14 -9
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/constraints.py +6 -3
- quantbt_engine-1.2.0/src/quantbt/core/delivery_lifecycle.py +74 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/engine.py +112 -8
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/event.py +47 -2
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/execution_contract.py +20 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/execution_trace.py +104 -50
- quantbt_engine-1.2.0/src/quantbt/core/fill_replay_v2.py +599 -0
- quantbt_engine-1.2.0/src/quantbt/core/generated_product_contracts.py +33 -0
- quantbt_engine-1.2.0/src/quantbt/core/instrument_registry_v2.py +434 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/intrabar_kernel.py +4 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/intrabar_reference.py +2 -0
- quantbt_engine-1.2.0/src/quantbt/core/market_calendar_v2.py +743 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/market_tape.py +64 -29
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/native_event_promotion.py +111 -1
- quantbt_engine-1.2.0/src/quantbt/core/native_result_v2.py +293 -0
- quantbt_engine-1.2.0/src/quantbt/core/package_execution_v2.py +647 -0
- quantbt_engine-1.2.0/src/quantbt/core/performance_contracts.py +452 -0
- quantbt_engine-1.2.0/src/quantbt/core/portfolio_validation.py +26 -0
- quantbt_engine-1.2.0/src/quantbt/core/prepared_execution_v2.py +94 -0
- quantbt_engine-1.2.0/src/quantbt/core/preprocessor.py +378 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/reactive.py +74 -2
- quantbt_engine-1.2.0/src/quantbt/core/research_audit.py +735 -0
- quantbt_engine-1.2.0/src/quantbt/core/research_audit_artifact.py +958 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/results.py +79 -9
- quantbt_engine-1.2.0/src/quantbt/core/runtime_governance.py +408 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/schema.py +11 -10
- quantbt_engine-1.2.0/src/quantbt/core/target_intents.py +169 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/types.py +20 -3
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/vectorized.py +54 -4
- quantbt_engine-1.2.0/src/quantbt/core/wfo_contracts.py +351 -0
- quantbt_engine-1.2.0/src/quantbt/core/wfo_evaluation.py +661 -0
- quantbt_engine-1.2.0/src/quantbt/core/wfo_failures.py +44 -0
- quantbt_engine-1.2.0/src/quantbt/core/wfo_preparation.py +212 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/__init__.py +32 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/access.py +4 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/account_profile.py +70 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/analysis_profile.py +39 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/archive.py +219 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/archive_contracts.py +276 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/assessment.py +235 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/__init__.py +26 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/donor_binding.py +44 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/donors.py +352 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/pack.py +283 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/reconcile.py +175 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/render.py +109 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/verification.py +85 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/calibration/worksheet.py +314 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/contracts.py +140 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/__init__.py +8 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/adapters.py +62 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/completed.py +57 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/contracts.py +219 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/effects.py +80 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/reduction.py +228 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/render.py +211 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/report.py +291 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/snapshots.py +106 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/decisions/validation.py +94 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/environments/__init__.py +7 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/environments/attribution.py +141 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/environments/manifests.py +119 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/evidence.py +150 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/__init__.py +20 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/basins.py +94 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/design.py +144 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/estimators.py +396 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/finite_panel.py +259 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/neighborhoods.py +128 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/schema.py +4 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/sensitivity.py +66 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/geometry/structured.py +270 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/identity.py +4 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/interpretation.py +111 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/planner.py +50 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/report.py +143 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/research_contracts.py +143 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/research_render.py +76 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/researcher.py +84 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/reuse.py +101 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/search_profile.py +76 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/__init__.py +8 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/accounts.py +238 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/contracts.py +182 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/explanation.py +92 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/render.py +53 -0
- quantbt_engine-1.2.0/src/quantbt/diagnostics/winner/report.py +231 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/endpoint.py +1728 -72
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/native_event.py +107 -67
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engines.py +100 -14
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/metrics/performance.py +97 -20
- quantbt_engine-1.2.0/src/quantbt/metrics/report_contracts.py +209 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/__init__.py +7 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/account.py +172 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/adapters.py +102 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/cache.py +80 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/drawdown.py +147 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/execution.py +118 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/inputs.py +190 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/ledger.py +263 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/ledger_inputs.py +118 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/plot.py +48 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/public.py +122 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/request.py +60 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/results.py +108 -0
- quantbt_engine-1.2.0/src/quantbt/metrics/reporting/snapshots.py +93 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/__init__.py +10 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/artifacts.py +21 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous.py +515 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous_binding.py +119 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous_eligibility.py +47 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous_producer.py +71 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous_retention.py +25 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous_runtime.py +277 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/continuous_scope.py +167 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/decision_report.py +447 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/__init__.py +1 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/access.py +58 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/full_development.py +113 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/diagnostics/identity.py +73 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/__init__.py +1 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/dossier.py +129 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/evidence.py +110 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/governance.py +110 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/plans.py +90 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/records.py +44 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/dossier/researcher_report.py +340 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/evaluation.py +100 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/event_producer.py +225 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/geometry/__init__.py +1 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/geometry/schema.py +169 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/integration_contracts.py +209 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/runtime.py +256 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/__init__.py +11 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/advisory.py +59 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/contracts.py +316 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/geometry.py +19 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/migration.py +59 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/objectives.py +154 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/pareto.py +113 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/registry.py +26 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/selection/selectors.py +60 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/__init__.py +10 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/analysis.py +137 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/contracts.py +83 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/dependence.py +85 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/moments.py +135 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/tails.py +151 -0
- quantbt_engine-1.2.0/src/quantbt/mode5/statistics/uncertainty.py +65 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/__init__.py +7 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/bootstrap.py +44 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/conditional_sobol.py +142 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/config.py +19 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/continuation/__init__.py +6 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/continuation/contract.py +167 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/continuation/session.py +239 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/continuation/storage.py +64 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/exact_is_reuse.py +37 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/execution_trial_output.py +19 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/__init__.py +25 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/artifacts.py +105 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/capture.py +161 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/common.py +104 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/config.py +173 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/descriptors.py +341 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/__init__.py +9 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/base.py +127 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/contracts.py +183 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/execution.py +101 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/package.py +51 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/package_contract.py +124 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/portfolio.py +98 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/portfolio_contract.py +117 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/portfolio_witness.py +91 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/reactive.py +62 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/registry.py +101 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/scalar.py +106 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/domains/scalar_contract.py +93 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/handoff.py +251 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/history.py +400 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/memo.py +34 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/model.py +450 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/nested.py +142 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/numerics.py +385 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/observer.py +365 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/panel.py +121 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/persistence.py +229 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/prepared.py +95 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive.py +99 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive_batch_witness.py +34 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive_execution.py +100 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/reactive_transport.py +127 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/records.py +356 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/runtime.py +505 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/selection.py +468 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/telemetry.py +47 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/witness.py +131 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/meta_selection/work_cache.py +63 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/objectives.py +16 -4
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/optimizer.py +15 -4
- quantbt_engine-1.2.0/src/quantbt/optimization/parameter_space.py +284 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/representatives.py +137 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/sampler_space.py +197 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/samplers.py +150 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/space.py +16 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/study_schedule.py +56 -0
- quantbt_engine-1.2.0/src/quantbt/optimization/wfo_study.py +402 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/__init__.py +16 -0
- quantbt_engine-1.2.0/src/quantbt/options/authority.py +275 -0
- quantbt_engine-1.2.0/src/quantbt/options/capabilities.py +243 -0
- quantbt_engine-1.2.0/src/quantbt/options/endpoint_validation.py +27 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/execution.py +53 -17
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/fees.py +15 -9
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/hedging.py +11 -0
- quantbt_engine-1.2.0/src/quantbt/options/ledger.py +332 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/lifecycle.py +5 -4
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/margin.py +76 -33
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/packages.py +8 -8
- quantbt_engine-1.2.0/src/quantbt/options/reporting.py +716 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/schema.py +4 -6
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/strategy.py +7 -0
- quantbt_engine-1.2.0/src/quantbt/options/validation.py +39 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/portfolio.py +138 -63
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/native_event.py +107 -46
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/native_execution.py +190 -2
- quantbt_engine-1.2.0/src/quantbt/preparation/native_intrabar_requests.py +292 -0
- quantbt_engine-1.2.0/src/quantbt/preparation/native_package_requests.py +475 -0
- quantbt_engine-1.2.0/src/quantbt/preparation/native_target_requests.py +341 -0
- quantbt_engine-1.2.0/src/quantbt/reporting/executed_attribution.py +30 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/portfolio_audit.py +15 -7
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/sizing/fast.py +13 -4
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/sizing/modes.py +35 -11
- quantbt_engine-1.2.0/src/quantbt/strategies/__init__.py +96 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/context.py +15 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/driver.py +126 -12
- quantbt_engine-1.2.0/src/quantbt/strategies/reactive_protocols.py +482 -0
- quantbt_engine-1.2.0/src/quantbt/strategies/reactive_wfo.py +484 -0
- quantbt_engine-1.2.0/src/quantbt/strategies/wfo_prepared.py +426 -0
- quantbt_engine-1.2.0/src/quantbt/verification/__init__.py +25 -0
- quantbt_engine-1.2.0/src/quantbt/verification/canonical_trace_v2.py +502 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/walkforward.py +2065 -319
- quantbt_engine-1.2.0/src/quantbt/wfo_execution.py +402 -0
- quantbt_engine-1.2.0/src/quantbt_engine.egg-info/PKG-INFO +892 -0
- quantbt_engine-1.2.0/src/quantbt_engine.egg-info/SOURCES.txt +585 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt_engine.egg-info/requires.txt +3 -1
- quantbt_engine-1.2.0/tests/test_acc01_clocks_funding.py +417 -0
- quantbt_engine-1.2.0/tests/test_acc01_event_vectorized.py +155 -0
- quantbt_engine-1.2.0/tests/test_acc01_source_guard.py +53 -0
- quantbt_engine-1.2.0/tests/test_ci_native_identity.py +108 -0
- quantbt_engine-1.2.0/tests/test_ci_shards_keep_going.py +134 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_endpoint.py +36 -5
- quantbt_engine-1.2.0/tests/test_followup_statistical_work.py +140 -0
- quantbt_engine-1.2.0/tests/test_gate_paired_timings.py +131 -0
- quantbt_engine-1.2.0/tests/test_generic_callback_audit_regression.py +171 -0
- quantbt_engine-1.2.0/tests/test_hma_perf_compact_feedback.py +128 -0
- quantbt_engine-1.2.0/tests/test_hma_perf_delta_tape.py +363 -0
- quantbt_engine-1.2.0/tests/test_hma_perf_snapshot.py +394 -0
- quantbt_engine-1.2.0/tests/test_m5_12_benchmark_reporting.py +24 -0
- quantbt_engine-1.2.0/tests/test_m5_12_ci_format_guard.py +283 -0
- quantbt_engine-1.2.0/tests/test_m5_12_ci_rust_guard.py +94 -0
- quantbt_engine-1.2.0/tests/test_m5_12_closeout_report.py +303 -0
- quantbt_engine-1.2.0/tests/test_m5_12_consumer_wiring.py +623 -0
- quantbt_engine-1.2.0/tests/test_m5_12_local_artifacts.py +71 -0
- quantbt_engine-1.2.0/tests/test_m5_12_native_build.py +103 -0
- quantbt_engine-1.2.0/tests/test_m5_12_pct_activity_capability.py +150 -0
- quantbt_engine-1.2.0/tests/test_m5_12_pct_alias.py +44 -0
- quantbt_engine-1.2.0/tests/test_m5_12_pct_alias_guard.py +213 -0
- quantbt_engine-1.2.0/tests/test_m5_12_pct_installed.py +353 -0
- quantbt_engine-1.2.0/tests/test_m5_12_pct_source_guard.py +203 -0
- quantbt_engine-1.2.0/tests/test_m5_12_preparation.py +130 -0
- quantbt_engine-1.2.0/tests/test_m5_12_release120_guard.py +79 -0
- quantbt_engine-1.2.0/tests/test_m5_12_reproduction.py +384 -0
- quantbt_engine-1.2.0/tests/test_m5_12_snapshot_guard.py +343 -0
- quantbt_engine-1.2.0/tests/test_m5_12_traceability.py +235 -0
- quantbt_engine-1.2.0/tests/test_mode4_qualification.py +320 -0
- quantbt_engine-1.2.0/tests/test_mode5_covariance_finance.py +349 -0
- quantbt_engine-1.2.0/tests/test_mode5_covariance_requests.py +253 -0
- quantbt_engine-1.2.0/tests/test_mode5_driver_observer.py +121 -0
- quantbt_engine-1.2.0/tests/test_mode5_feedback_observer.py +794 -0
- quantbt_engine-1.2.0/tests/test_mode5_iteration_witness.py +147 -0
- quantbt_engine-1.2.0/tests/test_mode5_m5081_history.py +88 -0
- quantbt_engine-1.2.0/tests/test_mode5_m509_dossier_report.py +68 -0
- quantbt_engine-1.2.0/tests/test_mode5_missing_probes.py +319 -0
- quantbt_engine-1.2.0/tests/test_mode5_probe_closure.py +425 -0
- quantbt_engine-1.2.0/tests/test_mode5_probe_views.py +282 -0
- quantbt_engine-1.2.0/tests/test_mode5_research_jobs.py +558 -0
- quantbt_engine-1.2.0/tests/test_mode5_selector_checkpoint.py +445 -0
- quantbt_engine-1.2.0/tests/test_native_release_evidence_hygiene.py +20 -0
- quantbt_engine-1.2.0/tests/test_next01_reactive_public_runtime.py +218 -0
- quantbt_engine-1.2.0/tests/test_next02_reactive_wfo_benchmark.py +47 -0
- quantbt_engine-1.2.0/tests/test_next03_canonical_source_layout.py +21 -0
- quantbt_engine-1.2.0/tests/test_next03_capability_surface.py +94 -0
- quantbt_engine-1.2.0/tests/test_next03_clean_consumer_proof.py +51 -0
- quantbt_engine-1.2.0/tests/test_next03_product_qualification.py +89 -0
- quantbt_engine-1.2.0/tests/test_next03_source_inventory.py +67 -0
- quantbt_engine-1.2.0/tests/test_perf_01_traceability_and_computation.py +302 -0
- quantbt_engine-1.2.0/tests/test_perf_02_session_reuse.py +124 -0
- quantbt_engine-1.2.0/tests/test_perf_03_reactive_boundary.py +489 -0
- quantbt_engine-1.2.0/tests/test_perf_04_native_matching.py +290 -0
- quantbt_engine-1.2.0/tests/test_perf_05_wfo_evaluation_reuse.py +441 -0
- quantbt_engine-1.2.0/tests/test_perf_06_research_audit.py +617 -0
- quantbt_engine-1.2.0/tests/test_perf_07_performance_closure.py +168 -0
- quantbt_engine-1.2.0/tests/test_perf_08_wfo_preparation.py +403 -0
- quantbt_engine-1.2.0/tests/test_perf_09_reactive_boundary.py +377 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase13_portfolio_report_parity.py +3 -1
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase42_packaging_layout.py +3 -3
- quantbt_engine-1.2.0/tests/test_phase45a_source_tree_sync.py +13 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase45d_native_event_zero_object.py +2 -13
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46c_import_graph.py +5 -1
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46f_packaging_release.py +20 -4
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48a_release_surfaces.py +2 -1
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48b_release_hygiene.py +7 -31
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase49b_wfo_performance.py +19 -1
- quantbt_engine-1.2.0/tests/test_phase54b2_benchmark_policy.py +55 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase55a_native_distribution.py +9 -6
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase55b_public_release.py +44 -13
- quantbt_engine-1.2.0/tests/test_phase56_v1_1_baseline.py +226 -0
- quantbt_engine-1.2.0/tests/test_phase57_v1_1_specs_oracle_trace.py +357 -0
- quantbt_engine-1.2.0/tests/test_phase58_market_calendar_instrument_v2.py +509 -0
- quantbt_engine-1.2.0/tests/test_phase59_linear_accounting_fill_replay.py +556 -0
- quantbt_engine-1.2.0/tests/test_phase60_execution_metrics_native_result.py +171 -0
- quantbt_engine-1.2.0/tests/test_phase61_static_event_rust_primary.py +308 -0
- quantbt_engine-1.2.0/tests/test_phase62_reactive_numeric_coruntime.py +504 -0
- quantbt_engine-1.2.0/tests/test_phase63_sparse_block_reactive.py +592 -0
- quantbt_engine-1.2.0/tests/test_phase64_wfo_correctness.py +631 -0
- quantbt_engine-1.2.0/tests/test_phase65_native_wfo_runtime.py +451 -0
- quantbt_engine-1.2.0/tests/test_phase66_rust_target_vectorized.py +627 -0
- quantbt_engine-1.2.0/tests/test_phase67_rust_shared_portfolio.py +616 -0
- quantbt_engine-1.2.0/tests/test_phase68_rust_package_authority.py +595 -0
- quantbt_engine-1.2.0/tests/test_phase69_rust_intrabar_authority.py +404 -0
- quantbt_engine-1.2.0/tests/test_phase71_runtime_productization.py +470 -0
- quantbt_engine-1.2.0/tests/test_phase72_measurement_contract.py +378 -0
- quantbt_engine-1.2.0/tests/test_phase73_prepared_evaluation.py +537 -0
- quantbt_engine-1.2.0/tests/test_phase74_public_wfo_native.py +759 -0
- quantbt_engine-1.2.0/tests/test_phase75_reactive_scalar_retention.py +276 -0
- quantbt_engine-1.2.0/tests/test_phase76_reactive_wfo.py +947 -0
- quantbt_engine-1.2.0/tests/test_phase77_1_measurement_contract.py +143 -0
- quantbt_engine-1.2.0/tests/test_phase77_2_pct_equity_native.py +477 -0
- quantbt_engine-1.2.0/tests/test_phase77_3_kernel_resource_parity.py +64 -0
- quantbt_engine-1.2.0/tests/test_phase77_3_reactive_parity.py +432 -0
- quantbt_engine-1.2.0/tests/test_phase77_native_performance_parity.py +286 -0
- quantbt_engine-1.2.0/tests/test_phase78_public_release_closure.py +166 -0
- quantbt_engine-1.2.0/tests/test_portfolio_account_review_fixes.py +172 -0
- quantbt_engine-1.2.0/tests/test_portfolio_guard_current_qualification.py +205 -0
- quantbt_engine-1.2.0/tests/test_portfolio_legacy_review_fixes.py +396 -0
- quantbt_engine-1.2.0/tests/test_portfolio_repair_native_parity.py +85 -0
- quantbt_engine-1.2.0/tests/test_portfolio_repair_source_guard.py +44 -0
- quantbt_engine-1.2.0/tests/test_pre_m512_extraction_contract.py +82 -0
- quantbt_engine-1.2.0/tests/test_pre_m512_portfolio_extraction.py +109 -0
- quantbt_engine-1.2.0/tests/test_pre_m512_resources.py +32 -0
- quantbt_engine-1.2.0/tests/test_pre_m512_source_guard.py +83 -0
- quantbt_engine-1.2.0/tests/test_qms_candidate_diagnostics.py +63 -0
- quantbt_engine-1.2.0/tests/test_qms_real_evidence.py +120 -0
- quantbt_engine-1.2.0/tests/test_qms_real_review.py +104 -0
- quantbt_engine-1.2.0/tests/test_release_evidence_hygiene.py +24 -0
- quantbt_engine-1.2.0/tests/test_scalar_report_contract.py +47 -0
- quantbt_engine-1.2.0/tests/test_vectorized_account_review_fixes.py +235 -0
- quantbt_engine-1.2.0/tests/test_version_pair_120.py +155 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_walkforward_phase1.py +14 -1
- quantbt_engine-1.1.0/CHANGELOG.md +0 -105
- quantbt_engine-1.1.0/PKG-INFO +0 -1040
- quantbt_engine-1.1.0/README.md +0 -988
- quantbt_engine-1.1.0/src/quantbt/backends/__init__.py +0 -49
- quantbt_engine-1.1.0/src/quantbt/backends/native_option.py +0 -796
- quantbt_engine-1.1.0/src/quantbt/backends/native_portfolio_package.py +0 -335
- quantbt_engine-1.1.0/src/quantbt/core/generated_product_contracts.py +0 -29
- quantbt_engine-1.1.0/src/quantbt/core/preprocessor.py +0 -256
- quantbt_engine-1.1.0/src/quantbt/optimization/samplers.py +0 -84
- quantbt_engine-1.1.0/src/quantbt/options/ledger.py +0 -263
- quantbt_engine-1.1.0/src/quantbt/strategies/__init__.py +0 -40
- quantbt_engine-1.1.0/src/quantbt_engine.egg-info/PKG-INFO +0 -1040
- quantbt_engine-1.1.0/src/quantbt_engine.egg-info/SOURCES.txt +0 -265
- quantbt_engine-1.1.0/tests/test_phase45a_source_tree_sync.py +0 -24
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/LICENSE +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/setup.cfg +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/_dependency.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/backend.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/instruments.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/options.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/adapters/nautilus/reports.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/api/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/backends/native_strategy_ir.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/compare_phase9_parity.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/gamma_scalping_backtestsample.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/profile_phase7.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_arbitrage_phase_e.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_optimization_overhead.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_options_engine.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_pct_equity_nautilus_smoke.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase12_arbitrage_cert.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase12_benchmark_nautilus_cert.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase13_portfolio_report.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase13_wfo_cache.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase14_service_loop.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase15a_nautilus_certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase15b_synthetic_depth.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase16_performance_debt.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase30e_reactive_runner.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase31_intrabar.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase34a_native_event_memory.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase34b_native_event_prepared_score.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase34c_native_event_single_pass.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase49b_wfo_performance.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_phase7.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/benchmarks/run_portfolio_real_parity.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/arbitrage.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/basket.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/event_contracts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/execution_depth.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/generated_native_event_contracts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/instrument_contracts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/intrabar_session.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/native_event_capabilities.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/native_event_parity.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/order_compiler.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/orders.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/package_execution_contracts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/portfolio.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/portfolio_execution_contracts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/product_contracts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/scopes.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/core/structured_orders.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/errors.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/protocol.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/engine_spi/registry.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/errors.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/metrics/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/metrics/options_analytics.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/callbacks.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/candidate_selection.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/constraints.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluator.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/arbitrage.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/generic.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/grid_dca.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/intrabar.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/native_event.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/options.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/portfolio.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/evaluators/signal.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/multiseed.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/optimization/result.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/cache.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/conventions.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/data.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/greeks.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/iv.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/pricing.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/selectors.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/surface.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/tape.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/templates/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/options/templates/packages.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/capabilities.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/fingerprints.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/models.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/output.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/planning/resolve.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/cache.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/preparation/models.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/py.typed +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/arbitrage_audit.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/nautilus_bundle.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/nautilus_certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/nautilus_diagnostics.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/parity.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/reporting/portfolio_nautilus.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/results/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/results/raw.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/sizing/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/commands.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/native_ir.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/strategies/requirements.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/viz/__init__.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/viz/plots.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt/viz/themes.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt_engine.egg-info/dependency_links.txt +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/src/quantbt_engine.egg-info/top_level.txt +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_metrics_intraday_scope.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_core.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_evaluators.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_integration.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_phase33b.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_optimization_samplers.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_pct_equity_nautilus_smoke.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase0_baseline.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_native_portfolio_backend.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_native_portfolio_full_surface.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_engine_spec.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_institutional_scenarios.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_nautilus_validation.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase11_portfolio_real_parity_script.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase12_arbitrage_certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase12_benchmark_nautilus_cert.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase13_arbitrage_certification_cleanup.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase14_service_loop_benchmark.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase14c_prepared_report_levels.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase15a_nautilus_certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase15b_synthetic_depth.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase16_prepared_service_context.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase1_schema.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase2_native_vectorized.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30a_native_event_lifecycle_contract.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30b_native_event_lifecycle_kernel.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30c_native_event_endpoint_lifecycle.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30d_native_event_reactive_runner.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase30e_native_event_incremental_runner.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31_merge_blockers.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31a_execution_correctness_contract.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31b_market_tape_intrabar_oracle.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31c_intrabar_kernel.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31d_certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase31h_intrabar_session_reference.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase34a_native_event_artifacts.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase34b_native_event_prepared_score.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase34c_native_event_single_pass.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase3_native_event.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase42c_ci_release.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46a_correctness_certification.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase46b_score_rss.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase47a_grid_adapter.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase47c_grid_parity.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase47d_grid_optimizer.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48c_event_driven_facade.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase48f_release_gate.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase49a_walkforward_schedules.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase4_basket.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase50_nested_mode1_causal.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_1_nautilus_report_bundle.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_3_arbitrage_audit.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_3_institutional_simulations.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_3_portfolio_audit.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_4_debt_domain_validation.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_4_endpoint_depth.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_4_nautilus_depth.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase5_nautilus_adapter.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase6_public_api.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase7_benchmark_suite.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_a.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_b.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_c.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_d.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_e.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_f.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_g.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase8_arbitrage_phase_h.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_phase9_performance_parity.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_pre48e_native_event_fast_paths.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_real.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_real_endpoints.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_release_channel_policy.py +0 -0
- {quantbt_engine-1.1.0 → quantbt_engine-1.2.0}/tests/test_shared_quantity_constraints.py +0 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `quantbt-engine` are documented here.
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [1.2.0] - 2026-10-23
|
|
8
|
+
|
|
9
|
+
### Core 1.2.0 / Native 0.4.3
|
|
10
|
+
|
|
11
|
+
- Retargeted the unreleased core candidate from1.1.2to1.2.0 to reflect the
|
|
12
|
+
diagnostics, Mode4/Mode5, sampler/meta, reporting and account upgrade below.
|
|
13
|
+
Historical1.1.2receipts retain their original scope; they are not renamed
|
|
14
|
+
release evidence. Native version remains0.4.3; generated product metadata
|
|
15
|
+
follows the new pair, requiring fresh matching native artifacts.
|
|
16
|
+
- Reduced full Reporting V1 Python scalar-dispatch and metadata overhead;
|
|
17
|
+
closed-ledger reason counting uses one pass instead of one scan per reason.
|
|
18
|
+
Exact before/after output, snapshot/identity and undefined-policy parity are
|
|
19
|
+
tested. Reporting formulas, financial kernels and WFO selection are unchanged;
|
|
20
|
+
timing gains are workload-specific and do not imply a universal speedup.
|
|
21
|
+
|
|
22
|
+
- Added opt-in `reporting=ReportingRequest(...)` on completed endpoint/result
|
|
23
|
+
reports and quick plots. Account-period, execution, closed-trade/action and
|
|
24
|
+
drawdown episode output has explicit baseline, frequency, currency, coverage
|
|
25
|
+
and unavailable policies. This opt-in does not alter execution or WFO/meta
|
|
26
|
+
objectives; separate account repairs below intentionally correct financial
|
|
27
|
+
edge cases. Read [Reporting V1](docs/metrics/PUBLIC_REPORTING.md).
|
|
28
|
+
- Reduced optional reporting copies and duplicate hashing using immutable
|
|
29
|
+
bytes-owned snapshots, a prepared boolean mask and one report/plot snapshot.
|
|
30
|
+
Cache hits still rehash mutable completed input; formulas, exact identities,
|
|
31
|
+
requested episode detail, legacy reports and financial/WFO metrics are unchanged.
|
|
32
|
+
- Fixed immutable reporting snapshot reconstruction after copy/deepcopy and
|
|
33
|
+
pickle, including nested execution paths and drawdown episodes. Constructors
|
|
34
|
+
revalidate storage and recompute hashes; changed observations cannot reuse a
|
|
35
|
+
saved identity. Python reporting scans use zero-copy native scalar access
|
|
36
|
+
with preserved numerical overflow policies and exact differential coverage.
|
|
37
|
+
|
|
38
|
+
- Added opt-in Mode 4 / per-fold causal meta selection and a shared sampler
|
|
39
|
+
bridge for legacy TPE, grouped multivariate TPE, CMA-ES and fixed-space Sobol.
|
|
40
|
+
- Qualified causal history, ridge artifacts, reference/prepared selection
|
|
41
|
+
parity, exact reusable calendar/market witnesses, observed thread telemetry
|
|
42
|
+
and bounded sequential W3 meta on the original native accounting pass.
|
|
43
|
+
- Enabled the already-qualified QMS native exports in default Cargo builds;
|
|
44
|
+
Linux core dependency is exactly `quantbt-native==0.4.3`. The ABI remains
|
|
45
|
+
versioned; later ACC-01 changes affect both Python and Rust financial source
|
|
46
|
+
and require fresh compatible artifacts. Meta remains disabled unless requested.
|
|
47
|
+
- Earlier QMS wheel/sdist, installed-W3 and six-row Ubuntu receipts retain
|
|
48
|
+
their historical source scope. They do not certify the later Mode 5,
|
|
49
|
+
reporting and account repairs. Final M5-12 artifacts, remote qualification
|
|
50
|
+
and public consumers remain separate gates.
|
|
51
|
+
- Added diagnostics-first opt-in Mode 5 calibration with versioned objectives,
|
|
52
|
+
selectors, diagnostic evidence/rights, frozen plans, explanation and winner
|
|
53
|
+
qualification. Shared diagnostics/reporting include Mode 4 fold consistency,
|
|
54
|
+
R/Q, decision coverage and explicit cross-mode researcher handoff. No automatic
|
|
55
|
+
sampler/selector router or universal economic improvement is claimed.
|
|
56
|
+
- Extended the stable endpoint API additively: optional `execution_endpoint`
|
|
57
|
+
on `walk_forward`, keyword-only `meta_history` on `backtest`, optional
|
|
58
|
+
`reporting` on completed reports/plots, and `research_report(...)`.
|
|
59
|
+
- Corrected current-capability account/configuration behavior: financial clocks,
|
|
60
|
+
funding interval coverage, contract multipliers, risk-reducing admission,
|
|
61
|
+
constraints, invalid inputs, actual attribution and reporting horizon/time
|
|
62
|
+
handling. Unsupported non-default options fail explicitly; gross-cross/netting
|
|
63
|
+
is not hedge inventory or isolated liquidation. See
|
|
64
|
+
[ACC-01 migration](docs/portfolio_review/ACC01_CONFIGURATION_AND_MIGRATION.md).
|
|
65
|
+
- Refreshed the generated root API inventory to 527 exports (11 additions to
|
|
66
|
+
the stale generated list, no removals), with an exact metadata-only amendment
|
|
67
|
+
that preserves the separate financial source qualification and historical receipts.
|
|
68
|
+
- Extracted cold option validation and portfolio report helpers, preserving
|
|
69
|
+
endpoint/private aliases, moved function bodies and retained engine code.
|
|
70
|
+
Exact source qualification is separate from historical financial-invariance
|
|
71
|
+
receipts and still does not certify installed artifacts.
|
|
72
|
+
- Added maintained installed-consumer/CI wiring for the Mode 5,
|
|
73
|
+
winner/donor, reporting and account changes. Execution on final wheel/sdist
|
|
74
|
+
artifacts and remote/public qualification remain separate gates.
|
|
75
|
+
- Aligned tag/release regression with the qualified CI native-wheel identity
|
|
76
|
+
pin and isolated host-PID tests. Release publication is native-first and
|
|
77
|
+
requires its own artifact and public-consumer gates; this changelog is not
|
|
78
|
+
a publication receipt or a new scientific acceptance claim. See the
|
|
79
|
+
[release checklist](docs/testpypi_release_checklist.md).
|
|
80
|
+
|
|
81
|
+
## [1.1.1]
|
|
82
|
+
|
|
83
|
+
### Changed
|
|
84
|
+
|
|
85
|
+
- Released the completed statistical WFO follow-up: stationary-bootstrap index
|
|
86
|
+
construction now preserves the existing RNG draw sequence while avoiding
|
|
87
|
+
repeated Python work, and report-metric objectives share one report snapshot
|
|
88
|
+
per evaluation.
|
|
89
|
+
- Updated the governed wheel-only companion contract to
|
|
90
|
+
`quantbt-native==0.4.2`; `quantbt-engine==1.1.1` keeps the exact
|
|
91
|
+
platform-marked dependency for supported Linux x86_64 CPython 3.11-3.13
|
|
92
|
+
consumers.
|
|
93
|
+
|
|
94
|
+
### Compatibility And Verification
|
|
95
|
+
|
|
96
|
+
- No public endpoint, methodology, selection, accounting, trace, or backend
|
|
97
|
+
promotion policy changed. The release remains native-first: publish the
|
|
98
|
+
complete native wheel matrix before publishing the matching core package.
|
|
99
|
+
|
|
100
|
+
### Changed
|
|
101
|
+
|
|
102
|
+
- NEXT-01 reduces generic every-bar and declared sparse callback overhead while
|
|
103
|
+
retaining full financial/audit output and dynamic callback compatibility.
|
|
104
|
+
- NEXT-02 reuses immutable WFO market/window preparation and native score
|
|
105
|
+
requests while preserving candidate ordering, selection and fresh accounts.
|
|
106
|
+
- NEXT-03 makes `src/quantbt` the sole Python package source; the reviewed
|
|
107
|
+
duplicate root modules are retired. Local developers should use an editable
|
|
108
|
+
install rather than a parent-directory import-path override.
|
|
109
|
+
- Research audit exposes objective components and eight record-family links
|
|
110
|
+
while preserving existing public trial/candidate tables and legacy exports.
|
|
111
|
+
|
|
112
|
+
### Compatibility And Qualification
|
|
113
|
+
|
|
114
|
+
- Endpoint factory signatures are unchanged across NEXT-01 through NEXT-03.
|
|
115
|
+
Reactive WFO adds optional `preparation_policy="prepared"`; numeric reactive
|
|
116
|
+
minimal output omits diagnostic tables while retaining financial paths.
|
|
117
|
+
- Local release shards and isolated wheel/sdist/editable consumer checks pass.
|
|
118
|
+
Publication requires new compatible core/native versions and remote matrix
|
|
119
|
+
certification. Performance claims remain limited to the measured workloads.
|
|
120
|
+
- CI and release test checkouts retain Git history for qualification ancestry
|
|
121
|
+
verification; the validator continues to reject unverified source ancestry.
|
|
122
|
+
|
|
123
|
+
## [1.1.0]
|
|
124
|
+
|
|
125
|
+
### Changed
|
|
126
|
+
|
|
127
|
+
- Renamed the governed public release line to `1.1.0` and synchronized package
|
|
128
|
+
metadata, runtime version, generated core/native contracts, lockfile, and
|
|
129
|
+
release documentation.
|
|
130
|
+
- Prepared the governed public `quantbt-native==0.4.1` companion contract for
|
|
131
|
+
Linux x86_64 / CPython 3.11-3.13. The core declares an exact,
|
|
132
|
+
platform-marked dependency; unsupported platforms keep Python/Numba.
|
|
133
|
+
- Added a native-first, wheel-only manylinux OIDC release workflow and a six-row
|
|
134
|
+
Ubuntu 22.04/24.04 Poetry consumer proof. The core release preflights the
|
|
135
|
+
matching public native artifact before it can publish.
|
|
136
|
+
- Kept public release certification self-contained by excluding private,
|
|
137
|
+
out-of-tree Grid integration fixtures from its test shard profile.
|
|
138
|
+
- Updated release, install, capability, troubleshooting, and handoff docs to
|
|
139
|
+
state that supported users receive a pre-built wheel rather than compiling
|
|
140
|
+
Rust locally.
|
|
141
|
+
|
|
142
|
+
### Compatibility
|
|
143
|
+
|
|
144
|
+
- No endpoint signature, execution policy, promotion threshold, or domain
|
|
145
|
+
accounting behavior changes in this packaging-only phase.
|
|
146
|
+
|
|
147
|
+
## [1.0.9] - 2026-08-21
|
|
148
|
+
|
|
149
|
+
### Added
|
|
150
|
+
|
|
151
|
+
- Direct PyPI discovery and installation guidance in the repository README.
|
|
152
|
+
- Release-preparation guidance for the governed Rust-first routes, exact
|
|
153
|
+
installed-wheel certification, and the matching core/native compatibility
|
|
154
|
+
contract.
|
|
155
|
+
|
|
156
|
+
### Changed
|
|
157
|
+
|
|
158
|
+
- Promoted the bounded Rust-first public policy for certified static command
|
|
159
|
+
tapes, Native Strategy IR, batch, and causal-fold workloads while preserving
|
|
160
|
+
Python authority for callbacks, reactive strategies, generic portfolio,
|
|
161
|
+
basket, arbitrage, and options routes.
|
|
162
|
+
- Updated the core product registry to the `1.0.9` release line. The staged
|
|
163
|
+
`quantbt-native` companion remains unpublished and capability-gated.
|
|
164
|
+
|
|
165
|
+
### Verification
|
|
166
|
+
|
|
167
|
+
- Source-mirror, generated-product-contract, documentation-link, build, and
|
|
168
|
+
installed-wheel release checks are required from the final tagged commit.
|
|
169
|
+
|
|
170
|
+
## [1.0.8] - 2026-08-12
|
|
171
|
+
|
|
172
|
+
### Changed
|
|
173
|
+
|
|
174
|
+
- Added strict nested causal retraining for
|
|
175
|
+
`mode_1_decay + optimization_schedule="per_fold_causal"`. Mode 1 decay now
|
|
176
|
+
uses inner IS-only folds while each outer OOS segment remains untouched until
|
|
177
|
+
its parameters are frozen.
|
|
178
|
+
- Added explicit chronological validation metadata so consumers can distinguish
|
|
179
|
+
retrospective global calibration, selection-adjusted OOS, and strict outer
|
|
180
|
+
OOS evaluation without breaking legacy result fields.
|
|
181
|
+
- Added a bounded-RSS release test runner that executes deterministic pytest
|
|
182
|
+
shards in fresh processes; CI and publish workflows use the same selection.
|
|
183
|
+
|
|
184
|
+
### Verification
|
|
185
|
+
|
|
186
|
+
- Root/source mirror, prepared/reference WFO parity, nested-fold causality,
|
|
187
|
+
and the full non-real-data release suite passed before this version bump.
|
|
188
|
+
|
|
189
|
+
## [1.0.7] - 2026-08-04
|
|
190
|
+
|
|
191
|
+
This is the first independently installable core package release line.
|
|
192
|
+
|
|
193
|
+
### Release candidate
|
|
194
|
+
|
|
195
|
+
- `1.0.7rc1` was blocked before publication because its lockfile version was stale.
|
|
196
|
+
- `1.0.7rc2` prepared for TestPyPI on 2026-08-03 with immutable lock validation.
|
|
197
|
+
- `1.0.7rc2` passed clean TestPyPI installation and functional endpoint smoke.
|
|
198
|
+
- Python 3.11-3.13 package validation is required before final publication.
|
|
199
|
+
- `backend="auto"` remains Python.
|
|
200
|
+
- `backend="rust"` remains explicit and experimental.
|
|
201
|
+
- `quantbt-native` is not included in this core release.
|
|
202
|
+
- Native crate and Python metadata remain aligned to API version `0.4.0`.
|
|
203
|
+
|
|
204
|
+
### Added
|
|
205
|
+
|
|
206
|
+
- Stable `from quantbt import QuantBTEndpoint` import contract.
|
|
207
|
+
- NumPy/Numba native vectorized, event-driven, portfolio, arbitrage, options,
|
|
208
|
+
intrabar, and walk-forward research routes.
|
|
209
|
+
- Optional extras for optimization, reports, visualization, and NautilusTrader
|
|
210
|
+
validation.
|
|
211
|
+
- Prepared service contexts and report levels for repeated research workloads.
|
|
212
|
+
- Explicit Python/Rust native-event selector contract with Python as the
|
|
213
|
+
release default and Rust as a capability-gated experimental backend.
|
|
214
|
+
- Wheel, sdist, clean-install, source-sync, parity, and RSS release gates.
|
|
215
|
+
|
|
216
|
+
### Release policy
|
|
217
|
+
|
|
218
|
+
- The core `quantbt-engine` distribution is the release candidate for PyPI.
|
|
219
|
+
- `quantbt-native` is not part of this core release and is not exposed through
|
|
220
|
+
a non-empty `native` extra until its wheel matrix and incremental RSS gates
|
|
221
|
+
pass.
|
|
222
|
+
- `native_backend="auto"` remains Python; explicit Rust requests never
|
|
223
|
+
silently fall back to Python.
|
|
@@ -4,6 +4,8 @@ include CHANGELOG.md
|
|
|
4
4
|
include pyproject.toml
|
|
5
5
|
|
|
6
6
|
recursive-include src/quantbt *.py py.typed
|
|
7
|
+
include src/quantbt/benchmarks/README.md
|
|
8
|
+
include src/quantbt/benchmarks/phase7_thresholds.json
|
|
7
9
|
|
|
8
10
|
global-exclude *.pem
|
|
9
11
|
global-exclude *.key
|
|
@@ -14,6 +16,8 @@ global-exclude .pypirc
|
|
|
14
16
|
prune upgrade/private
|
|
15
17
|
prune upgrade/local
|
|
16
18
|
prune upgrade/drafts
|
|
19
|
+
prune upgrade/alphas
|
|
20
|
+
exclude upgrade/MODE5_INVARIANT_AND_ALPHA_PROFILING_SPEC_V1.md
|
|
17
21
|
prune benchmarks
|
|
18
22
|
prune artifacts
|
|
19
23
|
prune data/raw
|