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

1:在进阶课程,CTA策略-课时08-K线的自定义合成中,是否可以直接将utility.py中的父类BarGenerator修改成NewBarGenerator,或者单独建立一个NewBarGenerator.py文件,而不用每次都需要在策略strategy中加NewBarGenerator这100行左右的代码呢?

2:在进阶课程,CTA策略-课时08-K线的自定义合成,demo_strategy.py中,是否需要引入 from .constant import Exchange, Interval和from typing import Callable, Dict, Tuple, Union 模块呢? 不然会报错NameError:name"Interval"is not defined ,因为demo_strategy.py没分享出来,python方面以前没怎么学习过,不是非常清楚,望解答,万分感激。即使引入了这个模块,依然报错,报错代码如下所示

from .constant import Exchange, Interval
ModuleNotFoundError: No module named 'vnpy.app.cta_strategy.strategies.constant'

3:自己把vnpy中自带的多周期策略修改了一下,把5分钟和15分钟修改为了自定义的on_xmin_bar和on_ymin_bar,如果优化出来的最佳分钟数为7分钟和17分钟,策略strategy中没有加入NewBarGenerator这100行左右的代码,回测是没有问题,是否实盘会出错呢?因为原生自带父类BarGenerator根本不支持7分钟k线和17分钟k线。

Administrator
avatar
加入于:
帖子: 4028
声望: 221
  1. 可以创建个独立的文件,放到比如c:\my_tool目录,然后修改操作系统环境变量,在PYTHONPATH中添加该目录,在策略里就可以直接import使用了
  2. 要的,之前因为是手打代码,漏掉了
  3. 把NewBarGenerator的代码,放到策略里好了
Member
avatar
加入于:
帖子: 151
声望: 0

用Python的交易员 wrote:

  1. 可以创建个独立的文件,放到比如c:\my_tool目录,然后修改操作系统环境变量,在PYTHONPATH中添加该目录,在策略里就可以直接import使用了
  2. 要的,之前因为是手打代码,漏掉了
  3. 把NewBarGenerator的代码,放到策略里好了

老师您好,在上面问题3中,我把vnpy中自带的多周期策略修改了一下,把5分钟和15分钟修改为了自定义的on_xmin_bar和on_ymin_bar,但是策略strategy中没有加入NewBarGenerator这100行左右的代码,为什么回测时没有报错呢?实际bar_window1=7,bar_window2=17,按照逻辑来说,7和17的分钟数K线都不能被60整除,应该回测会报错啊!原生自带的BarGenerator是不支持7和17分钟K线的.

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

不会报错,只是生成的数据不对

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