mcpField
A
algo-strategy

algo-strategy

github.com/marketcalls其他945 次安装26 周前更新
代码仓库

关于 algo-strategy

此技能根据现有模板生成双模式交易策略文件,并按用户选择设置标的、交易所、周期、指标库和执行类型。文件写入指定的 strategies 目录,并提供回测和实盘运行命令。

主要功能

  1. 01支持多种策略模板
  2. 02配置标的、交易所和周期
  3. 03询问指标库与执行类型
  4. 04生成兼容主机的策略文件
  5. 05提供回测与实盘运行命令

适用场景

  1. 01根据目录模板创建策略
  2. 02为 ML 策略配置训练文件
  3. 03准备策略以进行回测或实盘运行

安装

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

$npx skills add https://github.com/marketcalls/openalgo-execution-skills --skill algo-strategy

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

详细介绍

从模板创建完整的双模式策略文件。

参数

将 $ARGUMENTS 解析为:模板 symbol exchange interval

  • $0 = 模板(例如 ema-crossover、rsi、supertrend、donchian、macd、opening-range、atr-breakout、bb-squeeze、ml-logistic、ml-xgb、pairs-trading、regime-trend、event-driven)
  • $1 = symbol(例如 SBIN、RELIANCE、NIFTY)。默认值:模板目录中的默认值
  • $2 = exchange(例如 NSE、NSE_INDEX、NFO)。默认值:模板目录中的默认值
  • $3 = interval(例如 1m、5m、15m、D)。默认值:模板默认值

如果没有参数,询问用户想使用哪个模板。请参阅 algo-expert/rules/strategy-catalog.md。

生成前必须询问

解析参数后,询问用户(不要默默使用默认值):

  1. 指标库:(1) openalgo [默认] (2) talib

    • 默认使用 openalgo。用户必须明确确认使用 talib。
    • 专用指标(Supertrend、Donchian、Ichimoku、HMA、KAMA)始终使用 openalgo。
  2. 执行类型 - 默认值取决于模板(请参阅 strategy-catalog.md):

    • (1) end-of-candle (eoc) - 在 bar 收盘时生成信号,在下一根 bar 以 MARKET 执行(大多数模板的默认值)
    • (2) real-time limit (limit) - 由 tick 驱动的 LIMIT 下单(atr-breakout 的默认值)
    • (3) stop-trigger (stop) - 由经纪商端执行 SL/SL-M(opening-range 的默认值)

告知用户该模板建议使用的默认值,并允许用户选择其他值。

说明

  1. 阅读 algo-expert/rules/unified-strategy-pattern.md、mode-toggle.md 和 execution-types.md。
  2. 阅读匹配的模板 algo-expert/rules/assets/<template>/strategy.py,并以此为起点。
  3. 如果 strategies/<template>_<symbol>/ 目录不存在,则创建该目录。
  4. 将模板复制到 strategies/<template>_<symbol>/strategy.py,并:
    • 将 SYMBOL、EXCHANGE、INTERVAL 常量替换为用户指定的值
    • 将 INDICATOR_LIB 设为用户的选择("openalgo" 或 "talib")
    • 将 EXECUTION_TYPE 设为用户的选择("eoc"、"limit"、"stop")
    • 将 STRATEGY_NAME 更新为 <template>_<symbol>(默认值;可通过环境变量覆盖)
    • 调整 PRODUCT 以匹配资产类别(NSE 股票 → MIS 或 CNC;NFO → NRML)
    • 将 QUANTITY 调整为合理的起始值(股票为 1,期货为每手数量)
  5. 对于 ML 模板(ml-logistic、ml-xgb),还需复制 train.py,并提醒用户在运行策略之前先运行它:
    python strategies/ml_logistic_RELIANCE/train.py
    
  6. 文件必须符合 self-hosted-strategies.md 中的主机兼容性要求:
    • 优先读取 HOST_SERVER,然后回退到 OPENALGO_HOST
    • 从 OPENALGO_STRATEGY_EXCHANGE 读取交易所
    • 安装 SIGTERM/SIGINT 处理程序
    • 仅向 stdout 输出日志
    • 如果没有 --mode CLI 参数,dispatcher 从环境变量 MODE 读取值
  7. 输出:
    • 文件位置
    • 后续步骤:
      • 回测:python strategies/<name>/strategy.py --mode backtest
      • 实盘:python strategies/<name>/strategy.py --mode live
      • 上传到 /python:使用 /algo-host <name> 进行验证并生成上传指南

可用模板

模板默认 symbol默认 exchange默认 interval默认执行方式
ema-crossoverSBINNSE5meoc
rsiRELIANCENSE15meoc
supertrendNIFTYNSE_INDEX5meoc
donchianNIFTYNSE_INDEXDeoc
macdINFYNSEDeoc
opening-rangeSBINNSE5mstop
atr-breakoutRELIANCENSE5mlimit
bb-squeezeTCSNSE15meoc
ml-logisticRELIANCENSE15meoc
ml-xgbRELIANCENSE15meoc
pairs-tradingSBIN/PNBNSEDeoc(双腿)
regime-trendRELIANCENSEDeoc(ADX+VIX+成交量门控)
event-drivenRELIANCENSEDscheduled-time

对于期权模板(short-straddle、iron-condor),请改用 /algo-options。

成本

文件中的 COSTS = cost_lookup(PRODUCT, EXCHANGE) 会自动解析:

  • MIS + NSE → 0.0225% + Rs 20 + 5 bps 滑点
  • CNC + NSE → 0.111% + Rs 20 + 3 bps 滑点
  • NRML + NFO → 0.018% + Rs 20 + 2 bps 滑点(期货)
  • NRML + NFO with options → 0.098% + Rs 20 + 10 bps 滑点

如果用户需要不同的经纪商费率,请引导他们查看 algo-expert/rules/transaction-costs.md,以覆盖这些常量。

风险默认值

模板附带合理的 RISK 值(参见 strategy-catalog.md)。请告知用户,这些值只是起始点,并非最优值——实盘前应通过回测进行调优。

避免

  • 不要在代码、日志输出或技能文本中使用图标/表情符号
  • 不要在任意路径下生成文件——始终放在 strategies/<name>/ 下
  • 不要在用户未明确运行的情况下自动将 MODE=live 切换为实盘模式

评论

支持 Markdown