Skip to content

sx584/freqai-clstm-classifier

Repository files navigation

Add PyTorchCLSTMClassifier in user_data/freqaimodels Add the other two files to your torch-Folder in freqtrade/freqai/torch

Define the classes in your strategy like this:

def set_freqai_targets(self, df, **kwargs):

    # Here we need to set the class-names:
    self.freqai.class_names = [ 
        "neutral",
        "strong_up",
        "moderate_up",
        "slight_up",
        "strong_down",
        "moderate_down",
        "slight_down"
    ] 

# ...continue with your target definition

Example Config:

"freqai": {
        "enabled": true,
        "activate_tensorboard" : true,
        "purge_old_models": 2,
        "expiration_hours": 4,
        "live_retrain_hours": 2,
        "train_period_days": 20,
        "backtest_period_days": 5,
        "save_backtest_models": true,
        "write_metrics_to_disk": true,
        "identifier": "clstm1",
        "fit_live_predictions_candles": 24,
        "weibull_outlier_threshold": 0.999,
        "optuna_hyperopt": false,
        "track_performance": true,
        "feature_parameters": {
            "include_corr_pairlist": [
                "BTC/USDT:USDT"
            ],
            "include_timeframes": [
                "1m",
                "5m"
            ],
            "label_period_candles": 15,
            "include_shifted_candles": 3,
            // "DI_threshold": 20,
            "weight_factor": 0.5,
            "principal_component_analysis": false,
            "use_SVM_to_remove_outliers": false,
            "use_DBSCAN_to_remove_outliers": false,
            "indicator_periods_candles": [5, 10, 20, 30, 60],
            "noise_standard_deviation": 0.1,
            "buffer_train_data_candles": 25
        },
        "data_split_parameters": {
            "test_size": 0.25,
            "random_state": 187,
            "shuffle": false
        },
        "model_training_parameters": {
            "learning_rate": 1e-3,
            "trainer_kwargs": {
                "n_steps": 5000,
                "batch_size": 16, //64
                "n_epochs": 100,
                "patience": 30,
                "scheduler": "cosine"
            },
            "model_kwargs": {
                "cnn_blocks": 3,
                "lstm_units": 20, //32
                "lstm_layers": 2,
                "dense_layers": 3,
                "dense_neurons": 20, //32
                "dropout_percent": 0.3,
                "use_attention": true
            },
            "use_class_weights": true,
            "class_weights_method": "focused",
            "signal_stabilization": false,
            "hysteresis_value": 0.15
        }

About

CLSTM (CNN-LSTM-Hybrid) Model for FreqAI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages