From 3eb0e6ac09c3093b753d941680a58a846dfd0fc8 Mon Sep 17 00:00:00 2001 From: Sam Germain Date: Wed, 8 Sep 2021 19:31:27 -0600 Subject: [PATCH] removed leverage/funding_fees --- freqtrade/leverage/funding_fees.py | 74 ------------------------------ 1 file changed, 74 deletions(-) delete mode 100644 freqtrade/leverage/funding_fees.py diff --git a/freqtrade/leverage/funding_fees.py b/freqtrade/leverage/funding_fees.py deleted file mode 100644 index 754d3ec96..000000000 --- a/freqtrade/leverage/funding_fees.py +++ /dev/null @@ -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