Cross-sectional multi-factor book on broad liquid US universe (Tiingo fundamentals + 30yr EOD); long-only /
long-short / long-tilt as 3 ForwardStrategy paper-tracks through the gate. Deterministic domain+fake-port
tests. Backtest/DSR layer = separate increment.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
All 6 remaining strategies in one increment. poc's paper(cfg) path uses numpy xs_weights (residual momentum
top-30 market-neutral) + a Deribit-DVOL VRP sleeve, VRP sizing calibrated from the live lookback window instead
of pit_sweep — so no torch, no warehouse PIT dep, no new state_reader case (emits days-list). Added two data
ports (CryptoPerpBarClient, VolIndexClient) + a poc detail section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Port funding/crossvenue/multistrat/sixtyforty/gd to hexagonal fxhnt services + assets feeding the existing
cockpit_forward ingest; generic ForwardTracker over a ForwardStrategy port (recomputable-series + live-booking
patterns); unify on days-list state shape; retire foxhunt surfer crons. poc deferred to B1b.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sub-project B increment 0: stand up Dagster on the cluster + migrate the combined-book
paper-forward track end-to-end as an asset graph reading the warehouse SSOT (proves A->B),
replacing the fxhnt-forward cron. CombinedBookSource port (Warehouse/Raw), 4 assets,
cockpit ingest, reversible cutover. B1-B4 (other tracks, gauntlet, promote/live) deferred.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Increment 1: daily bars (futures+crypto) bronze->silver->gold into the existing
point-in-time FeatureStore, consumed via the DataProvider port (WarehousePriceProvider),
plus a catalog/freshness view. Funding + retiring the other data homes are later increments.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- HIGH: seasonality must not be shifted (signal is calendar+prior-years, pre-known)
- MED: yahoo None-policy defaults missing high/low to close, not row-drop
- LOW-MED: NaN high/low guard in all adapters (rolling_max/min propagation)
- DOC: vol_managed is de-risk-only (target_vol ceiling), not full vol-targeting
- LOW: add registration + end-to-end run_backtest test
- verified: DuckDB ADD COLUMN IF NOT EXISTS, breakout lookahead, dbn_local roll factor
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds seasonality / breakout (true Donchian) / vol_managed_momentum kinds (3->6),
extends PriceSeries with high/low filled by all 4 adapters (+ DuckDB migration).
Sub-project B (cross-sectional carry/VRP harness) deferred to its own spec.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per user requirement: dashboard presents per-period data as raw rolling means, no z-scoring/vol-norm.
New Task 9A (periods module) + StrategyDetail.periods + service wiring + strategy.html per-period section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ADR 0002 designs the real vision: a standing fleet of agents continuously breeding regime-specialist
strategies into an adaptively-allocated book, with multiple-testing-at-fleet-scale as the constraint the
whole architecture is built around (structured search + regime-conditioning + forward-validation +
global-N accounting = the moat). domain/regime: VolTrendClassifier (causal trend x volatility state) +
evaluate_by_regime (judge a strategy WITHIN each regime). Demo on real NQ: trend(200) is MARGINAL on the
full sample but a clear OOS-confirmed SPECIALIST in trend_up|low_vol (DSR 0.984, OOS +0.93), correctly
rejected in range/high-vol regimes — the architecture's thesis proven. 16/16 tests.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>