Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/freqai.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Features include:
* **Extensibility** - The generalized and robust architecture allows for incorporating any [machine learning library/method](freqai-configuration.md#using-different-prediction-models) available in Python. Eight examples are currently available, including classifiers, regressors, and a convolutional neural network
* **Smart outlier removal** - Remove outliers from training and prediction data sets using a variety of [outlier detection techniques](freqai-feature-engineering.md#outlier-detection)
* **Crash resilience** - Store trained models to disk to make reloading from a crash fast and easy, and [purge obsolete files](freqai-running.md#purging-old-model-data) for sustained dry/live runs
* **Automatic data normalization** - [Normalize the data](freqai-feature-engineering.md#feature-normalization) in a smart and statistically safe way
* **Automatic data normalization** - [Normalize the data](freqai-feature-engineering.md#building-the-data-pipeline) in a smart and statistically safe way
* **Automatic data download** - Compute timeranges for data downloads and update historic data (in live deployments)
* **Cleaning of incoming data** - Handle NaNs safely before training and model inferencing
* **Dimensionality reduction** - Reduce the size of the training data via [Principal Component Analysis](freqai-feature-engineering.md#data-dimensionality-reduction-with-principal-component-analysis)
Expand Down
4 changes: 2 additions & 2 deletions freqtrade/freqai/base_models/FreqaiMultiOutputClassifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from sklearn.multioutput import MultiOutputClassifier, _fit_estimator
from sklearn.utils.multiclass import check_classification_targets
from sklearn.utils.parallel import Parallel, delayed
from sklearn.utils.validation import has_fit_parameter
from sklearn.utils.validation import has_fit_parameter, validate_data

from freqtrade.exceptions import OperationalException

Expand Down Expand Up @@ -36,7 +36,7 @@ def fit(self, X, y, sample_weight=None, fit_params=None):
if not hasattr(self.estimator, "fit"):
raise ValueError("The base estimator should implement a fit method")

y = self._validate_data(X="no_validation", y=y, multi_output=True)
y = validate_data(self, X="no_validation", y=y, multi_output=True)

if is_classifier(self):
check_classification_targets(y)
Expand Down
4 changes: 2 additions & 2 deletions freqtrade/freqai/base_models/FreqaiMultiOutputRegressor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from sklearn.multioutput import MultiOutputRegressor, _fit_estimator
from sklearn.utils.parallel import Parallel, delayed
from sklearn.utils.validation import has_fit_parameter
from sklearn.utils.validation import has_fit_parameter, validate_data


class FreqaiMultiOutputRegressor(MultiOutputRegressor):
Expand Down Expand Up @@ -31,7 +31,7 @@ def fit(self, X, y, sample_weight=None, fit_params=None):
if not hasattr(self.estimator, "fit"):
raise ValueError("The base estimator should implement a fit method")

y = self._validate_data(X="no_validation", y=y, multi_output=True)
y = validate_data(self, X="no_validation", y=y, multi_output=True)

if y.ndim == 1:
raise ValueError(
Expand Down
1 change: 1 addition & 0 deletions freqtrade/rpc/rpc.py
Original file line number Diff line number Diff line change
Expand Up @@ -1283,6 +1283,7 @@ def _rpc_get_logs(limit: int | None) -> dict[str, Any]:
r.message + ("\n" + r.exc_text if r.exc_text else ""),
]
for r in buffer
if hasattr(r, "message")
]

# Log format:
Expand Down
4 changes: 2 additions & 2 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
-r docs/requirements-docs.txt

coveralls==4.0.1
ruff==0.8.4
ruff==0.8.6
mypy==1.14.1
pre-commit==4.0.1
pytest==8.3.4
Expand All @@ -22,7 +22,7 @@ isort==5.13.2
time-machine==2.16.0

# Convert jupyter notebooks to markdown documents
nbconvert==7.16.4
nbconvert==7.16.5

# mypy types
types-cachetools==5.5.0.20240820
Expand Down
2 changes: 1 addition & 1 deletion requirements-hyperopt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
-r requirements.txt

# Required for hyperopt
scipy==1.14.1
scipy==1.15.0
scikit-learn==1.6.0
ft-scikit-optimize==0.9.2
filelock==3.16.1
3 changes: 3 additions & 0 deletions tests/exchange/test_binance.py
Original file line number Diff line number Diff line change
Expand Up @@ -1053,3 +1053,6 @@ async def mock_get_trade_hist(pair, *args, **kwargs):

assert fetch_trades_cal[2][1]["params"][pagination_arg] != "0"
assert fetch_trades_cal[3][1]["params"][pagination_arg] != "0"

# Clean up event loop to avoid warnings
exchange.close()
Loading