VeighNa量化社区
你的开源社区量化交易平台
Member
加入于:
帖子: 33
声望: 0

如题

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

PortfolioBarGenerator的on_window_bars回调逻辑具体是啥?

Member
avatar
加入于:
帖子: 4741
声望: 287

可以参考vnpy_portfoliostrategy.utility里的PortfolioBarGenerator

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

xiaohe wrote:

可以参考vnpy_portfoliostrategy.utility里的PortfolioBarGenerator
使用文档里对这里的描述是“与CTA策略模块不同,多合约组合策略模块在接收K线推送时,是通过on_bars回调函数一次性接收该时间点上所有合约的K线数据,而不是通过on_bar函数一个个接收(无法判断当前时点的K线是否全部走完了 )。”,也就是on_bars会传入所有合约的bar,但是我实测出来的却不是这样,看源代码也没找到原因,求个解答

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

能看下具体缺什么吗

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

连龙八卦 wrote:

能看下具体缺什么吗
比如说,我的组合策略里一共12个symbol,这样的代码
self.pbg = PortfolioBarGenerator(self.on_bars, 1, self.on_xminute_bars, Interval.HOUR)
def on_xminute_bars(self, bars: Dict[str, BarData]):
self.write_log("on_xminute_bars "+str(len(bars)))
on_xminute_bars的日志输出如下:
2023-08-04 15:59:00,365 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 15:59:00,521 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 15:59:00,662 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 15:59:01,012 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 15:59:01,518 INFO: MonitorStrategy: on_xminute_bars 3
2023-08-04 15:59:01,708 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 15:59:02,162 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 15:59:02,425 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 15:59:02,703 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 15:59:03,425 INFO: MonitorStrategy: on_xminute_bars 4
2023-08-04 15:59:03,667 INFO: MonitorStrategy: on_xminute_bars 4
2023-08-04 16:00:00,125 INFO: MonitorStrategy: on_xminute_bars 5
2023-08-04 16:00:00,360 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 16:00:00,360 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 16:00:00,500 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 16:00:00,812 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 16:00:00,905 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 16:00:01,076 INFO: MonitorStrategy: on_xminute_bars 2
2023-08-04 16:00:01,076 INFO: MonitorStrategy: on_xminute_bars 1
2023-08-04 16:00:01,470 INFO: MonitorStrategy: on_xminute_bars 1

16点整的日志输出说明,on_xminute_bars被调用了多次,且每一次传入的bars的长度都不是12,也就是缺了一些symbol的bar

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

有没有大佬解答下呀?困惑几天了。按理说这是组合策略最基本的功能呀。

Member
avatar
加入于:
帖子: 4741
声望: 287

是不是有不活跃的合约?
建议你参考一下三楼在合成分钟线的时候打印排查一下吧

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

xiaohe wrote:

是不是有不活跃的合约?
建议你参考一下三楼在合成分钟线的时候打印排查一下吧
没有不活跃的。打印的日志显示合成分钟线的函数被多次回调,比如说合成5分钟线,在第4分钟的时候会回调若干次,在第5分钟的时候会回调若干次,并且有些回调传入的bars里有些标的volume为空

Member
avatar
加入于:
帖子: 4741
声望: 287

可以参考一下公众号进阶课程【超越海龟策略精析】的第51课实盘分钟K线合成的内容,将绑定时间换成绑定合约试试

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

xiaohe wrote:

可以参考一下公众号进阶课程【超越海龟策略精析】的第51课实盘分钟K线合成的内容,将绑定时间换成绑定合约试试
买这个课程的话,有官方群解答疑惑嘛?

Member
avatar
加入于:
帖子: 1486
声望: 105

课程有专门的答疑群

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

沪公网安备 31011502017034号

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