我只一直持有一手空单,但是通过如下的函数获取的持仓均价,但是回测时每天获取出来的结果都不一样,请问是什么原因。如果只开单了一手,那么获取的均价就是这一手的开仓价,而且是不会变化的
def GetSellAvgPrice(AccountsName,code):
import numpy as np
option = PBObj()
option.contract=code
pos=AccountsName.GetPositions(option)
price=[]
volume=[]
for p in pos:
print("price={}".format(p.holdavgprice))
if p.bstype.BuySellFlag=='1' and p.bstype.TodayFlag ==False:
price.append(p.holdavgprice)
volume.append(p.volume)
if p.bstype.BuySellFlag=='1' and p.bstype.TodayFlag ==True:
price.append(p.holdavgprice)
volume.append(p.volume)
pri=np.array(price)
vol=np.array(volume)
if sum(vol)!=0:
return sum(pri*vol)/sum(vol)
else:
return