文档

Stock Backtest Analyst

对每日股票 OHLCV CSV 运行做多策略回测,输出统一绩效指标与逐笔交易记录。

它能做什么

配套脚本会校验每日价格 CSV,应用三类策略规则之一(SMA 均线交叉、RSI 均值回归、突破),并向 stdout 输出一个 JSON 对象,包含所选策略、测试区间、绩效指标、运行配置和逐笔交易明细。指标涵盖总收益、CAGR、胜率、最大回撤、夏普比率、盈亏比和交易次数。佣金与滑点以基点配置,便于在同一成本模型下横向比较不同参数;信号在 t 时刻计算,t+1 开盘成交,以降低前视偏差。

什么时候用它

  • 在同一只股票上对比 SMA 快慢均线参数组合
  • 在固定成本模型下测试 RSI 超卖入场与动量恢复出场的阈值
  • 横向对比不同突破回看窗口在相同区间内的表现
  • 输出 JSON 格式的交易明细,供后续审查流水线使用

技能文档

Stock Strategy Backtester

Version Notice

  • 1.0.0 and 1.0.1 are deprecated.
  • Use 1.0.2 or newer only.
  • Deprecation reason: early versions bundled non-core marketplace automation files and may trigger security scanner warnings in some environments.

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

  1. Prepare a CSV with at least Date and Close columns.
  2. Run a baseline backtest:
python scripts/backtest_strategy.py \
  --csv /path/to/prices.csv \
  --strategy sma-crossover \
  --fast-window 20 \
  --slow-window 60
  1. 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

  1. Validate data
  • Ensure Date is parseable and sorted ascending.
  • Ensure Open/High/Low/Close are numeric; missing Open/High/Low falls back to Close.
  1. 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.
  1. Set realistic assumptions
  • Always set --commission-bps and --slippage-bps.
  • Avoid reporting cost-free backtests as production-ready.
  1. Compare variants
  • Change one parameter block at a time.
  • Compare on the same date range and same cost model.
  1. 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:
  • strategy
  • period
  • metrics
  • config
  • trades

Analysis Guardrails

  1. Use out-of-sample logic
  • Prefer walk-forward validation over one-shot tuning.
  1. Avoid leakage
  • Compute signals from bar t, execute at bar t+1 open.
  1. Report downside with upside
  • Never present return without drawdown and trade count.
  1. Treat results as research
  • Backtests are not guarantees and should not be framed as financial advice.

References

  • Metrics details: references/backtest-metrics.md

常见问题

输入文件需要什么格式?
每日 OHLCV CSV,至少包含 `Date` 和 `Close` 两列;`Open/High/Low` 缺失时会回退使用 `Close`,`Date` 需可解析且按升序排列。
内置了哪些策略?
文档列出三种:`sma-crossover`(快慢均线趋势跟随)、`rsi-reversion`(超卖入场、动量恢复出场)和 `breakout`(突破前高入场、跌破前低出场)。
应该如何看待回测结果?
技能自带的分析守则明确指出:回测属于研究性质而非保证,建议优先使用滚动前向验证而非一次性调参,并要求任何收益数字都同时披露回撤幅度与交易次数。

相关技能

从个股指标、DCF 模型到投资组合优化,输出支持交互式仪表盘、PDF 或 Excel。

133 次安装5 星标

一套覆盖 A 股、港股、美股、印度、韩国与加密市场的量化研究与回测工具。

95 次安装4 星标

通过一个命令行工具完成多链加密货币交易、钱包管理与 AI 市场分析。

162 次安装109 星标

一条提示词搞定代币、DeFi、链上数据与组合策略的深度加密研究。

118 次安装8 星标

Establishes portfolio discipline through a mini IPS, risk budgeting, and no-margin position sizing for Vietnam equity investors; converts recommendations int...

107 次安装

上传数据文件,直接拿到图表、清洗后的数据集、统计报告和可视化看板,代码在后台自动执行。

113 次安装4 星标