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

我有一个策略,它不会给出每天需要买多少手期货,它只会给出每天需要把30%的钱分配到品种A,把40%的钱分配到品种B, 把30%的钱分配给品种C。

因此,为了计算下单时的volume,我必须首先获得当前时刻我有多少资金。然而,资金的初始值capital是传给BackTestingEngine而不是StrategyEngine的。
所以:

  1. 我要如何在我的策略类中获取BackTestingEngine的信息呢?(StrategyTemplate的构造函数中,只传入了StrategyEngine作为自变量)
  2. 如果我下单开仓N手期货A,可是下单所用的保证金已经超过了我的总资金,这种情况下又会发生什么呢?
Member
avatar
加入于:
帖子: 716
声望: 62
  1. 参考https://gitee.com/vnpy/vnpy/blob/master/examples/cta_backtesting/backtesting_demo.ipynb 在add_strategy时可以在的第二个参数中以字典的形式添加策略中的参数。在策略中先添加参数,然后再通过add_strategy修改即可。
  2. 在回测中不考虑资金不足的情况,可能会存在负资金,需要自行添加限制判断。在实盘中资金不足会拒单。
  3. 不建议通过策略分配资金,存在爆仓风险。资金的管理还是手动安全。
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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