对冲套利策略是不是在CTA回测模块做不了呢,CTA回测模块只允许输入单标的代码。
对冲套利策略是不是在CTA回测模块做不了呢,CTA回测模块只允许输入单标的代码。
是的,要用PortfolioStrategy模块
MTF wrote:
是的,要用PortfolioStrategy模块
spread_trading在GitHub上的示例可以实现这个功能吗?https://github.com/vnpy/vnpy/blob/master/examples/spread_backtesting/backtesting.ipynb
价差模块更多针对的是固定组合的价差套利策略(中高频),投组模块则更偏中低频策略一些
请问用了PortfolioStrategy模块上的pair_trading模板改的策略代码做回测,为什么选日线级别会出不了结果呢,同样的策略分钟线可以出结果?本地数据都已经下载了分钟线和日线数据
这个策略是针对分钟线写的,on_bars里面有datetime.minute判断
xiaohe wrote:
这个策略是针对分钟线写的,on_bars里面有datetime.minute判断
如果针对日线或者其他级别线交易,是不是要自己重新合成相对应的K线再进行信号判断呢
也可以根据时间戳进行判断吧
xiaohe wrote:
也可以根据时间戳进行判断吧
目前PortfolioStrategy模板的on_tick函数,是不是实盘时一次性将所有标的进行minute的K线合成,不用单独每个标的各自合成
组合策略的K线合成是开放给用户的,示例策略中有多种写法可供参考
这个是trend_following_strategy下的PortfolioBarGenerator为每个标的生成BarGenerator,然后on_tick函数回调update_tick函数,对所有的标的一次性同时合成所有的MINUTE K线。我这样理解对吗?
pbg是创建一个PortfolioBarGenerator缓存所有合约的tick,收到下一分钟的tick则会把所有合约上一分钟的K线都推出来
有没有获取实盘当前资金的函数功能,然后想动态调整下单交易手数?是不是这样需要脚本函数的模式进行策略实盘
开源版本的策略模板没有提供获取资金的支持,只是如果有需要的话可以通过main_engine.get_account获取
想要动态控制仓位可以参考一下进阶课程-CTA策略的54课时介绍的通过risk_level控制买卖数量的方法
这个和脚本运行没有关系
xiaohe wrote:
开源版本的策略模板没有提供获取资金的支持,只是如果有需要的话可以通过main_engine.get_account获取
想要动态控制仓位可以参考一下进阶课程-CTA策略的54课时介绍的通过risk_level控制买卖数量的方法
这个和脚本运行没有关系
进阶课程-CTA策略的链接可以麻烦发一个吗,好像只在公众号里找到第47课时
CTA策略最后一共有55课
xiaohe wrote:
开源版本的策略模板没有提供获取资金的支持,只是如果有需要的话可以通过main_engine.get_account获取
想要动态控制仓位可以参考一下进阶课程-CTA策略的54课时介绍的通过risk_level控制买卖数量的方法
这个和脚本运行没有关系
在PortfolioStrategy模块下,读取资金是可以写为self.main_engine.get_account{"自己的账号"}这样吗?
vt_accountid,前面要加接口名
只有实盘支持
xiaohe wrote:
vt_accountid,前面要加接口名
只有实盘支持
好的谢谢,如果运行多个PortfolioStrategy策略,实盘如何获得每个策略各自的品种持仓和资金呢?
资金main_engine.get_account
策略有get_pos函数获取策略持仓,项目文档有介绍
https://www.vnpy.com/docs/cn/community/app/portfolio_strategy.html#id29