

def calculatePrice(self, order, price, quantity, bar, volumeUsed):
    assert bar.getVolume(), "Can't use 0 volume bars with VolumeShareSlippage"
    totalVolume = (volumeUsed + quantity)
    volumeShare = (totalVolume / float(bar.getVolume()))
    impactPct = ((volumeShare ** 2) * self.__priceImpact)
    if order.isBuy():
        ret = (price * (1 + impactPct))
    else:
        ret = (ret * (1 - impactPct))
    return ret

dataset/ETHPy150Open gbeced/pyalgotrade/pyalgotrade/broker/slippage.py VolumeShareSlippage.calculatePrice/VarMisuse@95/138 `price`->`ret`