85 lines
2.7 KiB
Markdown
85 lines
2.7 KiB
Markdown
# 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
|
||
|
||
|