TqSdk2 内核基于C++全部重构,提供直连模式/接入资管平台(融航)/更快的回测速度
对外接口和 TqSdk 90%一致,欢迎大家体验模拟或回测
https://doc.shinnytech.com/tqsdk2/latest/quickstart.html#
需要开通tqsdk2 直连/接通融航试用,请联系 QQ 532428198
ringo 编辑问题 2021年5月24日
同样回测代码,回测最近两个月
只用把 from tqsdk import xxxx
改成 from tqsdk2 import xxxx
TqSdk 耗时: 53s
TqSdk2 同样代码耗时 5s
测试代码
from datetime import date from tqsdk2 import TqApi, TqAuth, TqBacktest, TargetPosTask, BacktestFinished from datetime import datetime # 在创建 api 实例时传入 TqBacktest 就会进入回测模式,设置web_gui=True开启图形化界面 begin = datetime.now() api = TqApi(backtest=TqBacktest(start_dt=date(2021, 3, 2), end_dt=date(2021, 5, 2)),web_gui=True, auth=TqAuth("信易账户", "账户密码")) position = api.get_position("SHFE.rb2106") # 获得 m1901 5分钟K线的引用 klines = api.get_kline_serial("SHFE.rb2106", 5 * 60, data_length=15) # 创建 m1901 的目标持仓 task,该 task 负责调整 m1901 的仓位到指定的目标仓位 target_pos = TargetPosTask(api, "SHFE.rb2106") try: while True: api.wait_update() if api.is_changing(klines): ma = sum(klines.close.iloc[-15:]) / 15 if klines.close.iloc[-1] > ma: # 设置目标持仓为多头5手 target_pos.set_target_volume(5) except BacktestFinished: end = datetime.now() print(f"总耗时{(end-begin).total_seconds()}") api.close()
ringo 编辑答案 2021年5月21日