知识库
DOCS // 技术文档

量化策略技术文档

策略编写 · 交易下单 · 数据指标 · 回测中心 · 模拟盘实战 · 风控合规

1. 策略编写入门

策略生命周期、事件模型、参数声明——与 IDE 右侧「策略文档」面板同源(管理端可编辑)

2. 交易下单与持仓管理

order 族 API、限价/触发挂单、context 组合状态——全部可在回测和模拟盘中使用

3. 数据取用与指标库

bar 行情对象、跨标的取数、停牌判断、14 个内置技术指标

4. 回测中心

参数配置、撮合逻辑、绩效指标、跨平台对齐——与 MATCHING_CONTRACT.md 同源

回测参数全解

strategyId策略 ID(从策略列表选择),策略源码在提交时钉住当前版本
symbols标的池,如 ["600519", "000001"];支持 A 股股票/ETF/指数
startDate / endDate回测起止日期,如 "2024-01-01" ~ "2024-06-30"
initialCash初始资金(元),默认 1,000,000
benchmark基准指数代码,如 "000300"(沪深300);用于计算超额收益
spreadBp单边半价差(bp,0~50):0 = 零滑点按收盘价成交(对齐聚宽口径);默认 10bp 平台保守口径
adjust复权口径:pre = 前复权(默认)/ none = 不复权
volumeParticipation容量参与率(0~1):0 = 关闭容量约束;默认 0.25(单笔成交量 ≤ 当根 bar 成交量 × 25%)
fillMode撮合基准价:close(默认)/ vwap(OHLC4 近似)
minCoverage数据覆盖度阈值(0~1,默认 0.9):0 = 显式放行数据缺口
commissionRate / stampTax佣金率(默认万3)/ 印花税率(默认 0.0005,仅卖出,2023-08-28 减半后现行口径)

撮合逻辑(三档)

instant(极速档)信号即以最新收盘价成交,最直观;不计入模拟盘榜单
standard(标准档,默认)成交价含 ±0.1% 冲击成本(滑点),买贵卖贱,贴近真实市场成交
conservative(保守档)买入按当日最高 / 卖出按当日最低,压力测试最坏执行边界

绩效指标

total_return(总收益率)(期末总资产 - 初始资金) / 初始资金
annual_return(年化收益率)按 244 个交易日年化(教学口径)
max_drawdown(最大回撤)净值曲线峰谷最大跌幅,负值
sharpe_ratio(夏普比率)(年化收益 - rf) / 年化波动率;rf = 0(教学简化)
win_rate(胜率)盈利笔数 / 总交易笔数

跨平台对齐(S4 对齐参数)

spreadBp = 0零滑点按收盘价成交——与聚宽等"日线收盘价"口径逐位可复现
adjust = pre前复权——与聚宽默认口径一致
fillMode = close按收盘价撮合——聚宽日线口径一致
已知差异history 含当根 bar(聚宽不含);年化 244 交易日(聚宽 252);品种特殊规则须录规格

5. 模拟盘实战

实例管理、信号流水、检查点恢复、自愈机制、通知——平台真实功能说明

实例生命周期

创建实例从策略列表启动模拟盘——选择标的池、初始资金;启动时自动订阅行情入同步池
运行中策略运行器(runner)在交易时段每分钟驱动一次 handle_bar;非交易时段自动暂停
暂停 / 恢复暂停期间跳过评估不交易;恢复后从当前 bar 继续
停止显式停止会销毁运行器、清理检查点;下次启动为全新状态
自动恢复运行器崩溃/被驱逐后 60 秒内自动重建(原地重建,不重复扣积分)

策略状态检查点

自动保存运行器每 5 分钟将策略 context 状态(自定义参数/bar 位标/ticks 计数)落库
重建恢复运行器自动重建后,从最近检查点恢复——有状态策略行为不再静默改变
组合不恢复现金/持仓始终以 sim 账户为唯一事实源(从服务端重新播种),不依赖检查点

信号流水与风控课堂

信号流水策略每根 K 线的决策痕迹逐条展示(时间/标的/动作/数量/价格)——在模拟盘详情页查看
被拒信号被风控拒绝的信号会标注原因(如"单笔委托超过总资产 30%")——这是策略改进的方向
拒单原因聚合模拟盘页"风控课堂"卡片汇总近 7 天被拒原因 Top6——一眼看出策略被什么规则卡住了

通知机制

停摆 / 恢复运行器停止/恢复自动推送站内信通知用户
成交通知每笔成交通知(含滑点/费用明细)
信号被拒通知风控拒单通知(含原因)
日终摘要每日收盘后推送当日盈亏/持仓/成交汇总

6. 风控与合规

12 条风控规则逐条解释、合规红线、被拒原因排查——从 t_risk_rule 真实规则提取

预警级规则(warn,不阻断交易)

R001 单笔仓位限制单笔委托金额超过总资产 30% 触发预警——建议分批建仓降低冲击
R002 单品种集中度单一品种持仓市值超过总资产 50% 触发预警——建议分散配置
R003 日亏损预警当日亏损超过 5% 触发预警——检查是否有止损逻辑
R004 回撤预警累计回撤超过 15% 触发预警——考虑降低仓位或暂停策略
R005 高频委托预警近 60 秒委托次数超过 20 笔触发预警——检查策略是否失控
R010 单日亏损熔断提示当日亏损超过 10% 触发提示——2026-10-20 自硬防线毕业,不再拦截委托,知情确认可调可关
R012 持仓集中度提示单一品种持仓市值超过总资产 60% 触发提示——2026-10-20 自硬防线毕业,不再拦截委托,知情确认可调可关

硬阻断规则(block,直接拒绝委托)

R011 高频委托硬限制近 60 秒委托次数超过 290 笔直接拒绝——平台防滥用防线(非投资判断)

合规红线(策略提交时静态检查)

选股/股票池函数(2026-10-15 订正)universe 族(get_index_members / get_all_securities / get_concepts / get_valuation / get_financials)全档免费可用;门禁=双揭示书签署(未签 41002/41003)+配额。旧「一律拒绝」口径已废止
Top-N 排名选股.nlargest() / .nsmallest() 合法;.sort_values() / .rank() 仅 advisory 提醒防过拟合,不阻断
禁止违禁词推荐买入 / 建议加仓 / 保证收益 / 稳赚 / 必涨 / 选股策略 / 排名筛选 / 代客理财等
禁止一切 importos / sys / requests / threading 等全部禁止;pandas/numpy 用注入的 pd. / np.
正确姿势context.symbols = ["600000", "601318", "000001"] 显式写死,池内逐标的按信号交易

被拒原因排查

查看信号流水模拟盘详情页 → 信号流水 → 被拒信号会标注风控规则编号与原因
查看风控课堂模拟盘列表页 → 风控课堂卡片 → 近 7 天被拒原因 Top6 聚合
查看通知站内信会收到"策略信号被拒"通知,包含具体规则与原因
改进方向降低单笔仓位(R001)/ 分散品种(R002/R012)/ 加入止损(R003/R010)/ 降低频率(R005/R011)

⚠️ 免责声明:模拟盘为教学环境,风控规则仅为教学目的设置,不代表真实市场风控。平台业务流止于模拟盘,不提供实盘交易通道。

免责声明:文档内容仅供技术参考,不构成任何投资建议;量化交易存在风险,请在充分了解风险后使用平台 API(平台业务流止于模拟盘,不提供实盘交易通道)。