掘金社区

Position.availabel_yesterday 不准确。Pinned highlighted

无命道长 发表在掘金2 2016-10-27 01:21:21

掘金2
670
4
0

在跨天策略中回测发现非当天交易需要使用close_short_yesterday平仓,在程序中使用position.availabel_yesterday来判断可用持仓量,但发现这个字段计算有点问题,当期货夜盘进行到0点以后,需要平0点前的仓位时,position.availabel_today没有值,而position.availabel_yesterday有值,但是使用close_short_yesterday平仓失败,请检查并确认一下。或者大家有什么别的办法平昨仓?

评论: 4
  • 我把使用的代码贴一下。

    if position.side == OrderSide_Bid:
        if position.available_yesterday > 0:
            self.close_long_yesterday(position.exchange, position.sec_id, 0, position.available_yesterday)
        if position.available_today >0:
            self.close_long(position.exchange, position.sec_id, 0, position.available_today)
    else:
        if position.available_yesterday > 0:
            self.close_short_yesterday(position.exchange, position.sec_id, 0, position.available_yesterday)
        if position.available_today >0:
            self.close_short(position.exchange, position.sec_id, 0, position.available_today)
    
    2016-10-27 01:25:36
  • 代码用什么标签括起来会按正常格式显示呢?

    2016-10-27 01:27:25
  • 本想用order.status判断一下不成功再用close_short来平仓,但发现在回测模式下返回的order对象没什么意义,status始终等于0.这个问题不好解决。希望管理员能看到提供一个方案。

    2016-10-27 01:57:22
  • 用sdk哪个版本?

    2016-10-28 03:10:47

Looks like your connection to 掘金量化社区 - 量化交易者的策略交流学习社区 was lost, please wait while we try to reconnect.