strategy-evaluation
Evaluates trading strategy performance metrics.
Install
mkdir -p .claude/skills/strategy-evaluation && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11560" && unzip -o skill.zip -d .claude/skills/strategy-evaluation && rm skill.zipInstalls to .claude/skills/strategy-evaluation
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
**Five Pillars of Strategy Evaluation:** ``` 1. Statistical Significance — Is the edge real or noise? 2. Robustness — Does it survive regime changes, parameter perturbation, and alternative data? 3. Capacity — How much capital can the strategy absorb before degrading? 4. ImplemenKey capabilities
- →Evaluate statistical significance of a strategy's edge
- →Assess strategy reliable against regime changes and parameter perturbations
- →Estimate strategy capacity before performance degradation
- →Analyze implementation feasibility and realistic costs
- →Determine acceptable drawdowns and tail risks
How it works
The skill provides a framework for evaluating trading strategies based on five pillars: statistical significance, reliable, capacity, implementation, and risk profile, including mathematical adjustments for Sharpe ratios and methods for parameter and regime analysis.
Inputs & outputs
When to use strategy-evaluation
- →Evaluating trading strategies
- →Adjusting Sharpe ratios
- →Assessing strategy risk profiles
About this skill
Strategy Evaluation Framework
When to Activate
- Conducting comprehensive evaluation of a trading strategy before deployment
- Adjusting Sharpe ratios for autocorrelation, non-normality, and multiple testing
- Assessing parameter stability and regime robustness
- Estimating strategy capacity and transaction cost sensitivity
- Making go/no-go decisions on strategy deployment
Core Concepts
Strategy Evaluation Checklist
Five Pillars of Strategy Evaluation:
1. Statistical Significance — Is the edge real or noise?
2. Robustness — Does it survive regime changes, parameter perturbation, and alternative data?
3. Capacity — How much capital can the strategy absorb before degrading?
4. Implementation — Can it be executed at realistic costs?
5. Risk Profile — Are the drawdowns and tail risks acceptable?
Sharpe Ratio Adjustments
Adjustment for Autocorrelation:
Many strategies have autocorrelated returns (momentum strategies: positive,
mean reversion: negative). Standard Sharpe assumes IID returns.
Adjusted annualization:
SR_adjusted = SR_daily * sqrt(252 / (1 + 2*sum(rho_k for k=1..n)))
Where rho_k is the autocorrelation at lag k
Positive autocorrelation (momentum): SR is OVERSTATED
- If lag-1 autocorrelation = 0.1:
SR_adjusted ≈ SR_standard * sqrt(252/(1+2*0.1+2*0.05+...)) ≈ SR * 0.85
15% overstatement from ignoring autocorrelation
Negative autocorrelation (mean reversion): SR is UNDERSTATED
- If lag-1 autocorrelation = -0.1:
SR_adjusted ≈ SR_standard * sqrt(252/(1-0.2-0.1+...)) ≈ SR * 1.10
Mean reversion strategies are slightly better than they appear
Always compute ACF of strategy returns and apply this correction.
Adjustment for Non-Normality:
Sharpe ratio assumes normally distributed returns.
Real trading returns have:
- Negative skewness (fat left tail, common in equity strategies)
- Excess kurtosis (fatter tails than normal in both directions)
Adjusted Sharpe (Lo, 2002):
SR_adjusted = SR * [1 - (skewness/6)*SR + ((kurtosis-3)/24)*SR^2]^(-1/2)
Example:
SR = 1.5, skewness = -1.0, kurtosis = 6 (excess = 3)
Adjustment factor ≈ 0.88
SR_adjusted = 1.5 * 0.88 = 1.32
Strategies that appear to have high Sharpe but negative skew
(selling options, carry trades) are less attractive after adjustment.
Adjustment for Multiple Testing:
See overfitting-prevention skill for full treatment.
Quick reference:
If N strategies tested, minimum Sharpe for significance:
N=1: 0.40
N=10: 0.70
N=50: 0.95
N=100: 1.10
Apply Deflated Sharpe Ratio (DSR) for formal testing.
Parameter Stability
Assessment Methods:
- Walk-Forward Stability:
Record optimal parameters in each walk-forward window
Calculate coefficient of variation (CV) for each parameter
CV < 0.15: stable (good)
CV 0.15-0.30: moderately stable (acceptable)
CV > 0.30: unstable (concerning)
- Parameter Heatmap:
For strategies with 2 parameters:
- Create a grid of parameter combinations
- Color by performance metric (Sharpe, return)
- Robust strategy: broad warm region (plateau)
- Overfit strategy: narrow hot spot (peak)
- Performance Degradation Test:
Perturb each parameter by ±10%, ±20%
If performance drops >30% with ±20% perturbation: fragile
If performance drops <15% with ±20% perturbation: robust
Regime Robustness
Regime Classification:
Define regimes by:
1. Trend regime: trending (ADX>25) vs ranging (ADX<20)
2. Volatility regime: low vol (VIX<15), medium (15-25), high (>25)
3. Correlation regime: normal correlation vs correlation breakdown
4. Macro regime: expansion, slowdown, recession, recovery
Evaluate strategy in each regime independently:
- Sharpe ratio per regime
- Max drawdown per regime
- Hit rate per regime
Red flag: strategy performs well in only one regime
(e.g., only works in bull markets -> not a strategy, just beta exposure)
Regime-Conditional Analysis:
Regime | Sharpe | Max DD | % of Time | Contribution to P&L
Bull/Low Vol | 1.8 | 5% | 35% | 45%
Bull/High Vol | 0.9 | 12% | 15% | 15%
Bear/Low Vol | 0.3 | 8% | 20% | 5%
Bear/High Vol | -0.2 | 22% | 15% | -10%
Sideways | 0.6 | 10% | 15% | 10%
Assessment: Strategy is primarily a bull market strategy.
45% of P&L from 35% of time (bull/low vol). Negative in bear/high vol.
If deployed, needs bear market hedge or position reduction trigger.
Capacity Estimation
Definition: Maximum capital the strategy can manage before transaction costs, market impact, and liquidity constraints erode performance.
Estimation Framework:
Capacity factors:
1. Average daily volume of traded instruments
2. Strategy turnover (annual turnover = trades per year * average position)
3. Market impact model
4. Target impact threshold (e.g., max 10% of daily volume)
Simple capacity estimate:
Capacity = ADV * max_participation_rate / daily_turnover
Where:
- ADV = average daily dollar volume of traded instrument
- max_participation_rate = 1-5% (higher for liquid markets)
- daily_turnover = strategy's daily trading volume as % of AUM
Example:
- Trading SPY: ADV = $30B
- Participation rate: 1%
- Daily turnover: 20% of AUM
- Capacity = $30B * 0.01 / 0.20 = $1.5B
For less liquid instruments:
- Small cap stocks: capacity might be $10-50M
- Crypto altcoins: capacity might be $1-5M
- FX G10: capacity effectively unlimited for most strategies
Market Impact Models:
Square root impact model:
Impact (bps) = sigma * sqrt(V_trade / V_daily) * C
Where:
sigma = daily volatility (bps)
V_trade = trade volume
V_daily = average daily volume
C = constant (~1 for equities)
Example: sigma=100bps, V_trade=1M shares, V_daily=10M shares
Impact = 100 * sqrt(0.1) * 1 = 31.6 bps one-way
Round-trip impact: ~63 bps
For 200% annual turnover (daily turnover ≈ 0.8%):
Annual impact cost: 63 bps * 200% / 100 = 126 bps
If gross Sharpe = 1.5 and vol = 15%: gross return = 22.5%
Net of impact: 22.5% - 1.26% = 21.24%
Impact is manageable at this AUM level.
Transaction Cost Sensitivity
Cost Components:
Total round-trip cost = commission + spread + market impact + slippage
Commission: mostly negligible now ($0 for retail, $0.002-0.005/share institutional)
Spread: bid-ask spread, varies by instrument
- SPY: ~$0.01 (~0.002%)
- Small caps: $0.05-0.50 (0.1-1.0%)
- Crypto (BTC): ~0.01% on major venues
- Crypto (altcoins): 0.1-1.0%
Market impact: from square root model above
Slippage: execution price vs decision price (latency-dependent)
Sensitivity Analysis:
Run backtest at multiple cost assumptions:
Cost scenario | Sharpe | CAGR | Assessment
Zero cost | 1.80 | 25% | Theoretical upper bound (meaningless)
Low (5 bps) | 1.55 | 21% | Best case realistic
Medium (10bps)| 1.30 | 18% | Base case
High (20 bps) | 0.85 | 12% | Conservative / stress case
Very high(50) | 0.15 | 3% | Capacity-constrained scenario
Critical cost threshold: the cost level where Sharpe drops below 0.5
If critical threshold < 15 bps: strategy is cost-sensitive, needs low-cost execution
If critical threshold > 50 bps: strategy is cost-robust
Methodology
Comprehensive Evaluation Process
Phase 1: Statistical Validation
- Calculate raw performance metrics (Sharpe, drawdown, etc.)
- Adjust Sharpe for autocorrelation and non-normality
- Apply DSR for multiple testing correction
- Run walk-forward analysis and calculate WFE
- Run CPCV and assess path distribution
- Determine statistical significance
Phase 2: Robustness Testing
- Parameter stability across walk-forward windows
- Parameter sensitivity (perturbation analysis)
- Regime-conditional performance breakdown
- Alternative asset/universe testing
- Alternative time period testing
- Monte Carlo simulation for confidence intervals
Phase 3: Practical Assessment
- Capacity estimation
- Transaction cost sensitivity
- Execution feasibility (latency, infrastructure requirements)
- Operational risk assessment
- Regulatory and compliance review
- Correlation with existing portfolio strategies
Phase 4: Go/No-Go Decision
Deploy (full allocation) when ALL of:
- Adjusted Sharpe > 0.8
- DSR significant at p < 0.05
- WFE > 0.6
- CPCV: >80% paths profitable
- Robust across 2+ regimes
- Capacity > 2x planned allocation
- Net-of-cost Sharpe > 0.5
- Economic rationale documented
Paper trade when:
- Adjusted Sharpe > 0.5
- Some robustness concerns
- Limited out-of-sample history
- Capacity may be constrained
Reject when:
- Adjusted Sharpe < 0.5 or DSR not significant
- WFE < 0.4
- Only works in one regime
- Transaction costs erode most of the edge
- No clear economic rationale
Correlation with Existing Strategies
Before adding a new strategy to a portfolio:
1. Calculate correlation of returns with each existing strategy
2. Calculate correlation during stress periods (may differ from average)
3. Assess marginal Sharpe contribution:
Marginal SR = (SR_new - rho * SR_existing) / sqrt(1 - rho^2)
If marginal SR < 0.3: strategy does not add enough diversification
4. Run portfolio optimization including new strategy
5. Check if new strategy displaces existing strategies or adds new capacity
Examples
Example 1: Full Evaluation Report
Strategy: Mean reversion on S&P 500 sector ETFs
Backtest: Jan 2010 - Dec 2024 (15 years, daily)
Raw metrics:
- CAGR: 14.2%, Vol: 10.5%, Sharpe: 1.35
- Max DD: 11.3%, Calmar: 1.26
- Win rate: 54%, Avg Win/Loss: 1.3x
Adjustments:
- Autocorrelation (lag-1 = -0.08): adjusted SR = 1.42 (slight boost, mean reversion)
- Non-normality (skew=-0.5, kurt=4.2): adjusted SR = 1.28
- Multiple testing (15 variants tested): DSR significant at p=0.03
Walk-forward (4Y IS, 1Y OOS, rolling):
- Average OOS Sharpe: 0.88
- WFE: 0.65 (acceptable)
- All 11 OOS windows positive
Parameter stability:
- Lookback: CV=0.12 (stable)
- Threshold: CV=0.18 (moderately
---
*Content truncated.*
When not to use it
- →When only needing to deploy a strategy without prior evaluation
- →When the task is not related to trading strategy assessment
- →When the goal is to develop new trading strategies
Limitations
- →Assumes the availability of strategy performance data for analysis.
- →Sharpe ratio adjustments are based on specific formulas and assumptions (e.g., Lo, 2002).
- →Capacity estimation relies on models like average daily volume and market impact.
How it compares
This skill offers a structured, multi-faceted framework for evaluating trading strategies, incorporating specific adjustments and tests for common pitfalls, unlike a superficial performance review.
Compared to similar skills
strategy-evaluation side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| strategy-evaluation (this skill) | 0 | 5mo | No flags | Advanced |
| quant-analyst | 103 | 2mo | No flags | Advanced |
| stock-analyzer | 71 | 2mo | Review | Beginner |
| backtesting-frameworks | 17 | 2mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
quant-analyst
zenobi-us
Expert quantitative analyst specializing in financial modeling, algorithmic trading, and risk analytics. Masters statistical methods, derivatives pricing, and high-frequency trading with focus on mathematical rigor, performance optimization, and profitable strategy development.
stock-analyzer
FrancyJGLisboa
Provides comprehensive technical analysis for stocks and ETFs using RSI, MACD, Bollinger Bands, and other indicators. Activates when user requests stock analysis, technical indicators, trading signals, or market data for specific ticker symbols.
backtesting-frameworks
wshobson
Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.
pair-trade-screener
tradermonty
Statistical arbitrage tool for identifying and analyzing pair trading opportunities. Detects cointegrated stock pairs within sectors, analyzes spread behavior, calculates z-scores, and provides entry/exit recommendations for market-neutral strategies. Use when user requests pair trading opportunities, statistical arbitrage screening, mean-reversion strategies, or market-neutral portfolio construction. Supports correlation analysis, cointegration testing, and spread backtesting.
risk-metrics-calculation
wshobson
Calculate portfolio risk metrics including VaR, CVaR, Sharpe, Sortino, and drawdown analysis. Use when measuring portfolio risk, implementing risk limits, or building risk monitoring systems.
backtesting-trading-strategies
jeremylongshore
Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals".