Run long-only backtests on daily stock OHLCV CSVs and get standardized performance metrics plus a trade log.
Documents
Stock Backtest Analyst Clean
Backtest stock trading strategies on historical OHLCV data and report win rate, return, CAGR, drawdown, Sharpe ratio, and trade logs. Use when evaluating or...
What it does
Backtest stock trading strategies on historical OHLCV data and report win rate, return, CAGR, drawdown, Sharpe ratio, and trade logs. Use when evaluating or...
The skill document
Stock Strategy Backtester Clean
Version Notice
- Use this clean slug if your environment pins to
stock-strategy-backtester-clean.
Overview
Run repeatable, long-only stock strategy backtests from daily OHLCV CSV files. Use bundled scripts to generate consistent metrics and trade-level output, then summarize with investor-friendly conclusions.
Quick Start
- Prepare a CSV with at least
DateandClosecolumns. - Run a baseline backtest:
python scripts/backtest_strategy.py \
--csv /path/to/prices.csv \
--strategy sma-crossover \
--fast-window 20 \
--slow-window 60
- Export artifacts for review:
python scripts/backtest_strategy.py \
--csv /path/to/prices.csv \
--strategy rsi-reversion \
--rsi-period 14 \
--rsi-entry 30 \
--rsi-exit 55 \
--commission-bps 5 \
--slippage-bps 2
Workflow
- Validate data
- Ensure
Dateis parseable and sorted ascending. - Ensure
Open/High/Low/Closeare numeric; missingOpen/High/Lowfalls back toClose.
- Pick strategy logic
sma-crossover: trend-following with fast/slow moving averages.rsi-reversion: buy oversold and exit on momentum recovery.breakout: enter on highs breakout and exit on lows breakdown.
- Set realistic assumptions
- Always set
--commission-bpsand--slippage-bps. - Avoid reporting cost-free backtests as production-ready.
- Compare variants
- Change one parameter block at a time.
- Compare on the same date range and same cost model.
- Produce final summary
- Report:
total_return_pct,cagr_pct,win_rate_pct,max_drawdown_pct,sharpe_ratio,profit_factor, and trade count. - Use trade CSV to explain where alpha is coming from.
Supported Commands
- Baseline SMA strategy:
python scripts/backtest_strategy.py \
--csv /path/to/prices.csv \
--strategy sma-crossover \
--fast-window 10 \
--slow-window 50
- Breakout strategy:
python scripts/backtest_strategy.py \
--csv /path/to/prices.csv \
--strategy breakout \
--lookback 20
- JSON-only output (for automation pipelines):
python scripts/backtest_strategy.py \
--csv /path/to/prices.csv \
--strategy rsi-reversion \
--quiet
Output Contract
- Script prints a JSON object to stdout with:
strategyperiodmetricsconfigtrades
Analysis Guardrails
- Use out-of-sample logic
- Prefer walk-forward validation over one-shot tuning.
- Avoid leakage
- Compute signals from bar
t, execute at bart+1open.
- Report downside with upside
- Never present return without drawdown and trade count.
- Treat results as research
- Backtests are not guarantees and should not be framed as financial advice.
References
- Metrics details:
references/backtest-metrics.md
Related skills
Financial analysis from single-stock metrics to DCF models and portfolio optimization, delivered as dashboards, PDFs, or Excel.
Backtest, extract, and analyze trading strategies across A-share, HK, US, India, Korea, and crypto markets from a single toolkit.
This skill provides integration with the Alpaca Markets API for trading stocks, options, and cryptocurrencies. Use it when you need to interact with Alpaca's...
Upload data files, get back analysis with charts, cleaned datasets, statistical reports, and dashboards.
Analyze Binance USDT-margined perpetual futures symbols with public futures market data only and return a structured market analysis report with a clear BUY,...