vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 19
声望: 0

1.2.12 价差交易中,用自带的BasicSpreadStrategy策略,成功做多价差后,净仓位没有改变,一直是0.0。
description

2.查看源代码的时候,发现如果是反向合约的话的,net_pos的计算是通过net_pos = calculate_inverse_volume( leg.net_pos, leg.net_pos_price, leg.size)这个函数来计算的,但是其中net_pos_price=0,而net_pos_price是在update_trade(),update_position() 这两个函数上面都有修改,根据代码逻辑往回看的时候,update_contract()里面有self.net_position = contract.net_position,关键是如何把contract.net_position设置为True,从而可以计算正确计算net_pos_price?
description

description

description

description

Administrator
avatar
加入于:
帖子: 4435
声望: 253

两条腿都是反向合约的话,建议直接都当作正向来做好了

Administrator
avatar
加入于:
帖子: 4435
声望: 253

这样交易数量是基于多少张合约,而不是多少个BTC,容易理解一些

Member
avatar
加入于:
帖子: 19
声望: 0

用Python的交易员 wrote:

两条腿都是反向合约的话,建议直接都当作正向来做好了

用Python的交易员 wrote:

这样交易数量是基于多少张合约,而不是多少个BTC,容易理解一些

谢谢大佬的回答。如果都当做了正向合约来做的话,是可以正常显示净仓的。但是我想搞清楚的是为什么正常按照反向合约来做,净仓为什么会是0,可以详细说说吗?

Administrator
avatar
加入于:
帖子: 4435
声望: 253

min_volume,是计算仓位、数量时最小的单位,如果你的持仓算出来低于它,就可能显示为0了

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

沪公网安备 31011502017034号