This is a detailed research piece. If you find value in institutional-quality hedge fund analysis, support this work on Patreon.
TL;DR: I coded a Python backtest of Goldman’s analyst day, pre-earnings, and covered call strategies using real market data. The results revealed critical implementation challenges that explain why retail traders struggle to replicate institutional performance — and why I’m rebuilding the model.
Background: This article tests the strategies documented in my research piece: Goldman Sachs Event-Driven Options: Three Strategies with 11–18% Reported Returns. Read that first for full strategy mechanics and source verification.
Test Methodology
Data Source: Yahoo Finance via yfinance (free historical equity/earnings data)
Pricing Model: Black-Scholes for option valuation
Period: Last 6-12 months of market data
Tickers: HOOD (analyst day), BLK/MSFT/NVDA/AAPL (earnings), AAPL/MSFT/GOOGL/JNJ (covered calls)
Backtest Results Summary:
⚠️ CRITICAL LIMITATIONS — READ BEFORE INTERPRETING RESULTS
This backtest has significant methodological limitations that affect result accuracy:
No Real IV Data: Using historical volatility approximations, not actual market implied volatility
Black-Scholes Only: No IV skew/smile modeling (real options markets are non-flat)
Zero Transaction Costs: Missing bid-ask spreads, commissions, slippage (5–10% impact)
Small Sample Size: Only 1 analyst day trade, 8 earnings trades (statistically insufficient)
Timing Imprecision: Weekend/holiday date handling creates ±2 day variance
Linear IV Crush: Real post-event IV collapse is nonlinear and strike-dependent
These results validate strategy mechanics but cannot predict live trading performance. Institutional desks have real-time IV surfaces, microsecond execution, and prime broker terms unavailable to retail traders. Performance gap between backtest and reality likely 30–50%.
For detailed problem analysis, see “Current Implementation Problems” section below.
What I Found
1. Analyst Day Strategy: The Theta Trap
Expected: 18% average return via gamma scalping around information events
Reality: -34% loss on HOOD Dec 4 investor day
What Happened:
Entry (T-5): HOOD at $37.65, bought Dec 6 $38 calls for $1.92 (87% IV)
Exit (T+1): HOOD at $38.92 (+3.4% stock move)
Option value: $1.26 (-34% loss)
The Problem: Stock moved in correct direction but too slowly. Time decay (theta) and implied volatility collapse post-event overwhelmed the delta gains. A 3.4% spot move over 6 days wasn’t violent enough to offset gamma bleed.
Critical Insight: This strategy requires explosive moves (>8–10% single-day jumps), not gradual drifts. My model correctly captured the mechanical failure — even “correct” directional calls lose money if realized vol < entry IV.
2. Pre-Earnings Strategy: Extreme Positive Skew
Expected: 14% consistent profit
Reality: 49% average with massive variance (-98% to +220%)
Sample Trades:
NVDA Jun earnings: +220% (stock beat, IV spike captured)
MSFT Jan earnings: -98% (IV crush + stock drop = total loss)
BLK Apr earnings: +135% (massive beat + volatility expansion)
What Works: When earnings surprises exceed IV pricing, payoffs are asymmetric. Single NVDA winner (+220%) offset three losers.
The Validation: Strategy exhibits the exact “negative skewness risk-adjusted” profile Goldman warned about — positive expectancy driven by rare extreme wins, not consistent gains.
3. Covered Call: The Grind
Expected: 11% annual alpha via systematic vol premium harvesting
Reality: 5% monthly return, 90% win rate
Mechanics Confirmed:
Selling 10% OTM calls on quality names (AAPL, MSFT, GOOGL, JNJ)
Premium collection consistently offset by capped upside
Worst month: -2% (market rally past strike)
Best month: +10% (premium collected, stock flat)
Alpha Source Verified: Strategy profits from short-term trader overpayment for upside convexity. Works in range-bound/modest bull markets; underperforms in explosive rallies.
Current Implementation Problems
I’m publishing this backtest with full transparency on critical limitations that require addressing before production use:
Problem 1: Black-Scholes Assumes Flat Vol Surface
Issue: Real options markets have volatility skew and smile. Our model uses single IV estimate per trade, missing:
OTM put premium (crash insurance)
Earnings vol term structure (front-month spike)
Strike-dependent IV (skew steepness)
Impact: Earnings strategy returns likely overstated. Real entry IV on 1st OTM calls often 20–40% higher than our historical vol proxy.
Problem 2: IV Data Approximation
Current Method: Using 30-day historical volatility × 1.5 multiplier as IV proxy
Reality: Pre-earnings IV often trades 2–3× realized vol; post-earnings collapses to 0.8× realized
Impact: P&L calculations miss the core edge — buying underpriced event vol. I’m modeling directional bets, not vol arbitrage.
Problem 3: Entry/Exit Timing Imprecision
Issue: Using asof() date lookups, not actual trading day logic
Example: “T-2” before earnings might land on weekend; script picks nearest prior trading day, potentially T-4
Impact: Entry prices misaligned with Goldman’s actual trade timing. Analyst day “T-5” approximation introduces ±2 day variance.
Problem 4: Zero Transaction Costs
Missing:
Bid-ask spread (typically $0.10–0.50 on liquid options)
Commission ($0.65/contract standard)
Slippage on market orders
Assignment/exercise fees
Impact: 5–10% drag on small premium trades. Covered call returns likely overstated by ~1–2%/month.
Problem 5: Sample Size Inadequacy
Analyst Day: 1 trade (HOOD only)
Earnings: 8 trades (4 tickers × 2 events)
Covered Call: 20 monthly rolls
Statistical Significance: Analyst day conclusion drawn from n=1 is anecdotal. Need 50+ events for meaningful backtest.
Problem 6: IV Crush Modeling Is Linear
Current: IV drops from 1.5× HV to 1.0× HV post-earnings
Reality: IV collapse is nonlinear — steeper for ATM, flatter for OTM; varies by earnings surprise magnitude
Impact: Exit valuations approximate, not precise. Real IV surface dynamics would show deeper losses on misses, higher gains on beats.
Why These Problems Matter
For Retail Replication:
My backtest uses free public data (Yahoo Finance) + academic pricing model (Black-Scholes)
Institutional desks have: real-time IV surfaces, order flow data, microsecond execution, prime broker financing
Performance gap between backtest and live trading likely 30–50% for vol-dependent strategies
For Strategy Validation:
Covered call results directionally correct (consistent premium harvest works)
Earnings strategy mechanics confirmed (extreme winners offset frequent losers)
Analyst day strategy shows why it’s hardest to execute (requires precision timing + violent moves)
Current Status
I’m rebuilding the backtest engine to address these limitations.
Priority fixes in development:
Integrate
yfinanceoptions chain data (historical IV by strike/expiry)Replace Black-Scholes with binomial tree (handles early exercise, dividends)
Add bid-ask spread simulation (±5% slippage on entry/exit)
Implement proper trading day calendar (exclude weekends/holidays)
Expand sample: 50+ analyst days, 100+ earnings events, 12-month covered call backtest
No ETA yet. Publishing flawed v1 now because transparency on limitations is more valuable than delayed perfection.
Replication Code
Full Python backtest implementation: GitHub Repository — Goldman Sachs Strategy Backtest
Dependencies:
pip install yfinance pandas numpy scipy tabulateRun:
python3 gs_strategy_backtest.pyOutput: Markdown report with trade log, performance summary, P&L attribution
Note: Code uses free Yahoo Finance data and Black-Scholes pricing. See “Current Implementation Problems” section below for known limitations.
Key Takeaways
Analyst Day Strategy failed in my test not because the thesis is wrong, but because implementation precision matters. A 3% move over 6 days ≠ 8% single-day spike. Theta decay dominates slow grinds.
Earnings Strategy validated Goldman’s “positive skew” warning — you need position sizing discipline to survive -98% losses while waiting for +220% winners. This is VC-style risk management, not index investing.
Covered Call Strategy works mechanically but requires quality stock selection (I used FANG+) and acceptance of capped upside. It’s income generation, not alpha hunting.
Current limitations prevent production deployment. Free data + Black-Scholes ≠ institutional-grade backtest. I’m addressing IV surface modeling, transaction costs, and sample size before claiming statistical validation.
Disclosure: Backtest uses simulated option prices. Real-world results will differ due to bid-ask spreads, IV skew, execution slippage, and market microstructure. Not investment advice.
Next Update: Improved model with real IV data, expanded sample size, and transaction cost adjustments. Currently in development — no release date.
Related Resources
📄 Original Strategy Research: Goldman Sachs Event-Driven Options: Three Strategies with 11–18% Reported Returns
Full strategy mechanics, performance claims, verified sources, and confidence ratings
💻 Backtest Code (GitHub): github.com/NavnoorBawa/Goldman-Sachs
Complete Python implementation with Black-Scholes pricing, trade logs, and performance reports
🔗 Connect: @navnoorquant on Twitter/X
Quantitative finance research, systematic trading, hedge fund strategy analysis
About This Research
This backtest is part of ongoing empirical validation of institutional trading strategies. I publish both successes and failures to provide transparent, data-driven analysis for the quantitative finance community.
Currently working on v2.0 with:
Real options chain data (historical IV by strike/expiry)
Binomial tree pricing (handles early exercise, dividends)
Transaction cost modeling (bid-ask spreads, commissions)
Expanded sample: 50+ analyst days, 100+ earnings events
Follow for updates when improved model releases.
📊 Support this research: https://www.patreon.com/c/NavnoorBawa
Cover photograph: Potro, CC BY-SA 4.0, via Wikimedia Commons.




