VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 5
声望: 0
    暂时规划的是,在接口文件上处理。

1、对每一个vtSymbol进行转换成,转换成“远月”的和“近月”。下单的时候,把cta引擎传过来的“远月”vtSymbol再转换成,真实的Symbol提交给交易所。
2、对cta引擎来说是透明的,不需要做任何改动。cta配置文件也无需改动。
3、交割的时候,策略处理一下,写个函数,调用cta引擎对策略的持仓等变量进行重新赋值(从数据库读出缓存的持仓等变量,然后赋值)。

感觉为了换月一个问题,改动太大。是否还有更简便的换月方法。

Administrator
avatar
加入于:
帖子: 4502
声望: 322

目前VNTrader内部没有自动换的办法,只能自己实现了~

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

我已经实现了回测换月、实盘no_ui模式自动换月,欢迎交流:微信849322520
回测中换月:
需要在数据库中存储各个月份合约的数据,还有换月的信息,以便代码判断
更改BacktestingEngine的run_backtesting函数,每个交易日开始或结束时判断一下是否换月,若换月则更改策略合约并且重新初始化
实盘中换月:
1、移植策略持仓、策略名称、策略设置信息strategy_setting、策略变量信息strategy_data;2、变更合约策略映射self.symbol_strategy_map,当tick行情推送的时候,通过这个映射来将合约tick行情推送给指定的策略实例;3、删除strategy_orderid_map和orderid_strategy_map中旧合约的挂单,这些用于保存策略的挂单信息;4、订阅新合约;5、策略初始化和启动策略

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

AlexYang wrote:

我已经实现了回测换月、实盘no_ui模式自动换月,欢迎交流:微信849322520
回测中换月:
需要在数据库中存储各个月份合约的数据,还有换月的信息,以便代码判断
更改BacktestingEngine的run_backtesting函数,每个交易日开始或结束时判断一下是否换月,若换月则更改策略合约并且重新初始化
实盘中换月:
1、移植策略持仓、策略名称、策略设置信息strategy_setting、策略变量信息strategy_data;2、变更合约策略映射self.symbol_strategy_map,当tick行情推送的时候,通过这个映射来将合约tick行情推送给指定的策略实例;3、删除strategy_orderid_map和orderid_strategy_map中旧合约的挂单,这些用于保存策略的挂单信息;4、订阅新合约;5、策略初始化和启动策略

那在旧合约上的仓位怎么办呢?手动去换到新合约上吗?

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

沪公网安备 31011502017034号

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