SkillAgentSearch skills...

OptionStratLib

OptionStratLib is a comprehensive Rust library for options trading and strategy development across multiple asset classes.

Install / Use

/learn @joaquinbejar/OptionStratLib

README

<div style="text-align: center;"> <img src="https://raw.githubusercontent.com/joaquinbejar/OptionStratLib/refs/heads/main/doc/images/logo.png" alt="OptionStratLib" style="width: 100%; height: 100%;"> </div>

Dual License Crates.io Downloads Stars Issues PRs Build Status Coverage Dependencies Documentation Wiki

OptionStratLib v0.15.1: Financial Options Library

Table of Contents

  1. Introduction
  2. Features
  3. Core Modules
  4. Trading Strategies
  5. Setup Instructions
  6. Library Usage
  7. Usage Examples
  8. Testing
  9. Contribution and Contact

Introduction

OptionStratLib is a comprehensive Rust library for options trading and strategy development across multiple asset classes. This versatile toolkit enables traders, quants, and developers to model, analyze, and visualize options strategies with a robust, type-safe approach. The library focuses on precision with decimal-based calculations, extensive test coverage, and a modular architecture built on modern Rust 2024 edition.

Features

1. Pricing Models

  • Black-Scholes Model: European options pricing with full Greeks support
  • Binomial Tree Model: American and European options with early exercise capability
  • Monte Carlo Simulations: Complex pricing scenarios and path-dependent options
  • Telegraph Process Model: Advanced stochastic modeling for jump-diffusion processes
  • American Options: Barone-Adesi-Whaley approximation for early exercise
  • Exotic Options: Complete support for 14 exotic option types (see below)

2. Greeks Calculation

  • Complete Greeks suite: Delta, Gamma, Theta, Vega, Rho, Vanna, Vomma, Veta, Charm, Color
  • Real-time sensitivity analysis
  • Greeks visualization and risk profiling
  • Custom Greeks implementations with adjustable parameters

3. Volatility Models

  • Implied volatility calculation using Newton-Raphson method
  • Volatility surface construction and interpolation
  • Historical volatility estimation
  • Advanced volatility modeling tools

4. Option Chain Management

  • Complete option chain construction and analysis
  • Strike price generation algorithms
  • Chain data import/export (CSV/JSON formats)
  • Advanced filtering and selection tools
  • Option data grouping and organization

5. Trading Strategies (25+ Strategies)

  • Single Leg: Long/Short Calls and Puts
  • Spreads: Bull/Bear Call/Put Spreads
  • Butterflies: Long/Short Butterfly Spreads, Call Butterfly
  • Complex: Iron Condor, Iron Butterfly
  • Volatility: Long/Short Straddles and Strangles
  • Income: Covered Calls (with spot leg support), Poor Man's Covered Call
  • Protection: Protective Puts, Collars
  • Custom: Flexible custom strategy framework
  • Multi-Asset: Strategies combining options with spot, futures, or perpetuals

6. Risk Management & Analysis

  • Position tracking and management
  • Break-even analysis with multiple break-even points
  • Profit/Loss calculations at various price points
  • Risk profiles and comprehensive visualizations
  • Delta neutrality analysis and adjustment
  • Probability analysis for strategy outcomes

7. Backtesting Framework

  • Comprehensive backtesting engine
  • Performance metrics calculation
  • Strategy optimization tools
  • Historical analysis capabilities

8. Simulation Tools

  • Monte Carlo simulations for strategy testing
  • Telegraph process implementation
  • Random walk simulations
  • Custom simulation frameworks
  • Parametrized simulations with adjustable inputs

9. Visualization & Plotting

  • Strategy payoff diagrams
  • Greeks visualization
  • 3D volatility surfaces
  • Risk profiles and P&L charts
  • Interactive charts (powered by plotly.rs)
  • Binomial tree visualization
  • Comprehensive plotting utilities

10. Data Management

  • Efficient decimal-based calculations using rust_decimal
  • CSV/JSON import/export functionality
  • Time series data handling
  • Price series management and manipulation
  • Robust data validation and error handling

11. Mathematical Tools

  • Curve interpolation techniques
  • Surface construction and analysis
  • Geometric operations for financial modeling
  • Advanced mathematical utilities for options pricing

12. Exotic Option Pricing

Complete pricing support for all exotic option types:

  • Asian: Arithmetic and geometric average price options
  • Barrier: Up/Down, In/Out barrier options with rebates
  • Binary: Cash-or-nothing and asset-or-nothing options
  • Lookback: Fixed and floating strike lookback options
  • Compound: Options on options
  • Chooser: Options to choose call or put at future date
  • Cliquet: Forward-starting options with local caps/floors
  • Rainbow: Multi-asset best-of/worst-of options
  • Spread: Kirk's approximation for price differentials
  • Quanto: Currency-protected options
  • Exchange: Margrabe's formula for asset exchange
  • Power: Non-linear payoff options

Core Modules

The library is organized into the following key modules:

Model (model/)

Core data structures and types for options trading:

  • option.rs: Complete option structures with pricing and Greeks
  • position.rs: Position management and P&L tracking
  • expiration.rs: Flexible expiration date handling (Days/DateTime)
  • positive.rs: Type-safe positive number implementation
  • types.rs: Common enums (OptionType, Side, OptionStyle)
  • trade.rs: Trade execution and management
  • format.rs: Data formatting utilities
  • leg/: Multi-instrument leg support for strategies
    • traits.rs: Common leg traits (LegAble, Marginable, Fundable, Expirable)
    • spot.rs: SpotPosition for underlying asset positions
    • perpetual.rs: PerpetualPosition for crypto perpetual swaps
    • future.rs: FuturePosition for exchange-traded futures
    • leg_enum.rs: Leg enum unifying all position types

Pricing Models (pricing/)

Advanced pricing engines for options valuation:

  • black_scholes_model.rs: European options pricing with Greeks
  • binomial_model.rs: American/European options with early exercise
  • monte_carlo.rs: Path-dependent and exotic options pricing
  • telegraph.rs: Jump-diffusion process modeling
  • payoff.rs: Payoff function implementations
  • american.rs: Barone-Adesi-Whaley approximation
  • Exotic Options:
    • asian.rs: Asian option pricing
    • barrier.rs: Barrier option pricing
    • binary.rs: Binary/Digital option pricing
    • lookback.rs: Lookback option pricing
    • compound.rs: Compound option pricing
    • chooser.rs: Chooser option pricing
    • cliquet.rs: Cliquet option pricing
    • rainbow.rs: Rainbow option pricing
    • spread.rs: Spread option pricing
    • quanto.rs: Quanto option pricing
    • exchange.rs: Exchange option pricing
    • power.rs: Power option pricing

Strategies (strategies/)

Comprehensive trading strategy implementations:

  • base.rs: Core traits (Strategable, BasicAble, Positionable, etc.)
  • Single Leg: long_call.rs, short_call.rs, long_put.rs, short_put.rs
  • Spreads: bull_call_spread.rs, bear_call_spread.rs, bull_put_spread.rs, bear_put_spread.rs
  • Butterflies: long_butterfly_spread.rs, short_butterfly_spread.rs, call_butterfly.rs
  • Complex: iron_condor.rs, iron_butterfly.rs
  • Volatility: long_straddle.rs, short_straddle.rs, long_strangle.rs, short_strangle.rs
  • Income: covered_call.rs, poor_mans_covered_call.rs
  • Protection: protective_put.rs, collar.rs
  • custom.rs: Flexible custom strategy framework
  • probabilities/: Probability analysis for strategy outcomes
  • delta_neutral/: Delta neutrality analysis and adjustment

Volatility (volatility/)

Volatility modeling and analysis:

  • utils.rs: Implied volatility calculation (Newton-Raphson method)
  • traits.rs: Volatility model interfaces
  • Advanced volatility surface construction

Greeks (greeks/)

Complete Greeks calculation suite:

  • Delta, Gamma, Theta, Vega, Rho, Vanna, Vomma, Veta, Charm, Color calculations
  • Real-time sensitivity analysis
  • Greeks-based risk management

Chains (chains/)

Option chain management and analysis:

  • chain.rs: Option chain construction and manipulation
  • utils.rs: Chain analysis and filtering tools
  • CSV/JSON import/export functionality
  • Strike price generation algorithms

Backtesting (backtesting/)

Strategy performance analysis:

  • metrics.rs: Performance metrics calculation
  • results.rs: Backtesting results management
  • types.rs: Bac

Related Skills

View on GitHub
GitHub Stars179
CategoryDevelopment
Updated19h ago
Forks32

Languages

Rust

Security Score

100/100

Audited on Mar 26, 2026

No findings