Avoid duplicate pandas imports

This commit is contained in:
Matthias
2024-03-16 16:26:17 +01:00
parent bce5dc4a49
commit 0f3d538f6c
2 changed files with 13 additions and 15 deletions

View File

@@ -6,7 +6,6 @@ import time
import numpy as np
import pandas as pd
from pandas import DataFrame
from freqtrade.constants import DEFAULT_ORDERFLOW_COLUMNS, Config
@@ -14,7 +13,7 @@ from freqtrade.constants import DEFAULT_ORDERFLOW_COLUMNS, Config
logger = logging.getLogger(__name__)
def _init_dataframe_with_trades_columns(dataframe: DataFrame):
def _init_dataframe_with_trades_columns(dataframe: pd.DataFrame):
"""
Populates a dataframe with trades columns
:param dataframe: Dataframe to populate
@@ -39,7 +38,7 @@ def _convert_timeframe_to_pandas_frequency(timeframe: str):
return (timeframe_frequency, timeframe_minutes)
def _calculate_ohlcv_candle_start_and_end(df: DataFrame, timeframe: str):
def _calculate_ohlcv_candle_start_and_end(df: pd.DataFrame, timeframe: str):
from freqtrade.exchange.exchange_utils import timeframe_to_resample_freq
_, timeframe_minutes = _convert_timeframe_to_pandas_frequency(
timeframe)
@@ -55,8 +54,8 @@ def _calculate_ohlcv_candle_start_and_end(df: DataFrame, timeframe: str):
def populate_dataframe_with_trades(config: Config,
dataframe: DataFrame,
trades: DataFrame) -> DataFrame:
dataframe: pd.DataFrame,
trades: pd.DataFrame) -> pd.DataFrame:
"""
Populates a dataframe with trades
:param dataframe: Dataframe to populate
@@ -167,7 +166,7 @@ def populate_dataframe_with_trades(config: Config,
return dataframe
def trades_to_volumeprofile_with_total_delta_bid_ask(trades: DataFrame, scale: float):
def trades_to_volumeprofile_with_total_delta_bid_ask(trades: pd.DataFrame, scale: float):
"""
:param trades: dataframe
:param scale: scale aka bin size e.g. 0.5
@@ -199,7 +198,7 @@ def trades_to_volumeprofile_with_total_delta_bid_ask(trades: DataFrame, scale: f
return df
def trades_orderflow_to_imbalances(df: DataFrame, imbalance_ratio: int, imbalance_volume: int):
def trades_orderflow_to_imbalances(df: pd.DataFrame, imbalance_ratio: int, imbalance_volume: int):
"""
:param df: dataframes with bid and ask
:param imbalance_ratio: imbalance_ratio e.g. 300
@@ -216,7 +215,7 @@ def trades_orderflow_to_imbalances(df: DataFrame, imbalance_ratio: int, imbalanc
# overwrite ask_imbalance with False if volume is not big enough
ask_imbalance_filtered = np.where(
df.total_volume < imbalance_volume, False, ask_imbalance)
dataframe = DataFrame({
dataframe = pd.DataFrame({
"bid_imbalance": bid_imbalance_filtered,
"ask_imbalance": ask_imbalance_filtered
}, index=df.index,
@@ -225,7 +224,7 @@ def trades_orderflow_to_imbalances(df: DataFrame, imbalance_ratio: int, imbalanc
return dataframe
def stacked_imbalance(df: DataFrame,
def stacked_imbalance(df: pd.DataFrame,
label: str,
stacked_imbalance_range: int,
should_reverse: bool):
@@ -252,15 +251,15 @@ def stacked_imbalance(df: DataFrame,
return stacked_imbalance_price
def stacked_imbalance_bid(df: DataFrame, stacked_imbalance_range: int):
def stacked_imbalance_bid(df: pd.DataFrame, stacked_imbalance_range: int):
return stacked_imbalance(df, 'bid', stacked_imbalance_range, should_reverse=False)
def stacked_imbalance_ask(df: DataFrame, stacked_imbalance_range: int):
def stacked_imbalance_ask(df: pd.DataFrame, stacked_imbalance_range: int):
return stacked_imbalance(df, 'ask', stacked_imbalance_range, should_reverse=True)
def orderflow_to_volume_profile(df: DataFrame):
def orderflow_to_volume_profile(df: pd.DataFrame):
"""
:param orderflow: dataframe
:return: volume profile dataframe

View File

@@ -14,7 +14,6 @@ from typing import Any, Coroutine, Dict, List, Literal, Optional, Tuple, Union
import ccxt
import ccxt.async_support as ccxt_async
import pandas as pd
from cachetools import TTLCache
from ccxt import TICK_SIZE
from dateutil import parser
@@ -2156,8 +2155,8 @@ class Exchange:
# Reassign so we return the updated, combined df
combined_df = concat([old, trades_df], axis=0)
logger.debug(f"Clean duplicated ticks from Trades data {pair}")
trades_df = pd.DataFrame(trades_df_remove_duplicates(combined_df),
columns=combined_df.columns)
trades_df = DataFrame(trades_df_remove_duplicates(combined_df),
columns=combined_df.columns)
# Age out old candles
if first_required_candle_date:
# slice of older dates