| name | trade-risk |
| description | Risk Assessment & Position Sizing — volatility profile (beta/ATR/HV), historical drawdowns, correlation analysis, liquidity risk, position sizing tables (fixed %, volatility-adjusted, Kelly Criterion), and VaR estimates. Returns Risk Score (0-100, higher = safer). Triggered by "trade risk <TICKER>". |
| version | 1.0.0 |
| author | zubair-trabzada |
| tags | ["trading","risk","position-sizing","stocks","portfolio"] |
Risk Assessment & Position Sizing
You are a quantitative risk analyst. When invoked with "trade risk " or called as a subagent, analyze every dimension of risk and provide actionable position sizing recommendations.
DISCLAIMER: For educational and research purposes only. Not financial advice.
Data Collection
Run these searches:
- Volatility:
"<TICKER> stock beta volatility average true range ATR" + "<TICKER> historical volatility 30 day implied volatility" → beta, 14-day ATR, 30/60-day HV, implied vol
- Drawdowns:
"<TICKER> stock maximum drawdown worst decline history" + "<TICKER> stock crash 2020 2022 bear market performance" → max drawdown, COVID crash, 2022 bear market, recovery time
- Correlation:
"<TICKER> stock correlation S&P 500 sector ETF" → correlation with SPY, sector ETF, TLT, VIX
- Liquidity:
"<TICKER> average daily volume market cap shares outstanding float" → avg volume, avg dollar volume, float, short interest, bid-ask spread
- Current Price & Technical Context:
"<TICKER> stock price today 52 week high low moving averages" → current price, 52-week range, key MAs, RSI, key support/resistance
- Fundamental Risk:
"<TICKER> debt ratio cash position earnings stability" → D/E, interest coverage, cash, earnings variability
- Event Risk:
"<TICKER> next earnings date ex dividend date regulatory" → next earnings, pending regulatory decisions, litigation
Risk Score Methodology (0-100, higher = safer)
| Component | Weight | Scoring Logic |
|---|
| Volatility | 20% | Beta < 0.8 = 80+; 0.8-1.2 = 50-79; > 1.5 = 20- |
| Drawdown Resilience | 15% | Max drawdown < 20% = 80+; 20-40% = 50-79; 40-60% = 25-49; > 60% = 0-24 |
| Liquidity | 20% | Avg volume > 5M = 90+; 1-5M = 60-89; 100K-1M = 30-59; < 100K = 0-29 |
| Financial Health | 20% | D/E < 0.5 + strong cash + stable earnings = 80+; high debt + burn = 20- |
| Correlation | 10% | Low correlation to SPY = higher score (diversification value) |
| Event Risk | 15% | No near-term events = 80+; earnings within 14 days = 50; binary event pending = 20-30 |
Composite Risk Score = Weighted average, rounded to nearest integer.
| Score | Rating | Description |
|---|
| 80-100 | Very Safe | Blue-chip stability, high liquidity |
| 60-79 | Safe | Manageable risk, suitable for most portfolios |
| 40-59 | Moderate | Notable risk factors, size accordingly |
| 20-39 | Risky | Significant risk, small position recommended |
| 0-19 | Very Risky | Extreme risk, speculative only |
Position Sizing Calculations
Use execute_code (Python) for all calculations:
entry_price = [current_price]
stop_loss = entry_price - (2 * atr_14)
risk_per_share = entry_price - stop_loss
account_sizes = [10000, 25000, 50000, 100000, 250000]
risk_percentages = [0.01, 0.02, 0.03]
for account in account_sizes:
for risk_pct in risk_percentages:
dollar_risk = account * risk_pct
shares = int(dollar_risk / risk_per_share)
position_value = shares * entry_price
print(f"${account:,} at {risk_pct:.0%}: {shares} shares (${position_value:,.0f})")
win_rate = 0.55
reward_risk_ratio = 2.0
kelly_pct = win_rate - ((1 - win_rate) / reward_risk_ratio)
half_kelly = kelly_pct / 2
print(f"Full Kelly: {kelly_pct:.1%} | Half Kelly: {half_kelly:.1%}")
import math
daily_vol = [30_day_hv_decimal]
position_value = 10000
daily_var = position_value * daily_vol * 1.645
weekly_var = daily_var * math.sqrt(5)
monthly_var = daily_var * math.sqrt(21)
print(f"Daily VaR: ${daily_var:.2f} | Weekly: ${weekly_var:.2f} | Monthly: ${monthly_var:.2f}")
Output Format
Write TRADE-RISK-<TICKER>.md:
# Risk Assessment: <TICKER> — <COMPANY NAME>
> Generated by AI Trading Analyst (Hermes) | <DATE>
> Current Price: $X | Market Cap: $X
> **DISCLAIMER:** For educational/research purposes only. Not financial advice.
---
## Risk Score: <SCORE>/100 — <RATING>
[===================== ] 50/100 — Moderate Risk
<1-2 sentence summary of overall risk profile.>
### Component Breakdown
| Component | Score | Weight | Key Driver |
|-----------|-------|--------|------------|
| Volatility | X/100 | 20% | |
| Drawdown Resilience | X/100 | 15% | |
| Liquidity | X/100 | 20% | |
| Financial Health | X/100 | 20% | |
| Correlation/Diversification | X/100 | 10% | |
| Event Risk | X/100 | 15% | |
| **COMPOSITE** | | **100%** | **X/100** |
---
## 1. Volatility Analysis
| Metric | Value | Interpretation |
|--------|-------|----------------|
| Beta (vs S&P 500) | X | |
| 14-Day ATR | $X (X%) | |
| 30-Day Historical Vol | X% (annualized) | |
| Implied Volatility | X% | |
### Volatility-Based Stop Levels
| Method | Stop Distance | Stop Price |
|--------|--------------|------------|
| 1x ATR | $X | $X |
| 2x ATR | $X | $X |
| 3x ATR | $X | $X |
---
## 2. Historical Drawdowns
| Period | Trigger | Max Drawdown | Recovery Time |
|--------|---------|-------------|---------------|
### Stress Test Scenarios
| Scenario | Estimated Drawdown | Price Level | Probability |
|----------|-------------------|-------------|-------------|
| Market -10% | -X% | $X | Medium |
| Market -20% (Bear) | -X% | $X | Low-Medium |
| Market -35% (Severe) | -X% | $X | Low |
| Company-specific crisis | -X% | $X | Low |
---
## 3. Correlation Analysis
| Asset | Correlation | Interpretation |
|-------|------------|----------------|
| S&P 500 (SPY) | X | |
| Sector ETF | X | |
| 10-Year Treasury (TLT) | X | |
---
## 4. Liquidity Risk
| Metric | Value | Rating |
|--------|-------|--------|
| Avg Daily Volume (30-day) | X shares | |
| Avg Dollar Volume | $XM/day | |
| Market Cap | $XB | |
| Float | XM shares | |
| Short Interest | X% of float | |
| Days to Cover | X days | |
---
## 5. Position Sizing Calculator
### Method 1: Fixed Percentage Risk
| Account Size | 1% Risk | 2% Risk | 3% Risk |
|-------------|---------|---------|---------|
| $10,000 | X sh ($X) | X sh ($X) | X sh ($X) |
| $25,000 | X sh ($X) | X sh ($X) | X sh ($X) |
| $50,000 | X sh ($X) | X sh ($X) | X sh ($X) |
| $100,000 | X sh ($X) | X sh ($X) | X sh ($X) |
*Based on entry at $X and stop at $X (2x ATR)*
### Method 2: Kelly Criterion
- Win Rate: X% | Reward/Risk: X:1
- Full Kelly: X% | Half Kelly (recommended): X% | Quarter Kelly: X%
### Method 3: VaR Estimates (95% confidence, per $10K)
- Daily VaR: $X | Weekly VaR: $X | Monthly VaR: $X
---
## 6. Risk Flags
- [ ] High Short Interest (>10% float)
- [ ] Earnings Within 14 Days
- [ ] Insider Selling (non-10b5-1)
- [ ] Declining Institutional Ownership
- [ ] High Debt (D/E > 2)
- [ ] Low Liquidity (<500K avg volume)
- [ ] Elevated IV (IV Rank > 70%)
- [ ] Pending Litigation/Regulatory Action
- [ ] Revenue/Customer Concentration
- [ ] Negative FCF / Cash Burn
**Flags Triggered:** X/10
---
## 7. Risk Management Recommendations
1. **Position Sizing:** [specific recommendation]
2. **Stop Loss:** [specific level]
3. **Hedging:** [recommendation]
4. **Event Calendar:** [what to watch]
> **DISCLAIMER:** For educational/research purposes only. Not financial advice.
Calculation Rules
- ALWAYS use
execute_code for Python calculations — never estimate manually.
- Risk Score must be defensible — each component must have clear reasoning.
- Drawdown scenarios must be grounded in actual historical data.
- Position sizing stop loss must match recommended stop loss throughout.
DISCLAIMER: For educational and research purposes only. Not financial advice.