removed leverage/funding_fees
This commit is contained in:
parent
36b8c87fb6
commit
3eb0e6ac09
@ -1,74 +0,0 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from freqtrade.exceptions import OperationalException
|
||||
|
||||
|
||||
def funding_fees(
|
||||
exchange_name: str,
|
||||
pair: str,
|
||||
contract_size: float,
|
||||
open_date: datetime,
|
||||
close_date: datetime
|
||||
# index_price: float,
|
||||
# interest_rate: float
|
||||
):
|
||||
"""
|
||||
Equation to calculate funding_fees on futures trades
|
||||
|
||||
:param exchange_name: The exchanged being trading on
|
||||
:param borrowed: The amount of currency being borrowed
|
||||
:param rate: The rate of interest
|
||||
:param hours: The time in hours that the currency has been borrowed for
|
||||
|
||||
Raises:
|
||||
OperationalException: Raised if freqtrade does
|
||||
not support margin trading for this exchange
|
||||
|
||||
Returns: The amount of interest owed (currency matches borrowed)
|
||||
"""
|
||||
exchange_name = exchange_name.lower()
|
||||
# fees = 0
|
||||
if exchange_name == "binance":
|
||||
for timeslot in ["23:59:45", "07:59:45", "15:59:45"]:
|
||||
# for each day in close_date - open_date
|
||||
# mark_price = mark_price at this time
|
||||
# rate = rate at this time
|
||||
# fees = fees + funding_fee(exchange_name, contract_size, mark_price, rate)
|
||||
# return fees
|
||||
return
|
||||
elif exchange_name == "kraken":
|
||||
raise OperationalException("Funding_fees has not been implemented for Kraken")
|
||||
elif exchange_name == "ftx":
|
||||
# for timeslot in every hour since open_date:
|
||||
# mark_price = mark_price at this time
|
||||
# fees = fees + funding_fee(exchange_name, contract_size, mark_price, rate)
|
||||
return
|
||||
else:
|
||||
raise OperationalException(f"Leverage not available on {exchange_name} with freqtrade")
|
||||
|
||||
|
||||
def funding_fee(
|
||||
exchange_name: str,
|
||||
contract_size: float,
|
||||
mark_price: float,
|
||||
rate: Optional[float],
|
||||
# index_price: float,
|
||||
# interest_rate: float
|
||||
):
|
||||
"""
|
||||
Calculates a single funding fee
|
||||
"""
|
||||
if exchange_name == "binance":
|
||||
assert isinstance(rate, float)
|
||||
nominal_value = mark_price * contract_size
|
||||
adjustment = nominal_value * rate
|
||||
return adjustment
|
||||
elif exchange_name == "kraken":
|
||||
raise OperationalException("Funding fee has not been implemented for kraken")
|
||||
elif exchange_name == "ftx":
|
||||
"""
|
||||
Always paid in USD on FTX # TODO: How do we account for this
|
||||
"""
|
||||
(contract_size * mark_price) / 24
|
||||
return
|
Loading…
Reference in New Issue
Block a user