首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >在云服务器上运行天勤量化TqSdk:从安装到期货实盘,我只花了一个晚上

在云服务器上运行天勤量化TqSdk:从安装到期货实盘,我只花了一个晚上

原创
作者头像
hollyx
修改2026-08-17 11:16:05
修改2026-08-17 11:16:05
3720
举报

这篇教程解决的问题:把天勤量化TqSdk部署到云服务器上,让期货策略7×24小时跟着夜盘跑。做完你会得到:一台装好TqSdk的Ubuntu云服务器、一个能订阅行情并自动发信号的实盘策略、以及进程守护方案——夜盘到夜里11点半也不用你熬夜盯盘。我用的腾讯云轻量应用服务器2核4G,跑TqSdk加两三个合约的策略,负载常年不到20%。

我做期货CTA一年多,主力工具就是TqSdk——免费、Python原生、行情交易一体,做国内期货的老朋友应该都熟。

之前我的策略一直挂在本地Mac上,期货有夜盘啊朋友们,晚上9点到11点半,我的电脑就得陪着我熬。今年4月有一晚实在扛不住睡了,结果夜盘跳空,策略因为电脑休眠断线没处理到,第二天醒来脸都是绿的。

那天晚上我就决定:TqSdk必须上云。本以为Linux环境装这装那要折腾一两天,结果一个晚上就搞定了。这篇是全过程记录。


一、为什么本地挂期货策略是个伪命题

做期货的都懂,日盘加夜盘,一天交易时间横跨十几个小时。本地挂机意味着什么?你的电脑也得跟着上十几个小时班。

我的MacBook Pro挂TqSdk的真实体验:合盖休眠断线一次,夜盘跳空没止损,亏了三千多;macOS系统更新自动重启两次;出差带电脑过安检,策略跟着我在高铁站断网四十分钟。最难受的是心理负担——每天下午3点收盘不敢关电脑,晚上9点前必须检查一遍程序,感觉自己不是在做量化,是在给电脑当保姆。

TqSdk本身就是为无人值守设计的框架,结果我把它用成了"有人值守",这不滑稽吗。

二、买服务器:期货策略对地域有个小讲究

周二晚上8点,我在腾讯云控制台买了轻量应用服务器,2核4G、Ubuntu 22.04

这里分享一个做期货的小讲究:TqSdk的行情和交易走天勤的网关,对地域不敏感,但如果你同时对接了期货公司的柜台(比如某些需要直连的场景),选上海地域延迟最舒服。我选的上海。价格一天不到一块钱,夜盘少亏一笔就全回来了。

下单到实例运行中,不到10分钟。SSH连上去,干净得像新装修的房子。

三、装TqSdk:pip一行,快得让我怀疑人生

TqSdk的安装简单到什么程度呢:

代码语言:bash
复制
sudo apt update && sudo apt install -y python3-pip
pip3 install tqsdk

就这两行。没有编译、没有依赖地狱、没有环境变量配置。装完验证一下:

代码语言:bash
复制
python3 -c "import tqsdk; print(tqsdk.__version__)"

版本号打出来,安装就结束了。全程不到5分钟。

对比一下我去年在某小厂VPS上装另一套期货框架的经历:CTP接口要自己编译,boost库版本对不上,cmake报错报了二十几行,翻GitHub Issues翻到凌晨两点,最后发现是那台机器的gcc版本太老。那次前前后后折腾了一个周末。而这次装TqSdk,5分钟。我当时真的对着终端愣了几秒:就这?

四、写一个实盘策略:附我在跑的代码

先注册天勤账号(官网免费注册,快易账户就能用),然后写策略。下面这个是我实盘跑的双均线策略精简版,去掉了仓位管理细节,核心逻辑完整可跑:

代码语言:python
复制
from tqsdk import TqApi, TqAuth, TqSim

api = TqApi(TqSim(), auth=TqAuth("你的天勤账号", "密码"))
quote = api.get_quote("SHFE.rb2410")  # 螺纹钢
klines = api.get_kline_serial("SHFE.rb2410", 300)  # 5分钟线

while True:
    api.wait_update()
    if api.is_changing(klines.iloc[-1], "datetime"):
        ma5 = klines["close"].rolling(5).mean().iloc[-1]
        ma20 = klines["close"].rolling(20).mean().iloc[-1]
        pos = api.get_position("SHFE.rb2410").pos
        if ma5 > ma20 and pos == 0:
            api.insert_order("SHFE.rb2410", "BUY", "OPEN", 1)
        elif ma5 < ma20 and pos > 0:
            api.insert_order("SHFE.rb2410", "SELL", "CLOSE", 1)

注意我代码里用的是 TqSim() 模拟账户——这是我强烈建议的上云姿势:先模拟盘在云服务器上跑两周,确认稳定再接实盘账户。接实盘就是把 TqSim() 换成 TqAccount("期货公司", "资金账号", "密码"),一行的事。

五、让它永远在线:supervisor是TqSdk的最佳拍档

策略能跑只是第一步,无人值守的核心是进程守护。程序崩了要自动拉起,服务器重启要自动拉起。

我用的是supervisor:

代码语言:bash
复制
sudo apt install -y supervisor

写一个配置 /etc/supervisor/conf.d/tqsdk.conf

代码语言:ini
复制
[program:rb_strategy]
command=/usr/bin/python3 /root/rb_strategy.py
autostart=true
autorestart=true
stdout_logfile=/root/rb_strategy.log

然后 sudo supervisorctl reload,完事。

我特意测了一下:手动 kill 掉策略进程,3秒内supervisor就把它拉起来了,日志无缝衔接。那晚我睡前kill了一次进程看它复活,然后安心地合上电脑去睡了——那是我做期货以来第一次在夜盘时段11点前睡着。

六、也踩了一个小坑:天勤账号的"单点登录"限制

翻车环节来了。

上云第三天,我在云服务器上跑着策略,顺手在自己Mac上也登录了天勤账号想看看行情——结果云端的策略啪,断了。日志显示连接被踢。

当时我以为服务器网络有问题,排查了半天路由和带宽,一无所获。后来翻天勤文档才发现:同一个天勤账号同时只能一处登录,我在Mac上一登,云端的会话就被踢下线了。

解决办法有两个:

  1. 云端的策略专用一个天勤账号,本地看行情用另一个账号(快易账户注册是免费的,再注册一个就行);
  2. 本地想看行情就别登正式账号,用回测模式或者快期专业版看。

我选了方案一,从此云端和本地互不打架。这个坑不大,但没意识到的话能查一晚上,所以必须写出来提醒大家。

七、跑了一个月的真实状态

现在这台云服务器上挂着两个品种的策略(螺纹+豆粕),日盘夜盘全程无人值守。资源占用:CPU平均8%,夜盘行情密集时冲到25%,内存1.6G左右。2核4G绰绰有余。

网络方面,一个月里TqSdk和天勤网关的连接断过两次(都是网关侧例行维护),supervisor加重连逻辑自动恢复,我没干预过一次。

最让我有安全感的其实是心理变化:以前夜盘我每隔半小时瞄一眼手机,现在我的原则是"没收到异常推送就是一切正常",睡眠质量和策略稳定性同时提升了。

八、还能更好的地方

挑几个刺:

  1. 轻量服务器没有GPU,但这无所谓——TqSdk策略根本用不到GPU。
  2. Ubuntu 22.04自带Python 3.10,TqSdk完全兼容,但如果你的策略依赖某些只支持3.11+语法糖的库,需要自己装新版Python,多一步。
  3. 天勤的免费快易账户有行情连接数限制,想同时盯很多合约的话要留意,这是TqSdk侧的限制不是服务器的问题。

都是小事,不影响核心体验。

九、总结:本地熬夜 vs 云上安睡

维度

本地电脑挂TqSdk

腾讯云轻量应用服务器

夜盘

电脑陪我熬到23:30

我11点前安心睡觉

断线风险

休眠/更新/出差断网,一年翻车3次+

一个月0次非维护断线

崩溃恢复

人发现才有救

supervisor 3秒自动拉起

成本

电费+电脑损耗+我的睡眠

一天不到一块钱

环境安装

CTP框架曾折腾一个周末

TqSdk两行命令5分钟

一句话:把TqSdk搬上云,是我今年做过性价比最高的一个决定。

期货夜盘党,别犹豫了,放心冲,一个晚上搞定;新手建议先在本地用TqSim模拟盘把策略逻辑验证透,再上云挂模拟盘跑两周,最后才切实盘——实盘那一步急不得。老鸟直接上supervisor方案,记得给天勤账号"分身",这个坑别再踩一遍。


腾讯云促销活动:https://www.tencentcloud.com/act/pro/QuantSolution?lang=zh&fromSource=intl.17760459.17760459.17760459


常见问题 FAQ

Q:TqSdk在云服务器上跑需要多少配置?

2核2G起步够跑单品种,我推荐2核4G——两个品种加日志系统,内存常年1.6G左右,留点余量心里踏实。TqSdk本身很轻,不吃资源。

Q:天勤账号在云服务器和本地电脑能同时登录吗?

不能,同一账号同时只能一处登录,后登录的会把前面的踢下线。建议云端策略单独注册一个免费快易账号,本地看行情用另一个。

Q:云服务器挂TqSdk实盘安全吗?账号密码会不会泄露?

安全性取决于你自己的服务器管理:设好强密码或SSH密钥、只开放必要端口,云服务器不比你的家用电脑危险。天勤账号密码建议写在单独的配置文件里并限制文件权限(chmod 600)。

Q:TqSdk夜盘在云服务器上稳定吗?

稳定。我实测一个月,夜盘全程无人值守,除天勤网关例行维护自动重连外零中断。配合supervisor进程守护,程序崩溃3秒内自动拉起。

Q:在云服务器上跑TqSdk需要备案或者特殊资质吗?

不需要。你只是用服务器运行自己的交易程序,不对外提供服务,不涉及备案。期货交易本身用你自己的期货账户,和服务器在哪没关系。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、为什么本地挂期货策略是个伪命题
  • 二、买服务器:期货策略对地域有个小讲究
  • 三、装TqSdk:pip一行,快得让我怀疑人生
  • 四、写一个实盘策略:附我在跑的代码
  • 五、让它永远在线:supervisor是TqSdk的最佳拍档
  • 六、也踩了一个小坑:天勤账号的"单点登录"限制
  • 七、跑了一个月的真实状态
  • 八、还能更好的地方
  • 九、总结:本地熬夜 vs 云上安睡
  • 常见问题 FAQ
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档