输入/搜索内容
0
关注
0
关注者
GetTicker回测时的耗时是怎么设定的
帮助
创建于 2021-11-18 10:03:35  更新于 2021-11-18 11:00:52
 1
 1232

1. 起因
把代码从backtrader迁移过来时,发现结果差异很大。

2. 问题
debug发现其中一个原因是youquant似乎为了模拟实盘的环境,很多行情/交易api加了随机的延时?

比如

Log(_D(), "get cur_ticker...")
_C(exchange.SetContractType, contract)
Log(_D(), "SetContractType ok!")
ticker = exchange.GetTicker()
Log(_D(), "get cur_ticker ok!")

这里贴个结果
img

好像都在15秒,30秒,甚至一分钟的也有。

3. 疑惑
想问的是:
1、刚开始用youquant,不知道这个现象正常么
2、这个跟我的回测环境有关系吗,我是腾讯云服务器托管者回测的,难道托管者从youquant数据api接收的延时被按照比例乘进去了
3、实际的交易中,获取一个ticker真的要这么久吗

4. 环境
python3.7 腾讯云Ubuntu18.04 期货rb888

5.第一次补充信息
离谱,我发现把while循环里跟交易相关的注释掉后,就没有延迟了。

6.第二次补充信息
我发现不是把交易相关的注释掉,而是应该把上面还有一个exchange.GetTicker给注释掉就好了
结合youquant的api,我的猜测是这样的——
api里面说,模拟ticker是把一根bar分成了14份,有14个插值;
我是5分钟bar,分成14份,每次就是21秒;
而每调用一次exchange.GetTicker
就会调到下一次21秒之后,
这个正是延迟的来源?

相关推荐
评论
全部评论 (0)
暂无数据
暂无数据
  • 1
iPhone 下载
社区
回测系统
© 2015 - ∞ YouQuant 豫ICP备19046564号