Claude Code Plugins

Community-maintained marketplace

Feedback

risk-management-trading-skill

@Useforclaude/skills-claude
0
0

Master trading risk management and capital preservation. Use for position sizing methods (Fixed %, Kelly Criterion, Optimal f, Volatility-based, Risk Parity), stop loss strategies (ATR-based, percentage, structure-based, time-based, trailing stops), take profit strategies (R multiples, trailing stops, partial exits), risk/reward ratios, portfolio risk management (correlation, diversification, hedging), drawdown management (max daily/weekly loss, recovery strategies), account size rules, trading psychology (discipline, emotional control, trading journal), money management (compounding, anti-martingale), and preserving capital for long-term trading success.. Also use for Thai keywords "ความเสี่ยง", "จัดการความเสี่ยง", "risk management", "ป้องกันความเสี่ยง", "เทรด", "ซื้อขาย", "การเทรด", "trading", "ลงทุน", "การลงทุน", "นักลงทุน", "investment

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name risk-management-trading-skill
description Master trading risk management and capital preservation. Use for position sizing methods (Fixed %, Kelly Criterion, Optimal f, Volatility-based, Risk Parity), stop loss strategies (ATR-based, percentage, structure-based, time-based, trailing stops), take profit strategies (R multiples, trailing stops, partial exits), risk/reward ratios, portfolio risk management (correlation, diversification, hedging), drawdown management (max daily/weekly loss, recovery strategies), account size rules, trading psychology (discipline, emotional control, trading journal), money management (compounding, anti-martingale), and preserving capital for long-term trading success.. Also use for Thai keywords "ความเสี่ยง", "จัดการความเสี่ยง", "risk management", "ป้องกันความเสี่ยง", "เทรด", "ซื้อขาย", "การเทรด", "trading", "ลงทุน", "การลงทุน", "นักลงทุน", "investment"

🛡️ Risk Management Trading Mastery Skill

Master the #1 factor for trading success - not losing money

"Rule #1: Don't lose money. Rule #2: Don't forget Rule #1." - Warren Buffett


📚 Table of Contents

  1. Risk Management Fundamentals
  2. Position Sizing Methods
  3. Stop Loss Strategies
  4. Take Profit Strategies
  5. Risk/Reward Ratios
  6. Portfolio Risk Management
  7. Drawdown Management
  8. Account Size & Leverage
  9. Trading Psychology
  10. Real Examples & Calculations

1. Risk Management Fundamentals {#fundamentals}

🎯 Why Risk Management is #1

Harsh Reality:

❌ 90% of traders lose money
❌ Not because of bad strategies
✅ Because of poor risk management!

Example:
- Trader A: 60% win rate, no risk management → Blows account
- Trader B: 40% win rate, strict risk management → Profitable

✅ Survival > Profitability
✅ Stay in the game long enough to win

Core Principles:

1. Never risk more than 1-2% per trade
2. Always use stop losses
3. Risk/reward minimum 1:2
4. Don't overtrade
5. Preserve capital above all
6. Drawdowns are inevitable (manage them)
7. Position sizing > Entry timing

2. Position Sizing Methods {#position-sizing}

🎯 Method 1: Fixed Percentage Risk ⭐⭐⭐⭐⭐ (Most Popular)

Formula:

Position Size = (Account Balance × Risk %) / Stop Loss Distance

Example:
Account: $10,000
Risk: 2% per trade = $200
Entry: $50
Stop Loss: $48
Stop Distance: $2

Position Size = $200 / $2 = 100 shares

Max Loss = 100 shares × $2 = $200 ✅

Python Code:

def fixed_percent_position_size(account_balance, risk_percent, entry_price, stop_loss_price):
    """
    Calculate position size based on fixed % risk

    Args:
        account_balance: Total account equity
        risk_percent: Risk per trade (e.g., 2.0 for 2%)
        entry_price: Entry price
        stop_loss_price: Stop loss price

    Returns:
        Position size in shares/units
    """
    risk_amount = account_balance * (risk_percent / 100)
    stop_distance = abs(entry_price - stop_loss_price)
    position_size = risk_amount / stop_distance

    return int(position_size)


# Example usage
account = 10000
risk = 2.0  # 2%
entry = 50.0
stop_loss = 48.0

size = fixed_percent_position_size(account, risk, entry, stop_loss)
print(f"Position Size: {size} shares")
print(f"Total Investment: ${size * entry:.2f}")
print(f"Max Loss: ${size * (entry - stop_loss):.2f}")

Advantages:

✅ Simple to calculate
✅ Adjusts to account size
✅ Consistent risk across trades
✅ Best for beginners

🎯 Method 2: Kelly Criterion ⭐⭐⭐⭐ (Advanced)

Formula:

Kelly % = (Win Rate × Avg Win - Loss Rate × Avg Loss) / Avg Win

Or simplified:
Kelly % = (Win Rate - Loss Rate) / Avg Win/Loss Ratio

⚠️ Use fractional Kelly (0.25 to 0.5 Kelly) to reduce volatility

Example:

Win Rate: 60%
Avg Win: $300
Loss Rate: 40%
Avg Loss: $200

Kelly % = (0.6 × 300 - 0.4 × 200) / 300
        = (180 - 80) / 300
        = 0.333 (33.3%)

Fractional Kelly (0.5):
Position Size = 0.5 × 33.3% = 16.65% of account

⚠️ Full Kelly is aggressive! Use 0.25-0.5 Kelly

Python Code:

def kelly_criterion(win_rate, avg_win, avg_loss, fraction=0.5):
    """
    Calculate Kelly position size

    Args:
        win_rate: Probability of winning (0-1)
        avg_win: Average winning trade $
        avg_loss: Average losing trade $ (positive number)
        fraction: Kelly fraction (0.25 to 0.5 recommended)

    Returns:
        Position size as % of account
    """
    loss_rate = 1 - win_rate
    kelly = (win_rate * avg_win - loss_rate * avg_loss) / avg_win
    fractional_kelly = kelly * fraction

    return max(0, fractional_kelly)  # Never negative


# Example
kelly = kelly_criterion(win_rate=0.60, avg_win=300, avg_loss=200, fraction=0.5)
print(f"Kelly Position Size: {kelly:.2%} of account")

Advantages:

✅ Mathematically optimal
✅ Maximizes long-term growth
✅ Accounts for edge

Disadvantages:
❌ Requires accurate win rate data
❌ Can be very aggressive (full Kelly)
❌ Assumes constant win rate (not realistic)

🎯 Method 3: Volatility-Based (ATR) ⭐⭐⭐⭐⭐

Formula:

Stop Distance = ATR × Multiplier (typically 2-3)
Position Size = (Account × Risk %) / Stop Distance

Example:
Account: $10,000
Risk: 2% = $200
ATR: $1.50
Multiplier: 2
Stop Distance: $3.00

Position Size = $200 / $3 = 66.67 shares

Why ATR-Based is Best:

✅ Adapts to market volatility
✅ Wider stops in volatile markets (avoid stop hunts)
✅ Tighter stops in calm markets (maximize capital efficiency)
✅ Works across all markets and timeframes

Python Code:

import pandas as pd
import numpy as np

def calculate_atr(df, period=14):
    """Calculate Average True Range"""
    high = df['high']
    low = df['low']
    close = df['close']

    tr1 = high - low
    tr2 = abs(high - close.shift())
    tr3 = abs(low - close.shift())

    tr = pd.concat([tr1, tr2, tr3], axis=1).max(axis=1)
    atr = tr.rolling(window=period).mean()

    return atr


def atr_position_size(account, risk_percent, current_price, atr, atr_multiplier=2.0):
    """
    Calculate position size using ATR-based stop

    Args:
        account: Account balance
        risk_percent: Risk per trade (%)
        current_price: Current market price
        atr: Current ATR value
        atr_multiplier: Stop loss = ATR × this (default 2.0)

    Returns:
        Position size in units
    """
    risk_amount = account * (risk_percent / 100)
    stop_distance = atr * atr_multiplier
    position_size = risk_amount / stop_distance

    # Calculate shares (for stocks)
    shares = int(position_size)

    return shares


# Example
account = 10000
atr = 1.50
price = 50.0
size = atr_position_size(account, risk_percent=2.0, current_price=price, atr=atr)
print(f"Position Size: {size} shares")
print(f"Stop Loss: ${price - (atr * 2):.2f}")
print(f"Risk: ${size * (atr * 2):.2f}")

🎯 Method 4: Risk Parity (Portfolio-Level)

Concept:

Allocate capital so each position has equal risk

Example:
3 positions:
- Stock A: High volatility (σ = 40%)
- Stock B: Medium volatility (σ = 25%)
- Stock C: Low volatility (σ = 15%)

Allocation:
- Stock A: Smallest position (10%)
- Stock B: Medium position (15%)
- Stock C: Largest position (25%)

Result: Equal risk contribution

3. Stop Loss Strategies {#stop-loss}

🎯 Stop Loss Types

1. ATR-Based Stop ⭐⭐⭐⭐⭐ (Best!)

Stop Loss = Entry ± (ATR × Multiplier)

Long Trade:
SL = Entry - (2 × ATR)

Short Trade:
SL = Entry + (2 × ATR)

Multiplier Guidelines:
- Scalping: 1.0 - 1.5 ATR
- Day Trading: 1.5 - 2.0 ATR
- Swing Trading: 2.0 - 3.0 ATR
- Position Trading: 3.0 - 4.0 ATR

✅ Adapts to volatility
✅ Scientific approach
✅ Avoids random stop placement

2. Structure-Based Stop ⭐⭐⭐⭐⭐

Long Trade:
SL = Below recent swing low (+ buffer)

Short Trade:
SL = Above recent swing high (+ buffer)

Buffer: 5-10 pips (Forex) or 0.5 ATR

✅ Respects market structure
✅ Logical invalidation point
✅ Used by professionals

❌ Can be wide (large $ risk)
❌ Requires discretion

3. Percentage Stop ⭐⭐

SL = Entry ± X%

Example:
Entry: $100
Stop: 2%
SL: $98

✅ Simple to calculate
❌ Arbitrary (doesn't consider market structure)
❌ Not recommended for serious trading

4. Time-Based Stop ⭐⭐⭐

Exit if trade hasn't moved in your favor after X bars

Example:
- Enter at 10:00
- No profit by 12:00 (4 bars)
- Exit at breakeven

✅ Prevents capital being tied up
✅ Good for range-bound markets
❌ May exit winning trades early

🎯 Stop Loss Placement Rules

Golden Rules:

✅ Set stop BEFORE entering trade
✅ Never move stop against you (widen loss)
✅ OK to move stop in your favor (lock profit)
✅ Stop must invalidate thesis (not random)
✅ Account for spreads/slippage
✅ Don't place stops at obvious levels (stop hunters!)

Stop Hunt Avoidance:

❌ Don't place stop exactly at swing low/high
✅ Add 5-10 pip buffer beyond swing point
✅ Use options/hedges for very tight stops

4. Take Profit Strategies {#take-profit}

🎯 Take Profit Methods

1. R-Multiple Targets ⭐⭐⭐⭐⭐ (Most Popular)

1R = Stop loss distance

Entry: $100
Stop: $98 (2 points = 1R)

Take Profit Levels:
- TP1: $104 (2R) → Exit 50%
- TP2: $106 (3R) → Exit 25%
- TP3: $110 (5R) → Trailing stop remaining 25%

Example Trade:
Risk: $200 (1R)
TP1 hit: +$400 (2R)
TP2 hit: +$300 (1.5R × 2 = 3R total from TP2)
TP3 hit: +$500 (2.5R × 2 = 5R total from TP3)

Total: 2R + 1.5R + 2.5R = 6R = $1,200 profit

✅ Systematic approach
✅ Balances profit taking + trend riding
✅ Clear risk/reward

2. Support/Resistance Targets ⭐⭐⭐⭐

Set TP at next major S/R level

Long Trade:
TP = Next resistance level

Short Trade:
TP = Next support level

✅ Natural exit points
✅ High probability of hitting
❌ May leave profit on table if strong trend

3. Trailing Stops ⭐⭐⭐⭐⭐

Type 1: Fixed Distance Trailing
- Trail stop X points below price

Type 2: ATR Trailing Stop
- Trail stop (ATR × 2) below price
- Adapts to volatility

Type 3: Structure Trailing
- Trail stop below each new higher low (uptrend)
- Trail stop above each new lower high (downtrend)

✅ Captures big trends
✅ No predefined target needed
❌ May exit early on retracements

Python Code - Trailing Stop:

def update_trailing_stop(entry_price, current_price, position_type, atr, initial_stop, trailing_atr_mult=2.0):
    """
    Update trailing stop based on ATR

    Args:
        entry_price: Entry price
        current_price: Current market price
        position_type: 'long' or 'short'
        atr: Current ATR value
        initial_stop: Initial stop loss price
        trailing_atr_mult: ATR multiplier for trailing (default 2.0)

    Returns:
        Updated stop loss price
    """
    if position_type == 'long':
        # Long position
        new_stop = current_price - (atr * trailing_atr_mult)

        # Only move stop up, never down
        if new_stop > initial_stop:
            # Additionally, only trail if in profit
            if current_price > entry_price:
                return new_stop

    elif position_type == 'short':
        # Short position
        new_stop = current_price + (atr * trailing_atr_mult)

        # Only move stop down, never up
        if new_stop < initial_stop:
            # Additionally, only trail if in profit
            if current_price < entry_price:
                return new_stop

    return initial_stop  # Keep existing stop

5. Risk/Reward Ratios {#risk-reward}

🎯 Minimum R:R Requirements

Win Rate vs Risk/Reward:

Break-Even R:R by Win Rate:

Win Rate 30% → Need 2.3:1 R:R to breakeven
Win Rate 40% → Need 1.5:1 R:R to breakeven
Win Rate 50% → Need 1:1 R:R to breakeven
Win Rate 60% → Need 0.67:1 R:R to breakeven

✅ Most strategies: 40-50% win rate
✅ Therefore: Minimum 1.5:1 R:R (better 2:1)

Professional Standards:

Minimum: 1.5:1
Good: 2:1 ⭐
Excellent: 3:1 ⭐⭐
Outstanding: 5:1+ ⭐⭐⭐

Never take trades < 1:1 R:R!

6. Portfolio Risk Management {#portfolio-risk}

🎯 Correlation Management

Don't Over-Concentrate:

❌ Bad: 5 trades, all EUR pairs
- EUR/USD long
- EUR/GBP long
- EUR/JPY long
- EUR/CHF long
- EUR/AUD long

If EUR crashes → ALL 5 trades lose!
Effective risk: 10% (5 × 2% each)

✅ Good: 5 trades, diversified
- EUR/USD long
- GBP/JPY short
- Gold long
- BTC/USD long
- SPX long

Low correlation → True diversification

Maximum Correlated Risk:

Rule: Max 6% total risk in correlated positions

Example:
- EUR/USD: 2%
- EUR/GBP: 2%
- EUR/JPY: 2%
Total: 6% (all EUR pairs)

✅ If want more trades → Use different pairs

7. Drawdown Management {#drawdown}

🎯 Drawdown Rules

Maximum Drawdown Limits:

Daily Loss Limit: -2% to -3%
Weekly Loss Limit: -5% to -6%
Monthly Loss Limit: -10%

Action Plan:
- Hit daily limit → Stop trading for the day
- Hit weekly limit → Stop trading for the week
- Hit monthly limit → Paper trade or take break

✅ Prevents emotional revenge trading
✅ Protects capital

Recovery Time Calculator:

Drawdown → Gain Needed to Recover

-10% → +11.1%
-20% → +25%
-30% → +42.9%
-40% → +66.7%
-50% → +100%
-60% → +150%
-75% → +300%
-90% → +900%

Lesson: AVOID LARGE DRAWDOWNS!
Easier to prevent than recover!

Python Code:

def calculate_recovery_gain(drawdown_percent):
    """
    Calculate gain needed to recover from drawdown

    Args:
        drawdown_percent: Drawdown as % (e.g., 30 for -30%)

    Returns:
        Gain % needed to recover
    """
    gain_needed = (drawdown_percent / (100 - drawdown_percent)) * 100
    return gain_needed


# Examples
for dd in [10, 20, 30, 40, 50]:
    gain = calculate_recovery_gain(dd)
    print(f"{dd}% drawdown requires {gain:.1f}% gain to recover")

8. Account Size & Leverage {#account-size}

🎯 Minimum Account Size

By Market:

Forex:
- Micro account: $500 minimum
- Standard account: $5,000+ recommended

Stocks:
- Day Trading (US): $25,000 minimum (PDT rule)
- Swing Trading: $10,000+ recommended

Crypto:
- Minimum: $1,000
- Recommended: $5,000+

Options:
- Minimum: $2,000
- Recommended: $10,000+

Why Size Matters:

Small Account ($500):
- 2% risk = $10 per trade
- Hard to scale
- High psychological pressure

Medium Account ($10,000):
- 2% risk = $200 per trade
- Comfortable position sizing
- Room for diversification

✅ Larger account → Better risk management
✅ Larger account → Less emotional stress

🎯 Leverage Guidelines

Safe Leverage Limits:

Forex:
- Beginner: 1:10 max
- Intermediate: 1:20 max
- Professional: 1:50 max
⚠️ Never use 1:500 leverage!

Crypto:
- Spot: No leverage (safest)
- Futures: 1:5 max
⚠️ High leverage = fast liquidation

Stocks:
- US: 2:1 (Reg T margin)
- Day Trading: 4:1 intraday

Leverage Reality Check:

Example: $10,000 account, 1:100 leverage

Available leverage: $1,000,000
Sounds great? NO!

✅ Proper usage: Risk only 2% = $200
✅ Use leverage for position size flexibility, NOT risk amplification
❌ Don't use full leverage buying power!

9. Trading Psychology {#psychology}

🎯 Mental Risk Management

Emotional Control:

Common Pitfalls:
❌ Revenge trading (after loss)
❌ Over-trading (impatience)
❌ Position sizing up after wins (greed)
❌ Removing stop loss (hope)
❌ Averaging down losers (denial)

Solutions:
✅ Strict daily loss limit (walk away)
✅ Maximum trades per day (e.g., 3)
✅ Consistent position sizing (no emotion)
✅ Never touch stop loss (set and forget)
✅ Cut losers quickly (admit mistakes)

Trading Journal:

Record for EVERY trade:
1. Date/Time
2. Market/Symbol
3. Entry price
4. Stop loss price
5. Take profit target
6. Position size
7. R:R ratio
8. Setup (why entered)
9. Outcome (win/loss/breakeven)
10. Emotions (fear/greed/confident/uncertain)
11. Lessons learned

✅ Weekly review: Identify patterns
✅ Monthly review: Calculate metrics
✅ Identify psychological leaks

10. Real Examples & Calculations {#examples}

🎯 Complete Trade Example

Setup:

Account: $10,000
Risk per trade: 2% = $200
Symbol: EURUSD
Timeframe: H4
ATR: 0.0050 (50 pips)

Entry: 1.1000 (buy signal)
Stop Loss: 1.1000 - (2 × ATR) = 1.0900 (100 pips below)
Take Profit 1: 1.1200 (200 pips, 2R)
Take Profit 2: 1.1300 (300 pips, 3R)
Trailing: Remaining position

Position Size Calculation:

Risk: $200
Stop Distance: 100 pips = 0.0100

For Forex (standard lot = 100,000 units):
Position Size = $200 / $0.0100 = 20,000 units = 0.2 lots

Or per pip:
$10 per pip for 1 standard lot
$1 per pip for 0.1 lot
$2 per pip for 0.2 lots

Max Loss = 100 pips × $2/pip = $200 ✅

Trade Management:

Entry: Buy 0.2 lots @ 1.1000

TP1 Hit @ 1.1200:
- Close 0.1 lots (50%)
- Profit: 200 pips × $1/pip = $200 (1R)
- Move stop to breakeven (1.1000)

TP2 Hit @ 1.1300:
- Close 0.05 lots (25%)
- Profit: 300 pips × $0.5/pip = $150 (0.75R)
- Continue trailing remaining 0.05 lots

Price reverses, trailing stop hit @ 1.1250:
- Close 0.05 lots
- Profit: 250 pips × $0.5/pip = $125 (0.625R)

Total Profit: $200 + $150 + $125 = $475 (2.375R)

🎯 Risk Management Checklist

Before Every Trade:

✅ Account balance confirmed
✅ Risk per trade ≤ 2%
✅ Stop loss placed BEFORE entry
✅ R:R ≥ 1.5:1 (preferably 2:1)
✅ Position size calculated correctly
✅ No correlated positions exceeding 6%
✅ Not at daily/weekly loss limit
✅ Emotionally neutral (not revenge trading)
✅ Trade journal ready
✅ Take profit plan defined

📊 Risk Management Rules Summary

The 10 Commandments:

1. Never risk >2% per trade
2. Always use stop losses
3. Never move stop against you
4. Minimum 1.5:1 R:R (better 2:1)
5. Max 6% correlated risk
6. Stop at daily loss limit (-2-3%)
7. Position size formula: (Account × Risk%) / Stop Distance
8. Keep trading journal
9. Never trade on emotion
10. Capital preservation > Profit chasing

Master risk management and you'll outlast 90% of traders! 🛡️

"It's not about how much you make. It's about how much you don't lose."