From 92721db583f690d65f300d5d61aa5e11f1727056 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 31 Jan 2021 10:39:37 +0100 Subject: [PATCH 1/2] Version bump numpy to 1.20.0 --- build_helpers/install_windows.ps1 | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build_helpers/install_windows.ps1 b/build_helpers/install_windows.ps1 index 2025a1a44..5747db335 100644 --- a/build_helpers/install_windows.ps1 +++ b/build_helpers/install_windows.ps1 @@ -2,7 +2,7 @@ # Downloaded from https://www.lfd.uci.edu/~gohlke/pythonlibs/#ta-lib # Invoke-WebRequest -Uri "https://download.lfd.uci.edu/pythonlibs/xxxxxxx/TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl" -OutFile "TA_Lib-0.4.17-cp37-cp37m-win_amd64.whl" -python -m pip install --upgrade pip==21.0.0 +python -m pip install --upgrade pip $pyv = python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" diff --git a/requirements.txt b/requirements.txt index cc8861d82..c6cb3e445 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -numpy==1.19.5 +numpy==1.20.0 pandas==1.2.1 ccxt==1.40.99 From 5724371a4ff9087a9adb95895e1f829102ceb033 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 31 Jan 2021 11:21:23 +0100 Subject: [PATCH 2/2] Fix types for numpy 1.20.0 upgrade --- freqtrade/data/btanalysis.py | 2 +- freqtrade/misc.py | 15 --------------- freqtrade/rpc/rpc.py | 4 ++-- tests/test_misc.py | 24 +++--------------------- 4 files changed, 6 insertions(+), 39 deletions(-) diff --git a/freqtrade/data/btanalysis.py b/freqtrade/data/btanalysis.py index b7c8529ac..828fb78f3 100644 --- a/freqtrade/data/btanalysis.py +++ b/freqtrade/data/btanalysis.py @@ -312,7 +312,7 @@ def calculate_market_change(data: Dict[str, pd.DataFrame], column: str = "close" end = df[column].dropna().iloc[-1] tmp_means.append((end - start) / start) - return np.mean(tmp_means) + return float(np.mean(tmp_means)) def combine_dataframes_with_mean(data: Dict[str, pd.DataFrame], diff --git a/freqtrade/misc.py b/freqtrade/misc.py index 359d0d0e4..22e14b564 100644 --- a/freqtrade/misc.py +++ b/freqtrade/misc.py @@ -9,7 +9,6 @@ from pathlib import Path from typing import Any from typing.io import IO -import numpy as np import rapidjson @@ -28,20 +27,6 @@ def shorten_date(_date: str) -> str: return new_date -############################################ -# Used by scripts # -# Matplotlib doesn't support ::datetime64, # -# so we need to convert it into ::datetime # -############################################ -def datesarray_to_datetimearray(dates: np.ndarray) -> np.ndarray: - """ - Convert an pandas-array of timestamps into - An numpy-array of datetimes - :return: numpy-array of datetime - """ - return dates.dt.to_pydatetime() - - def file_dump_json(filename: Path, data: Any, is_zip: bool = False, log: bool = True) -> None: """ Dump JSON data into a file diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index c5166c35e..491d1cde6 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -378,7 +378,7 @@ class RPC: # Prepare data to display profit_closed_coin_sum = round(sum(profit_closed_coin), 8) - profit_closed_ratio_mean = mean(profit_closed_ratio) if profit_closed_ratio else 0.0 + profit_closed_ratio_mean = float(mean(profit_closed_ratio) if profit_closed_ratio else 0.0) profit_closed_ratio_sum = sum(profit_closed_ratio) if profit_closed_ratio else 0.0 profit_closed_fiat = self._fiat_converter.convert_amount( @@ -388,7 +388,7 @@ class RPC: ) if self._fiat_converter else 0 profit_all_coin_sum = round(sum(profit_all_coin), 8) - profit_all_ratio_mean = mean(profit_all_ratio) if profit_all_ratio else 0.0 + profit_all_ratio_mean = float(mean(profit_all_ratio) if profit_all_ratio else 0.0) profit_all_ratio_sum = sum(profit_all_ratio) if profit_all_ratio else 0.0 profit_all_fiat = self._fiat_converter.convert_amount( profit_all_coin_sum, diff --git a/tests/test_misc.py b/tests/test_misc.py index 6dcd9fbe5..429da135a 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -6,11 +6,9 @@ from unittest.mock import MagicMock import pytest -from freqtrade.data.converter import ohlcv_to_dataframe -from freqtrade.misc import (datesarray_to_datetimearray, file_dump_json, file_load_json, - format_ms_time, pair_to_filename, plural, render_template, - render_template_with_fallback, safe_value_fallback, - safe_value_fallback2, shorten_date) +from freqtrade.misc import (file_dump_json, file_load_json, format_ms_time, pair_to_filename, + plural, render_template, render_template_with_fallback, + safe_value_fallback, safe_value_fallback2, shorten_date) def test_shorten_date() -> None: @@ -19,22 +17,6 @@ def test_shorten_date() -> None: assert shorten_date(str_data) == str_shorten_data -def test_datesarray_to_datetimearray(ohlcv_history_list): - dataframes = ohlcv_to_dataframe(ohlcv_history_list, "5m", pair="UNITTEST/BTC", - fill_missing=True) - dates = datesarray_to_datetimearray(dataframes['date']) - - assert isinstance(dates[0], datetime.datetime) - assert dates[0].year == 2017 - assert dates[0].month == 11 - assert dates[0].day == 26 - assert dates[0].hour == 8 - assert dates[0].minute == 50 - - date_len = len(dates) - assert date_len == 2 - - def test_file_dump_json(mocker) -> None: file_open = mocker.patch('freqtrade.misc.open', MagicMock()) json_dump = mocker.patch('rapidjson.dump', MagicMock())