15 Commits

Author SHA1 Message Date
Marketcalls 05d9e8b12f Merge pull request #7 from marketcalls/fix/tearsheet-strategy-name
Fix OpenStatz tearsheet not showing the strategy name
2026-07-12 20:14:37 +05:30
marketcalls 9317ef82e9 Fix OpenStatz tearsheet not showing the strategy name
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>
2026-07-12 20:12:34 +05:30
rajandran ee06186121 Auto-launch the tearsheet after each backtest (open_browser=True)
The per-backtest template now opens the generated dashboard in the
browser after each run, matching the interactive Basic Usage example.
2026-07-07 16:01:06 +05:30
rajandran 3a8c2a354d Switch OpenStatz tearsheet to modern offline dashboard (ostz.dashboard)
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>
2026-07-07 15:57:00 +05:30
rajandran 9526c8671f Default to OpenAlgo ta indicators, replace QuantStats with OpenStatz
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>
2026-07-06 22:13:36 +05:30
rajandran 3b16225272 Add DuckDB direct data loading support across all skills
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>
2026-03-05 20:58:19 +05:30
marketcalls e74036db1a Remove broker-specific references (Zerodha, IBKR, Binance) across all files
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>
2026-03-02 08:39:37 +05:30
rajandran ab0f289c74 Move y-axis to right side on all Plotly charts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 16:07:23 +05:30
marketcalls deb5df7047 Add source parameter and DuckDB custom intervals to data-fetching rules
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>
2026-02-28 09:37:32 +05:30
marketcalls a36c3fe8fd Use single root .env with find_dotenv() and create strategy folders on-demand
- 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>
2026-02-27 10:25:21 +05:30
marketcalls a469ab15fc Make README broker-neutral, use brokers only as fee references
- 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>
2026-02-27 10:11:36 +05:30
marketcalls 06dc8adb4a Generalize README for 40+ agentic coding tools via skills.sh
Replace Claude Code-specific references with agent-agnostic language.
Add supported agents table (Claude Code, Cursor, Codex, OpenCode,
Cline, Windsurf, GitHub Copilot, Gemini CLI, Roo Code, etc.).
Note that npx skills auto-detects the installed agent.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 10:07:48 +05:30
marketcalls b111040fe3 Add multi-market support (India/US/Crypto), modular rules, and strategy templates
- Add 20 modular rule files covering data fetching, indicators, simulation,
  position sizing, costs, optimization, reporting, validation, and pitfalls
- Add 12 production-ready strategy templates (EMA, RSI, Donchian, Supertrend,
  MACD, SDA2, Momentum, Dual Momentum, Buy & Hold, RSI Accumulation,
  Walk-Forward, Realistic Costs)
- Add US market costs (IBKR Pro/Lite - stocks, options, E-mini/Micro futures)
- Add crypto market costs (Binance spot, USDT-M/COIN-M futures, funding rates)
- Add .env.sample with OpenAlgo, Binance, and custom provider API key templates
- Add extensible custom data provider pattern (Alpaca, Twelve Data examples)
- Restructure data-fetching.md into modular sections (OpenAlgo, yfinance, CCXT)
- Add setup skill with API key collection and .env configuration
- Add QuantStats tearsheet integration (HTML reports, Monte Carlo)
- Update all action skills (backtest, optimize, quick-stats, strategy-compare)
  with TA-Lib mandate, market-specific fees, and benchmark auto-selection
- Rewrite vectorbt-expert SKILL.md as modular reference hub
- Comprehensive README with multi-market capabilities and fee tables

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 10:01:33 +05:30
rajandran 47fb8924ca Add npx skills install instructions to README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 22:21:59 +05:30
rajandran 29e12f3726 Initial commit: VectorBT backtesting skills for Claude Code
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>
2026-02-25 20:52:05 +05:30