mcpField
O
optimize

optimize

github.com/marketcalls数据与数据库2152.4k 次安装16 周前更新
代码仓库

关于 optimize

为交易者生成 VectorBT 策略参数优化脚本,支持多指标评估、参数网格热图和 NIFTY 基准比较,并将结果保存为 CSV。

主要功能

  1. 01按策略和标的创建优化脚本
  2. 02使用 OpenAlgo ta 计算指标并清理信号
  3. 03循环测试参数并记录收益、夏普、回撤和交易数
  4. 04生成总收益与夏普比率热图
  5. 05与 NIFTY 基准比较并保存 CSV

适用场景

  1. 01寻找策略的高收益或高夏普参数
  2. 02比较优化策略与 NIFTY 基准表现

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/marketcalls/vectorbt-backtesting-skills --skill optimize

安装后在 Claude Code 中输入/optimize确认已加载。

详细介绍

为 VectorBT 策略创建参数优化脚本。

参数

按以下格式解析 $ARGUMENTS:策略名称 标的 交易所 周期

  • $0 = 策略名称(例如:ema-crossover、rsi、donchian)。默认值:ema-crossover
  • $1 = 标的(例如:SBIN、RELIANCE、NIFTY)。默认值:SBIN
  • $2 = 交易所(例如:NSE、NFO)。默认值:NSE
  • $3 = 周期(例如:D、1h、5m)。默认值:D

如果没有参数,请询问用户要优化哪种策略。

说明

  1. 阅读 vectorbt-expert 技能规则,参考其中的模式
  2. 如果 backtesting/{strategy_name}/ 目录不存在,则按需创建
  3. 在 backtesting/{strategy_name}/ 中创建一个 .py 文件,命名为 {symbol}_{strategy}_optimize.py
  4. 脚本必须:
    • 使用 find_dotenv() 从项目根目录加载 .env,并通过 OpenAlgo client.history() 获取数据
    • 如果用户提供 DuckDB 路径,则通过 duckdb.connect(path, read_only=True) 直接加载数据。参见 vectorbt-expert rules/duckdb-data.md。
    • 如果无法导入 openalgo.ta(独立 DuckDB),则使用内联 exrem() 回退实现。
    • 默认对所有指标使用 OpenAlgo ta(绝不使用 VectorBT 内置指标)。只有用户明确提到“talib”或“TA-Lib”时才切换到 TA-Lib
    • 特殊指标始终使用 OpenAlgo ta(例如 Supertrend、Donchian 等)——没有对应的 TA-Lib 指标
    • 使用 ta.exrem() 清理信号(调用 exrem 前始终先执行 .fillna(False))
    • 为所选策略定义合理的参数范围
    • 使用基于循环的优化,为每组参数收集多个指标
    • 使用 tqdm 显示进度条
    • 印度交割费用:交割股票使用 fees=0.00111, fixed_fees=20
    • 分别按总回报和夏普比率找出最佳参数
    • 按这两项标准分别打印前 10 个结果
    • 生成总回报参数网格的 Plotly 热力图(template="plotly_dark")
    • 生成夏普比率参数网格的 Plotly 热力图
    • 获取 NIFTY 基准数据,并将最佳参数与基准进行比较
    • 打印策略与基准的对比表
    • 用通俗易懂的语言向普通交易者解释结果
    • 将结果保存为 CSV
  5. 代码或日志输出中绝不使用图标或表情符号
  6. 对于期货标的,使用适配手数的仓位大小:
    • NIFTY:min_size=65, size_granularity=65
    • BANKNIFTY:min_size=30, size_granularity=30

默认参数范围

策略参数 1参数 2
ema-crossover快速 EMA:5-50慢速 EMA:10-60
rsi窗口:5-30超卖:20-40
donchian周期:5-50-
supertrend周期:5-30乘数:1.0-5.0

使用示例

/optimize ema-crossover RELIANCE NSE D /optimize rsi SBIN

评论

支持 Markdown