vn.py官网
Veighna量化社区 | 你的开源社区量化交易平台
Member
加入于:
帖子: 78
声望: 0

加入没有数据录制,也没有买任何数据。就靠实盘策略跑的时候CTA模块存的数据,好像也是能跑的?这个CTA模块存下来的实盘数据放在哪里了呢?我如果对CTA模块进行初始化之后,之前存当天的实盘数据就都没了,是正常的么?

Member
avatar
加入于:
帖子: 271
声望: 29

cta模块不会存储市场数据。

ctabacktester使用数据库中数据进行回测。

ctastrategy使用交易接口推送的数据进行交易。

本地数据可以通过datarecorder进行录制或者datamanager进行下载。

Member
加入于:
帖子: 78
声望: 0

郭易燔 wrote:

cta模块不会存储市场数据。

ctabacktester使用数据库中数据进行回测。

ctastrategy使用交易接口推送的数据进行交易。

本地数据可以通过datarecorder进行录制或者datamanager进行下载。

“ctastrategy使用交易接口推送的数据进行交易”。 是不是实盘跑的时候系统把CTP接口收到的数据存到某个缓存里面了呀?

Member
avatar
加入于:
帖子: 2875
声望: 200

没有存入数据库,实盘交易所推过来的tick会通过事件引擎推给策略的on_tick函数,然后通过BarGenerator生成bar推给策略的on_bar函数。
需要存储交易所推过来的数据的话请通过data_recorder模块录制数据,可参考https://www.vnpy.com/docs/cn/data_recorder.html

Member
加入于:
帖子: 78
声望: 0

xiaohe wrote:

没有存入数据库,实盘交易所推过来的tick会通过事件引擎推给策略的on_tick函数,然后通过BarGenerator生成bar推给策略的on_bar函数。
需要存储交易所推过来的数据的话请通过data_recorder模块录制数据,可参考https://www.vnpy.com/docs/cn/data_recorder.html

比如我开实盘策略跑一上午,但是没有开data_recorder,貌似策略也能自己记录实盘数据?因为我在实盘的时候 每分钟print 出来过去10个bar的close price,每隔一分钟print一次,每次都能不仅看到最新1分钟的价格,也能看到前几分钟的价格。所以本身策略把bar数据存起来了?

Member
avatar
加入于:
帖子: 2875
声望: 200

存进了ArrayManager里用于指标计算,但是最多只能存size根(比如am的默认size是100,就最多只能存100根)
https://www.vnpy.com/docs/cn/cta_strategy.html

Member
加入于:
帖子: 78
声望: 0

xiaohe wrote:

存进了ArrayManager里用于指标计算,但是最多只能存size根(比如am的默认size是100,就最多只能存100根)
https://www.vnpy.com/docs/cn/cta_strategy.html

谢谢!所以存够了100根以后,就是通过CTP接口新进来一个数据,就顶掉一个老数据是吧?这个过程是不需要行情录制的对吧?就是Cta_Strategy自己会在实盘跑的时候自己存100个最近的历史数据,对吧?

Member
avatar
加入于:
帖子: 2875
声望: 200

K线的话,不是接口推送,是BarGenerator合成。
如果策略里用了ArrayManager的话,ArrayManager就会存。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】