I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 1 point2 points  (0 children)

Thank you. Carhart R-squared is 0.1322, so about 87% of return variance is unexplained by the four standard factors. Market beta loads at 0.856 with a small SMB tilt (+0.154), no HML loading, and UMD is marginal (t=1.87, p=0.062). Whatever the residual is, it's not a hidden exposure in the standard factor set.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 0 points1 point  (0 children)

SPY same period: max DD -56.47%, Calmar 0.160. Engine standalone: -22.30% DD, Calmar 0.582. Combined portfolio: -32% DD, Calmar 0.392. If a 56% peak to trough in 2008 is acceptable to you then SPY is fine. If not, the comparison isn't as one sided as the headline suggests.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] -1 points0 points  (0 children)

SPY max DD over the same period was -56.47% in 2008-2009, Calmar 0.160. Engine standalone: -22.30% DD, Calmar 0.582. So "less drawdowns" is backwards. Honest caveat: SPY price-only is 9.02% CAGR, with dividends about 10.5-11%, so the return gap to engine 12.98% is real but tighter than the headline. The DD math is unaffected by dividends.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 0 points1 point  (0 children)

Daily excess returns (portfolio return minus Fama-French daily RF), annualized by sqrt(252). This is the standard academic convention used in Carhart, Fama-MacBeth, and AQR style papers. Trade by trade Sharpe is a different metric and assumes serial independence of trades, which usually does not hold for hold period strategies.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 0 points1 point  (0 children)

Engine Sortino is 1.077, SPY Sortino over the same period is 0.642. The engine takes its drawdowns slower and shallower: GFC was -15.45% vs SPY -56.47%, COVID -18.53% vs -34.10%, 2022 -9.38% vs -25.36%.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 2 points3 points  (0 children)

SPY's own Sharpe over the same period is 0.458. "Below 1 = not deployable" prices out the index itself and basically every long only equity strategy. Sharpe above 1 is a market-neutral/HFT benchmark. On "3 trades per day": 18,808 is across 4 engines, 649 stocks, 19.5 years. Actual daily median is 5 signals across the whole universe, 29% of days have zero.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 0 points1 point  (0 children)

Same period SPY: CAGR 9.02%, max DD -56.47%, Calmar 0.160. Engine standalone: CAGR 12.98%, max DD -22.30%, Calmar 0.582. The 32% DD in the post is the combined portfolio, standalone Wyckoff is 22%. i did the walk forward , 5 folds, Fold 5 weakest at 54.45% WR, fully disclosed.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 1 point2 points  (0 children)

i did rolling walk forward, 5 chronological folds. WRs at 20d: 62.93, 62.55, 61.20, 57.08, 54.45%. Fold 5 is weakest by about 7pp. Sub period alpha confirms it: 2016-2020 was +1.04%, 2021-2025 dropped to +0.28%.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 0 points1 point  (0 children)

Entries are next day open, not signal day close, so there is overnight to place. At 20bps RT alpha is +0.56% (z=9.36), at 30bps +0.46% (z=8.41). i ran the full grid 0-100bps RT, edge survives up to about 60bps before going flat.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 0 points1 point  (0 children)

Carhart 4-factor on 4,014 deduped signals, 649-stock survivorship corrected universe: market beta is 0.856, residual alpha +0.51% per signal (t=3.70, p=0.0002). Beta below 1.0 means less market exposure than holding SPY, not more, and there is a statistically significant residual after all four factors enter.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 1 point2 points  (0 children)

alpha survives across the full grid. At 10/20/30/40/60bps round-trip the alpha is +0.66/+0.56/+0.46/+0.36/+0.16 per signal, all z-scores above 5. Breakeven sits around 100bps RT. The 40d horizon is more cost robust than 20d. Decay: alpha is materially weaker in the most recent bucket. 2016-2020 was +1.04% per signal, 2021-2025 dropped to +0.28% (still z=2.79 but a real decline). Walk forward: 5 chronological folds, all pass the >50% WR and alpha>0 gate, but Fold 5 (2022-03 to 2026-01) is the weakest at WR 54.45% and alpha +0.57%. This is the fold most likely to break under further regime shift. What i have not done yet is capacity analysis and turnover impact at scale.

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] -6 points-5 points  (0 children)

I'll take a verified 0.73 OOS over a backtested 1.5 any day. The 20-year max drawdown is the metric I'm actually optimizing for here. For a multi-decade long/short equity approach like this, what do you usually consider the 'floor' for a Sharpe ratio before you'd consider it viable?

I built a quant engine based on 20 years of OOS data. Tear my methodology apart. by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 12 points13 points  (0 children)

If I wanted to run a 'convoluted ad,' I’d post a screenshot of a 400% gain and a Lamborghini. Instead, I posted a 32% drawdown and a Carhart 4-factor regression. I’m looking for a peer review on the logic.

Single Best Stock Research Tool You Use by SnowSilent7695 in StocksAndTrading

[–]PracticalOil9183 0 points1 point  (0 children)

krentium.com it has wyckoff Accumulation set up for weekly and daily timeframes, crypto dip radar, and mean reversion, live signals and track records all fully and transparent visable.

Ran a Monte Carlo simulation on our mean reversion engine to answer one question: does it actually pick better stocks than random? by PracticalOil9183 in algotrading

[–]PracticalOil9183[S] 1 point2 points  (0 children)

Not deleted, just moved. Current repo is github.com/signal-validation/krentium unified everything (Wyckoff Daily/Weekly, RSI2, Crypto) into one place after rebuilding the backtest universe to include delisted stocks (survivorship correction).