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

在实盘时,可以通过读取PositionMonitora直接获取平均持仓价格.

但回测时,加减仓只能自行记录成交价格,比如变量记录当前bar.close价后去和策略仓位做计算?

这样代码和回测时就不一样了么,每次修改不是挺麻烦么???

Member
avatar
加入于:
帖子: 70
声望: 3

现在实盘中修改过ctp_gateway.py里 onRspQryInvestorPosition,再在策略文件中直接获取....
但回测时没法使用....
要代码整一致,是不是应该都,直接自行记录去计算呢???
但ctp_gateway.py里面读取的是排除了滑点以后真实持仓均价呢....

求解惑....

Administrator
avatar
加入于:
帖子: 4500
声望: 320

用on_trade获取后自己算即可,实盘和回测通用的

Member
avatar
加入于:
帖子: 70
声望: 3

用Python的交易员 wrote:

用on_trade获取后自己算即可,实盘和回测通用的

再次请教下,如果是多种周期结合,比如基于日线的中长期持仓的策略里,又有日内短线加减仓策略时,
on_trade只能获取成交价格和ID,
中长线和短线都有自己独立的止损策略时,如果想独立计算中长线的持仓均价,
不写成两个策略,,,只能自行变量计算吧???

Member
avatar
加入于:
帖子: 4618
声望: 284

是的

Member
avatar
加入于:
帖子: 70
声望: 3

xiaohe wrote:

是的

感谢xiaohe回复.
回测发现不从on_trade获取,仅从buy,sell,short和cover这些发单记录获取,因为不能保证一定会搓合成交,实际持仓会和变量记录有误差,持仓均价也就不准确了。
还有些问题,比如短周期发单以后,on_trade反馈的信息无法标识长短周期,仅用变量标识,假如未能搓合成交,交易逻辑就出错了。

请教xiaohe兄,
有基于日线的长周期持仓,也有基于15分钟的加减仓时,除了写成两个策略外,有没有更好的思路,能在回测和实盘时,对仓位进行标识呢?

Member
avatar
加入于:
帖子: 4618
声望: 284

分类记录orderid在on_trade里是不是就能判断辨别长短周期了

Member
avatar
加入于:
帖子: 126
声望: 14

实盘&回测。
不是回撤。
看了半天没看明白

Member
avatar
加入于:
帖子: 70
声望: 3

kingmo888 wrote:

实盘&回测。
不是回撤。
看了半天没看明白

感谢关注,修正了哈。

Member
avatar
加入于:
帖子: 70
声望: 3

xiaohe wrote:

分类记录orderid 在on_trade里是不是就能判断辨别长短周期了

多谢多谢。是不是这样理解:
短线或长线发单后变量标识下,在on_order或on_trdera来识别谁发的,待搓合成交完成以后,按统计各自手数或持仓均价。

那么在on_order里用order.status.ALLTRADED(全部成交后状态)和on_trade里,执行统计信息,会不会有啥不同啊???

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

沪公网安备 31011502017034号

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