@@ -58,20 +58,25 @@ class FeatherDataHandler(IDataHandler):
|
|||||||
)
|
)
|
||||||
if not filename.exists():
|
if not filename.exists():
|
||||||
return DataFrame(columns=self._columns)
|
return DataFrame(columns=self._columns)
|
||||||
|
try:
|
||||||
pairdata = read_feather(filename)
|
pairdata = read_feather(filename)
|
||||||
pairdata.columns = self._columns
|
pairdata.columns = self._columns
|
||||||
pairdata = pairdata.astype(
|
pairdata = pairdata.astype(
|
||||||
dtype={
|
dtype={
|
||||||
"open": "float",
|
"open": "float",
|
||||||
"high": "float",
|
"high": "float",
|
||||||
"low": "float",
|
"low": "float",
|
||||||
"close": "float",
|
"close": "float",
|
||||||
"volume": "float",
|
"volume": "float",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
pairdata["date"] = to_datetime(pairdata["date"], unit="ms", utc=True)
|
pairdata["date"] = to_datetime(pairdata["date"], unit="ms", utc=True)
|
||||||
return pairdata
|
return pairdata
|
||||||
|
except Exception as e:
|
||||||
|
logger.exception(
|
||||||
|
f"Error loading data from {filename}. Exception: {e}. Returning empty dataframe."
|
||||||
|
)
|
||||||
|
return DataFrame(columns=self._columns)
|
||||||
|
|
||||||
def ohlcv_append(
|
def ohlcv_append(
|
||||||
self, pair: str, timeframe: str, data: DataFrame, candle_type: CandleType
|
self, pair: str, timeframe: str, data: DataFrame, candle_type: CandleType
|
||||||
|
|||||||
@@ -68,28 +68,36 @@ class HDF5DataHandler(IDataHandler):
|
|||||||
)
|
)
|
||||||
if not filename.exists():
|
if not filename.exists():
|
||||||
return pd.DataFrame(columns=self._columns)
|
return pd.DataFrame(columns=self._columns)
|
||||||
where = []
|
try:
|
||||||
if timerange:
|
where = []
|
||||||
if timerange.starttype == "date":
|
if timerange:
|
||||||
where.append(f"date >= Timestamp({timerange.startts * 1e9})")
|
if timerange.starttype == "date":
|
||||||
if timerange.stoptype == "date":
|
where.append(f"date >= Timestamp({timerange.startts * 1e9})")
|
||||||
where.append(f"date <= Timestamp({timerange.stopts * 1e9})")
|
if timerange.stoptype == "date":
|
||||||
|
where.append(f"date <= Timestamp({timerange.stopts * 1e9})")
|
||||||
|
|
||||||
pairdata = pd.read_hdf(filename, key=key, mode="r", where=where)
|
pairdata = pd.read_hdf(filename, key=key, mode="r", where=where)
|
||||||
|
|
||||||
if list(pairdata.columns) != self._columns:
|
if list(pairdata.columns) != self._columns:
|
||||||
raise ValueError("Wrong dataframe format")
|
raise ValueError("Wrong dataframe format")
|
||||||
pairdata = pairdata.astype(
|
pairdata = pairdata.astype(
|
||||||
dtype={
|
dtype={
|
||||||
"open": "float",
|
"open": "float",
|
||||||
"high": "float",
|
"high": "float",
|
||||||
"low": "float",
|
"low": "float",
|
||||||
"close": "float",
|
"close": "float",
|
||||||
"volume": "float",
|
"volume": "float",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
pairdata = pairdata.reset_index(drop=True)
|
pairdata = pairdata.reset_index(drop=True)
|
||||||
return pairdata
|
return pairdata
|
||||||
|
except ValueError as e:
|
||||||
|
raise
|
||||||
|
except Exception as e:
|
||||||
|
logger.exception(
|
||||||
|
f"Error loading data from {filename}. Exception: {e}. Returning empty dataframe."
|
||||||
|
)
|
||||||
|
return pd.DataFrame(columns=self._columns)
|
||||||
|
|
||||||
def ohlcv_append(
|
def ohlcv_append(
|
||||||
self, pair: str, timeframe: str, data: pd.DataFrame, candle_type: CandleType
|
self, pair: str, timeframe: str, data: pd.DataFrame, candle_type: CandleType
|
||||||
|
|||||||
@@ -56,20 +56,25 @@ class ParquetDataHandler(IDataHandler):
|
|||||||
)
|
)
|
||||||
if not filename.exists():
|
if not filename.exists():
|
||||||
return DataFrame(columns=self._columns)
|
return DataFrame(columns=self._columns)
|
||||||
|
try:
|
||||||
pairdata = read_parquet(filename)
|
pairdata = read_parquet(filename)
|
||||||
pairdata.columns = self._columns
|
pairdata.columns = self._columns
|
||||||
pairdata = pairdata.astype(
|
pairdata = pairdata.astype(
|
||||||
dtype={
|
dtype={
|
||||||
"open": "float",
|
"open": "float",
|
||||||
"high": "float",
|
"high": "float",
|
||||||
"low": "float",
|
"low": "float",
|
||||||
"close": "float",
|
"close": "float",
|
||||||
"volume": "float",
|
"volume": "float",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
pairdata["date"] = to_datetime(pairdata["date"], unit="ms", utc=True)
|
pairdata["date"] = to_datetime(pairdata["date"], unit="ms", utc=True)
|
||||||
return pairdata
|
return pairdata
|
||||||
|
except Exception as e:
|
||||||
|
logger.exception(
|
||||||
|
f"Error loading data from {filename}. Exception: {e}. Returning empty dataframe."
|
||||||
|
)
|
||||||
|
return DataFrame(columns=self._columns)
|
||||||
|
|
||||||
def ohlcv_append(
|
def ohlcv_append(
|
||||||
self, pair: str, timeframe: str, data: DataFrame, candle_type: CandleType
|
self, pair: str, timeframe: str, data: DataFrame, candle_type: CandleType
|
||||||
|
|||||||
Reference in New Issue
Block a user