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

推送过来的position事件的data是PositionData类, 定义如下, 这里有一个price属性和pnl属性:

@dataclass
class PositionData(BaseData):
"""
Positon data is used for tracking each individual position holding.
"""

symbol: str
exchange: Exchange
direction: Direction

volume: float = 0
frozen: float = 0
price: float = 0
#profit and loss
pnl: float = 0
yd_volume: float = 0

def __post_init__(self):
    """"""
    self.vt_symbol = f"{self.symbol}.{self.exchange.value}"
    self.vt_positionid = f"{self.vt_symbol}.{self.direction.value}"

1, 这里的price属性是不是多次不同价格开仓的平均开仓价? 同理这里的pnl是不是多次不同开仓价下的平均盈亏?

2, 如果1成立的话, 平均开仓价和平均盈亏是交易所推过来的还是vnpy实现的, 如果是vnpy实现的, 未来是否考虑将PositionData类增加策略属性, 扩展成分策略的平均开仓price和平均pnl?

3, 如果1成立的话, 那么其实不用去思考” 如何计算多个策略同一个合约的盈亏”, 推送过来的PositionData就是所有策略同一个合约的盈亏

OffsetConverter类主要功能有两个, 一个是用于保存某合约代码更丰富的持仓信息(之前一直疑问为啥有了PositionData类为啥还要有PositionHolding类, 有点既生瑜何生亮的感觉..); 另一个功能用于转换订单请求, 将冻结仓位、今仓、昨仓、平今、平昨等因素考虑进去, 向交易所报合理的订单. 不过对于新手来说, 这个名字确实让我头大了好一阵子..

Member
avatar
加入于:
帖子: 4879
声望: 292

想获取持仓均价等持仓信息可参考https://www.vnpy.com/forum/topic/2167-cha-xun-cang-wei-chi-cang-jun-jie-wei-cheng-jiao-wei-tuo-dan-yi-ge-han-shu-gao-ding?page=1#pid17278

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

沪公网安备 31011502017034号

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