Simplify trades_data storing

This commit is contained in:
Matthias
2023-08-18 09:31:57 +02:00
parent 5de3b9d7ae
commit 3eb3596552
5 changed files with 19 additions and 10 deletions

View File

@@ -82,7 +82,7 @@ class FeatherDataHandler(IDataHandler):
"""
raise NotImplementedError()
def trades_store(self, pair: str, data: DataFrame) -> None:
def _trades_store(self, pair: str, data: DataFrame) -> None:
"""
Store trades data (list of Dicts) to file
:param pair: Pair - used for filename
@@ -92,7 +92,7 @@ class FeatherDataHandler(IDataHandler):
filename = self._pair_trades_filename(self._datadir, pair)
self.create_dir_if_needed(filename)
data[DEFAULT_TRADES_COLUMNS].to_feather(filename, compression_level=9, compression='lz4')
data.to_feather(filename, compression_level=9, compression='lz4')
def trades_append(self, pair: str, data: DataFrame):
"""

View File

@@ -100,7 +100,7 @@ class HDF5DataHandler(IDataHandler):
"""
raise NotImplementedError()
def trades_store(self, pair: str, data: pd.DataFrame) -> None:
def _trades_store(self, pair: str, data: pd.DataFrame) -> None:
"""
Store trades data (list of Dicts) to file
:param pair: Pair - used for filename
@@ -109,7 +109,7 @@ class HDF5DataHandler(IDataHandler):
"""
key = self._pair_trades_key(pair)
data[DEFAULT_TRADES_COLUMNS].to_hdf(
data.to_hdf(
self._pair_trades_filename(self._datadir, pair), key,
mode='a', complevel=9, complib='blosc',
format='table', data_columns=['timestamp']

View File

@@ -15,7 +15,7 @@ from pandas import DataFrame
from freqtrade import misc
from freqtrade.configuration import TimeRange
from freqtrade.constants import ListPairsWithTimeframes
from freqtrade.constants import DEFAULT_TRADES_COLUMNS, ListPairsWithTimeframes
from freqtrade.data.converter import (clean_ohlcv_dataframe, trades_convert_types,
trades_df_remove_duplicates, trim_dataframe)
from freqtrade.enums import CandleType, TradingMode
@@ -171,7 +171,7 @@ class IDataHandler(ABC):
return [cls.rebuild_pair_from_filename(match[0]) for match in _tmp if match]
@abstractmethod
def trades_store(self, pair: str, data: DataFrame) -> None:
def _trades_store(self, pair: str, data: DataFrame) -> None:
"""
Store trades data (list of Dicts) to file
:param pair: Pair - used for filename
@@ -197,6 +197,16 @@ class IDataHandler(ABC):
:return: Dataframe containing trades
"""
def trades_store(self, pair: str, data: DataFrame) -> None:
"""
Store trades data (list of Dicts) to file
:param pair: Pair - used for filename
:param data: Dataframe containing trades
column sequence as in DEFAULT_TRADES_COLUMNS
"""
# Filter on expected columns (will remove the actual date column).
self._trades_store(pair, data[DEFAULT_TRADES_COLUMNS])
def trades_purge(self, pair: str) -> bool:
"""
Remove data for this pair

View File

@@ -94,7 +94,7 @@ class JsonDataHandler(IDataHandler):
"""
raise NotImplementedError()
def trades_store(self, pair: str, data: DataFrame) -> None:
def _trades_store(self, pair: str, data: DataFrame) -> None:
"""
Store trades data (list of Dicts) to file
:param pair: Pair - used for filename
@@ -102,8 +102,7 @@ class JsonDataHandler(IDataHandler):
column sequence as in DEFAULT_TRADES_COLUMNS
"""
filename = self._pair_trades_filename(self._datadir, pair)
data.loc[:, 'timestamp'] = data.loc[:, 'timestamp']
trades = data[DEFAULT_TRADES_COLUMNS].values.tolist()
trades = data.values.tolist()
misc.file_dump_json(filename, trades, is_zip=self._use_zip)
def trades_append(self, pair: str, data: DataFrame):

View File

@@ -81,7 +81,7 @@ class ParquetDataHandler(IDataHandler):
"""
raise NotImplementedError()
def trades_store(self, pair: str, data: DataFrame) -> None:
def _trades_store(self, pair: str, data: DataFrame) -> None:
"""
Store trades data (list of Dicts) to file
:param pair: Pair - used for filename