🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub✦ BytesAgain

Option Calculator

by @xueyetianya

Price options, compute Greeks, and plot P&L diagrams with exercise analysis. Use when pricing options, calculating Greeks, visualizing profit-loss curves.

Versionv2.4.0
Downloads994
Installs7
Stars⭐ 1
TERMINAL
clawhub install option-calculator

πŸ“– About This Skill


version: "2.4.0" name: Option Calculator description: "Price options, compute Greeks, and plot P&L diagrams with exercise analysis. Use when pricing options, calculating Greeks, visualizing profit-loss curves." author: BytesAgain homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills

Option Calculator

A Black-Scholes option pricing toolkit that runs entirely in your terminal. Feed it a spot price, strike, volatility, and time to expiration β€” it returns theoretical prices, Greeks, implied volatility, payoff tables, and more.

All math is computed inline via Python 3 using the Abramowitz & Stegun approximation for the normal CDF (no scipy dependency).

Commands

price

option-calculator price      

Compute the Black-Scholes theoretical price for a European call or put.

| Argument | Description | |----------|-------------| | type | call or put | | spot | Current underlying price | | strike | Strike price | | rate | Risk-free rate (annualized, e.g. 0.05) | | vol | Implied volatility (annualized, e.g. 0.20) | | days | Days to expiration |

greeks

option-calculator greeks      

Compute the five standard Greeks: Delta, Gamma, Theta (per day), Vega (per 1% vol move), and Rho (per 1% rate move). Same arguments as price.

iv

option-calculator iv      

Back out the implied volatility from a known market price using Newton-Raphson iteration. Converges to 1e-8 precision within 200 iterations.

| Argument | Description | |----------|-------------| | market_price | The observed option premium |

payoff

option-calculator payoff    [range]

Print a table showing intrinsic value and net P/L at expiration across a range of underlying prices. Default range is Β±20 around the strike.

compare

option-calculator compare     

Side-by-side comparison of two strikes β€” call price, put price, deltas, and gamma. Uses a fixed risk-free rate of 5%.

chain

option-calculator chain   

Generate a full option chain with calls, puts, deltas, and gamma across strikes from ~80% to ~120% of spot. Each row is flagged as ITM, ATM, or OTM relative to the call side.

pnl

option-calculator pnl    

Calculate profit or loss on an existing position. Assumes standard 100 shares per contract. Use negative qty for short positions.

breakeven

option-calculator breakeven   

Compute the breakeven underlying price at expiration and show max loss for the buyer.

help

option-calculator help

Print the built-in usage guide.

version

option-calculator version

Print the current version string.

Examples

# Price a 30-day call: spot=100, strike=105, rate=5%, vol=20%
$ option-calculator price call 100 105 0.05 0.20 30
Black-Scholes Price (call):
  0.7677

Greeks for a 60-day put: spot=50, strike=48, rate=3%, vol=35%

$ option-calculator greeks put 50 48 0.03 0.35 60 Greeks (put) S=50 K=48 r=0.03 Οƒ=0.35 T=60d ────────────────────────────────── Delta: -0.312245 Gamma: 0.052040 Theta: -0.020369 (per day) Vega: 0.074853 (per 1% vol) Rho: -0.029259 (per 1% rate)

Solve implied volatility from a market price of 3.50

$ option-calculator iv call 100 105 0.05 30 3.50 Implied Volatility Solver (call) S=100 K=105 r=0.05 T=30d Market=3.50 ────────────────────────────────── Implied Volatility: 0.416566 (41.66%)

Payoff table for a call, strike=100, premium=5.50

$ option-calculator payoff call 100 5.50 Payoff Table (call) K=100 Premium=5.50 ────────────────────────────────── Underlying Intrinsic Net P/L ------------------------------------ 80.00 0.00 -5.50 85.00 0.00 -5.50 ... 100.00 0.00 -5.50 <-- strike 105.00 5.00 -0.50 106.00 6.00 +0.50 110.00 10.00 +4.50 120.00 20.00 +14.50

Compare two strikes

$ option-calculator compare 100 95 110 0.25 45 Strike Comparison S=100 K1=95 vs K2=110 Οƒ=0.25 T=45d ────────────────────────────────── Strike 95.0 Strike 110.0 ------------------------------------------------ Call Price 7.0150 0.7353 Put Price 1.4312 10.0593 Call Delta +0.793714 +0.135799 Put Delta -0.206286 -0.864201 Gamma 0.035611 0.028346

Spot: 100.0 | Rate: 0.05 | Vol: 0.25 | Days: 45.0

Generate an option chain

$ option-calculator chain 100 0.25 45 Option Chain | Spot: 100.0 | Vol: 25% | Days: 45 | Rate: 0.05 Strike Call C.Delta Put P.Delta Gamma IV flag -------------------------------------------------------------- 90.00 10.7823 +0.9268 0.2279 -0.0732 0.012463 ITM 93.00 8.1952 +0.8639 0.6229 -0.1361 0.019087 ITM 100.00 3.6738 +0.5580 3.0651 -0.4420 0.032208 ATM ... 110.00 0.8916 +0.1623 10.2497 -0.8377 0.019938 OTM ... 110.00 0.8916 +0.1623 10.2497 -0.8377 0.019938 OTM

P/L on a long position: bought 5 call contracts at 3.20, now worth 4.80

$ option-calculator pnl call 3.20 4.80 5 Position P/L ────────────────────────────────── Position: Long 5x call Entry: 3.2000 Current: 4.8000 P/L per contract: +1.6000 Total P/L: +800.00 (+50.00%)

Breakeven for a put

$ option-calculator breakeven put 100 4.50 Breakeven Analysis ────────────────────────────────── Put Breakeven: 95.5000 Strike (100.00) - Premium (4.5000) Underlying must fall below 95.5000 to profit at expiration. Max loss (buyer): 4.5000 per share

Configuration

The data directory defaults to $HOME/.option-calculator/. It stores a history.log file that records each price command you run for later reference.

Override the directory by setting the OPTION_CALCULATOR_DIR environment variable before invoking the tool:

export OPTION_CALCULATOR_DIR="/tmp/my-options"

Data Storage

| File | Purpose | |------|---------| | $HOME/.option-calculator/history.log | Append-only log of pricing commands and results |

The directory is created automatically on first run.

Requirements

  • bash 4.0+
  • python3 (standard library only β€” math module)
  • No third-party Python packages needed
  • When to Use

  • Pricing a European option before placing a trade
  • Checking how Greeks shift across different strikes or expirations
  • Backing out implied volatility from a quoted premium
  • Comparing strikes to decide which contract to buy/sell
  • Generating a quick option chain for scenario analysis
  • Calculating breakeven and P/L on existing positions
  • *Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*

    ⚑ When to Use

    TriggerAction
    - Checking how Greeks shift across different strikes or expirations
    - Backing out implied volatility from a quoted premium
    - Comparing strikes to decide which contract to buy/sell
    - Generating a quick option chain for scenario analysis
    - Calculating breakeven and P/L on existing positions
    *Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*

    πŸ’‘ Examples

    # Price a 30-day call: spot=100, strike=105, rate=5%, vol=20%
    $ option-calculator price call 100 105 0.05 0.20 30
    Black-Scholes Price (call):
      0.7677

    Greeks for a 60-day put: spot=50, strike=48, rate=3%, vol=35%

    $ option-calculator greeks put 50 48 0.03 0.35 60 Greeks (put) S=50 K=48 r=0.03 Οƒ=0.35 T=60d ────────────────────────────────── Delta: -0.312245 Gamma: 0.052040 Theta: -0.020369 (per day) Vega: 0.074853 (per 1% vol) Rho: -0.029259 (per 1% rate)

    Solve implied volatility from a market price of 3.50

    $ option-calculator iv call 100 105 0.05 30 3.50 Implied Volatility Solver (call) S=100 K=105 r=0.05 T=30d Market=3.50 ────────────────────────────────── Implied Volatility: 0.416566 (41.66%)

    Payoff table for a call, strike=100, premium=5.50

    $ option-calculator payoff call 100 5.50 Payoff Table (call) K=100 Premium=5.50 ────────────────────────────────── Underlying Intrinsic Net P/L ------------------------------------ 80.00 0.00 -5.50 85.00 0.00 -5.50 ... 100.00 0.00 -5.50 <-- strike 105.00 5.00 -0.50 106.00 6.00 +0.50 110.00 10.00 +4.50 120.00 20.00 +14.50

    Compare two strikes

    $ option-calculator compare 100 95 110 0.25 45 Strike Comparison S=100 K1=95 vs K2=110 Οƒ=0.25 T=45d ────────────────────────────────── Strike 95.0 Strike 110.0 ------------------------------------------------ Call Price 7.0150 0.7353 Put Price 1.4312 10.0593 Call Delta +0.793714 +0.135799 Put Delta -0.206286 -0.864201 Gamma 0.035611 0.028346

    Spot: 100.0 | Rate: 0.05 | Vol: 0.25 | Days: 45.0

    Generate an option chain

    $ option-calculator chain 100 0.25 45 Option Chain | Spot: 100.0 | Vol: 25% | Days: 45 | Rate: 0.05 Strike Call C.Delta Put P.Delta Gamma IV flag -------------------------------------------------------------- 90.00 10.7823 +0.9268 0.2279 -0.0732 0.012463 ITM 93.00 8.1952 +0.8639 0.6229 -0.1361 0.019087 ITM 100.00 3.6738 +0.5580 3.0651 -0.4420 0.032208 ATM ... 110.00 0.8916 +0.1623 10.2497 -0.8377 0.019938 OTM ... 110.00 0.8916 +0.1623 10.2497 -0.8377 0.019938 OTM

    P/L on a long position: bought 5 call contracts at 3.20, now worth 4.80

    $ option-calculator pnl call 3.20 4.80 5 Position P/L ────────────────────────────────── Position: Long 5x call Entry: 3.2000 Current: 4.8000 P/L per contract: +1.6000 Total P/L: +800.00 (+50.00%)

    Breakeven for a put

    $ option-calculator breakeven put 100 4.50 Breakeven Analysis ────────────────────────────────── Put Breakeven: 95.5000 Strike (100.00) - Premium (4.5000) Underlying must fall below 95.5000 to profit at expiration. Max loss (buyer): 4.5000 per share

    βš™οΈ Configuration

    The data directory defaults to $HOME/.option-calculator/. It stores a history.log file that records each price command you run for later reference.

    Override the directory by setting the OPTION_CALCULATOR_DIR environment variable before invoking the tool:

    export OPTION_CALCULATOR_DIR="/tmp/my-options"