tqsdk 应用笔记 一 回测
from datetime import date from tqsdk import TqApi, TqAuth, TqBacktest, TargetPosTask # 在创建 api 实例时传入 TqBacktest 就会进入回测模式, 开启图形化界面 api = TqApi(backtest=TqBacktest(start_dt=date(2018, 5, 2), end_dt=date(2018, 5, 10)),web_gui="http://127.0.0.1:9888", auth=TqAuth("mytqaccount", "mypassword")) # 获得 m1901 5分钟K线的引用 klines = api.get_kline_serial("DCE.m1901", 30 * 60, data_length=15) # 创建 m1901 的目标持仓 task,该 task 负责调整 m1901 的仓位到指定的目标仓位 target_pos = TargetPosTask(api, "DCE.m1901")
while True: api.wait_update() if api.is_changing(klines): ma = sum(klines.close.iloc[-15:]) / 15 print("最新价", klines.close.iloc[-1], "MA", ma) if klines.close.iloc[-1] > ma: target_pos.set_target_volume(5) elif klines.close.iloc[-1] < ma: target_pos.set_target_volume(0)
一个简单的 tq 回测范例,可以用web页面观察
api.wait_update() 是tq 的系统核心部分,相当于步进一个查询结果,内部处理下单撮合等过程。每次推出一个新的 klines (k线)
分类:
tqsdk
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~