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周期

步骤:

  1. 打开 strategy_setting.py
  2. 找到配置部分
  3. 修改参数:
# 修改前
sc_setting = {
    "symbol": "sc2505",
    "fast_window": 5,    # 快线
    "slow_window": 20,   # 慢线
    # ...
}

# 修改后
sc_setting = {
    "symbol": "sc2505",
    "fast_window": 10,   # 改为10 ✅
    "slow_window": 30,   # 改为30 ✅
    # ...
}
  1. 重新运行程序

案例2:更换交易品种

需求: 从原油(sc2505)切换到螺纹钢(rb2505)

步骤:

  1. 修改 strategy_setting.py
sc_setting = {
    "symbol": "rb2505",              # 改为螺纹钢 ✅
    "exchange": Exchange.SHFE,       # 改为上期所 ✅
    "strategy_name": "螺纹钢策略",   # 改名称
    # 其他参数不变
}
  1. 运行策略

案例3:添加止盈止损

需求: 设置2%止盈,1%止损

步骤:

  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%止损
  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. 限价单价格设置不合理
  2. 账户资金不足
  3. 交易时段不正确

解决方案:

# 方案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周:上线运营

  • ✅ 小资金实盘测试
  • ✅ 持续监控优化
  • ✅ 总结经验教训

🔗 相关资源

官方文档

学习材料

视频教程

  • 🎬 天勤量化入门系列
  • 🎬 双均线策略实战

💡 小贴士

✅ 好习惯

  1. 先回测,后实盘
  2. 小仓位开始
  3. 做好风控
  4. 记录交易日志
  5. 持续学习优化

❌ 避免的错误

  1. 不做回测直接实盘
  2. 重仓交易
  3. 频繁改参数
  4. 忽略风控
  5. 盲目追求收益

🎓 结语

恭喜你完成了快速入门!

现在你已经掌握了:

  • ✅ 环境搭建和配置
  • ✅ 双均线策略原理
  • ✅ 代码结构和执行流程
  • ✅ 参数修改和优化方向

下一步:

  1. 深入学习策略逻辑(阅读双均线策略详解
  2. 理解事件驱动机制(阅读策略运行脚本详解
  3. 开发自己的策略

📞 获取帮助

遇到问题?联系我们:

💡 提示: 加微信免费获取更多学习资料和策略源码!


免责声明: 本教程仅供学习交流使用,不构成任何投资建议。量化交易存在风险,请谨慎操作。


作者: Rudy
版本: v1.0
更新日期: 2025年