Skip to content

Releases: goldspanlabs/optopsy

v2.3.0

02 Mar 22:09

Choose a tag to compare

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 CLIoptopsy-data for downloading and caching market data
  • Plugin System — extend with custom strategies, signals, and data providers

v2.3.0b5

27 Feb 20:30

Choose a tag to compare

v2.3.0b5 Pre-release
Pre-release

What's New

underlying_price is now optional

  • csv_data() no longer requires an underlying_price column — only underlying_symbol, option_type, expiration, quote_date, strike, bid, ask, and delta are needed
  • TA-based signals (RSI, Bollinger, MACD, etc.) now require a close column in stock data rather than falling back to underlying_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-data CLI for downloading and caching historical options data
  • optopsy-data symbols command to list available symbols [EODHD only]
  • optopsy-data download SPY -s flag to download stock prices alongside options
  • optopsy-data cache subcommand 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_price architecture

v2.3.0b4

26 Feb 18:43

Choose a tag to compare

v2.3.0b4 Pre-release
Pre-release

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, max per leg (#179)
  • P&L-based early exits — stop-loss and take-profit rules for automatic position management (#190)
  • Max hold daysmax_hold_days parameter 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 summarizersummarize_session tool for recapping analysis sessions (#204)
  • Pluggable auth — extend authentication via optopsy.auth entry points (#178)
  • UI theming — brand colors, favicon, and dark mode support (#177)

Bug Fixes

  • Fix single-leg pct_change sign 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

25 Feb 16:18

Choose a tag to compare

v2.3.0b3 Pre-release
Pre-release

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_results tool 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_chart tool (#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_result blocks 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

22 Feb 12:05
e1dca72

Choose a tag to compare

v2.3.0b2 Pre-release
Pre-release

New Features

  • Lightweight backtest simulation layer (#105) — simulate strategy performance over historical data
  • Plotly chart tool (#106) — create_chart agent tool for interactive visualizations
  • Pydantic tool argument validation (#107) — structured validation for all agent tool inputs

v2.3.0b1

21 Feb 21:33

Choose a tag to compare

v2.3.0b1 Pre-release
Pre-release

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 UI

v2.2.0

03 Feb 14:23

Choose a tag to compare

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

03 Feb 01:12

Choose a tag to compare

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

30 Jan 17:17
bb73524

Choose a tag to compare

This release contains the following updates:

  • Improve typing and documentation throughout the codebase

Version 2.0.2

30 Jan 16:25
93fa36d

Choose a tag to compare

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.