ETF IC Review Package
etf_ic_real_hourly_paper_v1 review/export package generated 2026-06-03. This package uses existing real Alpaca option-bar backtest/eval artifacts and does not submit orders.
Code Management Status
BLOCKED: canonical GitHub repo is not cleanly established. A prior repo when2buy/etf-iron-condor-strategy exists, but it was created during an earlier boundary mistake by git-initializing the historical root directory. Per Steve's boundary correction, no new push/PR was made for this review package.
Current isolated folder: /workspace/iron_condor_research/paper_rollouts/etf_ic_real_hourly_paper_v1_20260602
Root git status remains ?? paper_rollouts/; review files are intentionally isolated and uncommitted.
Backtest / Eval Artifacts
- Eval report:
/workspace/iron_condor_research/eval/report_20260527 - Curve source:
/workspace/iron_condor_research/report/assets/real_hourly_portfolio_curve.csv - Timeframe: 2025-05-12 to 2026-05-07, 361 days
- Original research ann-ret/ann-vol Sharpe note: 3.37 on real_hourly_portfolio_curve; generic eval net Sharpe is 1.53.
OOS/correlation note: generic strategy-eval input uses a single synthetic portfolio-return asset because native option-leg position/mark matrices are not available. Strategy matrix correlation is therefore limited and should not be treated as a full option-leg exposure audit.
Paper / Runtime Status
- paper account is shared; latest read-only account snapshot had 33 total positions.
- Strategy option positions: 0
- Open strategy option orders: 0
- Runtime config
submit_orders=False,schedule_enabled=True - Schedule registry
enabled=True, entrypoint/workspace/iron_condor_research/paper_rollouts/etf_ic_real_hourly_paper_v1_20260602/run_etf_ic_real_hourly_paper.sh - Latest dry-run metrics run_id:
20260602T193004Z_etf_ic_real_hourly_paper_v1, event_ts2026-06-02T19:30:06.241338Z - Latest no-trade reason:
no_eligible_candidates; open_risk=0.0; open_positions=0
By Symbol Contribution
| symbol | trades | pnl | win_rate |
|---|---|---|---|
| IWM | 17 | 1354.4 | 0.764706 |
| SPY | 27 | 822.8 | 0.851852 |
| QQQ | 39 | 693.8 | 0.692308 |
| DIA | 19 | 620.2 | 0.736842 |
Real Option-Bar Coverage
| status | count |
|---|---|
| ok | 102 |
| missing_entry_long_put | 47 |
| missing_entry_short_put | 17 |
| missing_entry_short_call | 8 |
| missing_entry_long_call | 8 |
| missing_exit_long_put | 3 |
| missing_exit_long_call | 3 |
| missing_exit_short_put | 2 |
Coverage risk remains material: candidates without complete entry/exit option bars are excluded from realized validation.
Review Entrypoints
/workspace/iron_condor_research/paper_rollouts/etf_ic_real_hourly_paper_v1_20260602/run_etf_ic_real_hourly_paper.shisolated observe wrapper/workspace/iron_condor_research/paper_rollouts/etf_ic_real_hourly_paper_v1_20260602/runtime_config.template.jsonconfig template/workspace/iron_condor_research/paper_rollouts/etf_ic_real_hourly_paper_v1_20260602/strategy_manifest.jsonisolated manifest/workspace/iron_condor_research/paper_rollouts/etf_ic_real_hourly_paper_v1_20260602/runbook.mdrunbook and gating checklist/workspace/iron_condor_research/monitor_open.pyexisting signal builder called by wrapper/workspace/iron_condor_research/close_manager.pyexisting close manager called by wrapper/workspace/iron_condor_research/option_execution.pyoption mleg adapter, requires careful review before paper submit
Known Risks / Review Checklist
- Lookahead/timestamp: P0 eval bias shift gate failed; true option-leg timestamp audit is still missing.
- Duplicate-submit guard: isolated wrapper has state-key guard, but it must be reviewed with a real scheduled run before submit mode.
- Schedule guard: wrapper only runs scheduled mode in the 19:30 UTC minute; dry-run uses
--dry-run-now. - Order client_order_id: old paper attempts used
avopt_...; revised adapter should use AlphaVaultav_...path, but no successful fill has validated this yet. - Sizing/cap: first-week open-risk cap is $500, max 1 lot; risk cap should be enforced against actual spread max loss, not notional.
- Broker/fill assumptions: prior Alpaca paper mleg submits did not fill (
filled_qty=0when inspected). - Shared-account isolation: Alpaca paper account is shared; attribution depends on strategy-scoped client_order_id/event logs.
- Do not promote live: live approval absent and option mleg adapter is not live-reviewed.