讲师中心 微信公众号

工具推荐

视频效率加速
剧云
剧云

中文短剧剧本制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Seko
Seko

AI短剧一键生成成片

AniShort
AniShort

AI短剧协同制作平台

Quant Strategy Development

Polar Sponsor
爱发电 赞助
.NET 9.0

量化策略开发主技能。触发:开发/设计量化策略、写策略代码。提供标准流程、代码规范、检查清单和代码模板,适用于项目开发阶段。

量化策略开发技能

功能概述

量化策略开发技能是一项面向实际任务的技能,主要用于版本:1.0.0;适用项目:量化策略项目(A股、美股);

核心要点

  • 🎯 核心原则;
  • 原则1:回测引擎 = 实盘策略;
  • 必须使用相同的代码逻辑!

使用与执行

✅ 买入条件完全一致;✅ 卖出条件完全一致;✅ 价格假设完全一致;✅ 持仓管理完全一致;原则2:先验证,后实盘;验证流程 :;原则3:小步快跑;小资金测试(1-5万);短时间观察(1-2周);快速迭代修复;

结果检查与注意事项

📋 标准开发流程;阶段1:策略设计;策略逻辑文档;买入条件(明确、。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

量化策略开发技能

版本:1.0.0 适用项目:量化策略项目(A股、美股)

🎯 核心原则

原则1:回测引擎 = 实盘策略

必须使用相同的代码逻辑!

  • ✅ 买入条件完全一致
  • ✅ 卖出条件完全一致
  • ✅ 价格假设完全一致
  • ✅ 持仓管理完全一致

原则2:先验证,后实盘

验证流程:

策略开发 → QMT回测 → 小额实盘 → 正式运行

原则3:小步快跑

  • 小资金测试(1-5万)
  • 短时间观察(1-2周)
  • 快速迭代修复

📋 标准开发流程

阶段1:策略设计

输出:

  • 策略逻辑文档
  • 买入条件(明确、可量化)
  • 卖出条件(必须完整)
  • 资金管理规则
  • 风控规则

检查清单:

  • 买入条件是否明确?
  • 卖出条件是否完整?(信号过期、止损、止盈、趋势反转)
  • 资金管理是否合理?(单只仓位、总仓位、资金限制)
  • 风控是否完善?(止损、止盈、最大回撤)

阶段2:代码开发

关键要求:

2.1 代码模板

# 1. 全局状态对象
class GlobalState:
    pass
G = GlobalState()

# 2. 初始化
def init(ContextInfo):
    # 初始化全局状态
    G.waiting_list = []
    G.sent_orders = set()
    G.buy_prices = {}  # 记录买入价格
    
    # 设置股票池
    ContextInfo.set_universe(stock_list)

# 3. 买入逻辑
def handlebar(ContextInfo):
    # 检查waiting_list
    if check_waiting_orders(ContextInfo):
        return
    
    # 买入条件判断
    for stock in signals:
        if 买入条件:
            # ⚠️ 关键:passorder的prType参数
            passorder(23, 1101, accID, code, 14, -1, volume, ...)  # prType=14(对手价)
            
            # 记录已发送委托
            G.sent_orders.add(code)
            G.waiting_list.append(msg)

# 4. 卖出逻辑(完整)
def check_and_sell_positions(ContextInfo, ...):
    for stock in positions:
        # 1. 检查止损
        pnl_ratio = (current_price - buy_price) / buy_price
        if pnl_ratio <= -STOP_LOSS:
            卖出(f"stop_loss ({pnl_ratio*100:.2f}%)")
        
        # 2. 检查止盈
        elif pnl_ratio >= TAKE_PROFIT:
            卖出(f"take_profit ({pnl_ratio*100:.2f}%)")
        
        # 3. 检查信号过期
        elif stock_code not in signals:
            卖出("signal_expired")
        
        # 4. 趋势反转(可选)
        elif 趋势反转条件:
            卖出("trend_reversal")

检查清单:

  • 是否有全局状态对象?
  • 是否有waiting_list防重机制?
  • passorder的prType参数是否正确?(14=对手价)
  • 卖出条件是否完整?(止损+止盈+信号过期+趋势反转)
  • 是否记录买入价格?

阶段3:代码测试(必须)

⚠️ 强制要求:代码变更后,必须通过测试才能进入下一阶段

3.1 测试用例模板

# tests/test_xxx.py

import sys
sys.path.insert(0, '/path/to/project')

from module import function_to_test

print("=" * 60)
print("模块名称测试")
print("=" * 60)

# 测试1:正常流程
print("n[测试1] 正常流程")
result = function_to_test(normal_input)
assert result == expected_output, "正常流程失败"
print("  ✅ 通过")

# 测试2:边界条件
print("n[测试2] 边界条件")
result = function_to_test(edge_case_input)
assert result == edge_case_output, "边界条件失败"
print("  ✅ 通过")

# 测试3:异常情况
print("n[测试3] 异常情况")
try:
    function_to_test(invalid_input)
    assert False, "应抛出异常"
except ValueError:
    print("  ✅ 通过")

print("n" + "=" * 60)
print("✅ 所有测试通过!")
print("=" * 60)

3.2 测试检查清单

测试类型 检查项 状态
功能测试 核心功能正常 [ ]
边界测试 空输入、满输入、临界值 [ ]
异常测试 错误输入、网络异常、数据缺失 [ ]
回归测试 历史功能未破坏 [ ]

强制要求:

  • 每个核心模块有对应测试文件
  • 所有测试通过才能提交代码

阶段4:回测验证

4.1 回测参数设置

必须和实盘一致:

  • 初始资金
  • 单只仓位
  • 最大持仓数
  • 止损比例
  • 止盈比例
  • 手续费率
  • 滑点设置

4.2 回测检查清单

  • 买入股票数量是否合理?
  • 买入价格是否接近实际价格?
  • 是否有异常买卖?(买入后立即卖出)
  • 持仓时间是否合理?
  • 收益表现是否符合预期?

阶段5:实盘准备

5.1 代码审查关键点

# 检查项1:买入和卖出的信号范围是否一致
# ❌ 错误
if stock_code not in signals[:10]:  # 卖出:检查前10只
    卖出
for stock in filtered_signals:  # 买入:从过滤后的信号买
    买入

# ✅ 正确
if stock_code not in signals:  # 卖出:检查整个信号列表
    卖出
for stock in filtered_signals:  # 买入:从过滤后的信号买
    买入

# 检查项2:passorder的prType参数
# ❌ 错误
passorder(23, 1101, accID, code, -1, ...)  # prType=-1(使用默认,偏高)

# ✅ 正确
passorder(23, 1101, accID, code, 14, ...)  # prType=14(对手价,滑点可控)

5.2 风控设置

必须设置:

  • 金额合规(限制资金上限)
  • 反向单交易(禁止买入后立即卖出)
  • 对敲单交易(禁止高买低卖)

5.3 资金安全

必须确认:

  • 代码硬编码资金限制
  • QMT风控限制
  • 双重保护

阶段6:小资金实盘

6.1 资金规模

建议:5000-10000元

6.2 监控要点

开盘后前1分钟:

  • 策略启动正常
  • 信号加载正常
  • 数据获取正常
  • 买入触发正常
  • 委托确认正常
  • 持仓更新正常

观察期:1-2周

⚠️ 关键教训

教训1:止损止盈逻辑缺失

问题:策略定义了止损止盈参数,但卖出逻辑中没有实现

正确做法:

# ✅ 完整的卖出逻辑
def check_and_sell_positions(ContextInfo, ...):
    # 1. 检查止损
    pnl_ratio = (current_price - buy_price) / buy_price
    if pnl_ratio <= -STOP_LOSS:
        卖出(f"stop_loss")
    
    # 2. 检查止盈
    elif pnl_ratio >= TAKE_PROFIT:
        卖出(f"take_profit")
    
    # 3. 检查信号过期
    elif stock_code not in signals:
        卖出("signal_expired")

教训:

  1. 定义的参数必须在代码中实现
  2. 卖出条件必须完整:信号过期 + 止损 + 止盈
  3. 必须记录买入价格

教训2:买入和卖出信号范围不一致

问题:卖出检查前10只,买入从过滤后的信号买

正确做法:

  • 买入和卖出的信号范围必须一致
  • 都检查整个信号列表

教训3:passorder的prType参数错误

问题:使用prType=-1,导致价格不可控

正确做法:

  • 使用prType=14(对手价)
  • 滑点可控

🚫 禁止事项

  1. ❌ 回测引擎和实盘策略使用不同的代码逻辑
  2. ❌ 买入和卖出的信号范围不一致
  3. ❌ 使用prType=-1(价格不可控)
  4. ❌ 没有waiting_list防重机制
  5. ❌ 没有小资金测试直接大资金实盘
  6. ❌ 没有止损止盈逻辑

📚 参考文档

  • QMT官方示例(双均线实盘、竞价选股、行业轮动、多因子选股)
  • QMT API文档
  • QMT_STRATEGY_DEVELOPMENT_STANDARDS.md

🎯 成功标准

指标 标准
策略设计 买入/卖出条件明确完整
代码质量 有防重机制、止损止盈完整
测试通过 所有测试用例通过
回测验证 表现符合预期
实盘准备 风控设置完整

技能版本:1.0.0 基于:QUANT_STRATEGY_DEVELOPMENT_STANDARD_PROCESS.md

目录

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn