PlusEVData/investing

๐Ÿ“Š Portfolio analytics

Combo deployed strategy vs SPY, QQQ, 60/40. Drawdown curves, rolling Sharpe, alpha & info ratio. Plus strategy-level decay monitor (Citadel/Millennium pod-style kill triggers) and PBO/CPCV honesty check.

Combo (deployed)

Sharpe
Sortino
CAGR
MaxDD
Calmar
Vol

Combo vs SPY

Annual alpha (CAPM)
Beta to SPY
Info ratio
Tracking error

Benchmarks

BenchmarkSharpeCAGRMaxDD

Cumulative equity curves

Drawdown

Rolling 60d Sharpe

Rolling 60d corr (combo vs SPY)

๐Ÿšจ Strategy decay monitor (multi-PM platform style)

Citadel/Millennium-inspired kill triggers: 60d return < -5% โ†’ cut capital; < -7.5% โ†’ terminate. Watch for negative 60d Sharpe even if not at kill threshold.

StrategyStatusHealth60d Sharpe60d RetCurr DDDays since high

๐Ÿงฌ Factor risk attribution (BARRA-lite)

Combo regressed on factor proxies (Market, Size, Growth, Term, Credit) built from ETFs. Beta = factor exposure. Alpha = idiosyncratic = pure alpha. Rยฒ = how much of the combo is "just factors".

StrategyFactor / StatBetaAnnual contribRยฒAlpha t-stat

๐Ÿ“‰ Tail-risk metrics โ€” VaR / CVaR / Calmar

Standard hedge fund tail-risk metrics. CVaR (Expected Shortfall) = average loss when you exceed VaR. Calmar = CAGR / |MaxDD|. Sorted by Calmar.

StrategySharpeVaR 95%CVaR 95%Worst DayWorst 5dMaxDDCalmar

๐ŸŽฏ Entry timing + stop-loss test (leader strategy, 7y)

Three findings: open-entry slightly beats close-entry (+0.08 Sharpe); weekly rebal hurts (Sharpe 1.08 vs quarterly 1.65 โ€” leader signal needs time); per-position stops on quarterly rebal HELP โ€” -20% stop lifts Sharpe 1.65โ†’1.82 and cuts MaxDD -46%โ†’-33%.

TestEntryFreqStopSharpeSortinoCAGRMaxDD

โš–๏ธ Walk-forward MV-LedoitWolf weight evolution

How the optimal weights for each strategy evolved over time. Refit monthly using prior 252 days. Note: insider weight went to 0 by April matching the decay-monitor alert; cross-asset rose to 22%.

๐Ÿ† Stacked overlays (best risk-adjusted)

Combining halve/kill drawdown overlay + sortino-target sigma. Order matters! Halve/kill THEN sortino15 wins: Calmar 6.26, CAGR 118%, MaxDD -19%.

VariantSharpeSortinoCAGRMaxDDCalmar

๐Ÿ“ Sortino-targeting overlay (combo)

Sortino-target scales by downside-vol instead of total vol โ€” preserves upside spikes that vol-target clips. Best variant (sortino-target 15%) lifts CAGR from 85% to 106% with Calmar 4.70.

OverlaySharpeSortinoCAGRMaxDDCalmar

๐Ÿ›‘ Drawdown overlay test

Adding kill-switch overlays to the combo. Sorted by Calmar (CAGR / MaxDD). Best variant: Halve@-10%/kill@-20% โ€” improves Sharpe AND lowers MaxDD vs baseline.

VariantSharpeSortinoCAGRMaxDDCalmar

๐Ÿšจ Anomaly detection (last 30d)

Rolling 60d Z-score + Isolation Forest on per-strategy daily returns. Flags days where a strategy's return is statistically unusual.

DateStrategyTypeDirectionReturnZ-score

โšก Stress test โ€” historical crisis periods

How each strategy performed in past stress periods. Honest view of when each works/fails.

PeriodStrategyCum RetSharpeMaxDDDays

๐ŸŽ“ Honesty check: PBO + CPCV

Probability of Backtest Overfitting (Lรณpez de Prado 2014). 12-block CPCV. Lower = more honest.

PBO
Verdict
Median IS-best Sharpe
Median IS-best OOS Sharpe
Degradation
P(IS-best OOS Sharpe > 0)
CPCV combinations tested

Per-strategy IS vs OOS Sharpe

StrategyISOOSP(OOS>0)

โš–๏ธ Portfolio construction methods

Hierarchical Risk Parity vs Mean-Variance Ledoit-Wolf vs Risk-parity vs Equal weight. MV wins on Sharpe but concentrates; HRP gives more diversification.

MethodSharpeSortinoCAGRMaxDD

๐Ÿ”ฌ Marcenko-Pastur covariance denoising

Random-matrix-theory based eigenvalue clipping. Filters noise eigenvalues from sample covariance. For our 6-strategy combo (q=92, plenty of data) it changes little. For a 20-stock min-variance portfolio (q=13) it dramatically tames extreme weights.

TestCovSharpe / VolMax wtMin wt