我在策略文件中对逐笔交易对进行统计获利情况,最终结果和回测引擎中使用逐日成交统计的获利对不上.每次都会差很多.
有人碰到这个问题的吗?
我在策略文件中对逐笔交易对进行统计获利情况,最终结果和回测引擎中使用逐日成交统计的获利对不上.每次都会差很多.
有人碰到这个问题的吗?
回测引擎逐日盯市计算中对反向合约回测是做了处理的,请问你的逐笔交易计算处理了吗?
肯定处理了啊,代码就是参考逐日的改的
def calculate_pnl(
self,
open_p: float,
trade: TradeData,
size: int,
rate: float,
inverse: bool
):
""""""
close_p = trade.price
if trade.direction == Direction.LONG:
pos = trade.volume
else:
pos = -trade.volume
if not inverse: # For normal contract
holding_pnl = pos * (close_p - open_p) * size
turnover = pos * size * close_p
commission = turnover * rate * 2
else: # For crypto currency inverse contract
holding_pnl = pos * (1 / close_p - 1 / open_p) * size
turnover = pos * size / close_p
commission = turnover * rate * 2
self.net_pnl = holding_pnl - commission
传入开仓价和平仓的trade,暂时忽略了滑点.应该没毛病吧.
那就请再仔细排查看看了