Releases: goldspanlabs/optopsy
Releases · goldspanlabs/optopsy
v2.3.0
Highlights (since v2.2.x)
- Trade Simulator — chronological simulation with capital tracking, position limits, and equity curves
- Portfolio Simulation — weighted multi-strategy backtesting via
simulate_portfolio() - Early Exits — stop-loss, take-profit, and max-hold-days rules
- 80+ Entry Signals — RSI, MACD, Bollinger Bands, EMA, ATR, IV Rank, and more
- Custom Signals — drive entries from any DataFrame with a boolean flag column
- Risk Metrics — Sharpe, Sortino, VaR, CVaR, Calmar, Omega, tail ratio
- Slippage Modeling — mid, spread, liquidity-based, or per-leg slippage
- Commissions — per-contract, base fee, and min fee structures
- Data CLI —
optopsy-datafor downloading and caching market data - Plugin System — extend with custom strategies, signals, and data providers
v2.3.0b5
What's New
underlying_price is now optional
csv_data()no longer requires anunderlying_pricecolumn — onlyunderlying_symbol,option_type,expiration,quote_date,strike,bid,ask, anddeltaare needed- TA-based signals (RSI, Bollinger, MACD, etc.) now require a
closecolumn in stock data rather than falling back tounderlying_price apply_signal()auto-merges Yahoo Finance stock prices when the options data lacks a price column, so IV rank and other price-based signals work out of the box
Standalone data CLI (optopsy-data)
- New
optopsy-dataCLI for downloading and caching historical options data optopsy-data symbolscommand to list available symbols [EODHD only]optopsy-data download SPY -sflag to download stock prices alongside optionsoptopsy-data cachesubcommand for cache management (size, clear)
Revamped sample files
- Replaced 12 repetitive examples with 5 progressive samples covering the full API: basic strategies, signal composition, simulation with risk management, portfolio backtesting, and strategy comparison
Documentation
- New MkDocs documentation site with auto-deploy on push
- Updated docs to reflect the optional
underlying_pricearchitecture
v2.3.0b4
What's New
New Strategies
- 10 retail-friendly strategies — cash-secured put, collar, covered call, protective put, and more are now first-class strategies (#207)
Core Engine
- Per-leg delta targeting — select strikes by delta with
target,min,maxper leg (#179) - P&L-based early exits — stop-loss and take-profit rules for automatic position management (#190)
- Max hold days —
max_hold_daysparameter for time-based early exits (#201) - Commission modeling — per-contract, base fee, and min fee structures (#188)
- Per-leg slippage — configure slippage independently for each leg (#203)
- Portfolio simulation — weighted multi-strategy, multi-symbol portfolio backtesting via
simulate_portfolio()(#202) - Actual stock data for covered strategies — covered calls and protective puts now use real stock prices via yfinance (#183)
- Stock exit date alignment — stock exit dates now align with actual option exit quote dates (#199)
- 80+ entry signals — expanded to support all pandas-ta-classic indicators (#189)
- Migrated to pandas-ta-classic — replaced unmaintained pandas-ta fork (#184)
AI Chat UI
- Delta targeting, early exits, and commissions in agent tools — the chat agent can now use all new core features (#206)
- Collapsed tool steps — tool call details are grouped into a single dropdown for cleaner chat history (#208)
- Session summarizer —
summarize_sessiontool for recapping analysis sessions (#204) - Pluggable auth — extend authentication via
optopsy.authentry points (#178) - UI theming — brand colors, favicon, and dark mode support (#177)
Bug Fixes
- Fix single-leg
pct_changesign calculation (#185) - Apply slippage model to stock-backed covered strategies (#200)
Docs & README
- Updated documentation for all new features
- Reorganized README with Installation section moved below Features
v2.3.0b3
New Features
- Entry-point-based plugin system — third-party packages can register custom strategies, data providers, and tools via
entry_points(#175) - Global result store with content-hashed caching and a
query_resultstool for the chat agent (#163) custom_signal()— new public API for arbitrary DataFrame-based entry/exit signals (#166)- Multi-series charting support in the
create_charttool (#161) - Chainlit UI improvements — conversation starters, settings panel, action buttons, rich elements (#160)
- Plotly chart persistence across session resume (#156)
- Risk metrics module — Sharpe, Sortino, VaR, CVaR, and more (#113)
- IV rank signals and volatility surface tools (#129)
- Compare results tool for side-by-side strategy comparison (#115)
- Data quality check tool with strategy-aware mode (#140)
Bug Fixes
- Fix Interval column serialization error in ResultStore Parquet writes
- Fix orphaned
tool_resultblocks causing API errors on session resume (#148) - Fix spurious yfinance re-fetches from interior gap detection (#147)
- Fix NaN propagation in liquidity slippage model when volume is null
- Prevent agent from duplicating results or proactively creating charts
- CSV download is now on-demand via action button
- Fix Interval column rendering and DataFrame resume errors
v2.3.0b2
v2.3.0b1
What's New
Beta release introducing the AI-powered chat UI for interactive options backtesting.
New Features
- AI Chat Interface (
optopsy-chat) — Chainlit + LiteLLM powered conversational backtesting - EODHD Data Provider — Live options chain and stock price data with smart caching
- Pluggable Provider System — Extensible architecture for adding new data sources
Improvements
- Replaced Black with Ruff for formatting and linting
- Added mypy, pytest-cov, and vulture to CI
- Updated README badges
Install
pip install optopsy==2.3.0b1 # core only
pip install optopsy[ui]==2.3.0b1 # with chat UIv2.2.0
New Features
- Calendar and diagonal spread strategies
- Tiered slippage modeling (mid, spread, liquidity modes)
- Greeks support with delta filtering and grouping
Version 2.1.0
New Features
10 New Options Strategies
-
Butterfly Strategies (3-leg)
- Long/Short Call Butterfly
- Long/Short Put Butterfly
-
Iron Condor & Iron Butterfly (4-leg)
- Iron Condor / Reverse Iron Condor
- Iron Butterfly / Reverse Iron Butterfly
-
Covered Strategies (synthetic)
- Covered Call
- Protective Put
Version 2.0.3
This release contains the following updates:
- Improve typing and documentation throughout the codebase
Version 2.0.2
This release updates the dependency requirements to support modern Python and pandas versions:
- Updated pandas requirement to >=2.0.0
- Updated numpy requirement to >=1.26.0
- Updated pytest requirement to >=7.0.0
- Added version attribute to package for programmatic version access
- Exported version in all for public API access
This is a maintenance release that modernizes dependencies while maintaining backward compatibility with the existing API.