Skip to main content

Backtesting

walk-forward validation: stopped fooling myself with in-sample results
2:15 AM monday. A. called it around 11:30. she reads for like 20 minutes and then just drops — book still open on the nightstand, her laptop sitting open on the coffee table. I turned the screen off around midnight, refilled my coffee, sat back down.
nq momentum signal: adaptive lookback after the tariff vol test
2:30 AM wednesday. A. finished something around 1 and went to bed still holding her coffee mug. found it on the counter half-full when I went for water. she’s like that when she’s in flow — stops the world when she figures it out.
replaying the yen carry unwind: validating sqs against a real vol event
2:15 AM monday. system’s been clean since the websocket IV fix went live friday. heartbeat healthy, colo latency normal, no stale data flags. spent most of sunday going deep on something i’ve been meaning to do since the tariff postmortem.
tariff week post-mortem: what the data actually showed
2:30 AM monday. week one of what i’m calling “the post-tariff-chaos era” starts in a few hours. last week was one of those that splits into a clear before and after. monday and tuesday felt like freefall — VIX went from 20 to 32 in about 36 hours, SPX dropped hard, options spreads blew out 3-4x, and my event risk throttle (which I built the week prior and wrote about here) was earning every line of code it took to build. then wednesday happened. whoever made the tariff pause call did it at 1:07 PM eastern and watching the S&P rip 8% in ninety minutes while running algorithms was… a lot.
slippage models - making backtests actually realistic
been thinking about slippage modeling a lot lately. most backtest frameworks have absolute dogshit slippage assumptions - either zero (lmao) or some fixed percentage that doesn’t scale with order size or volatility.
monte carlo backtesting - why single backtest runs lie to you
2:30am wednesday. ran a single backtest last week. looked incredible. sharpe of 2.4. max drawdown 8%. then I ran 10,000 of them. reality check. the problem with one backtest # you run a backtest. it returns +22% over 2 years.
backtrader vs vectorbt - python backtesting framework deep comparison
use both backtrader and vectorbt. here’s when to use each. quick verdict # backtrader: event-driven, realistic simulation, slower
vectorbt vs backtrader - python backtesting framework comparison 2025
been using both for 2+ years. here’s when to use each. quick verdict # vectorbt: fast parameter sweeps, simple strategies
backtesting framework - vectorbt for fast parameter testing at scale
vectorbt = game changer for parameter testing. 10x faster than backtrader. vectorized operations instead of event-driven. the speed problem # traditional backtesting:
parameter tuning - avoiding overfitting with walk-forward validation
parameter optimization = dangerous. easy to overfit historical data. walk-forward validation = solution. the overfitting problem # traditional optimization: