Source code for tradeexecutor.utils.slippage
from tradeexecutor.state.types import Percent, BPS, IntBPS
[docs]def get_slippage_in_bps(
slippage: Percent,
max_sane_slippage: Percent = 0.21,
) -> IntBPS:
"""Validate and convert slippage to BPS
:param slippage:
Slippage in percentage.
0....1.
:param max_sane_slippage:
Maximum sane slippage in percentage, default is 0.05 (5%)
:return:
Slippage as 10_000 points.
0.1% = 100.
"""
assert 0 < slippage <= max_sane_slippage, f"Slippage tolerance value should be between 0 and {max_sane_slippage}, Got {slippage}"
return slippage * 10_000