Skip to content

Commit

Permalink
fix error when doing per exchange liquidation sum
Browse files Browse the repository at this point in the history
  • Loading branch information
AntoineLep committed Apr 28, 2022
1 parent 8b7a6e8 commit 6100122
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 59 deletions.
7 changes: 4 additions & 3 deletions strategies/cryptofeed_strategy/cryptofeed_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ def flush_liquidation_data_queue_items(data_type: CryptofeedDataTypeEnum) -> Lis

@staticmethod
def start_cryptofeed():
async def liquidations(data, receipt):
async def liquidations_cb(data, receipt):
# Add raw data to CryptofeedDataTypeEnum.LIQUIDATION_DATA queue
CryptofeedService.data[CryptofeedDataTypeEnum.LIQUIDATIONS].put(data)

async def open_interest(data, receipt):
async def open_interest_cb(data, receipt):
# Add raw data to CryptofeedDataTypeEnum.OPEN_INTEREST queue
CryptofeedService.data[CryptofeedDataTypeEnum.OPEN_INTEREST].put(data)

Expand Down Expand Up @@ -74,7 +74,8 @@ async def open_interest(data, receipt):

try:
f.add_feed(exchange_class(subscription={LIQUIDATIONS: symbols, OPEN_INTEREST: symbols},
callbacks={LIQUIDATIONS: liquidations, OPEN_INTEREST: open_interest}))
callbacks={LIQUIDATIONS: liquidations_cb,
OPEN_INTEREST: open_interest_cb}))
print(" Done")
except Exception as e:
print(e, exchange_string)
Expand Down
26 changes: 11 additions & 15 deletions strategies/cryptofeed_strategy/cryptofeed_strategy.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
from strategies.cryptofeed_strategy.cryptofeed_service import CryptofeedService
from strategies.cryptofeed_strategy.enums.cryptofeed_data_type_enum import CryptofeedDataTypeEnum
from strategies.cryptofeed_strategy.enums.cryptofeed_exchange_enum import CryptofeedExchangeEnum
from strategies.cryptofeed_strategy.models.liquidation_data_dict import LiquidationDataDict
from tools.utils import flatten
from cryptofeed.types import Liquidation

SLEEP_TIME_BETWEEN_LOOPS = 10
LIQUIDATION_HISTORY_RETENTION_TIME = 60 * 60 # 1 hour retention
Expand All @@ -26,7 +26,7 @@ def __init__(self):
# Array of array of LiquidationDataDict, every sub array is the liquidation list received during the last
# SLEEP_TIME_BETWEEN_LOOPS sec. Use CryptofeedService EXCHANGES global to configure the list of exchange to
# retrieve data on
self.liquidations: List[List[LiquidationDataDict]] = []
self.liquidations: List[List[Liquidation]] = []

# {
# exchange1: {
Expand Down Expand Up @@ -58,26 +58,22 @@ def loop(self) -> None:

ftx_last_1_min_liquidations_value = sum([round(data.quantity * data.price, 2)
for data in last_1_min_liquidations
if data.exchange == CryptofeedExchangeEnum.FTX])
if data.exchange == "FTX"])
ftx_last_5_min_liquidations_value = sum([round(data.quantity * data.price, 2)
for data in last_5_min_liquidations
if data.exchange == CryptofeedExchangeEnum.FTX])
if data.exchange == "FTX"])

binance_last_1_min_liquidations_value = sum([round(data.quantity * data.price, 2)
for data in last_1_min_liquidations
if data.exchange == CryptofeedExchangeEnum.BINANCE])
if data.exchange == "BINANCE_FUTURES"])
binance_last_5_min_liquidations_value = sum([round(data.quantity * data.price, 2)
for data in last_5_min_liquidations
if data.exchange == CryptofeedExchangeEnum.BINANCE])

logging.info(f'[FTX] Liquidations in the last 1 minute: {len(last_1_min_liquidations)} for a total value of '
f'${ftx_last_1_min_liquidations_value}')
logging.info(f'[FTX] Liquidations in the last 5 minutes: {len(last_5_min_liquidations)} for a total value of '
f'${ftx_last_5_min_liquidations_value}')
logging.info(f'[BINANCE] Liquidations in the last 1 minute: {len(last_1_min_liquidations)} for a total value of'
f' ${binance_last_1_min_liquidations_value}')
logging.info(f'[BINANCE] Liquidations in the last 5 minutes: {len(last_5_min_liquidations)} for a total value of'
f' ${binance_last_5_min_liquidations_value}')
if data.exchange == "BINANCE_FUTURES"])

logging.info(f'[FTX] Liquidations in the last 1 minute: ${ftx_last_1_min_liquidations_value}')
logging.info(f'[FTX] Liquidations in the last 5 minutes: ${ftx_last_5_min_liquidations_value}')
logging.info(f'[BINANCE] Liquidations in the last 1 minute: ${binance_last_1_min_liquidations_value}')
logging.info(f'[BINANCE] Liquidations in the last 5 minutes: ${binance_last_5_min_liquidations_value}')

# Put your custom logic here
# ...
Expand Down

This file was deleted.

8 changes: 0 additions & 8 deletions strategies/cryptofeed_strategy/enums/cryptofeed_side_enum.py

This file was deleted.

15 changes: 0 additions & 15 deletions strategies/cryptofeed_strategy/models/liquidation_data_dict.py

This file was deleted.

10 changes: 0 additions & 10 deletions strategies/cryptofeed_strategy/models/open_interest_data_dict.py

This file was deleted.

0 comments on commit 6100122

Please sign in to comment.