vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 51
声望: 1

问题的产生:
我在做组合策略的时候,选择的周期为1小时,按照指标计算需求bar的长度,至多一个月以内就会产生交易信号,然而实际结果是一年也就最后两个月有交易(加载一年时间的数据做回测),一年中绝大部分时间是没有交易的。问题就此产生,开始怀疑自己是不是那儿代码写错了。

验证:
1、代码问题:把已有的vnpy 官方模板策略的逻辑线路和自己的策略逻辑做了多次对比,没有发现自己策略有关于这方面的逻辑漏洞。
2、vnpy官方策略加载数据做回测验证。
①、加载trendfollowingstrategy,该策略是1分钟周期,我的测试结果下来是,除开周末,也大概需要两个礼拜才能产生交易信号。
②、加载策略组合7天课程给的demostrategy策略,我加载了近一年的多个商品的数据,基本在数据日期起点6个月以后才有交易信号。

在实盘的交易过程中,假如我使用到30m 或者60m,我是不可能等半年一年才开始有交易信号的。所以的觉得这是一个比较严重的问题,希望官方能帮忙解答。

Member
avatar
加入于:
帖子: 138
声望: 13

肯定哪里整错了。
bg的bar类型,是day还是hour还是min,区分清楚。

毕竟我已经实盘的玩意,有类似问题早就应该遇到了。

Member
avatar
加入于:
帖子: 51
声望: 1

kingmo888 wrote:

肯定哪里整错了。
bg的bar类型,是day还是hour还是min,区分清楚。

毕竟我已经实盘的玩意,有类似问题早就应该遇到了。
首先感谢你的回复。bg的bar类型是min,我的策略都没使用过除min以外的其他类型

Member
avatar
加入于:
帖子: 2379
声望: 148
  1. 回测要满足load_bar和am初始化成功两个条件吧。基于分钟线的回测如果和示例策略一样load_bar(10)那么至少也要10天以后才能开始交易吧。如果小时线,虽然load_bar10天,但是也要100根小时线(am默认size为100)才能am初始化成功才能发交易信号吧。可以自己在策略里打印strategy.inited和am.inited随着时间的变化来观察。
  2. 如果不是加载数据导致的交易信号发的延迟,也可以自己策略内打印技术指标和策略逻辑观察策略的状态。
Member
avatar
加入于:
帖子: 51
声望: 1

description

description

使用demo_strategy,5分钟周期,都要20号左右才有交易信号,这个正常吗?这个是官方提供的策略

Member
avatar
加入于:
帖子: 51
声望: 1

description
加载个30分钟就是这样了

Member
avatar
加入于:
帖子: 51
声望: 1

另外又做了其他条件的的测试,测试方法:
在一个固定周期的情况下(例如30min),分别加载2-3个商品,和加载12-14个商品的情况下,按照常理来说,后者的情况会比较容易出现交易信号,因为有更多的商品,然而实际情况却相反,我加载2-3个商品的时候,30天天有交易信号,而加载12-14个商品的时候,半年以后才有交易信号,这个是为什么呢?

Member
avatar
加入于:
帖子: 2379
声望: 148

请参考4楼

Member
avatar
加入于:
帖子: 51
声望: 1

xiaohe wrote:

请参考4楼

都是模板策略默认的参数,size=100,load_bars = 10

Member
avatar
加入于:
帖子: 51
声望: 1

xiaohe wrote:

请参考4楼

这样简单的问题,我肯定早就核查过了

Member
avatar
加入于:
帖子: 2379
声望: 148

请自己策略内打印技术指标和策略逻辑观察策略的状态

Member
avatar
加入于:
帖子: 1
声望: 0

1

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

沪公网安备 31011502017034号