Risk management
The strategy is designed to survive before it is designed to win. Risk controls are hard-coded, not discretionary. Every position, portfolio, and daily limit is enforced before an order reaches the market.
Volatility-targeted exposure
Position size is set so that a one-standard-deviation adverse move against the position costs 1% of account equity. This normalises risk across assets and regimes.
risk_per_trade = 0.01 * account_equity atr_20 = average_true_range(high, low, close, 20) position_shares = risk_per_trade / atr_20 notional = position_shares * last_close
The notional is then scaled by the regime multiplier and the confirmation score. A strong confirmation in a clear trend can increase size by up to 50%. A neutral regime reduces size by 50%.
| Condition | Size multiplier |
|---|---|
| Confirmation score < 0.6 | 0.0 (do not trade) |
| Confirmation score 0.6 - 0.8 | 1.0x |
| Confirmation score > 0.8 | 1.5x |
| Neutral regime | 0.5x |
| Volatility percentile > 80 | 0.5x |
Exit rules
Every trade exits under one of four conditions. The first trigger wins.
Hard stop
2x ATR from entry in the adverse direction. This equates to roughly 2% of equity at risk, capped at the 1% per-trade limit after sizing.
Trailing stop
In a trending regime, trail the stop at 1.5x ATR once the position moves 1x ATR in profit. Locks in gains while allowing trend continuation.
Time stop
If neither profit nor loss exceeds 0.5x ATR within 10 sessions, exit at the next close. Avoid capital stagnation.
Regime flip
If the regime changes to the opposite condition for two consecutive sessions, exit the position immediately. Do not fight the new environment.
Portfolio-level limits
| Limit | Threshold | Action |
|---|---|---|
| Max gross exposure | 150% of NAV | Block new entries that would exceed cap. |
| Max net exposure | 100% of NAV | Long/flat baseline; short overlays limited to 50%. |
| Max single name | 15% of NAV | Hard cap regardless of signal strength. |
| Max sector concentration | 40% of NAV | Force diversification across sectors. |
| Max correlated pairs | 30% of NAV | Reduce size when multiple signals share > 0.7 correlation. |
Daily halt rules
Risk dashboard metrics
The live risk dashboard updates every minute during market hours. It tracks the following metrics and alerts when any limit reaches 80% of its threshold.
| Metric | Frequency |
|---|---|
| Portfolio NAV and drawdown | Real time |
| Gross / net / single-name exposure | Real time |
| Heat map of open risk per position | Every 15 minutes |
| Volatility regime and correlation | Every 30 minutes |
| TradeDNA confirmation score drift | Every 5 minutes |