Docs
👜期货量化框架
👜期货量化框架
期货量化框架是基于Python的接口封装的量化交易框架。 用户可以方便的实现量化交易策略
天勤策略模版快速入门指南
学习时间: 30分钟
适合人群: 量化交易初学者、Python开发者
🚀 10分钟快速开始
第一步:安装依赖
# 安装核心库
pip install tqsdk
pip install studyquant
pip install python-dotenv
pip install pandas numpy
pip install apscheduler
第二步:配置账号
在项目根目录创建 .env
文件:
# 天勤账号(必填)
tq_account=你的天勤账号
tq_password=你的天勤密码
# API密钥(可选)
api_key=
secret_key=
第三步:运行回测
python 1天勤策略运行.py
🎉 恭喜! 你的第一个量化策略已经开始运行了!
📖 5个核心概念
1️⃣ 策略文件结构
1天勤策略模版/
├── 1天勤策略运行.py # 🔵 主运行文件
├── double_ma_strategy.py # 🔴 策略逻辑
├── strategy_setting.py # 🟢 参数配置
└── README.md # 📄 说明文档
记住这三个文件:
- 蓝色文件: 启动程序入口
- 红色文件: 策略核心逻辑
- 绿色文件: 策略参数设置
2️⃣ 双均线策略原理
金叉(买入信号) 死叉(卖出信号)
↓ ↓
快线向上穿过慢线 快线向下穿过慢线
一句话理解:
- 快线上穿慢线 = 价格上涨趋势 → 买入
- 快线下穿慢线 = 价格下跌趋势 → 卖出
3️⃣ 三种运行模式
模式 | 文件 | 用途 | 风险 |
---|---|---|---|
🔙 回测 | 1天勤策略运行.py | 历史数据验证 | ✅ 无风险 |
🎮 模拟 | 1天勤策略运行kq3.py | 实盘前测试 | ✅ 无风险 |
💰 实盘 | 1天勤策略运行.py | 真实交易 | ⚠️ 真实资金 |
建议路径: 回测 → 模拟 → 实盘
4️⃣ 事件驱动机制
while True:
等待行情更新
if K线更新:
执行策略逻辑
if 价格变化:
更新Tick数据
if 持仓变化:
更新仓位信息
核心思想: 行情变化触发策略执行
5️⃣ 交易流程
1. 获取行情 → 2. 计算指标 → 3. 生成信号 → 4. 执行交易 → 5. 风控管理
🎯 3个实战案例
案例1:修改均线参数
需求: 将快线改为10周期,慢线改为30周期
步骤:
- 打开
strategy_setting.py
- 找到配置部分
- 修改参数:
# 修改前
sc_setting = {
"symbol": "sc2505",
"fast_window": 5, # 快线
"slow_window": 20, # 慢线
# ...
}
# 修改后
sc_setting = {
"symbol": "sc2505",
"fast_window": 10, # 改为10 ✅
"slow_window": 30, # 改为30 ✅
# ...
}
- 重新运行程序
案例2:更换交易品种
需求: 从原油(sc2505)切换到螺纹钢(rb2505)
步骤:
- 修改
strategy_setting.py
:
sc_setting = {
"symbol": "rb2505", # 改为螺纹钢 ✅
"exchange": Exchange.SHFE, # 改为上期所 ✅
"strategy_name": "螺纹钢策略", # 改名称
# 其他参数不变
}
- 运行策略
案例3:添加止盈止损
需求: 设置2%止盈,1%止损
步骤:
- 在
1天勤策略运行.py
中添加:
# 在策略初始化后添加
strategy = DoubleMaStrategy(exchange, "策略名", exchange.vt_symbol, sc_setting)
strategy.trading = True
# ✅ 添加这两行
strategy.fix_stop_profit_percent = 0.02 # 2%止盈
strategy.fix_stop_loss_percent = 0.01 # 1%止损
- 在策略的
on_future_tick()
方法中启用:
def on_future_tick(self, tick: TickData):
self.tick = tick
# ✅ 添加这一行
if self.position:
self.process_stop_profit_loss(self.position, tick)
⚙️ 常用参数配置
基础参数模板
setting = {
# ===== 品种设置 =====
"symbol": "SA505", # 交易品种代码
"exchange": Exchange.CZCE, # 交易所
"strategy_name": "双均线策略", # 策略名称
# ===== 周期设置 =====
"time_frame": Interval.MIN5, # K线周期
"fast_window": 5, # 快线周期
"slow_window": 20, # 慢线周期
# ===== 交易设置 =====
"order_amount": 1, # 下单数量
"order_type": OrderType.LIMIT, # 订单类型
# ===== 风控设置 =====
"fix_stop_profit_percent": 0.02, # 止盈比例
"fix_stop_loss_percent": 0.01, # 止损比例
# ===== 运行模式 =====
"mode": RunMode.BACKTESTING, # 运行模式
"test_mode": True, # 测试模式
}
常用交易所代码
Exchange.CZCE # 郑州商品交易所(白糖SA、棉花CF等)
Exchange.SHFE # 上海期货交易所(螺纹钢rb、铜cu等)
Exchange.DCE # 大连商品交易所(豆粕m、铁矿石i等)
Exchange.INE # 上海国际能源中心(原油sc)
Exchange.CFFEX # 中国金融期货交易所(股指期货IH、IF等)
常用时间周期
Interval.MINUTE # 1分钟
Interval.MIN5 # 5分钟
Interval.MIN15 # 15分钟
Interval.MIN30 # 30分钟
Interval.HOUR # 1小时
Interval.DAILY # 日线
🐛 常见问题解决
Q1: 连接失败怎么办?
错误信息: "连接超时" 或 "认证失败"
解决方案:
# 1. 检查.env文件配置
load_dotenv()
print(f"账号: {os.environ.get('tq_account')}") # 确认读取正确
# 2. 验证账号密码
# 登录天勤官网确认账号状态
# 3. 检查网络连接
# 确保可以访问天勤服务器
Q2: K线不更新?
原因: 可能在非交易时段
解决方案:
# 检查当前时间和交易时段
import datetime
now = datetime.datetime.now()
print(f"当前时间: {now}")
# 期货交易时间(大致):
# 白盘: 9:00-15:00
# 夜盘: 21:00-次日2:30
Q3: 订单不成交?
可能原因:
- 限价单价格设置不合理
- 账户资金不足
- 交易时段不正确
解决方案:
# 方案1: 使用市价单
strategy.order_type = OrderType.MARKET
# 方案2: 调整限价单价格
self.buy_price = self.tick.ask_price_1 # 直接用卖一价买入
self.sell_price = self.tick.bid_price_1 # 直接用买一价卖出
# 方案3: 检查账户余额
account = exchange.GetAccount()
print(f"可用资金: {account.available}")
Q4: 如何查看策略运行状态?
添加日志输出:
def on_future_kline(self):
# 在策略执行时打印关键信息
print(f"""
========== 策略状态 ==========
时间: {datetime.now()}
持仓: {self.pos}
快线: {self.fast_ma0:.2f}
慢线: {self.slow_ma0:.2f}
最新价: {self.tick.last_price if self.tick else 'N/A'}
============================
""")
📈 进阶学习路径
第1周:理解基础
- ✅ 掌握双均线策略原理
- ✅ 熟悉代码结构
- ✅ 运行回测并调整参数
第2周:优化策略
- ✅ 添加止盈止损
- ✅ 测试不同参数组合
- ✅ 学习多周期结合
第3周:实战准备
- ✅ 模拟账户测试
- ✅ 风控系统完善
- ✅ 监控和日志系统
第4周:上线运营
- ✅ 小资金实盘测试
- ✅ 持续监控优化
- ✅ 总结经验教训
🔗 相关资源
官方文档
- 天勤文档: https://doc.shinnytech.com/tqsdk/latest/
- StudyQuant: https://studyquant.com
学习材料
- 📖 策略运行脚本详解
视频教程
- 🎬 天勤量化入门系列
- 🎬 双均线策略实战
💡 小贴士
✅ 好习惯
- 先回测,后实盘
- 小仓位开始
- 做好风控
- 记录交易日志
- 持续学习优化
❌ 避免的错误
不做回测直接实盘重仓交易频繁改参数忽略风控盲目追求收益
🎓 结语
恭喜你完成了快速入门!
现在你已经掌握了:
- ✅ 环境搭建和配置
- ✅ 双均线策略原理
- ✅ 代码结构和执行流程
- ✅ 参数修改和优化方向
下一步:
📞 获取帮助
遇到问题?联系我们:
- 微信: studyquant88
- 网站: https://studyquant.com
- 邮箱: [email protected]
💡 提示: 加微信免费获取更多学习资料和策略源码!
免责声明: 本教程仅供学习交流使用,不构成任何投资建议。量化交易存在风险,请谨慎操作。
作者: Rudy
版本: v1.0
更新日期: 2025年