Stratégies
Stratégie de paires à retour à la moyenne du ratio SOL/ETH neutre au marché (BINANCE USD-M contrats perpétuels, score z du log-ratio journalier, deux jambes neutres en dollars, filtrage par régime de corrélation, 3 paramètres)
Résultat: Abandonné
SolEthRatioMeanReversionPairsLS
Résumé des résultats
Hypothèse
Implémentation
Opération de paires à retour à la moyenne du ratio SOL/ETH, neutre en dollars, sur les contrats perpétuels BINANCE USD-M (barres quotidiennes). Standardise le log(SOL/ETH) en score z sur une fenêtre glissante d’environ 20 jours ; lorsque |z| >= entry_z, elle ouvre une paire à deux jambes neutre au marché — achat de la jambe sous-évaluée, vente à découvert de la jambe surévaluée, même notionnel USD par jambe (delta net ~0). Un seuil plancher de régime de corrélation sur les rendements logarithmiques quotidiens SOL/ETH filtre les entrées afin que l’opération n’ait lieu que lorsque le ratio évolue réellement de concert. Sorties en cas de convergence (|z| <= exit_z), de stop de divergence (|z| >= stop_z) ou à l’issue d’une durée maximale de détention. Levier 2x, avec un notionnel par jambe = 25% des capitaux propres x levier, plafonné en exposition brute, de sorte que l’exposition brute soit d’environ 1.0x des capitaux propres tout en restant neutre en bêta.
Résultats de vérification
En cas d’échec d’une jambe parmi les ETH, liquider immédiatement toute jambe SOL déjà ouverte, ou ne définir l’état d’entrée qu’après confirmation des deux exécutions.
L’échec de l’entrée sur une seule jambe laisse une position non couverte, sans limite de durée. La jambe SOL est soumise en premier, puis ETH ; si la soumission de ETH déclenche une exception, le bloc except réinitialise entry_bar_idx=None et direction=0, mais la jambe SOL est déjà ouverte. Une position SOL non couverte avec entry_bar_idx=None fait que la durée de détention est calculée comme 0 indéfiniment : le stop temporel max_holding_bars ne peut donc jamais se déclencher — seule une sortie fondée sur z peut la clôturer. Cela viole l’invariant de neutralité en dollars. Peu probable dans le backtest (exécutions au sein de l’événement), mais risque latent en simulation ou en production.
corr_floor != stationnarité ; envisager un filtre fondé sur la demi-vie ou la tendance avant d’allouer du budget à l’optimisation.
Résultat du bac à sable catastrophique (-91.7%, ratio de Sharpe -4.10, PF 0.67, DD 93%), mais il ne présente NOT la signature d’un défaut de code selon L17 : win_rate 0.478 (et non 0), |Sharpe| 4.1 (et non >5), PF 0.67 (et non 0), positions acheteuses/vendeuses symétriques 91/91, bêta ~ -0.04 (réellement neutre au delta), polarité correcte. Il s’agit d’un échec d’avantage/régime — le retour à la moyenne a pris le contre-pied d’une tendance persistante SOL-contre-ETH (short_win_rate 0.407). L’analyste devrait y voir une forte indication préalable en faveur de l’abandon au stade BACKTEST_REVIEW.
Rétablir entry_z=2.5 pour correspondre à l’hypothèse, ou laisser l’optimiseur le resserrer.
La valeur par défaut entry_z=2.0 est inférieure au seuil |z|>=2.5 indiqué dans l’hypothèse. Le mécanisme structurel est correct ; seule l’amplitude diffère (assouplissement délibéré documenté afin que le bac à sable de 91 jours génère des opérations). Ce n’est pas critique.
Revue du backtest
- Sharpe
- -0,73
- Rendement total
- -91,72%
- Drawdown max
- 93,07%
- Total des transactions
- 182
- Taux de réussite
- 48,4%
- Facteur de profit
- 0,73
Aucune lacune de données : 182 transactions sur 955 jours de transaction, deux jambes entièrement cataloguées, funding_events_available 7203, metrics_reliable=true — le résultat fournit une mesure fiable de l’avantage
Conception épurée à paire unique (2 jambes, sans artefact d’agrégation de panier/rotation), signal minimal à 3 paramètre pour limiter le surajustement
Perte nette et marquée : total_return -91.7%, ratio de Sharpe -0.73, profit_factor 0.735, espérance -$393/transaction, avg_trade_return_pct -2.05%, information_ratio -0.94
Catastrophique et constant : max_drawdown 93.1% (abandon ferme selon L19), négatif en 2021 (-42%), 2022 (-9%), 2023 (-41.5%), 2025 (-9.4%)
Le portefeuille « neutre en dollars » ne l’est pas : asymétrie -12.3, kurtosis 271, une seule journée de -49% (2021-02-21), largest_loss -$76.5k contre largest_win $28.1k — le ratio SOL/ETH suit des tendances selon les régimes au lieu de revenir à la moyenne, si bien que les mises sur la convergence se font balayer
Le filtre de régime de corrélation n’a pas empêché les effondrements ; la prémisse (retour à la moyenne du ratio) est erronée, et non un défaut ajustable
Résumé des résultats
Une forte corrélation des rendements n’est pas une cointégration : un ratio peut être étroitement corrélé tout en suivant une tendance d’un régime à l’autre (revalorisation de 2021 de SOL par rapport à ETH), si bien que les stratégies de retour à la moyenne du ratio/de l’écart sur les principales paires L1 suivant une tendance écrasent les paris sur la convergence — toute approche par paires nécessite un écart dont la stationnarité a été testée statistiquement, et non de simples jambes corrélées, conformément à l’objectif de survie neutre au marché 0/53 du portefeuille.
L’évaluateur du backtest a conclu à l’abandon au stade préalable à l’optimisation : il s’agissait d’une prémisse réellement erronée, et non d’un problème de données ou de code — le log-ratio SOL/ETH suit des tendances selon les régimes au lieu de revenir à la moyenne, si bien que la mise sur la convergence a vendu à répétition la jambe chère au cœur d’une tendance persistante, et que le seul drawdown 93.1% a dépassé le seuil d’abandon ferme. Une exploration des paramètres ne peut pas inverser une distribution à espérance négative, à taux de réussite inférieur à -50%, où les pertes dépassent les gains.
Stratégie d’arbitrage statistique par paires, à deux jambes et neutre en dollars, sur les contrats perpétuels Binance USD-M de SOLUSDT et ETHUSDT (barres journalières), qui standardisait le log du ratio de prix SOL/ETH en score z sur une fenêtre d’environ 20 jours et pariait sur la convergence lorsque le ratio s’écartait (|z| >= seuil d’entrée) — achat de la jambe bon marché et vente de la jambe chère à notionnel égal — sous réserve d’un seuil plancher de régime de corrélation, avec détention sur plusieurs jours.
Avec une couverture complète des données (182 transactions sur 955 jours de transaction, metrics_reliable=true), le résultat a été nettement perdant : rendement total -91.7%, ratio de Sharpe -0.73, facteur de profit 0.735, espérance -$393/transaction, avg_trade_return_pct -2.05% et ratio d’information -0.94, avec un drawdown maximal catastrophique de 93.1%, des pertes en 2021/2022/2023/2025, et un portefeuille censé être neutre affichant une asymétrie de -12.3, une kurtosis de 271, une seule journée de -49% et une perte maximale de -$76.5k contre un gain maximal de $28.1k. Aucune étape d’optimisation n’a été exécutée.
Stratmill est un outil de recherche et de paper trading, pas un conseil financier ni un courtier. Les résultats de backtest et de paper trading sont hypothétiques. Le trading comporte un risque de perte.