merged_cs_ra_steve_live_v1 review package
Strategy Algorithm
Data inputs + cutoff
yfinance adjusted daily OHLC for 8 ETFs. Exclude current America/New_York date to avoid partial daily bars. Alpaca live_steve is read-only for live status.
Feature generation
Cross-sectional score averages 63/126/252-day returns. Regime sleeve computes SPY 20-day volatility, 252-day volatility quantiles, 126-day momentum, and 5-day short-term return.
Ranking + weighting
Select top 3 positive cross-sectional momentum names. Regime selects momentum names in low-vol, mean-reversion names in high-vol, or defensive inverse-vol allocation in mid-vol.
Merged target construction
Normalize each component, blend 50% cross-sectional momentum and 50% regime-adaptive sleeve, then normalize merged weights to 95% gross exposure.
Sizing + risk controls
Apply $5,000 sleeve budget, $100 per-symbol drift threshold, no shorts, marketable day limit policy, 0.3% limit buffer, extended_hours=false.
Schedule + duplicate guard
Daemon checks every 5 minutes; eligible after 09:35 Eastern Time on weekdays. Local state last_submit_date prevents more than one submit per date. Discretionary override requires Steve/CEO approval outside this automated path.
Order intent + broker path
For drift above threshold, create ExecutionGateway order intents, then submit through AlpacaBroker. No direct TradingClient.submit_order in strategy runner.
Monitoring feedback loop
Record signals, targets, and metrics; read Alpaca positions/open orders; publish review status and public signal/report artifacts. Expired/fill status feeds risk review.
Algorithm Trading (AT) / Strategy Eval
| Window | 2007-01-03 to 2026-06-02 (4884 days) |
| Gross Sharpe Ratio / Compound Annual Growth Rate (CAGR) / Maximum Drawdown (MaxDD) | 0.803 / 10.99% / -33.55% |
| Net Sharpe Ratio / Compound Annual Growth Rate (CAGR) / Maximum Drawdown (MaxDD) | 0.720 / 9.68% / -34.13% |
| Net total return | 499.17% |
| Out-of-Sample (OOS) split | 2023-01-01; in-sample Sharpe Ratio 0.603, Out-of-Sample (OOS) Sharpe Ratio 1.369 |
| Transaction Costs (TC) | Annual Transaction Costs (TC) drag estimate 1.1876% of Net Asset Value (NAV) per year in the eval summary |
| Factor / correlation | Factor R-squared 0.761; SPY correlation 0.758; maximum strategy correlation 0.890 vs cross_sectional_component |
| Bias gate | FAIL; shift test passed=False |
Rolling Sharpe Ratio Chart
Real Trading vs Paper Trading Cash Results
live_steve Alpaca account and has strategy-tagged orders. Paper Trading (PT) uses the shared paper Alpaca account, but no orders with the av_mergcsra strategy prefix were found in the latest 500 queried paper orders. PT figures below are therefore closest comparable paper-account evidence, not a true mirror of this live strategy.| Field | Real Trading (RT) | Paper Trading (PT) / closest evidence | Difference |
|---|---|---|---|
| Account / environment | live_steve, ACTIVE | paper, ACTIVE | Different accounts |
| Comparison window | Strategy-tagged RT orders from 2026-05-14 13:39:55.222656+00:00 to 2026-06-01 13:39:57.800932+00:00; snapshot 2026-06-05T03:28:29.638204+00:00 | No strategy-tagged PT order window found; snapshot 2026-06-05T03:28:30.534138+00:00 | Not matched |
| Ending account cash | $76,767.35 | $969,051.06 | $-892,283.71 (-92.08% vs PT account cash) |
| Strategy/universe open market value | $4,767.79 | $8,911.93 | $-4,144.14 |
| Realized profit and loss | Not separately available from this read-only snapshot; RT account has pre-existing/account-level cash flows. | Not attributable; no PT mirror orders found. | Unavailable |
| Unrealized profit and loss | $-9.90 | $151.35 | $-161.25 (-106.54% vs PT unrealized P&L) |
| Strategy order evidence | {'EXPIRED': 3, 'FILLED': 29} ; open orders 0 | {} ; open orders 0 | PT has no tagged mirror orders |
reports/live_review_20260605/rt_pt_cash_compare.json generated by read-only Alpaca live_steve and paper queries. Live code path: scripts/run_merged_cs_ra_alpaca_live.py. Paper code path: scripts/run_merged_cs_ra_alpaca_paper.py.Real Trading (RT) / Current Live Status
| Signal date | 2026-06-03 completed close; latest yfinance daily bar 2026-06-04; excludes Eastern Time current-date partial bar=True |
| Regime | low_vol_momentum; SPY 20-day volatility 9.90%; low cut 10.18%; high cut 12.92% |
| Order status counts | {'EXPIRED': 3, 'FILLED': 29}; current strategy open orders 0; other open orders 0 |
| Review-task orders submitted | 0 |
Latest Signal Lines
| Symbol | CS rank | CS score | RA 126-day momentum | RA 5-day return | Target weight | Current | Target | Drift |
|---|---|---|---|---|---|---|---|---|
| EEM | 1 | 35.08% | 30.66% | 2.24% | 31.67% | $1,580.17 | $1,583.33 | $-3.16 |
| DBC | 2 | 32.72% | 35.42% | 2.71% | 31.67% | $1,613.43 | $1,583.33 | $30.10 |
| QQQ | 3 | 28.61% | 20.89% | 2.02% | 31.67% | $1,565.75 | $1,583.33 | $-17.59 |
| IWM | 4 | 23.06% | 17.72% | -0.93% | 0.00% | $0.00 | $0.00 | $0.00 |
| SPY | 5 | 16.87% | 11.50% | 0.50% | 0.00% | $0.00 | $0.00 | $0.00 |
| EFA | 6 | 11.59% | 11.92% | -0.62% | 0.00% | $0.00 | $0.00 | $0.00 |
| GLD | 7 | 7.32% | 4.65% | -0.15% | 0.00% | $0.00 | $0.00 | $0.00 |
| TLT | 8 | -0.05% | -1.70% | 0.41% | 0.00% | $0.00 | $0.00 | $0.00 |
Paper Trading (PT) Status
alpaca_paper_main profile. Latest review snapshot did not find matching recent paper orders. Shared-account isolation must be by strategy_id and client_order_id; Paper Trading (PT) profit and loss is not treated as Real Trading (RT) live-account profit and loss.Code Walkthrough
live runner · paper runner · T+1 open backtest · manifest · review note
signal generationtarget sizingExecutionGatewayAlpacaBrokerdaemon guard
cross_sectional_momentum: average 63/126/252-day returns, top 3 monthly carry-forward.
regime_adaptive: SPY volatility regime chooses momentum, short-term mean reversion, or defensive inverse-volatility allocation.
Execution path: completed daily closes -> merged_weights(cs, ra, 0.5) -> $5k target values -> threshold drift check -> ExecutionGateway.create_order_intent -> AlpacaBroker. This review report performed read-only status checks only.
Export Provenance
| Metrics producer | /workspace/steve/paw_auto_research/tools/eval_strategy.py using generated CSV inputs under reports/review_20260603/inputs/ |
| Strategy Eval command | python /workspace/steve/paw_auto_research/tools/eval_strategy.py --positions reports/review_20260603/inputs/positions.csv --asset-returns reports/review_20260603/inputs/asset_returns.csv --gross-returns reports/review_20260603/inputs/gross_returns.csv --metadata-json reports/review_20260603/inputs/metadata.json --factor-returns reports/review_20260603/inputs/factor_returns.csv --existing-returns reports/review_20260603/inputs/existing_returns.csv --strategy-label merged_cs_ra_dual_review_20260603 --start-date 2007-01-03 --oos-start-date 2023-01-01 --aum-for-tc 5000000 --out-dir reports/review_20260603/eval-report |
| Data source and cutoff | Algorithm Trading (AT) and signal inputs use yfinance adjusted daily OHLC. Live runner excludes the current America/New_York date to avoid partial daily bars. Current report snapshot checked at 2026-06-05T01:28:34.230049+00:00 and used signal date 2026-06-03. |
| Live status source | Read-only Alpaca live_steve account query for Real Trading (RT) positions and open orders. No paper/live orders were submitted. |
| Rolling Sharpe Ratio chart producer | Local report-generation script in this review session computed 126-trading-day and 30-trading-day rolling values from gross_returns.csv; net visualization subtracts annual Transaction Costs (TC) drag / 252 before rolling calculation. |
| Publisher / deploy path | Cloudflare Pages project merged-cs-ra-live-review-20260605; deployed from reports/live_review_20260605 using npx -p wrangler@4.95.0 -p esbuild wrangler pages deploy ... --branch main. |
Known Risks
- P0 bias/lookahead test currently fails; timestamp-specific validation is required before expanding live size.
- Schedule guard is weekday/time based and should be exchange-calendar aware.
- Duplicate-submit guard is local state keyed by date; process/state loss needs review.
- Marketable DAY limits have simplified spread/latency/partial-fill assumptions; 3 historical expired orders exist.
- Portfolio interaction maximum correlation is high at 0.890; diversification benefit may be weaker than desired.