vn.py量化社区
By Traders, For Traders.
Member
加入于:
帖子: 23
声望: 0

1、请问在使用simnow进行模拟交易时,策略实例进行初始化之后,实盘数据是怎么跟本地数据结合使用的?
也就是,想知道实盘中用于计算指标的数据,都是来自于哪里的?
2、同一个策略,同一个品种,同一组参数,生成了两个实例,不同的是,其中一个实例已经运行了两天,另一个实例是刚生成的,但是在开盘之后二者的指标值却不一样,请问这是什么原因导致的呢?

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

另外,我的本地数据库配置的是mysql,数据来源于wind,感谢!!

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

还想问下,在模拟交易过程中,程序是否会自动记录最近一段时间的交易数据,以便第二天开盘初始化的过程中,自动读取相关数据至缓存中?否则,我实在无法理解,为什么已经交易几天的策略实例会跟重新生成的策略实例的指标数值不一样,因为我每天交易收盘之后,都会关闭vntrader,第二天再重启的,先谢过~!

Administrator
avatar
加入于:
帖子: 4028
声望: 220
  1. 有RQData的情况下,直接获取RQData服务器的最新数据进行初始化
  2. 否则,加载本地数据库的数据进行初始化
  3. 初始化完成后,加载上一次关闭程序时,策略缓存的最终状态参数(variables列表中的字段)
Member
加入于:
帖子: 23
声望: 0

还有个疑问,就是在初始化完成和策略缓存的状态参数也加载完成后,当每天开盘,有新的实盘数据传入,那么此时的variables是根据什么数据计算的呢?比如901分,以最简单的20分钟均线MA为例,此时有901分最新的1分钟数据,也有本地数据库中已经传入的截止到上次收盘的数据,此时计算指标需要20根bar的数据,那么此时是不是会同时用到当前分钟的实盘数据和数据库中的19个历史数据?
如果是按照上述方式进行计算的话,那理论上来说,我在今天开盘前新建的实例,和昨天已经跑起来的实例,在今天901分的20分钟均线MA指标值,应该是一样的才对呀,为什么会出现不同呢?求解答~

Administrator
avatar
加入于:
帖子: 4028
声望: 220

此时有901分最新的1分钟数据,也有本地数据库中已经传入的截止到上次收盘的数据,此时计算指标需要20根bar的数据,那么此时是不是会同时用到当前分钟的实盘数据和数据库中的19个历史数据

是的,确实会这么运作。

我在今天开盘前新建的实例,和昨天已经跑起来的实例,在今天901分的20分钟均线MA指标值,应该是一样的才对呀,为什么会出现不同呢

这个需要通过代码中的细节逐个排查了,最简单的是在on_bar函数中,去print每个插入到ArrayManager中的bar数据,看看有没有对不上的地方。

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