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

我在使用xtp股票接口n,进行无界面模式编制策略,进行调试时(600000是浦发银行)发现,
从StrategyEngine的process_position_event拿到的持仓信息如下
process_position_event pos PositionData(gateway_name='XTP', symbol='600000', exchange=<Exchange.SSE: 'SSE'>, direction=<Direction.NET: '净'>, volume=5000512, frozen=512, price=1.001, pnl=0.0, yd_volume=5000000)
(1)以上volume=5000512为净仓位,是对的,但为何price不对,浦发银行价格应该在7.8左右?

从StrategyEngine的offset_converter.get_position_holding(vt_symbol)拿到的持仓信息如下;
(vt_symbol='600000.SSE', exchange=<Exchange.SSE: 'SSE'>, long_pos=0, long_yd=0, long_td=0, short_pos=5000512, short_yd=5000000, short_td=512, long_pos_frozen=0, long_yd_frozen=0, long_td_frozen=0, short_pos_frozen=0, short_yd_frozen=0, short_td_frozen=0
(2)以上仓位5000512数值正确,但为何放在空仓里short_pos,而不是放在多仓里?我都是执行buy命令形成的仓位,不应该放在空仓里呀。

Member
avatar
加入于:
帖子: 1446
声望: 102

offset_converter仅对期货市场有用,另外也不应该用来进行数据查询

Member
avatar
加入于:
帖子: 57
声望: 1

MTF wrote:

offset_converter仅对期货市场有用,另外也不应该用来进行数据查询
非常感谢。offset_converter的get_position_holding返回仓位双向仓位都有,比较方便,所以我在cta策略中都是查它,而不是用get_position(self, vt_positionid: str) -> Optional[PositionData]:因为它的vt_positionid要指明方向,繁琐。
您能告诉我为何不建议使用offset_converter进行数据查询吗?有何不良后果?

Member
avatar
加入于:
帖子: 1446
声望: 102

offset_converter对于持仓数据不是直接缓存了底层接口推送的PositionData,而是做了额外的处理后以内部的PositionHolding结构缓存,这个处理是针对国内期货市场设计的,对于其他市场来说可能没有普适性,自然也就不适合作为通用组件来访问持仓数据了。

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

沪公网安备 31011502017034号

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