2.7 KiB
FreqStats
Adaptation de la stratégie
Génération du dataframe en fichier
Ajouter à la fin de populate_buy_trend :
if self.dp.runmode.value in ('backtest'):
dataframe.to_feather(f"user_data/backtest_results/{metadata['pair'].replace('/', '_')}_df.feather")
### Lancer un backtest avec export signals
freqtrade backtesting --strategy Zeus_8_3_2_B_4_2 --config config.json --timerange 20250423-20250426 --timeframe 5m --breakdown week --enable-protections --export signals --pairs BTC/USDT
Docker
Construction
docker build -t flask-web-app .
Lancement
docker run -it -p 5000:5000 -v $(pwd)/src/:/src -v /home/jerome/Perso/freqtradeDocker/user_data/:/mnt/external flask-web-app bash
puis : python3 app.py
Application Web
Url : http://127.0.0.1:5000/
Choisir un backtest dans la liste
Choisir le fichier généré par le backtest par la stratégie
Cliquer sur les boutons
librairies
### Génération d'un rapport sur le dataframe
ydata-profiling : https://github.com/ydataai/ydata-profiling
profile = ProfileReport(dataframe, tsmode=True, sortby="date", title="Time-Series EDA")
profile.to_file("report_timeseries.html")
📉 Erreur moyenne absolue : 308.9832 Il s'agit de la MAE (Mean Absolute Error), une métrique d'évaluation de ton modèle.
MAE = moyenne des distances absolues entre les prédictions et les vraies valeurs.
Une MAE de 308.98 signifie qu'en moyenne, les prédictions du modèle s'écartent de ~309 unités de la valeur réelle.
Cela peut être acceptable ou énorme selon l'échelle de ta variable cible. Si tu prédis des prix en crypto à 60 000 USD, c'est relativement faible. Si tu prédis des variations de 0.5, c’est catastrophique.
🧠 Architecture du modèle C’est un modèle Sequential avec 3 couches Dense (fully connected) :
Couche Sortie Paramètres dense (None, 64) 320 dense_1 (None, 32) 2,080 dense_2 (None, 1) 33
✳️ Détails : (None, 64) signifie : nombre d'exemples non spécifié (None), chaque exemple produit un vecteur de 64.
Param # = nombre de poids (W) + biais (b) à apprendre.
Par exemple : dense_1 a 64 entrées et 32 sorties → (64 * 32) + 32 = 2080
🧮 Total : Paramètres totaux : 7 301 (dont certains sont utilisés pour l’optimiseur)
Trainables : 2 433 paramètres que le modèle ajuste lors de l’entraînement
Non-trainables : aucun ici (souvent présents avec des couches gelées ou embeddings fixes)
Netron
/home/jerome/.local/bin/netron -p 5000 --host 127.0.0.1 /home/jerome/Perso/freqtradeDocker/user_data/reports/model.h5 Serving '/home/jerome/Perso/freqtradeDocker/user_data/reports/model.h5' at http://127.0.0.1:5000