ameforge's picture
Upload README.md with huggingface_hub
a964d2a verified
|
Raw
History Blame Contribute Delete
4.69 kB
---
license: other
tags:
- tabular-classification
- tabicl
- trading
- multi-asset
- synthetic-indices
- in-context-learning
- time-series
- finance
library_name: tabicl
pipeline_tag: tabular-classification
---
# tabicl-universal-finetuned
Checkpoint **TabICL universel** (Tabular Foundation Model, in-context learning) fine-tuné
pour la prédiction d'action de trading (**Buy / Sell / Hold**) sur **Gold, BTC ET indices
synthétiques Deriv/Weltrade réunis dans un seul modèle**, destiné à servir de 5e expert
au sein d'un ensemble EARCP multi-experts. Remplace le besoin d'avoir des checkpoints
séparés par classe d'actif — voir la feature one-hot ci-dessous.
## Détails du modèle
- **Architecture de base**: TabICL v2 (in-context learning — voir
[`tabicl`](https://github.com/soda-inria/tabicl))
- **Tâche**: classification 3 classes (0=Buy, 1=Sell, 2=Hold)
- **Symboles d'entraînement** (30): XAUUSD.ecn, BTCUSD.ecn, Boom 500 Index, Boom 1000 Index, Crash 500 Index, Crash 1000 Index, FlipX 3, FlipX 4, FlipX 5, FX Vol 20, FX Vol 40, FX Vol 60, FX Vol 80, FX Vol 99, GainX 400, GainX 600, GainX 800, GainX 1200, PainX 400, PainX 600, PainX 800, PainX 1200, SFX Vol 20, SFX Vol 40, SFX Vol 60, Volatility 10 Index, Volatility 25 Index, Volatility 50 Index, Volatility 75 Index, Volatility 100 Index
- **Timeframes utilisés**: M1, M5, M15, M30, H1, H4, D1
- **Dimension d'entrée**: 60 (49 features de base ×
7 timeframes + 11 one-hot famille)
- **Features de base par timeframe**: close, trend_strength, candle_pattern,
volatility, market_regime, candlestick_pattern, chart_pattern
- Une feature one-hot 'famille d'actif' (11 catégories: xauusd, btcusd, boom, crash, volatility, flipx, gainx, painx, fxvol, sfxvol, other) permet à CE SEUL modèle de couvrir à la fois les actifs réels (Gold, BTC) et les indices synthétiques (Boom/Crash/Volatility/GainX/PainX/FlipX/FX Vol/SFX Vol), qui ont des propriétés statistiques très différentes. Le bot détecte automatiquement la famille depuis le symbole courant (get_asset_family_from_symbol) -> changer de courtier/symbole ne nécessite PAS de changer de checkpoint, tant que le nouveau symbole est reconnu par cette fonction (sinon il tombe dans 'other').
- **Plafond par symbole**: 1600 échantillons max par symbole (représentation
équilibrée entre toutes les familles, pas de domination par les actifs à long historique)
- **Labeling**: triple-barrier anti-lookahead (TP=2.0×ATR, SL=1.0×ATR,
horizon=60 barres du timeframe le plus fin disponible)
- **Date de fine-tuning**: 2026-07-01T19:10:35Z
## Données d'entraînement
- **Échantillons d'entraînement**: 40800
- **Échantillons de validation**: 7200
- Source: MT5 pour tous les symboles ; HuggingFace en complément uniquement pour
xauusd/btcusd (aucune source publique pour les indices synthétiques)
- Certains timeframes n'ont volontairement pas été exportés pour tous les symboles (choix délibéré, pas une lacune) ; dans ce cas les features correspondantes sont remplies à 0, exactement comme le fallback de production du bot lorsqu'une granularité échoue à se récupérer. Cohérence train/serve garantie.
## Résultats (jeu de validation)
**Accuracy globale**: 0.6278
| Classe | Précision | Rappel | F1-score | Support |
|---|---|---|---|---|
| Buy | 0.66 | 0.74 | 0.70 | 2693 |
| Sell | 0.65 | 0.77 | 0.71 | 2725 |
| Hold | 0.44 | 0.23 | 0.30 | 1782 |
## Utilisation prévue
Ce checkpoint est conçu pour être chargé directement (sans re-fit) comme 5e expert
dans un ensemble de trading multi-modèles, où son poids de contribution est ajusté
dynamiquement selon sa performance et sa cohérence avec les autres experts. Un seul
checkpoint suffit désormais pour tout changement de courtier/symbole (Gold, BTC ou
synthétiques) tant que le symbole est reconnu par la classification de famille. Il
n'est **pas** destiné à un usage autonome de décision de trading sans supervision
humaine ni gestion du risque en amont.
## Limitations
- Mélanger actifs réels et synthétiques dans un seul modèle dilue potentiellement le
signal malgré le one-hot famille ; à comparer empiriquement aux checkpoints séparés
(tabicl-gold-btc-finetuned / tabicl-synthetics-finetuned) avant de trancher lequel
utiliser en production.
- Un nouveau symbole non reconnu par `get_asset_family_from_symbol` tombe dans la
famille générique 'other', potentiellement moins bien couverte.
- Le coût d'inférence de TabICL est plus élevé qu'un modèle de gradient boosting
classique (XGBoost) ; à évaluer selon les contraintes de latence du système cible.
- Ne constitue pas un conseil financier.