OptionStratLib
OptionStratLib is a comprehensive Rust library for options trading and strategy development across multiple asset classes.
Install / Use
/learn @joaquinbejar/OptionStratLibREADME
OptionStratLib v0.15.1: Financial Options Library
Table of Contents
- Introduction
- Features
- Core Modules
- Trading Strategies
- Setup Instructions
- Library Usage
- Usage Examples
- Testing
- 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 Greeksposition.rs: Position management and P&L trackingexpiration.rs: Flexible expiration date handling (Days/DateTime)positive.rs: Type-safe positive number implementationtypes.rs: Common enums (OptionType, Side, OptionStyle)trade.rs: Trade execution and managementformat.rs: Data formatting utilitiesleg/: Multi-instrument leg support for strategiestraits.rs: Common leg traits (LegAble,Marginable,Fundable,Expirable)spot.rs:SpotPositionfor underlying asset positionsperpetual.rs:PerpetualPositionfor crypto perpetual swapsfuture.rs:FuturePositionfor exchange-traded futuresleg_enum.rs:Legenum unifying all position types
Pricing Models (pricing/)
Advanced pricing engines for options valuation:
black_scholes_model.rs: European options pricing with Greeksbinomial_model.rs: American/European options with early exercisemonte_carlo.rs: Path-dependent and exotic options pricingtelegraph.rs: Jump-diffusion process modelingpayoff.rs: Payoff function implementationsamerican.rs: Barone-Adesi-Whaley approximation- Exotic Options:
asian.rs: Asian option pricingbarrier.rs: Barrier option pricingbinary.rs: Binary/Digital option pricinglookback.rs: Lookback option pricingcompound.rs: Compound option pricingchooser.rs: Chooser option pricingcliquet.rs: Cliquet option pricingrainbow.rs: Rainbow option pricingspread.rs: Spread option pricingquanto.rs: Quanto option pricingexchange.rs: Exchange option pricingpower.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 frameworkprobabilities/: Probability analysis for strategy outcomesdelta_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 manipulationutils.rs: Chain analysis and filtering tools- CSV/JSON import/export functionality
- Strike price generation algorithms
Backtesting (backtesting/)
Strategy performance analysis:
metrics.rs: Performance metrics calculationresults.rs: Backtesting results managementtypes.rs: Bac
Related Skills
himalaya
338.0kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
coding-agent
338.0kDelegate coding tasks to Codex, Claude Code, or Pi agents via background process
