Applied AI

QuantCoding Skill

从交易想法,到策略代码。

公开项目
PythonQuantAgent Skill

QuantCoding Skill 将自然语言策略转化为明确规格,按目标平台组织模板改写、静态检查和代码交付。工作流覆盖聚宽、RQAlpha、Backtrader 和 vn.py,输出策略文件、参数假设及运行说明,支持后续回测验证。

七要素规格作为中间表达

工作流接收交易想法与目标平台,先确定平台,再整理七要素规格:标的池、信号指标、买入条件、卖出条件、仓位管理、调仓频率、风控。各项条件对应明确的数据、计算窗口、阈值或执行时点。

例如,「放量」需量化为当日成交量超过二十日均量的指定倍数。缺失条件以显式假设补齐,并随代码交付。中间表达采用结构化规格文档,由 Agent 按工作流整理、核对。

平台接口与运行入口适配

各平台分别维护 API 参考、策略模板和常见错误说明,未指定时默认聚宽。数据获取、调度、订单和持仓访问按目标平台组织。

聚宽以 initialize 配合行情回调或定时调度;RQAlpha 使用 init、handle_bar 或调度器;Backtrader 以 bt.Strategy.next 推进;vn.py 使用 CTA 策略类与 on_bar。参数分别存于全局对象、上下文、策略参数或类属性及参数清单。

本地基本面策略需明确因子数据来源;现有 vn.py 模板面向 CTA,另需配套回测入口。平台适配同时约束数据来源、运行结构与交付文件。

模板改写与策略计算

模板覆盖双均线、动量轮动、基本面选股、网格及止损止盈,按七要素修改标的、信号、仓位与调仓逻辑,并检查成本、滑点、完整行情周期及可交易条件。

聚宽多因子模板先筛选有效估值与盈利数据,再从历史收盘价计算动量。估值、质量与动量经百分位排名统一为高分优先,默认综合分为 0.4 × 估值分 + 0.3 × 质量分 + 0.3 × 动量分。

策略选取前 N 个标的,按月调仓:先卖出未入选持仓,再等权分配目标组合并预留资金余量。权重与持仓数量集中配置;模板尚未进行行业和市值中性化。

语法编译与平台规则扫描

check_strategy.py 通过导入语句和入口特征识别平台,也支持显式指定。首先调用 Python compile 检查语法,不执行策略;语法错误报告行号并终止后续扫描。随后以文本和正则检查必要入口、证券代码、未来数据访问及接口残留。

RQAlpha 的 include_now=True、Backtrader 行情序列正索引、vn.py 参数清单缺少默认值均触发 FAIL;部分聚宽接口残留、成本或滑点设置缺失产生 WARN。FAIL 返回非零退出码;仅有 WARN 时返回成功,仍需逐项审阅。远端 API 与成交行为留至目标平台回测验证。

修复流程与代码交付

FAIL 修复后重新检查,WARN 结合常见陷阱清单审阅,有意保留的例外需说明。修改结果回到七要素规格核对,确保信号、调仓时点和仓位约束一致。

交付包含完整策略 Python 文件、假设与可调参数清单、平台运行步骤;vn.py 另附回测脚本。本地数据需说明区间与复权方式,期货场景需提供合约乘数、最小价格变动等条件。

静态检查覆盖语法与文本规则,策略信号、订单和持仓仍需在目标环境核对。项目范围为回测代码生成,不包含实盘执行。