Current technical state of the running system. This document reflects the present architecture and is kept current; for the history of how it got here, see CHANGELOG.md. For the project narrative and backtest, see README.md. For the backtest process and rationale behind each sleeve, see RESEARCH.md.
Paper account: DUP447680 (IBKR). Live dashboard: https://isaacnicas.github.io/quant-portfolio/live-dashboard.html
| Sleeve | Status | Signal | Notes |
|---|---|---|---|
| Trend-following (anchor) | LIVE | TSMOM + CS-Mom, regime filter, fast-exit | Monthly rebalance; ETF universe |
| Mean-reversion | LIVE | 50-day z-score, ±1.5 dead-band | Asymmetric momentum filter, 2-per-sector cap |
| VRP (VIX contango) | LIVE | SVXY carry, ^VIX/^VIX3M | Gate-governed: suspend / reduce 50% / full size. All three VIX gates currently clear; running at full 10% NAV allocation. |
| PEAD | BUILT, ORDERS PAUSED | Cross-sectional cohort SUE ranking | Awaiting qualifying 5+ stock cohort (mid-July Q2 season) |
| FactorTiming | PLANNED (Phase 1B) | — | Pre-registered in governance; no strategy file yet. Dashboard shows “Planned”. |
| EquityCarry | PLANNED (Phase 2) | — | Pre-registered in governance; no strategy file yet. Dashboard shows “Planned”. |
data_feed.py — IBKR daily bars (3yr history), port 4002signal_engine.py — trend signals (TSMOM, CS-Mom, regime filter, fast-exit)mean_reversion_strategy.py — mean-reversion sleevevrp_strategy.py — SVXY-based VRP sleevegovernance_gates.py — VIX risk governor (3-condition gate, 2-day deactivation confirm)portfolio_risk.py — ERC weighting, 11% vol target (observation mode: computes risk-parity weights daily and logs to portfolio_state.jsonl, but does not size live orders; fixed sleeve fractions are used instead)order_engine.py — order submission (MKT DAY), port 4002monitor.py — NAV/position read + dashboard JSON, port 4002multi_strategy_monitor.py — daily blended reportTwo-stage split to satisfy order-type timing constraints:
daily_routine_v2.bat: data feed → signals (all sleeves,
including trend_following_strategy.py which persists regime state) →
governance → orders staged to pending_orders.json → monitor → dashboard push.
A consistency check (C1-C8) runs automatically and flags any structural
integrity failures.premarket_submit.bat: submits staged orders as MKT DAY.
Health-check email at 7:15 AM.Automated via Windows Task Scheduler (weekday triggers, AC-power only, 30-min limit, no concurrent instances).
C:\IBC\StartGateway.bat; IBC config at C:\IBC\config.ini
(TradingMode=paper, ReadOnlyApi=no).py -3.14 launcher (not bare python / pip).ib_insync 0.9.86 — requires an asyncio patch at the top of every script
for Python 3.14 compatibility.C:\QuantTrading\TrendFollowing\.prices.csv
rather than requested via API for order sizing.StartGateway.bat not yet wired into Task Scheduler — Gateway must be
launched and logged into paper before the 7:00 AM submit job. Until scheduled,
the Gateway path is not fully autonomous.StartGateway.bat into Task Scheduler ahead of the 7:00 AM submit job.Paper trading and research only. Not investment advice.