vol_condor_semiconductor_paper_v1 Full StrategyEval + Runtime Review
Generated 2026-06-08 UTC from the isolated rollout package. No trades submitted for this report. AlphaVaultOps was used only as runtime/control-plane data source.
P0 fail / no promotion
compatibility eval stream
strategy-eval
not full option TCA
events in 2026-06 logs
ledger
ledger
paper/live read-only matched none
Executive result
Not ready for autonomous paper trading. StrategyEval remains FAIL/P0, true option TCA/fill/assignment modeling is missing, and runtime has a duplicate-guard state bug from 2026-06-05. Observational/manual review only until fixes are made.
Runtime run timeline
Recent runtime runs
| ts | run_id | submit_requested | submit_to_broker | eligible | option_orders | reason | blockers |
|---|---|---|---|---|---|---|---|
| 2026-06-01T07:22:51.122434Z | 20260601T072251Z_vol_condor_semiconductor_paper_v1 | False | None | 1 | None | ||
| 2026-06-01T07:25:24.148327Z | 20260601T072524Z_vol_condor_semiconductor_paper_v1 | False | None | 1 | 1 | ||
| 2026-06-02T08:34:31.131418Z | 20260602T083431Z_vol_condor_semiconductor_paper_v1 | False | False | 0 | 0 | no candidates passed signal/risk/defined-risk/portfolio-cap gates | |
| 2026-06-02T08:35:32.910859Z | 20260602T083532Z_vol_condor_semiconductor_paper_v1 | True | False | 0 | 0 | no candidates passed signal/risk/defined-risk/portfolio-cap gates | schedule_window_guard: submit allowed only Friday 19:00-20:59 UTC |
| 2026-06-02T08:37:36.354471Z | 20260602T083736Z_vol_condor_semiconductor_paper_v1 | True | False | 0 | 0 | no candidates passed signal/risk/defined-risk/portfolio-cap gates | schedule_window_guard: submit allowed only Friday 19:00-20:59 UTC |
| 2026-06-02T18:23:17.712051Z | 20260602T182317Z_vol_condor_semiconductor_paper_v1 | False | False | 0 | 0 | no candidates passed signal/risk/defined-risk/portfolio-cap gates | |
| 2026-06-05T19:30:03.323979Z | 20260605T193003Z_vol_condor_semiconductor_paper_v1 | True | True | 0 | 0 | no candidates passed signal/risk/defined-risk/portfolio-cap gates |
Option intents / dry-run / submitted / filled / canceled
| event_type | run_id | client_order_id | underlying | structure | limit_price |
|---|---|---|---|---|---|
| option_order_intent_created | 20260601T072524Z_vol_condor_semiconductor_paper_v1 | avopt_volcondsemipapev1_20260601T072524Z_NVDA_ic | NVDA | short_iron_condor | -0.6439999999999999 |
| option_order_dry_run | 20260601T072524Z_vol_condor_semiconductor_paper_v1 | avopt_volcondsemipapev1_20260601T072524Z_NVDA_ic | NVDA | short_iron_condor | -0.6439999999999999 |
Broker read-only matching orders
| account | submitted | filled | canceled | matching orders |
|---|---|---|---|---|
| paper | 0 | 0 | 0 | none |
| live_steve | 0 | 0 | 0 | none |
| live_aitist | 0 | 0 | 0 | none |
Latest signal candidates
| symbol | action | signal_gate | risk_gate | expiry | iv_rv20 | credit | max_loss | short put | short call |
|---|---|---|---|---|---|---|---|---|---|
| SMH | watch | True | False | 2026-06-12 | 1.2324584742209277 | 368.40000000000003 | 2131.6 | SMH260612P00530000 | SMH260612C00625000 |
| TSM | watch | True | False | 2026-06-12 | 1.2309791829912264 | 181.40000000000006 | 1318.6 | TSM260612P00387500 | TSM260612C00447500 |
| NVDA | watch | False | True | 2026-06-10 | 0.9361649822120581 | 75.4 | 424.59999999999997 | NVDA260610P00195000 | NVDA260610C00217500 |
StrategyEval gate summary
# Professional Eval Report: vol_condor_semiconductor_paper_v1 ## Executive Decision - 结论: FAIL / 先不要推进 - Bias: `BiasTest[vol_condor_semiconductor_paper_v1]: FAIL | shift=✓ autocorr=⚠ truncate=—` - Gross Sharpe: 5.595 - Net Sharpe: 5.595 - Gross MaxDD: -12.54% - Net MaxDD: -12.54% - TC Drag: 0.0000% NAV/yr - Alpha t-stat: 1.536 ## P0 Mandatory Gate | Dimension | Status | Result | |---|---:|---| | Core return/risk | computed | CAGR net +93477221.14%, vol 415.22%, Calmar 7453403.610, Sortino 4.334 | | Drawdown/recovery | computed | avg DD -12.54%, max recovery 3 days | | Turnover | computed | annual turnover 53.053, holding 4.8 days, turnover-adj Sharpe 0.761 | | Capacity/scalability | computed | max participation 5.00% | | Statistical significance | partial | t-stat 1.536; DSR=needs_input; PBO=needs_input | | Operational reliability | computed | lookahead pass=False | ## P1 Promotion Review | Dimension | Status | Result | |---|---:|---| | Factor exposure | needs_input | Provide `--factor-returns` for market/size/value/momentum/quality/carry/vol regression | | Out-of-sample | insufficient_data | Provide `--oos-start-date` for true unseen split metrics | | Rolling Sharpe | computed | 252d latest 0.000, min 0.000, negative-window ratio 0.0% | | Fee sensitivity | computed | see `summary.json` rows for 0x/0.5x/1x/2x/3x TC | | Paper trading | needs_input | Requires paper/live return stream | | Portfolio interaction | needs_input | max abs corr: needs_input; provide `--existing-returns` | ## P2 Live Readiness | Dimension | Status | Result | |---|---:|---| | Short rolling Sharpe | computed | 126d latest 0.000, min 0.000 | | Panda P&L correlation | needs_input | target < 0.8 when existing strategy P&L is supplied | | Fill assumptions | needs_input | queue position, partial fills, latency, bid/ask crossing still required | ## 下一步 review 重点 - P0 fail 时不进入 promotion review;优先查 lookahead、时间戳对齐、label 泄露、全样本标准化。 - P1 缺输入时不能假定通过;补 factor、OOS、paper trading、existing strategy P&L 后再评估。 - P2 是 live readiness;没有 fill/latency/queue 假设时不要讨论上线。
Full local eval dashboard: /workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/review_package/eval_report/eval_dashboard.html
Bias report: /workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/review_package/eval_report/bias_report.html; Internal report: /workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/review_package/eval_report/internal_report.html
Raw metadata
{
"strategy_id": "vol_condor_semiconductor_paper_v1",
"registry": {
"account_id": "alpaca_paper_main",
"created_at": "2026-05-29T18:34:18.317183Z",
"description": "Semiconductor defined-risk volatility condor tiny paper observation.",
"enabled": true,
"entrypoint": "python /workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/rollout_runner.py --submit-paper",
"environment": "paper",
"git_ref": "not_git_repo:paper_rollouts/vol_condor_semiconductor_paper_v1_20260602",
"owner": "codex",
"repo_url": "local:/workspace/volatility_condor_arbitrage_research",
"schedule": "cron: CRON_TZ=UTC; 30 19 * * 5 via isolated rollout wrapper",
"source_path": "/workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/rollout_runner.py",
"strategy_id": "vol_condor_semiconductor_paper_v1",
"updated_at": "2026-06-05T19:30:03.263352Z"
},
"schedule": {
"account_profile": "paper",
"cadence": "30 19 * * 5",
"cron_expression": "30 19 * * 5",
"cron_tz": "UTC",
"enabled": true,
"entrypoint": "python /workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/rollout_runner.py --submit-paper",
"expected_next_run_rule": "weekly Friday 19:30 UTC, equivalent to Friday 15:30 America/New_York during US daylight saving time",
"last_observed_event_ts": "2026-06-05T19:30:03.331561+00:00",
"last_observed_run_id": "20260605T193003Z_vol_condor_semiconductor_paper_v1",
"notes": "Isolated rollout folder owns wrapper/source. Tiny defined-risk semiconductor option paper observation; no secrets; enabled only after dry-run event log verification.",
"paper_book_cap_usd": 500.0,
"process_hint": "crontab -l | grep vol_condor_semiconductor_paper_v1",
"schedule_type": "cron",
"scheduler_host": "workspace",
"scheduler_owner": "codex",
"scheduler_path": "/workspace/volatility_condor_arbitrage_research/paper_rollouts/vol_condor_semiconductor_paper_v1_20260602/run_vol_condor_semiconductor_paper.sh",
"strategy_id": "vol_condor_semiconductor_paper_v1",
"timezone": "UTC"
},
"config": {
"account_profile": "paper",
"allow_earnings_auto_submit": false,
"allow_unknown_earnings_auto_submit": false,
"duplicate_guard": {
"behavior": "skip_submit_if_last_paper_submit_at_startswith_current_utc_date",
"state_key": "last_paper_submit_at",
"state_path": "/workspace/steve/alpha_vault_ops/data/runtime/memory/strategies/vol_condor_semiconductor_paper_v1/state.json"
},
"earnings_min_iv_rv20": 1.6,
"earnings_window_days": 3,
"environment": "paper",
"live_requires_operator_approval": true,
"max_candidates": 3,
"max_contracts_per_run": 1,
"max_dte_calendar": 35,
"max_loss_per_1lot": 500.0,
"max_quote_age_seconds": 900,
"min_dte_calendar": 5,
"min_executable_credit": 1.0,
"min_iv_rv20": 1.2,
"non_earnings_min_iv_rv20": 1.2,
"paper_book_cap_usd": 500.0,
"portfolio_max_loss_cap": 500.0,
"preferred_risk_budget": 200.0,
"report_url": "https://reports.steveouyang.com/dashboard",
"require_quote_timestamp_for_submit": true,
"risk_note": "Tiny paper observation. Defined-risk iron condors only; no naked short options.",
"schedule": "CRON_TZ=UTC; 30 19 * * 5",
"schedule_enabled": true,
"strategy_id": "vol_condor_semiconductor_paper_v1",
"submit_orders": true,
"universe_note": "Large semiconductor names and semiconductor ETFs from semiconductor_alpaca_scan.py.",
"updated_at": "2026-06-05T19:30:03.258964+00:00",
"updated_by": "codex",
"version": 1
},
"state_summary": {
"last_run_id": "20260605T193003Z_vol_condor_semiconductor_paper_v1",
"last_paper_submit_at": "2026-06-05T19:30:12.338332+00:00",
"last_option_order": null
},
"eval_summary": {
"strategy_label": "vol_condor_semiconductor_paper_v1",
"window": {
"start": "2026-05-15",
"end": "2026-06-02",
"n_days": 19,
"n_assets": 1
},
"bias": {
"strategy_label": "vol_condor_semiconductor_paper_v1",
"overall_pass": false,
"shift": {
"test": "shift_lookahead",
"sh_same": 5.594659912853039,
"sh_lag1": 6.492510940454962,
"sh_lead1": 7.340549785867094,
"sh_lead5": 6.592519332489499,
"lead1_gain": 1.7458898730140548,
"lag1_drop": -0.8978510276019227,
"threshold": 0.3,
"asymmetry_min": 0.8,
"passed": true,
"verdict": "CAUSAL \u2014 lead-cheat boosts Sharpe more than lag-stale drops it"
},
"autocorr": {
"test": "autocorrelation",
"n_assets_checked": 0,
"mean_autocorr": 0.0,
"median_autocorr": 0.0,
"min_autocorr": 0.0,
"max_autocorr": 0.0,
"threshold": 0.5,
"passed": false,
"verdict": "WARN \u2014 mean AC 0.000 < 0.5; positions jumpy, shift test less informative"
},
"truncate": null
},
"gross_metrics": {
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"annual_vol": 4.152162914381388,
"max_drawdown": -0.12541548268900016,
"calmar": 7453403.609570119,
"sortino": 4.334332978362017,
"win_rate": 0.42105263157894735,
"var_95": -0.1731618717098728,
"cvar_95": -0.602879372897726,
"n_days": 19
},
"net_metrics": {
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"annual_vol": 4.152162914381388,
"max_drawdown": -0.12541548268900016,
"calmar": 7453403.609570119,
"sortino": 4.334332978362017,
"win_rate": 0.42105263157894735,
"var_95": -0.1731618717098728,
"cvar_95": -0.602879372897726,
"n_days": 19
},
"tc_annual": {
"fee_signal": 0.0,
"fee_roll": 0.0,
"slip_signal": 0.0,
"slip_roll": 0.0,
"total": 0.0
},
"eval_matrix": {
"p0": {
"core_metrics": {
"status": "computed",
"gross": {
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"annual_vol": 4.152162914381388,
"max_drawdown": -0.12541548268900016,
"calmar": 7453403.609570119,
"sortino": 4.334332978362017,
"win_rate": 0.42105263157894735,
"var_95": -0.1731618717098728,
"cvar_95": -0.602879372897726,
"n_days": 19
},
"net": {
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"annual_vol": 4.152162914381388,
"max_drawdown": -0.12541548268900016,
"calmar": 7453403.609570119,
"sortino": 4.334332978362017,
"win_rate": 0.42105263157894735,
"var_95": -0.1731618717098728,
"cvar_95": -0.602879372897726,
"n_days": 19
},
"total_return_gross": 1.8195012873967142,
"total_return_net": 1.8195012873967142,
"drawdown": {
"average_drawdown": -0.12541548268900016,
"max_drawdown": -0.12541548268900016,
"max_time_to_recovery_days": 3,
"average_time_to_recovery_days": 3.0
},
"t_stat_alpha": 1.5362087057350746
},
"turnover": {
"status": "computed",
"average_daily_turnover": 0.21052631578947367,
"annual_turnover": 53.05263157894736,
"active_day_ratio": 0.5263157894736842,
"trade_day_ratio": 0.42105263157894735,
"estimated_holding_period_days": 4.750000000000001,
"turnover_adjusted_sharpe": 0.7609660308875569
},
"capacity_scalability": {
"status": "computed",
"aum_scaling": {
"5000000.0": {
"signal_mi_pct": 1.3876535336183151,
"roll_mi_pct": 0.0,
"total_mi_pct": 1.3876535336183151
},
"25000000.0": {
"signal_mi_pct": 3.102887630388342,
"roll_mi_pct": 0.0,
"total_mi_pct": 3.102887630388342
},
"100000000.0": {
"signal_mi_pct": 6.205775260776684,
"roll_mi_pct": 0.0,
"total_mi_pct": 6.205775260776684
},
"500000000.0": {
"signal_mi_pct": 13.876535336183155,
"roll_mi_pct": 0.0,
"total_mi_pct": 13.876535336183155
},
"1000000000.0": {
"signal_mi_pct": 19.62438447117971,
"roll_mi_pct": 0.0,
"total_mi_pct": 19.62438447117971
},
"2500000000.0": {
"signal_mi_pct": 31.02887630388343,
"roll_mi_pct": 0.0,
"total_mi_pct": 31.02887630388343
},
"5000000000.0": {
"signal_mi_pct": 43.8814576941491,
"roll_mi_pct": 0.0,
"total_mi_pct": 43.8814576941491
},
"10000000000.0": {
"signal_mi_pct": 62.05775260776686,
"roll_mi_pct": 0.0,
"total_mi_pct": 62.05775260776686
}
},
"participation_top": {
"vol_condor_semiconductor_paper_v1": {
"100000000.0": 0.0005,
"500000000.0": 0.0025,
"1000000000.0": 0.005,
"2500000000.0": 0.0125,
"5000000000.0": 0.025,
"10000000000.0": 0.05
}
}
},
"statistical_significance": {
"status": "partial",
"t_stat_alpha": 1.5362087057350746,
"deflated_sharpe_ratio": {
"status": "needs_input",
"reason": "requires trial count / candidate family distribution; do not infer from one backtest"
},
"pbo": {
"status": "needs_input",
"reason": "requires combinatorial or walk-forward trial panel; do not infer from one equity curve"
}
},
"operational_reliability": {
"status": "computed",
"lookahead_bias": {
"strategy_label": "vol_condor_semiconductor_paper_v1",
"overall_pass": false,
"shift": {
"test": "shift_lookahead",
"sh_same": 5.594659912853039,
"sh_lag1": 6.492510940454962,
"sh_lead1": 7.340549785867094,
"sh_lead5": 6.592519332489499,
"lead1_gain": 1.7458898730140548,
"lag1_drop": -0.8978510276019227,
"threshold": 0.3,
"asymmetry_min": 0.8,
"passed": true,
"verdict": "CAUSAL \u2014 lead-cheat boosts Sharpe more than lag-stale drops it"
},
"autocorr": {
"test": "autocorrelation",
"n_assets_checked": 0,
"mean_autocorr": 0.0,
"median_autocorr": 0.0,
"min_autocorr": 0.0,
"max_autocorr": 0.0,
"threshold": 0.5,
"passed": false,
"verdict": "WARN \u2014 mean AC 0.000 < 0.5; positions jumpy, shift test less informative"
},
"truncate": null
}
}
},
"p1": {
"factor_exposure": {
"status": "needs_input",
"required_input": "--factor-returns"
},
"out_of_sample": {
"status": "insufficient_data",
"in_sample_days": 12,
"oos_days": 7
},
"rolling_sharpe": {
"status": "needs_more_history",
"window": 252
},
"fee_sensitivity": {
"status": "computed",
"rows": [
{
"tc_multiplier": 0.0,
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"max_drawdown": -0.12541548268900016
},
{
"tc_multiplier": 0.5,
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"max_drawdown": -0.12541548268900016
},
{
"tc_multiplier": 1.0,
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"max_drawdown": -0.12541548268900016
},
{
"tc_multiplier": 2.0,
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"max_drawdown": -0.12541548268900016
},
{
"tc_multiplier": 3.0,
"sharpe": 5.5946599128530385,
"cagr": 934772.2113701724,
"max_drawdown": -0.12541548268900016
}
]
},
"capacity": {
"status": "computed",
"annual_tc_drag_pct_nav": {
"fee_signal": 0.0,
"fee_roll": 0.0,
"slip_signal": 0.0,
"slip_roll": 0.0,
"total": 0.0
},
"max_participation": 0.05
},
"paper_trading": {
"status": "needs_input",
"reason": "requires live or paper trading return stream"
},
"portfolio_interaction": {
"status": "needs_input",
"required_input": "--existing-returns"
}
},
"p2": {
"rolling_sharpe": {
"status": "needs_more_history",
"window": 126
},
"panda_pnl_correlation": {
"status": "needs_input",
"required_input": "--existing-returns"
},
"fill_assumptions": {
"status": "needs_input",
"required_inputs": [
"queue position",
"partial fills",
"latency",
"bid/ask spread crossing"
]
}
}
},
"reports": {
"bias_html": "bias_report.html",
"internal_html": "internal_report.html",
"eval_dashboard_html": "eval_dashboard.html"
}
},
"event_counts": {
"strategy_run_started": 7,
"signal_generated": 7,
"strategy_metrics_recorded": 7,
"option_order_intent_created": 1,
"option_order_dry_run": 1
},
"ledger_counts": {
"option_order_intent_created": 1,
"option_order_dry_run": 1
},
"known_issue": "last_paper_submit_at was written on 2026-06-05 even though eligible_paper_orders=0 and option_order_count=0; duplicate guard should update only after a real eligible paper submit attempt."
}