SAC Crypto Trading Agent
Agent de trading crypto basé sur SAC (Soft Actor-Critic) entraîné avec Stable Baselines 3.
Architecture
- Algo : SAC (off-policy, maximum entropy actor-critic)
- Env : Gymnasium personnalisé sur données OHLCV (BTC-USD)
- Observation : fenêtre 30j de prix OHLCV normalisés + position + P&L
- Action : continue [-1, 1] → poids du portefeuille (short ↔ long)
- Reward : log-return du portefeuille + penalty overtrading + bonus holding
Hyperparamètres SAC
| Paramètre | Valeur |
|---|---|
| learning_rate | 3e-4 |
| buffer_size | 200000 |
| batch_size | 256 |
| tau | 0.005 |
| gamma | 0.99 |
| ent_coef | auto |
| use_sde | True |
Fichiers
model_v2.zip: modèle SAC entraînévecnorm_v2.pkl: normalisation VecNormalize
Utilisation
from stable_baselines3 import SAC
from stable_baselines3.common.vec_env import DummyVecEnv, VecNormalize
from crypto_trading_env import CryptoTradingEnv
import pandas as pd
# Charger données
df = pd.read_csv("btc_usd.csv") # open,high,low,close,volume
env = DummyVecEnv([lambda: CryptoTradingEnv(df)])
env = VecNormalize.load("vecnorm_v2.pkl", env)
model = SAC.load("model_v2.zip", env=env)
obs = env.reset()
action, _ = model.predict(obs, deterministic=True)
Avertissement
Ceci est un projet de recherche. Les performances passées ne garantissent pas les résultats futurs. Ne pas utiliser en production sans backtesting rigoureux.