Passer au contenu
Toutes les stratégies

Stratégies

Spread de momentum du ratio ETH-BTC sur Hyperliquid (4H, paire longue-courte, tendance transversale)

Résultat: Abandonné

HyperliquidEthBtcRatioMomentumPair

Résumé des résultats

HyperliquidEthBtcRatioMomentumPair était une stratégie de paire neutre au marché, différenciée et proprement conçue sur des bougies Hyperliquid de 4H, prenant des positions longues/courtes sur ETH par rapport à BTC selon le momentum du logarithme du ratio, avec seulement trois paramètres de signal pour limiter le surajustement. Malgré un câblage solide — 243 entrées appariées neutres en dollars, sans anomalie de taille, de notionnel ou de trésorerie — elle a perdu de l’argent chacune de ses trois années et a……Afficher plusAfficher moins

HyperliquidEthBtcRatioMomentumPair était une stratégie de paire neutre au marché, différenciée et proprement conçue sur des bougies Hyperliquid de 4H, prenant des positions longues/courtes sur ETH par rapport à BTC selon le momentum du logarithme du ratio, avec seulement trois paramètres de signal pour limiter le surajustement. Malgré un câblage solide — 243 entrées appariées neutres en dollars, sans anomalie de taille, de notionnel ou de trésorerie — elle a perdu de l’argent chacune de ses trois années et a terminé avec un rendement total de -69.8%, un Sharpe de -1.22 et un facteur de profit de 0.888. L’analyste l’a abandonnée au point de contrôle de l’examen du backtest avant optimisation, après l’itération 4, concluant que la prémisse elle-même était erronée plutôt que simplement mal calibrée. Conclusion : le spread ETH/BTC revient vers sa moyenne autour de sa tendance ; les entrées momentum sont donc systématiquement prises à contre-pied par la structure même du marché. Toute expression correcte d’un tel avantage relèverait du retour à la moyenne, une hypothèse entièrement distincte.

Hypothèse

Opération de paires à momentum transversal neutre au marché sur les contrats perpétuels Hyperliquid, qui exploite la tendance persistante de ETH et BTC à mener le marché crypto à tour de rôle. La stratégie négocie le ETH/BTC RATIO (et non les prix absolus), en prenant une position longue sur ETHUSD.HYPERLIQUID et courte sur BTCUSD.HYPERLIQUID lorsque le ratio suit une tendance haussière, et l’inverse lorsqu’il suit une tendance baissière. Il s’agit d’une stratégie classique fondée sur le facteur de force……Afficher plusAfficher moins

Opération de paires à momentum transversal neutre au marché sur les contrats perpétuels Hyperliquid, qui exploite la tendance persistante de ETH et BTC à mener le marché crypto à tour de rôle. La stratégie négocie le ETH/BTC RATIO (et non les prix absolus), en prenant une position longue sur ETHUSD.HYPERLIQUID et courte sur BTCUSD.HYPERLIQUID lorsque le ratio suit une tendance haussière, et l’inverse lorsqu’il suit une tendance baissière. Il s’agit d’une stratégie classique fondée sur le facteur de force relative, présente sur les marchés actions (écart entre momentum élevé et faible), qui fonctionne en crypto parce que : (a) la dominance de BTC évolue entre environ 38–58% au fil des mois ; (b) les récits de l’écosystème ETH (étés DeFi, lancements de L2, spéculation sur ETF) déclenchent une surperformance relative de ETH sur plusieurs semaines ; (c) les épisodes de réduction du risque macroéconomique déclenchent une surperformance relative de BTC (BTC étant une valeur refuge numérique au sein des cryptos). La stratégie est entièrement sur Hyperliquid (les deux jambes sur HL) et vise le quota de plateforme le moins représenté (HYPERLIQUID à 4.1% contre un objectif de 20%). Elle est long-short (atteint 9.3% contre un objectif d’environ 45%), porte sur des paires (atteint 13.9%) et utilise des bougies sûres de 4H sur BTC+ETH — l’historique le plus profond sur HL. Le mécanisme diffère fondamentalement d’une stratégie de tendance fondée sur les prix absolus (qui échoue à cause du bruit), car l’écart entre deux actifs fortement corrélés revient davantage vers sa moyenne autour de sa tendance de momentum que chaque actif pris isolément. NOT un motif graphique classique (évite les échecs de motifs 8+), NOT un arbitrage de base entre plateformes (déjà dans le pipeline sous BtcInverseLinearBasisArbitrage et CrossVenueEthBasisArbitrage), NOT une stratégie directionnelle sur un seul actif. Trois paramètres seulement (période d’observation, seuil, exit_band) afin de réduire le risque de surajustement après des échecs répétés dus à des signaux figés ou au surajustement.

Correction de l’itération 4 pour l’échec de Layer-2 : `HyperliquidEthBtcRatioMomentumPair._ts() takes 1 positional argument but 2 were given`. Cause racine : le proxy de vérification Layer-2 reconstruit la stratégie en copiant chaque fonction appelable sur un wrapper ordinaire avec `types.MethodType(val.__func__ if hasattr(val,'__func__') else val, wrapper)` ; un `@staticmethod` (qui ne possède pas `__func__`) est lié comme s’il s’agissait d’une méthode d’instance, ce qui injecte un `self` fantôme ; un……Afficher plusAfficher moins

Correction de l’itération 4 pour l’échec de Layer-2 : `HyperliquidEthBtcRatioMomentumPair._ts() takes 1 positional argument but 2 were given`. Cause racine : le proxy de vérification Layer-2 reconstruit la stratégie en copiant chaque fonction appelable sur un wrapper ordinaire avec `types.MethodType(val.__func__ if hasattr(val,'__func__') else val, wrapper)` ; un `@staticmethod` (qui ne possède pas `__func__`) est lié comme s’il s’agissait d’une méthode d’instance, ce qui injecte un `self` fantôme ; un `self._ts(bar)` ultérieur transmet donc 2 arguments à une fonction qui en attend 1. La correction SMALLEST qui élimine définitivement ce mode d’échec consiste à déplacer l’assistant d’horodatage des barres OUT de la classe vers une fonction au niveau du module `_bar_ts_ns(bar)` — résolue à partir des variables globales du module et jamais soumise à la nouvelle liaison de méthodes du proxy. Les deux anciens points d’appel `self._ts(bar)` (dans `on_extra_bar` et `calculate_signal`) appellent désormais `_bar_ts_ns(bar)`. Aucune autre logique n’a changé : le signal de momentum continu fondé sur le logarithme du ratio, l’exécution appariée neutre en dollars (`_submit_entry`/`_submit_exit`), le dimensionnement tenant compte de l’effet de levier et tous les seuils sont identiques à ceux de la version précédente — tout ce qui avait déjà réussi Layer 1 est ainsi préservé. Vérifié localement : Layer 1 (statique) réussit et les 6 scénarios synthétiques Layer-2 (steady_uptrend, steady_downtrend, flat_ranging, volatility_spike, zero_volume, price_gap) réussissent sans exception.

Abandon avant optimisation : la paire MOMENTUM sur le ratio ETH/BTC n’a aucun avantage et perd durablement après déduction des frais et de l’impact sur Hyperliquid — Sharpe -1.22, Sortino -2.06, total_return -69.8%, CAGR -45.5%, profit_factor 0.888, et NEGATIVE chaque année (2024 -14.8%, 2025 -43.7%, 2026 -48.4%), avec un Sharpe glissant négatif sur presque toute la période. L’implémentation est solide (243 entrées appariées sans anomalie, les deux jambes HL, neutre en dollars, aucune omission), il ne s’agit donc……Afficher plusAfficher moins

Abandon avant optimisation : la paire MOMENTUM sur le ratio ETH/BTC n’a aucun avantage et perd durablement après déduction des frais et de l’impact sur Hyperliquid — Sharpe -1.22, Sortino -2.06, total_return -69.8%, CAGR -45.5%, profit_factor 0.888, et NEGATIVE chaque année (2024 -14.8%, 2025 -43.7%, 2026 -48.4%), avec un Sharpe glissant négatif sur presque toute la période. L’implémentation est solide (243 entrées appariées sans anomalie, les deux jambes HL, neutre en dollars, aucune omission), il ne s’agit donc pas d’un problème de câblage ou de signal figé — la prémisse est erronée : comme l’admet l’hypothèse elle-même, le spread ETH/BTC revient vers sa moyenne autour de sa tendance de momentum, si bien qu’une entrée MOMENTUM est systématiquement prise à contre-pied (win_rate 44.6%, espérance -$154.8/transaction). Un Sharpe de -1.22, négatif pendant les trois années, ne traduit pas un précipice ni un artefact de période que l’ajustement des paramètres de momentum 3 (période de référence/seuil/exit_band) pourrait rendre positif ; inverser le signal pour adopter un retour à la moyenne constituerait une nouvelle hypothèse, et non un ajustement des paramètres — cela ne justifie donc pas 2 heures d’optimisation. FAILURE PATTERN : le MOMENTUM transversal sur le logarithme du ratio ETH/BTC n’offre aucun avantage exploitable sur les contrats perpétuels en bougies de 4H HL — le spread entre les grandes capitalisations fortement corrélées revient vers sa moyenne au lieu de suivre une tendance, si bien que les entrées momentum perdent durablement dans tous les régimes malgré une implémentation neutre au marché, propre et différenciée ; toute expression correcte d’un avantage sur le ratio ETH/BTC relèverait du retour à la moyenne, une hypothèse distincte.

Implémentation

Opération de paires à momentum transversal neutre au marché sur les contrats perpétuels Hyperliquid. La variable de décision est le momentum du log-ratio de ETH/BTC (log(ETH/BTC)[now] - log(ETH/BTC)[lookback ago]), calculé en continu à chaque bougie de 4H au moyen d’un SyncedBuffer synchronisé par horodatage pour les deux jambes. Quand le ratio dépasse le seuil à la hausse, la stratégie prend une position longue sur ETHUSD et courte sur BTCUSD ; quand il dépasse le seuil à la baisse, elle fait l’inverse. Les jambes sont dimensionnées pour avoir le même notionnel en USD (neutre en dollars, neutre au delta par rapport à BTC), selon les fonds propres du compte x capital_fraction x levier. Les positions sont clôturées lorsque le momentum revient dans la zone neutre exit_band, et les deux jambes sont toujours ouvertes et clôturées ensemble : aucune exposition non couverte à un seul actif n’est maintenue.

Résultats de vérification

Échec de la vérification (couche 2 — scénarios synthétiques) : Paramètres utilisés : ['lookback', 'exit_band', 'threshold', 'min_notional', 'capital_fraction'] Vérifiez que __init__ définit tous les attributs à partir de self.parameters.get(). - steady_uptrend : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000) - steady_downtrend : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel,……Afficher plusAfficher moins

Échec de la vérification (couche 2 — scénarios synthétiques) : Paramètres utilisés : ['lookback', 'exit_band', 'threshold', 'min_notional', 'capital_fraction'] Vérifiez que __init__ définit tous les attributs à partir de self.parameters.get(). - steady_uptrend : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000) - steady_downtrend : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000) - flat_ranging : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000) - volatility_spike : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000) - zero_volume : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000) - price_gap : TypeError: HyperliquidEthBtcRatioMomentumPair._ts() accepte 1 argument positionnel, mais 2 ont été transmis (horodatage de la bougie : 1735689600000)

Revue du backtest

Sharpe
-1,22
Rendement total
-69,83%
Drawdown max
72,92%
Total des transactions
486
Taux de réussite
44,7%
Facteur de profit
0,89

Paire neutre au marché propre et correctement câblée : 243 entrées appariées, les deux jambes HL, aucune perte de taille, de notionnel ou de liquidités, dimensionnement neutre en dollars.

Différenciation réelle de la plateforme et du périmètre (paire longue-courte sur Hyperliquid) et signal minimal à 3 paramètres pour limiter le surajustement

Sharpe -1.22 et Sortino -2.06 — rendement ajusté au risque fortement négatif pour une stratégie dont l’indice de référence n’est pas pertinent ; ce sont donc les mesures absolues qui prévalent

Pertes nettes persistantes : total_return -69.8%, CAGR -45.5%, profit_factor 0.888, résultat négatif sur les trois années ALL (2024/2025/2026)

La prémisse du momentum sur le ratio semble erronée dans son orientation : le spread ETH/BTC revient vers sa moyenne autour de sa tendance (selon l’hypothèse elle-même), si bien que les entrées momentum sont systématiquement prises à contre-pied.

Les mois positifs sont des pics à queues épaisses (kurtosis 71, asymétrie 5.9 ; valeur aberrante de +32.5% mai-2025) plutôt qu’un avantage reproductible ; probabilistic_sharpe 0.053

Les frais et l’impact ($38k de commissions + $25k d’impact) aggravent les pertes d’un signal sans avantage brut.

Analyse

N’envoyez pas NOT à l’optimisation : la version de base perd sur les trois années, avec un Sharpe de -1.22, et il n’existe aucune zone positive à trouver dans le balayage. Le mécanisme est correctement codé, mais le SIGN est inversé. Votre hypothèse indique que l’écart ETH/BTC revient à sa moyenne, pourtant should_enter() le négocie comme un momentum (position longue sur ETH et courte sur BTC lorsque le momentum du rapport logarithmique dépasse le seuil positif, c’est-à-dire AFTER que le rapport a déjà augmenté).……Afficher plusAfficher moins

N’envoyez pas NOT à l’optimisation : la version de base perd sur les trois années, avec un Sharpe de -1.22, et il n’existe aucune zone positive à trouver dans le balayage. Le mécanisme est correctement codé, mais le SIGN est inversé. Votre hypothèse indique que l’écart ETH/BTC revient à sa moyenne, pourtant should_enter() le négocie comme un momentum (position longue sur ETH et courte sur BTC lorsque le momentum du rapport logarithmique dépasse le seuil positif, c’est-à-dire AFTER que le rapport a déjà augmenté). Une paire neutre au marché qui affiche un Sharpe symétrique de -1.22 en perte dans tous les régimes est le signe classique d’une entrée inversée. Deux changements précis : (1) FLIP vers le retour à la moyenne : prendre une position longue sur ETH et courte sur BTC lorsque le rapport est étiré vers le DOWNSIDE (momentum inférieur au seuil négatif ou score z sous une bande), en anticipant un retour, et faire l’inverse lorsqu’il est étiré à la hausse ; sortir à mesure qu’il revient à la moyenne. De façon équivalente, inversez le mappage BUY/SELL actuel et réajustez le exit_band. (2) CUT fortement la fréquence des transactions : la rotation actuelle est de 306x, avec environ 63 k$ de frais et d’impact combinés ; relevez le seuil d’entrée et/ou ajoutez une durée minimale de détention afin que les coûts d’un aller-retour sur deux jambes ne grèvent pas l’avantage du retour à la moyenne. Recommencez le backtest ; si la variante inversée ou à fréquence réduite présente encore un avantage négatif ou inférieur aux coûts, il faut abandonner cette hypothèse (ou la faire remonter à revise_hypothesis).

Historique des itérations

Échec de la vérification (leverage_set_but_unused) : la configuration définit l’effet de levier à 3.0, mais la stratégie ne tient jamais compte de l’effet de levier pour dimensionner les positions. Dimensionnez-les en fonction de celui-ci — notionnel = fonds propres * fraction * effet de levier / prix (lire self.config.leverage) — ou définissez l’effet de levier à 1.0. En l’état, l’effet de levier est inopérant et le backtest est identique à 1x.

Résumé des résultats

Le ETH/BTC log-ratio entre deux actifs majeurs fortement corrélés revient à sa moyenne autour de sa tendance ; une entrée en momentum entraîne donc des va-et-vient systématiques. Tout avantage dans cet écart devrait s’exprimer par une stratégie de retour à la moyenne : c’est une nouvelle hypothèse, pas un ajustement de paramètres.

L’analyste a rendu un verdict « abandon » lors de l’étape d’examen du backtest avant optimisation : l’implémentation était propre (243 entrées appariées correctement câblées et neutres en dollars, aucune opération écartée), la perte a donc été attribuée à une hypothèse erronée plutôt qu’à un bogue. Les seuils de Sharpe, Sortino, rendement total et facteur de profit n’ont pas été atteints ; l’optimisation, l’examen final de l’analyste et l’examen des risques n’ont jamais eu lieu.

Une stratégie de paire Hyperliquid neutre au marché, qui prenait une position longue sur ETH et courte sur BTC (ou l’inverse) selon le momentum du logarithme du ratio du spread ETH/BTC, en pariant que les cycles de dominance de BTC et les cycles narratifs de ETH feraient suivre au spread une tendance plus nette qu’à chacun des actifs pris isolément.

Sur 695 jours, les pertes ont été persistantes : rendement total -69.8%, CAGR -45.5%, Sharpe -1.22, Sortino -2.06, facteur de profit 0.888, taux de réussite 44.6% sur 486 transactions (243 longues / 243 courtes), avec un drawdown maximal de 72.9%. Le résultat a été négatif chaque année (2024 -14.8%, 2025 -43.7%, 2026 -48.4%), les commissions de $38k et l’impact de $25k pesant sur un signal déjà dépourvu d’avantage.

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.