---
run_id: 11
date: "2026-03-11 10:01:29 UTC"
question: "credit spreads"
total_hypotheses: 48
confirmed: 0
rejected: 0
pending: 48
rounds: 5
---

# 研究迴圈報告 — Run #11

> 研究主題：credit spreads
> 產生時間：2026-03-11 10:01:29 UTC

## 執行摘要

本次研究迴圈共進行 **5** 輪，產生 **48** 個假說。
最高信心假說（confidence=0.9500）：
> Extreme data sparsity: ~96% of rows have zero/null prices, only 2-4% of minute bars contain tradeable data. Backtests must filter close > 0 AND volume > 0 strictly, or will produce phantom fills on st...

## 各輪摘要

| 輪次 | Agent 數 | 假說數 | 持續時間 | Token 用量 |
|------|----------|--------|----------|------------|
| R1 | 3 | 19 | — | — |
| R2 | 3 | 11 | — | — |
| R3 | 3 | 5 | — | — |
| R4 | 2 | 8 | — | — |
| R5 | 2 | 5 | — | — |

## 假說清單

### Round 1

- ⏳ **[credit spreads]** (confidence=0.6500)
  SPX weekly put credit spreads (3% OTM, $10 wide, 1-5 DTE) generate consistent positive returns with >90% win rate
- ⏳ **[credit spreads]** (confidence=0.5500)
  Monday-only entries improve risk-adjusted returns for credit spreads
- ⏳ **[credit spreads]** (confidence=0.6000)
  Wider spreads ($25) capture more premium and improve gross returns
- ⏳ **[credit spreads]** (confidence=0.5000)
  Further OTM (5%) improves win rate but may not improve risk-adjusted returns
- ⏳ **[credit spreads]** (confidence=0.9500)
  Extreme data sparsity: ~96% of rows have zero/null prices, only 2-4% of minute bars contain tradeable data. Backtests must filter close > 0 AND volume > 0 strictly, or will produce phantom fills on stale/zero quotes.
- ⏳ **[credit spreads]** (confidence=0.8800)
  Paired leg availability is adequate on expiration day (~87%) but sparse on earlier days. Credit spread backtests may suffer from look-ahead bias if both legs are not required to have simultaneous non-zero prices.
- ⏳ **[credit spreads]** (confidence=0.9200)
  Overnight gap risk is severe and cannot be hedged intraday. Overnight jumps of 10-25 points observed regularly on a single put strike, which can flip a credit spread from profitable to max loss.
- ⏳ **[credit spreads]** (confidence=0.8500)
  Bid-ask spreads are significant for deep OTM options, creating a fill-quality problem. Using close/mid prices for backtesting overestimates actual returns.
- ⏳ **[credit spreads]** (confidence=0.9500)
  March 2020 crash data shows extreme tail risk for put credit spreads. SPX dropped ~34% peak-to-trough. OTM puts with strikes at 2400-2500 had avg close of $40-50 during the crash — these would normally be near-zero.
- ⏳ **[credit spreads]** (confidence=0.8000)
  Volume on individual minute bars is low (median ~1-5 contracts for OTM puts). This means real-world execution at backtest prices is questionable for any meaningful position size.
- ⏳ **[credit spreads]** (confidence=0.9000)
  No bid/ask data available — only OHLCV. This is a fundamental limitation for credit spread backtesting where execution quality (short at bid, long at ask) determines profitability.
- ⏳ **[credit spreads]** (confidence=0.7500)
  Strike spacing is $5 for near-the-money SPX options. Credit spreads with 5-point width collect very small premiums (~$1-3) making them highly sensitive to transaction costs and slippage.
- ⏳ **[credit spreads]** (confidence=0.9200)
  Sharpe ratio > 3.0 for any credit spread strategy should be treated as a data artifact or overfitting signal. Credit spreads have inherently negative skew (small frequent gains, rare large losses).
- ⏳ **[credit spreads]** (confidence=0.7000)
  Pin risk near expiration: SPX options are European-style and cash-settled, eliminating assignment risk. But gamma risk near expiration can cause rapid P&L swings that minute-bar data may not capture accurately.
- ⏳ **[credit spreads]** (confidence=0.8200)
  Short put credit spreads on SPX at 16-delta short strike, 45 DTE, $50 wide, closed at 50% profit or 21 DTE, outperform hold-to-expiration on a risk-adjusted basis (Sharpe > 0.8). The 'tastylive standard' approach with mechanical management rules captures theta decay efficiently while avoiding gamma ...
- ⏳ **[credit spreads]** (confidence=0.7200)
  0DTE SPX put credit spreads at 5-delta short strike, $5 wide, entered daily at market open, yield annualized returns >15% with win rate >75%, but exhibit fat left-tail risk (worst day loss > 10x average win). Day-of-week effects exist, with Tuesday showing the best risk-adjusted performance.
- ⏳ **[credit spreads]** (confidence=0.6800)
  VIX-regime-filtered credit spreads (sell only when VIX > 20) produce higher Sharpe ratios than unconditional selling, because elevated implied volatility provides richer premiums that more than compensate for the higher realized volatility. Conversely, selling in VIX < 15 environments underperforms.
- ⏳ **[credit spreads]** (confidence=0.6500)
  Spread width significantly impacts risk-adjusted returns: $5-wide spreads have higher win rates but lower Sharpe than $25-wide spreads, because wider spreads capture more of the volatility risk premium per unit of margin. The optimal width for SPX put credit spreads at 45 DTE is $25, balancing premi...
- ⏳ **[credit spreads]** (confidence=0.6000)
  Iron condors (simultaneous put + call credit spreads) at 10-delta on both sides, 45 DTE, $25 wide, managed at 50% profit, outperform one-sided put credit spreads on a risk-adjusted basis because the double premium collection provides a wider break-even range and higher win rate, despite the two-side...

### Round 2

- ⏳ **[entry_timing]** (confidence=0.4500)
  Monday Sharpe 1.73 is statistically significant vs baseline but likely overstated due to selection bias
- ⏳ **[entry_timing]** (confidence=0.9200)
  3% OTM 0DTE put spread credit is near-zero ($0.05 or less), making the strategy economically unviable at this strike distance
- ⏳ **[entry_timing]** (confidence=0.8800)
  97% zero-close bars make P&L calculations unreliable — VWAP carry-forward creates phantom prices
- ⏳ **[entry_timing]** (confidence=0.8500)
  High win rates (90%+) mask catastrophic tail risk — 6-7 winning trades required to recover one loss
- ⏳ **[entry_timing]** (confidence=0.7500)
  Year-by-year stability is questionable — 2022 bear market likely has much lower win rate than 2023-2024
- ⏳ **[entry_timing]** (confidence=0.9000)
  Slippage impact is severe — $0.05 tick size means 100% slippage on most 3% OTM trades
- ⏳ **[entry_timing]** (confidence=0.7500)
  Monday credit spreads outperform due to weekend theta compression: market makers suppress Friday decay and VIX statistically rises only on Mondays, creating a volatility premium sellers can harvest. Selling Monday AM captures both weekend-accumulated theta and the Monday VIX mean-reversion.
- ⏳ **[entry_timing]** (confidence=0.6500)
  Tuesday is the second-best day for credit spreads due to 'Turnaround Tuesday' effect — the S&P 500 shows the highest average daily return on Tuesdays, creating favorable conditions for put credit spread sellers.
- ⏳ **[entry_timing]** (confidence=0.6000)
  Mid-morning entry (10:30 AM ET) outperforms open entry (9:31 AM) for credit spreads because the opening range establishes price levels and initial volatility spike subsides, allowing better strike selection and tighter spreads.
- ⏳ **[entry_timing]** (confidence=0.7000)
  1-2 DTE credit spreads provide better risk-adjusted returns than 0DTE because they avoid gamma explosion risk while still capturing accelerated theta decay, and they allow overnight theta collection.
- ⏳ **[entry_timing]** (confidence=0.5500)
  OPEX week (monthly options expiration, 3rd Friday) creates a distinct regime for credit spreads: pre-OPEX volatility suppression favors sellers, but post-OPEX volatility expansion creates risk. Avoid entering new spreads on OPEX Friday itself.

### Round 3

- ⏳ **[strike_selection]** (confidence=0.7800)
  5-7 delta short put strikes (approximately 3-5% OTM) produce the best risk-adjusted returns (Sharpe > 0.7) for SPX put credit spreads at 4-7 DTE, outperforming both tighter strikes (2% OTM / 16-delta, too much gamma risk) and wider strikes (10% OTM / 2-delta, insufficient premium). The 5-7 delta zon...
- ⏳ **[strike_selection]** (confidence=0.7200)
  $25-wide spreads produce the highest Sharpe ratio for SPX put credit spreads, outperforming both narrow ($5-$10) and very wide ($50) spreads. Narrow spreads have near-binary payoffs (win small / lose everything) while $50 spreads tie up excessive margin. $25 captures the optimal premium-to-risk rati...
- ⏳ **[strike_selection]** (confidence=0.6500)
  Strike selection and DTE interact significantly: closer strikes (2-3% OTM) need shorter DTE (0-2 days) to avoid directional risk accumulation, while wider strikes (5-7% OTM) perform best at 4-7 DTE where they can capture meaningful theta. The optimal {OTM%, DTE} pair is {5% OTM, 5 DTE}, not {3% OTM,...
- ⏳ **[strike_selection]** (confidence=0.5000)
  Round-number strikes (multiples of $50 or $100, e.g., 5000, 5050, 5100) accumulate excess open interest creating gamma walls and pinning effects. Put credit spreads with short strikes at round numbers have lower win rates than spreads at non-round strikes because large open interest at round numbers...
- ⏳ **[strike_selection]** (confidence=0.5800)
  Asymmetric iron condors with wider put wings ($25) and narrower call wings ($10) produce better risk-adjusted returns than symmetric condors, because SPX has a left-skewed return distribution (crashes are larger than rallies). The wider put wing captures more premium on the side where implied volati...

### Round 4

- ⏳ **[validation]** (confidence=0.9200)
  METHODOLOGY FATAL FLAW #1: MAX(close) cherry-picking inflates entry credits by ~7-14%, making baseline UNPROFITABLE after transaction costs
- ⏳ **[validation]** (confidence=0.7800)
  METHODOLOGY FATAL FLAW #2: NaN-to-zero exit asymmetry is smaller than feared (~11% of trades) but still biases results systematically
- ⏳ **[validation]** (confidence=0.8800)
  MONDAY EFFECT IS DATA MINING: fails Bonferroni correction, unreproducible across rounds, and negative in 2024
- ⏳ **[validation]** (confidence=0.7200)
  5% OTM SUPERIORITY IS PARTIALLY A DATA ARTIFACT: farther OTM = more NaN->$0 exits = artificially higher win rates
- ⏳ **[validation]** (confidence=0.9000)
  BEST_COMBO (5% OTM, $25 wide) FAILS OUT-OF-SAMPLE: Sharpe drops from 1.04 to 0.32 in 2020-2021
- ⏳ **[validation]** (confidence=0.8500)
  TRANSACTION COSTS DESTROY BASELINE AND NARROW VARIANTS: only MON_ONLY and wider-OTM variants survive
- ⏳ **[validation]** (confidence=0.7500)
  REAL-WORLD FEASIBILITY: even the best surviving variant generates trivial returns relative to effort and risk
- ⏳ **[validation]** (confidence=0.8200)
  CRITICAL META-BUG: Sharpe calculation uses sqrt(52) annualization but trade frequency is NOT 52/year for most variants

### Round 5

- ⏳ **[go_no_go]** (confidence=0.9200)
  SPX weekly put credit spreads are NOT suitable for live deployment in current form
- ⏳ **[position_sizing]** (confidence=0.6500)
  If forced to trade conditionally, VIX > 25 filter with extreme position limits is the only defensible approach
- ⏳ **[data_quality]** (confidence=0.9500)
  Bid/ask spread data is the single highest-value improvement to pursue
- ⏳ **[alternative_strategy]** (confidence=0.7200)
  SPY options with available bid/ask EOD data may be a better research target
- ⏳ **[alternative_strategy]** (confidence=0.5500)
  Iron condor or jade lizard structures may improve risk-adjusted returns

## 錯誤日誌摘要

- **backtest_crash**: 1 次

最近錯誤：

- [backtest_crash] Script entry_timing_r2.py timed out after 120s

## 方法評分

| Agent | 方法 | 成功率 | 提出數 | 確認數 | 樣本數 |
|-------|------|--------|--------|--------|--------|
| optimizer | credit spreads | 0.00% | 4 | 0 | 4 |
| risk-auditor | credit spreads | 0.00% | 10 | 0 | 10 |
| researcher | credit spreads | 0.00% | 5 | 0 | 5 |
| risk-auditor | entry_timing | 0.00% | 6 | 0 | 6 |
| researcher | entry_timing | 0.00% | 5 | 0 | 5 |
| researcher | strike_selection | 0.00% | 5 | 0 | 5 |
| devil | validation | 0.00% | 8 | 0 | 8 |
| portfolio-mgr | go_no_go | 0.00% | 1 | 0 | 1 |
| portfolio-mgr | position_sizing | 0.00% | 1 | 0 | 1 |
| portfolio-mgr | data_quality | 0.00% | 1 | 0 | 1 |
| portfolio-mgr | alternative_strategy | 0.00% | 2 | 0 | 2 |

## 建議與後續行動

- 48 個假說仍待驗證，可增加輪次或手動檢視。
- 最常見錯誤類型為 **backtest_crash**（1 次），建議優先修復。
