The dashboard's strategy header, metrics column, and chart legends read
from the returns Series `.name` (defaulting to "Strategy", or inheriting
the price-column name like "close" from pf.returns()). The skill only set
`title=`, which OpenStatz uses solely for the browser-tab <title> - so the
actual strategy name was never displayed.
Set `strategy_returns.name` and `benchmark.name` before `ostz.dashboard(...)`
across the openstatz-tearsheet rule examples/template and the backtest skill.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the legacy static ostz.reports.html/full/basic/plots and the
ostz.plots.* matplotlib gallery with ostz.dashboard() as the sole
tearsheet - a self-contained offline interactive dashboard that needs no
openstatz serve, no [app] extra, and no network. Keep ostz.stats.* and
ostz.reports.metrics() for raw numbers.
Note: dashboard() takes the benchmark as a returns Series, not a ticker
string, so examples fetch it via ostz.providers.download_returns() and
reindex to the strategy index first.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
OpenAlgo ta (100+ indicators) is now the default indicator library
project-wide; TA-Lib is opt-in only when a user explicitly requests it.
Added a complete indicator catalog in openalgo-ta-helpers.md sourced
from the installed openalgo package, since the hosted docs have a few
stale signatures (ta.psar, ta.rvi, ta.vwap).
OpenStatz replaces QuantStats for tearsheets throughout (numerically
verified drop-in with the same API, aliased as `ostz` to avoid
shadowing the stdlib `os` module already used for env vars).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Support both custom DuckDB databases and OpenAlgo Historify format
for backtesting without requiring API calls. Includes auto-detection
of database format, inline exrem() fallback when openalgo.ta is not
available, resampling helpers, and .env configuration for DB paths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace broker names with generic market terms in skills, rule files, asset
templates, README, and .env.sample. Fee values unchanged — still realistic
defaults. Rename BINANCE_API_KEY/SECRET_KEY to CRYPTO_API_KEY/SECRET_KEY.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Documents source="api" vs source="db" for history(), including full
custom interval support (any Nm/Nh intraday, W/M/Q/Y daily-based)
available with DuckDB/Historify database. Updates multi-timeframe and
multi-asset examples to show source="db" usage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace per-folder .env copies with single project root .env
- Use find_dotenv() to walk up directory tree from any script location
- Remove pre-created empty strategy subfolders from setup skill
- Strategy folders now created on-demand when backtest/optimize scripts are generated
- Update all 12 asset templates, 5 skill files, and data-fetching docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Reframe fee tables as "Reference: Zerodha/IBKR/Binance" instead of
naming brokers as the identity of the cost model
- Add broker-neutral callout: all fee constants are customizable
- Remove broker-specific column headers (IBKR Pro, IBKR Lite, BNB Discount)
in favor of generic labels (Pro/Fixed, Commission-Free, Discounted)
- Update Supported Markets table to show fee types not broker names
- Update Rule Files Reference descriptions to say "reference: broker"
- Update Costs row in Knowledge Base to describe fee structures generically
- Suggested GitHub About: "Agentic coding skills for backtesting trading
strategies using VectorBT..."
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude Code skills for backtesting trading strategies using VectorBT
with Indian market data via OpenAlgo. Includes skills for quick backtest,
parameter optimization, strategy comparison, and inline stats. Example
scripts: EMA crossover, dual momentum, buy-and-hold allocation, and
RSI slab-wise accumulation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>