Skip to content

Commit e08e0bb

Browse files
michaelchuclaude
andcommitted
Release v2.3.0 — remove AI Chat UI from README, bump to stable
Phase out AI Chat UI references from README while keeping the code. Update CI badge and star history URLs to goldspanlabs org. Bump version from 2.3.0b5 to 2.3.0 stable release. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 4ef83b3 commit e08e0bb

File tree

3 files changed

+11
-96
lines changed

3 files changed

+11
-96
lines changed

README.md

Lines changed: 6 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
![Badge](https://hitscounter.dev/api/hit?url=https%3A%2F%2Fgithub.com%2Fmichaelchu%2Foptopsy&label=Visitors&icon=suitcase-lg&color=%239ec5fe&message=&style=flat&tz=Canada%2FEastern)
22
![Badge](https://hitscounter.dev/api/hit?url=https%3A%2F%2Fmichaelchu.github.io%2Foptopsy%2F&label=Docs&icon=github&color=%23d2f4ea&message=&style=flat&tz=Canada%2FEastern)
3-
[![CI](https://github.com/michaelchu/optopsy/actions/workflows/ci.yml/badge.svg)](https://github.com/michaelchu/optopsy/actions/workflows/ci.yml)
3+
[![CI](https://github.com/goldspanlabs/optopsy/actions/workflows/ci.yml/badge.svg)](https://github.com/goldspanlabs/optopsy/actions/workflows/ci.yml)
44
[![PyPI version](https://badge.fury.io/py/optopsy.svg)](https://badge.fury.io/py/optopsy)
55
[![Python](https://img.shields.io/pypi/pyversions/optopsy)](https://pypi.org/project/optopsy/)
66

77

88

99
<img src="docs/assets/logo.png" alt="Optopsy" width="150">
1010

11-
An AI-powered research and backtesting tool for options strategies.
11+
A nimble backtesting and statistics library for options strategies.
1212

13-
Optopsy combines a Python backtesting engine with an optional conversational AI interface that fetches data from online or local sources, runs strategies, and interprets results — so you can go from *"How do 45-DTE iron condors on SPX perform with a 50% profit target and 2x stop loss vs holding to expiration?"* to detailed performance statistics in seconds, not spreadsheets.
13+
Optopsy is a Python backtesting engine that lets you go from *"How do 45-DTE iron condors on SPX perform with a 50% profit target and 2x stop loss vs holding to expiration?"* to detailed performance statistics in seconds, not spreadsheets.
1414

1515
[Full Documentation](https://michaelchu.github.io/optopsy/) | [API Reference](https://michaelchu.github.io/optopsy/api-reference/) | [Examples](https://michaelchu.github.io/optopsy/examples/)
1616

@@ -33,106 +33,22 @@ Optopsy combines a Python backtesting engine with an optional conversational AI
3333
- **Live Data Providers** - Fetch options chains and stock prices directly from supported data sources (e.g. EODHD)
3434
- **Smart Caching** - Automatic local caching of fetched data with gap detection for efficient re-fetches
3535
- **Plugin System** - Extend with custom strategies, signals, and data providers via entry points
36-
- **AI Chat UI** - Interactive AI-powered chat interface with conversation starters, settings panel, and result caching
3736

3837
## Installation
3938

4039
```bash
4140
# Core library only (latest stable release)
4241
pip install optopsy
4342

44-
# With Data CLI (download & cache market data, no Chainlit needed)
43+
# With Data CLI (download & cache market data)
4544
pip install optopsy[data]
46-
47-
# With AI Chat UI (beta — requires pre-release, includes data package)
48-
pip install --pre optopsy[ui]
4945
```
5046

5147
**Requirements:** Python 3.12-3.13, Pandas 2.0+, NumPy 1.26+
5248

53-
## AI Chat UI (Beta)
54-
55-
An AI-powered chat interface that lets you fetch data, run backtests, and interpret results using natural language.
56-
57-
![AI Chat UI](docs/images/example.gif)
58-
59-
### Setup & Configuration
60-
61-
Install the beta pre-release with the `ui` extra:
62-
63-
```bash
64-
pip install --pre optopsy[ui]
65-
```
66-
67-
Configure your environment variables in a `.env` file at the project root (the app auto-loads it):
68-
69-
```env
70-
ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY for OpenAI models
71-
EODHD_API_KEY=your-key-here # enables live data downloads (optional)
72-
OPTOPSY_MODEL=anthropic/claude-haiku-4-5-20251001 # override the default model (optional)
73-
```
74-
75-
At minimum you need an LLM API key (`ANTHROPIC_API_KEY` or `OPENAI_API_KEY`). Set `EODHD_API_KEY` to enable downloading historical options data directly from [EODHD](https://eodhd.com/). The `OPTOPSY_MODEL` variable accepts any [LiteLLM model string](https://docs.litellm.ai/docs/providers) if you want to use a different model.
76-
77-
### Downloading Data
78-
79-
The recommended workflow is to download data first via the CLI, then use the chat agent to analyze it:
80-
81-
```bash
82-
# Download historical options data (requires EODHD_API_KEY)
83-
optopsy-chat download SPY
84-
optopsy-chat download SPY AAPL TSLA # multiple symbols
85-
optopsy-chat download SPY -v # verbose/debug output
86-
```
87-
88-
> **Note:** If developing with `uv`, prefix commands with `uv run` (e.g., `uv run optopsy-chat download SPY`).
89-
90-
Data is stored locally as Parquet files at `~/.optopsy/cache/`. Re-running the download command only fetches new data since your last download — it won't re-download what you already have. A Rich progress display shows download progress in the terminal.
91-
92-
Once downloaded, the chat agent can query this data instantly without needing to re-fetch. Stock price history (via yfinance) is also cached locally and fetched automatically when the agent needs it for charting or signal analysis — no manual download required.
93-
94-
### Cache Management
95-
96-
```bash
97-
optopsy-chat cache size # show per-symbol disk usage
98-
optopsy-chat cache clear # clear all cached data
99-
optopsy-chat cache clear SPY # clear specific symbol
100-
```
101-
102-
### Launching the Chat
103-
104-
```bash
105-
optopsy-chat # launch (opens browser)
106-
optopsy-chat run --port 9000 # custom port
107-
optopsy-chat run --headless # don't open browser
108-
optopsy-chat run --debug # enable debug logging
109-
```
110-
111-
### What the Agent Can Do
112-
113-
- **Run any of the 38 strategies** — ask in plain English (e.g. *"Run iron condors on SPY with 30-45 DTE"*) and the agent picks the right function and parameters
114-
- **Fetch live options data** — pull options chains from EODHD and cache them locally for fast repeat access
115-
- **Fetch stock price history** — automatically download OHLCV data via yfinance for charting and signal analysis
116-
- **Load & preview CSV data** — drag-and-drop a CSV into the chat or point to a file on disk; inspect shape, columns, date ranges, and sample rows
117-
- **Scan & compare strategies** — run up to 50 strategy/parameter combinations in one call and get a ranked leaderboard
118-
- **Suggest parameters** — analyze your dataset's DTE and OTM% distributions and recommend sensible starting ranges
119-
- **Build entry/exit signals** — compose 80+ technical analysis signals (momentum, overlap, volatility, trend, volume, IV rank, calendar) with AND/OR logic
120-
- **Simulate trades** — run chronological simulations with starting capital, position limits, and a full equity curve with metrics (win rate, profit factor, max drawdown, etc.)
121-
- **Create interactive charts** — generate Plotly charts (line, bar, scatter, histogram, heatmap, candlestick with indicator overlays) from results, simulations, or raw data
122-
- **Multi-dataset sessions** — load multiple symbols, run the same strategy across each, and compare side-by-side
123-
- **Session memory** — the agent tracks all strategy runs and results so it can reference prior analysis without re-running
124-
125-
### Data Providers
126-
127-
EODHD is the built-in data provider for downloading historical options and stock data. The provider system is pluggable — you can build custom providers by subclassing `DataProvider` in `optopsy/data/providers/` to integrate your own data sources.
128-
129-
> **Note:** The download and cache commands are also available via the standalone `optopsy-data` CLI (`pip install optopsy[data]`) without the Chainlit dependency. See [Data Management](https://michaelchu.github.io/optopsy/data/) for details.
130-
131-
See the [Chat UI documentation](https://michaelchu.github.io/optopsy/chat-ui/) for more details.
132-
13349
## Data Management
13450

135-
Optopsy includes a standalone data CLI for downloading and caching historical market data — no chat UI or Chainlit required.
51+
Optopsy includes a standalone data CLI for downloading and caching historical market data.
13652

13753
```bash
13854
pip install optopsy[data]
@@ -234,13 +150,12 @@ The simulator works with all 38 strategies. It selects one trade per entry date,
234150
- [Parameters](https://michaelchu.github.io/optopsy/parameters/) - Configuration options reference
235151
- [Entry Signals](https://michaelchu.github.io/optopsy/entry-signals/) - Technical analysis signal filters
236152
- [Data Management](https://michaelchu.github.io/optopsy/data/) - Standalone data CLI and caching
237-
- [Chat UI](https://michaelchu.github.io/optopsy/chat-ui/) - AI-powered chat interface
238153
- [Examples](https://michaelchu.github.io/optopsy/examples/) - Common use cases and recipes
239154
- [API Reference](https://michaelchu.github.io/optopsy/api-reference/) - Complete function documentation
240155

241156
## Star History
242157

243-
[![Star History Chart](https://app.repohistory.com/api/svg?repo=michaelchu/optopsy&type=Date&background=FFFFFF&color=62C3F8)](https://app.repohistory.com/star-history)
158+
[![Star History Chart](https://app.repohistory.com/api/svg?repo=goldspanlabs/optopsy&type=Date&background=FFFFFF&color=62C3F8)](https://app.repohistory.com/star-history)
244159

245160
## Disclaimer
246161

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "optopsy"
7-
version = "2.3.0b5"
7+
version = "2.3.0"
88
description = "A nimble backtesting and statistics library for options strategies"
99
readme = "README.md"
1010
license = "AGPL-3.0-or-later"

uv.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)