All skills
tradermonty avatar

/options-strategy-advisor

@b938b86

Options trading strategy analysis and simulation tool. Provides theoretical pricing using Black-Scholes model, Greeks calculation, strategy P/L simulation, and risk management guidance. Use when user requests options strategy analysis, covered calls, protective puts, spreads, iron condors, earnings plays, or options risk management. Includes volatility analysis, position sizing, and earnings-based strategy recommendations. Educational focus with practical trade simulation.

Use this Skill: https://skilld.dev/gh/tradermonty/claude-trading-skills/options-strategy-advisor

This session only. Nothing lands on disk.

README.md

≈3.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Options Strategy Advisor

Educational options trading tool providing theoretical pricing, strategy analysis, and risk management guidance using Black-Scholes model.

Overview

Options Strategy Advisor helps traders understand and analyze options strategies without requiring expensive real-time options data. It uses theoretical pricing models (Black-Scholes) combined with free stock market data (FMP API) to simulate strategies and calculate Greeks.

Key Features:

  • ✅ Black-Scholes pricing engine
  • ✅ All Greeks calculation (Delta, Gamma, Theta, Vega, Rho)
  • ✅ 17+ options strategies supported
  • ✅ P/L simulation and visualization
  • ✅ Earnings strategy integration
  • ✅ Historical volatility calculation
  • ✅ Risk management guidance

Why This Approach?

No expensive data subscriptions needed:

  • Real-time options data: $99-$500/month (Polygon.io, Intrinio)
  • FMP API Free tier: $0/month (250 requests/day)

Educational focus:

  • Learn how strategies work
  • Understand Greeks and risk metrics
  • Compare strategies side-by-side

Practical application:

  • Theoretical prices ≈ market mid-prices
  • User can input actual IV from broker
  • Good for strategy planning and education

Supported Strategies

Income Strategies

  1. Covered Call - Generate income from stock holdings
  2. Cash-Secured Put - Get paid to buy stock
  3. Poor Man's Covered Call - Capital-efficient covered call

Protection Strategies

  1. Protective Put - Insurance for stock positions
  2. Collar - Limited risk/reward protection

Directional Strategies

  1. Bull Call Spread - Limited risk bullish play
  2. Bull Put Spread - Credit spread for bullish view
  3. Bear Call Spread - Credit spread for bearish view
  4. Bear Put Spread - Limited risk bearish play

Volatility Strategies

  1. Long Straddle - Profit from big moves
  2. Long Strangle - Cheaper straddle, bigger move needed
  3. Short Straddle - Profit from no movement (high risk)
  4. Short Strangle - Wider range straddle

Range-Bound Strategies

  1. Iron Condor - Profit from range-bound trading
  2. Iron Butterfly - Tight range profit

Advanced Strategies

  1. Calendar Spread - Time decay play
  2. Diagonal Spread - Directional + time decay

Installation

Prerequisites

  • Python 3.8+
  • FMP API key (free tier sufficient)

Install Dependencies

pip install numpy scipy requests pandas

Get FMP API Key

  1. Visit https://financialmodelingprep.com/developer/docs
  2. Sign up for free account
  3. Copy API key
  4. Set environment variable:
export FMP_API_KEY="your_key_here"

Quick Start

Test Black-Scholes Pricer

python scripts/black_scholes.py

Example Output:

BLACK-SCHOLES OPTIONS PRICER - EXAMPLE
======================================================================

Input Parameters:
  Stock Price: $180.00
  Strike Price: $185.00
  Days to Expiration: 30
  Volatility: 25.0%
  Risk-Free Rate: 5.30%
  Dividend Yield: 1.0%

======================================================================
CALL OPTION
======================================================================
Price: $2.45
Intrinsic Value: $0.00
Time Value: $2.45

Greeks:
  Delta: 0.3654 ($36.54 per $1 move)
  Gamma: 0.0234 (delta changes by 0.0234)
  Theta: -$0.18/day (loses $0.18 per day)
  Vega: $0.25 per 1% IV (gains $0.25 if IV +1%)
  Rho: $0.12 per 1% rate (gains $0.12 if rate +1%)

Use in Your Code

from scripts.black_scholes import OptionPricer

# Initialize pricer
pricer = OptionPricer(
    S=180,          # Stock price
    K=185,          # Strike price
    T=30/365,       # Time to expiration (years)
    r=0.053,        # Risk-free rate (5.3%)
    sigma=0.25,     # Volatility (25%)
    q=0.01          # Dividend yield (1%)
)

# Get call option price
call_price = pricer.call_price()
print(f"Call Price: ${call_price:.2f}")

# Get all Greeks for call
call_greeks = pricer.get_all_greeks('call')
print(f"Delta: {call_greeks['delta']:.4f}")
print(f"Gamma: {call_greeks['gamma']:.4f}")
print(f"Theta: ${call_greeks['theta']:.2f}/day")
print(f"Vega: ${call_greeks['vega']:.2f} per 1%")

Calculate Historical Volatility

from scripts.black_scholes import (
    calculate_historical_volatility,
    fetch_historical_prices_for_hv
)

# Fetch prices from FMP
api_key = "your_key"
prices = fetch_historical_prices_for_hv("AAPL", api_key, days=90)

# Calculate 30-day HV
hv = calculate_historical_volatility(prices, window=30)
print(f"30-Day HV: {hv*100:.2f}%")

Understanding the Metrics

Option Price Components

Intrinsic Value:

  • Call: max(0, Stock Price - Strike Price)
  • Put: max(0, Strike Price - Stock Price)

Time Value:

  • Option Price - Intrinsic Value
  • Decays to $0 at expiration

The Greeks

Delta (Δ) - Directional Exposure

Range: 0 to 1 (calls), -1 to 0 (puts)
Meaning: Change in option price per $1 stock move

Example: Δ = 0.50
→ If stock +$1, option +$0.50
→ If stock -$1, option -$0.50

Gamma (Γ) - Delta Acceleration

Meaning: Change in delta per $1 stock move
Peak: ATM options
Low: Deep ITM or OTM

Example: Γ = 0.05, Δ currently = 0.50
→ If stock +$1, delta becomes 0.55

Theta (Θ) - Time Decay

Meaning: Change in option price per day
Sign: Usually negative (options lose value over time)
Peak: Last 30 days before expiration

Example: Θ = -$0.15/day
→ Tomorrow, option loses $0.15 if nothing else changes

Vega (ν) - Volatility Sensitivity

Meaning: Change in option price per 1% IV change
Sign: Always positive (options gain value when vol increases)

Example: ν = $0.25 per 1%
→ If IV increases from 25% to 26%, option +$0.25

Rho (ρ) - Interest Rate Sensitivity

Meaning: Change in option price per 1% rate change
Sign: Positive for calls, negative for puts
Impact: Usually small unless long-dated options

Example: ρ = $0.10 per 1%
→ If interest rate increases 1%, option +$0.10

Volatility: HV vs IV

Historical Volatility (HV):

  • Calculated from past price movements
  • Objective, based on actual data
  • Available free (from price data)

Implied Volatility (IV):

  • Derived from option market prices
  • Subjective, based on supply/demand
  • Requires real-time options data (or user input)

Comparison:

IV > HV: Options expensive → Consider selling premium
IV < HV: Options cheap → Consider buying options
IV = HV: Fairly priced → Any strategy works

Common Workflows

1. Analyze a Strategy

from scripts.black_scholes import OptionPricer

# Stock: AAPL @ $180
# Strategy: Bull Call Spread $180/$185 (30 DTE)

# Price long call ($180 strike)
long_call = OptionPricer(S=180, K=180, T=30/365, r=0.053, sigma=0.25)
long_price = long_call.call_price()
long_delta = long_call.call_delta()

# Price short call ($185 strike)
short_call = OptionPricer(S=180, K=185, T=30/365, r=0.053, sigma=0.25)
short_price = short_call.call_price()
short_delta = short_call.call_delta()

# Strategy metrics
net_debit = long_price - short_price
max_profit = (185 - 180) - net_debit
max_loss = -net_debit
position_delta = long_delta - short_delta

print(f"Bull Call Spread $180/$185")
print(f"Net Debit: ${net_debit:.2f}")
print(f"Max Profit: ${max_profit:.2f} (at $185+)")
print(f"Max Loss: ${max_loss:.2f} (at $180-)")
print(f"Position Delta: {position_delta:.4f}")

2. Compare IV to HV

# Get HV
prices = fetch_historical_prices_for_hv("AAPL", api_key, days=90)
hv = calculate_historical_volatility(prices, window=30)

# User provides IV (from broker platform)
iv = 0.28  # 28% from ThinkorSwim

print(f"Historical Volatility: {hv*100:.2f}%")
print(f"Implied Volatility: {iv*100:.1f}%")

if iv > hv * 1.1:
    print("→ Options expensive (IV > HV) - Consider selling premium")
elif iv < hv * 0.9:
    print("→ Options cheap (IV < HV) - Consider buying options")
else:
    print("→ Fairly priced")

3. Earnings Strategy

Check if earnings coming up (use Earnings Calendar skill):

# If earnings in 7 days:
# - IV typically elevated (30-50% higher)
# - Consider straddle/strangle (profit from big move)
# - Or sell iron condor (profit from IV crush)

# Example: Long Straddle
straddle_cost = call_price + put_price
breakeven_up = stock_price + straddle_cost
breakeven_down = stock_price - straddle_cost

print(f"Straddle Cost: ${straddle_cost:.2f}")
print(f"Breakevens: ${breakeven_down:.2f} / ${breakeven_up:.2f}")
print(f"Need {abs(breakeven_up - stock_price)/stock_price*100:.1f}% move to profit")

Limitations & Best Practices

Theoretical vs Market Prices

Black-Scholes Assumptions:

  • European options (can't exercise early)
  • Constant volatility (changes in reality)
  • No transaction costs
  • Continuous trading

Real World Differences:

  • American options (most stocks) can exercise early
  • Bid-ask spread: Actual cost higher than theoretical mid
  • Commissions and slippage
  • Liquidity: Wide markets on illiquid options

Best Practices

1. Use for Education & Planning:

  • Learn how strategies work
  • Compare different approaches
  • Understand risk/reward before trading

2. Verify Before Trading:

  • Get real quotes from your broker
  • Check bid-ask spread
  • Confirm option liquidity (open interest, volume)

3. Input Actual IV:

  • Theoretical price assumes constant volatility
  • Use current market IV for accuracy
  • Check IV percentile (high/low relative to history)

4. Account for Dividends:

  • Ex-dividend dates affect option prices
  • Calls lose value, puts gain value on ex-div date
  • Script supports dividend yield input

5. Monitor Greeks:

  • Delta: Overall directional exposure
  • Theta: Daily time decay (seller advantage)
  • Vega: Volatility risk (watch during earnings)
  • Gamma: Risk of delta changing (avoid near expiration)

Integration with Other Skills

Earnings Calendar:

  • Fetch earnings dates
  • Identify IV crush opportunities
  • Time earnings strategies

Technical Analyst:

  • Use support/resistance for strike selection
  • Trend analysis for directional strategies
  • Breakout potential for straddle timing

US Stock Analysis:

  • Fundamental analysis for LEAPS
  • Dividend yield for covered call/put
  • Earnings quality for earnings plays

Bubble Detector:

  • High risk → protective puts
  • Low risk → bullish strategies
  • Critical risk → avoid long premium

Portfolio Manager:

  • Track options with stock positions
  • Aggregate Greeks across portfolio
  • Options as hedging tool

API Usage & Costs

Free Tier Sufficient:

  • Stock prices: 1 request per symbol
  • Historical prices (HV): 1 request per symbol
  • Dividend data: 1 request per symbol

Example Analysis Cost:

Covered Call on AAPL:
- Current price: 1 request
- HV calculation: 1 request (90 days data)
- Dividend yield: 1 request
Total: 3 requests

Daily budget: 250 requests / day
→ Can analyze ~80 strategies per day

Troubleshooting

Negative Option Price

Cause: Invalid inputs (strike vs stock price) Solution: Check that inputs make sense

Greeks Seem Wrong

Cause: Using wrong units (annual vs daily) Solution: Verify T is in years, theta is per day

HV Very Different from IV

Normal: IV reflects future expectations, HV is past Action: Use IV from broker for more accuracy

Option Price Too High/Low

Cause: Volatility input incorrect Solution: Verify sigma is annual (e.g., 0.25 for 25%)

Resources

Documentation

  • SKILL.md - Complete workflow and strategies
  • references/strategies_guide.md - All strategies explained (TBD)
  • references/greeks_explained.md - Greeks deep dive (TBD)

External Resources

Get Real IV

Future Enhancements

Planned:

  • Strategy simulation script (complete P/L analysis)
  • P/L diagram generator (ASCII art)
  • Earnings strategy advisor (integrated with Earnings Calendar)
  • Complete strategy reference guides

Contributions Welcome:

  • Additional strategies
  • Improved volatility models
  • Better visualization tools

License

Educational use. Trade at your own risk. Options involve significant risk and are not suitable for all investors.


Version: 1.0 Last Updated: 2025-11-08 Dependencies: Python 3.8+, numpy, scipy, requests API: FMP API (Free tier sufficient) Model: Black-Scholes (European options pricing)

Source: SKILL.md on GitHub

1 warning16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides tools for analyzing options trading strategies using the Black-Scholes model. It fetches stock data from a financial API and performs Greeks and P/L calculations. No malicious behavior was detected, although it has a minor theoretical exposure to indirect prompt injection common to skills processing external data.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: MEDIUM · 1 issue

  • Runlayer6mo

    2/6 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at b938b86. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 19 hours ago.

Activeupdated 4 months ago

README badge

README badge for tradermonty/claude-trading-skills/options-strategy-advisor