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

看了下系统自带的四个portofolio策略,分别是:
$_arbitrage_strategy.py
portfolio_boll_channel_strategy.py
pair_trading_strategy.py
trend_following_strategy.py

发现他们在保存K线时,有的使用了一个字典(键名为品种,值为BarGenerator类), 有的直接使用了PortfolioBarGenerator类。这个K线被保存在bgs或者pbg的成员变量中。
在社区的使用文档中,也说明了,当需要进行K线合成时,应该使用PortfolioBarGenerator类,
可是在trend_following_strategy中,没有进行K线合成,也使用了PortfolioBarGenerator类。
所以我想问一下,使用一个BarGenerator的字典 和 使用PortfolioBarGenerator 有什么差别呢?

Member
avatar
加入于:
帖子: 60
声望: 2

又看了一遍BarGenerator 和PortfolioBarGenerator的实现代码, 好像这两个类说白了也就是一个单品种 和 一个多品种的区别?

Member
avatar
加入于:
帖子: 716
声望: 62

BarGenerator是每个合约单独合成k线,如果合约用来判定合成的那根tick因为网络波动的关系慢了几秒,那么这根k线的合成也会延迟,在多个合约k线比较时就会使用上一根k线,因为当前k线还未生成。
PortfolioBarGenerator对k线的合成是同时且强制的,所有k线同时合成,不会产生上述问题。

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

沪公网安备 31011502017034号

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