backtest by marketcalls/vectorbt-backtesting-skills
npx skills add https://github.com/marketcalls/vectorbt-backtesting-skills --skill backtest为用户创建一个完整的 VectorBT 回测脚本。
将 $ARGUMENTS 解析为:策略 品种 交易所 时间周期
$0 = 策略名称 (例如:ema-crossover, rsi, donchian, supertrend, macd, sda2, momentum)$1 = 品种 (例如:SBIN, RELIANCE, NIFTY). 默认:SBIN$2 = 交易所 (例如:NSE, NFO). 默认:NSE$3 = 时间周期 (例如:D, 1h, 5m). 默认:D如果没有参数,询问用户想要使用哪种策略。
backtesting/{strategy_name}/ 目录(按需)backtesting/{strategy_name}/ 目录下创建一个名为 的 文件广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
{symbol}_{strategy}_backtest.py.pyrules/assets/{strategy}/backtest.py 中的匹配模板作为起点find_dotenv() 从项目根目录加载 .env 文件(自动从脚本目录向上查找)client.history() 获取数据duckdb.connect(path, read_only=True) 直接加载数据,而不是使用 OpenAlgo API。自动检测格式:Historify (market_data 表,epoch 时间戳) 或自定义 (ohlcv 表,日期+时间)。参见 vectorbt-expert rules/duckdb-data.md。openalgo.ta 无法导入(独立的 DuckDB),则使用内联的 exrem() 备用方案。ta.exrem() 清理重复信号(在 exrem 之前始终先 .fillna(False))min_size=1, size_granularity=1 运行 vbt.Portfolio.from_signals()fees=0.00111, fixed_fees=20symbol="NIFTY", exchange="NSE_INDEX")pf.stats()quantstats 可用,则生成 QuantStats HTML 分析报告template="plotly_dark")min_size=65, size_granularity=65 (自 2025年12月31日起生效)min_size=30, size_granularity=30fees=0.00018, fixed_fees=20| 策略 | 关键词 | 模板 |
|---|---|---|
| EMA 交叉 | ema-crossover | assets/ema_crossover/backtest.py |
| RSI | rsi | assets/rsi/backtest.py |
| 唐奇安通道 | donchian | assets/donchian/backtest.py |
| 超级趋势 | supertrend | assets/supertrend/backtest.py |
| MACD 突破 | macd | assets/macd/backtest.py |
| SDA2 | sda2 | assets/sda2/backtest.py |
| 动量 | momentum | assets/momentum/backtest.py |
| 双重动量 | dual-momentum | assets/dual_momentum/backtest.py |
| 买入并持有 | buy-hold | assets/buy_hold/backtest.py |
| RSI 累积 | rsi-accumulation | assets/rsi_accumulation/backtest.py |
symbol="NIFTY", exchange="NSE_INDEX")^NSEI,美国市场使用 ^GSPC (S&P 500)/backtest ema-crossover RELIANCE NSE D /backtest rsi SBIN /backtest supertrend NIFTY NFO 5m
每周安装量
568
代码仓库
GitHub 星标数
104
首次出现
2026年2月25日
安全审计
安装于
codex556
opencode554
cursor547
gemini-cli546
kimi-cli546
github-copilot546
Create a complete VectorBT backtest script for the user.
Parse $ARGUMENTS as: strategy symbol exchange interval
$0 = strategy name (e.g., ema-crossover, rsi, donchian, supertrend, macd, sda2, momentum)$1 = symbol (e.g., SBIN, RELIANCE, NIFTY). Default: SBIN$2 = exchange (e.g., NSE, NFO). Default: NSE$3 = interval (e.g., D, 1h, 5m). Default: DIf no arguments, ask the user which strategy they want.
backtesting/{strategy_name}/ directory if it doesn't exist (on-demand).py file in backtesting/{strategy_name}/ named {symbol}_{strategy}_backtest.pyrules/assets/{strategy}/backtest.py as the starting point.env from the project root using find_dotenv() (walks up from script dir automatically)client.history() from OpenAlgoduckdb.connect(path, read_only=True) instead of OpenAlgo API. Auto-detect format: Historify (market_data table, epoch timestamps) vs custom (ohlcv table, date+time). See vectorbt-expert rules/duckdb-data.md.openalgo.ta is not importable (standalone DuckDB), use inline exrem() fallback.min_size=65, size_granularity=65 (effective 31 Dec 2025)min_size=30, size_granularity=30fees=0.00018, fixed_fees=20 for F&O futures| Strategy | Keyword | Template |
|---|---|---|
| EMA Crossover | ema-crossover | assets/ema_crossover/backtest.py |
| RSI | rsi | assets/rsi/backtest.py |
| Donchian Channel | donchian | assets/donchian/backtest.py |
| Supertrend | supertrend |
symbol="NIFTY", exchange="NSE_INDEX")^NSEI for India, ^GSPC (S&P 500) for US markets/backtest ema-crossover RELIANCE NSE D /backtest rsi SBIN /backtest supertrend NIFTY NFO 5m
Weekly Installs
568
Repository
GitHub Stars
104
First Seen
Feb 25, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex556
opencode554
cursor547
gemini-cli546
kimi-cli546
github-copilot546
DOCX文件创建、编辑与分析完整指南 - 使用docx-js、Pandoc和Python脚本
41,800 周安装
Convex Helpers 指南:官方实用工具库,实现后端关系查询与数据保护
567 周安装
Python文档处理指南:PDF、Excel、Word、PowerPoint自动化操作与最佳实践
567 周安装
flightclaw:Google Flights航班价格追踪与提醒工具,自动监控航线价格变化
567 周安装
Blueprint构建计划生成器:将目标转化为AI编码代理可执行的逐步开发计划
568 周安装
Clerk Swift iOS 原生集成指南:SwiftUI/UIKit 认证实现与快速开始
568 周安装
Google Workspace Cloud Identity CLI 管理指南:设备、群组与SSO配置
568 周安装
ta.exrem() to clean duplicate signals (always .fillna(False) before exrem)vbt.Portfolio.from_signals() with min_size=1, size_granularity=1fees=0.00111, fixed_fees=20 for delivery equitysymbol="NIFTY", exchange="NSE_INDEX")pf.stats()quantstats is availabletemplate="plotly_dark")assets/supertrend/backtest.py |
| MACD Breakout | macd | assets/macd/backtest.py |
| SDA2 | sda2 | assets/sda2/backtest.py |
| Momentum | momentum | assets/momentum/backtest.py |
| Dual Momentum | dual-momentum | assets/dual_momentum/backtest.py |
| Buy & Hold | buy-hold | assets/buy_hold/backtest.py |
| RSI Accumulation | rsi-accumulation | assets/rsi_accumulation/backtest.py |