Passer au contenu
Toutes les stratégies

Stratégies

Anomalie transversale quotidienne de faible volatilité : position longue sur les -2 actifs à la volatilité la plus faible et courte sur les -2 à la plus élevée parmi 6 contrats perpétuels Binance majeurs

Résultat: Abandonné

BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily

Résumé des résultats

Il s’agissait de la troisième stratégie d’une série transversale, appliquant l’anomalie de faible volatilité / Betting-Against-Beta sous la forme d’un portefeuille neutre en dollars, long-2 sur les actifs à volatilité la plus faible et short-2 sur ceux à la plus forte, parmi 6 actifs majeurs Binance. Elle devait être décorrélée des stratégies précédentes classées selon les rendements et le financement. Après trois itérations visant à résoudre des problèmes techniques de vérification (notamment un problème de……Afficher plusAfficher moins

Il s’agissait de la troisième stratégie d’une série transversale, appliquant l’anomalie de faible volatilité / Betting-Against-Beta sous la forme d’un portefeuille neutre en dollars, long-2 sur les actifs à volatilité la plus faible et short-2 sur ceux à la plus forte, parmi 6 actifs majeurs Binance. Elle devait être décorrélée des stratégies précédentes classées selon les rendements et le financement. Après trois itérations visant à résoudre des problèmes techniques de vérification (notamment un problème de proxy de couche-2, corrigé en plaçant la fonction utilitaire de volatilité au niveau du module), elle a produit un backtest fonctionnel et réellement neutre au marché — mais avec une perte de 78.7% et un drawdown de 95.97%, car la position longue sur les actifs à faible volatilité et courte sur ceux à forte volatilité revient essentiellement à miser à la baisse sur le bêta et le momentum, ce qui ne rapporte qu’en marché baissier. L’analyste l’a abandonnée lors de l’examen du backtest, jugeant l’échec structurel et non ajustable : les trois paramètres modifient l’ampleur et la fréquence, sans pouvoir inverser le signe négatif du facteur durant un cycle haussier, et les variations tardives de +94%/-65% relevaient simplement de l’arithmétique en pourcentage sur un compte réduit. La stratégie n’a jamais été optimisée et n’a pas atteint la décision d’analyse post-optimisation, l’examen du risque, le trading en papier ni le trading en réel.

Hypothèse

Une stratégie d’anomalie transversale, neutre en dollars, sur un univers fixe de 6 contrats perpétuels Binance USD-M majeurs (BTC, ETH, SOL, BNB, AVAX, LINK — données toutes confirmées propres), qui exploite l’anomalie de risque transversale la plus documentée en finance : l’anomalie de LOW-VOLATILITY ANOMALY. Toutes les 24 heures, la stratégie classe les 6 actifs selon leur volatilité réalisée sur les 30 derniers jours, prend une position LONG sur les actifs aux 2 volatilités les plus LOWEST et SHORT sur ceux……Afficher plusAfficher moins

Une stratégie d’anomalie transversale, neutre en dollars, sur un univers fixe de 6 contrats perpétuels Binance USD-M majeurs (BTC, ETH, SOL, BNB, AVAX, LINK — données toutes confirmées propres), qui exploite l’anomalie de risque transversale la plus documentée en finance : l’anomalie de LOW-VOLATILITY ANOMALY. Toutes les 24 heures, la stratégie classe les 6 actifs selon leur volatilité réalisée sur les 30 derniers jours, prend une position LONG sur les actifs aux 2 volatilités les plus LOWEST et SHORT sur ceux aux 2 volatilités les plus HIGHEST, avec une pondération égale dans chaque jambe, neutre en dollars. Conservation pendant 24 heures, puis nouveau classement. Les 2 actifs intermédiaires sont exclus. Il s’agit de la troisième stratégie d’une série transversale (après CrossSectionalMeanReversion3Major, fondée sur le taux de financement HL, et DailyCrossSectional7DReturnReversal, fondée sur les rendements Binance) — même univers de grands actifs, même axe de signal COMPLETELY DIFFERENT. Le classement par volatilité est structurellement orthogonal aux classements par rendement et par financement ; la stratégie prendra donc des positions UNCORRELATED celles des deux stratégies transversales précédentes, apportant une véritable diversification du portefeuille plutôt qu’un chevauchement des mécanismes. L’anomalie de faible volatilité est documentée par Black (1972), Frazzini-Pedersen (2014), « Betting Against Beta », Baker-Bradley-Wurgler (2011), « Benchmarks as Limits to Arbitrage », et, pour les cryptomonnaies, Liu-Tsyvinski-Wu (2022), « Common Risk Factors in Cryptocurrency ». Le mécanisme : les actifs crypto très volatils attirent des flux spéculatifs de type « billet de loterie », qui sous-performent systématiquement leur volatilité réalisée (flux des investisseurs particuliers FOMO + cascades périodiques de liquidations) ; les actifs peu volatils attirent des capitaux institutionnels ou de long terme, qui soutiennent structurellement les cours et procurent des rendements réguliers ajustés au risque. Répond directement à la recommandation répétée de l’analyste : « privilégier les mécanismes transversaux dans le régime actuel ». Comble FIVE catégories sous-représentées : direction long-short (14.0% → vers 45%), portée multi-instruments (7.2% → à développer), classe transversale (mécanisme confirmé gagnant), diversification du portefeuille face aux stratégies directionnelles et BINANCE-USD-M uniquement (données propres). Taille des positions : 12% des fonds propres par jambe × 2 + 12% × 2 = exposition brute de 48%, neutre en dollars. Risque par transaction : environ 1%, lié à la volatilité de la dispersion des volatilités quotidiennes.

ITER-3 corrige à la source l’échec signalé en couche-2 (« _vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis ») : le _StrategyProxy de couche-2 rattache de nouveau chaque fonction INSTANCE via types.MethodType et injecte `self`, ce qui fausse le nombre d’arguments de l’assistant. Déplacer `_vol_from_closes` vers une fonction MODULE-LEVEL en fait une fonction qui n’est pas un attribut d’instance ; le proxy ne la rattache donc pas de nouveau et `self` n’est jamais injecté. L’appel est……Afficher plusAfficher moins

ITER-3 corrige à la source l’échec signalé en couche-2 (« _vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis ») : le _StrategyProxy de couche-2 rattache de nouveau chaque fonction INSTANCE via types.MethodType et injecte `self`, ce qui fausse le nombre d’arguments de l’assistant. Déplacer `_vol_from_closes` vers une fonction MODULE-LEVEL en fait une fonction qui n’est pas un attribut d’instance ; le proxy ne la rattache donc pas de nouveau et `self` n’est jamais injecté. L’appel est identique avec le moteur réel et le proxy. C’est le changement minimal possible : seuls l’emplacement de l’assistant et ses deux points d’appel (_compute_realized_vol, _latest_vol_and_price) ont changé ; toute la logique du signal, la boucle d’événements multi-instruments et le classement au rééquilibrage sont inchangés octet pour octet. Vérification locale : l’analyse statique de la couche-1 réussit sans erreur, et les 6 scénarios synthétiques de couche-2 s’exécutent via le vrai _StrategyProxy sans exception, produisant 469/469 signaux uniques, finis et variables d’une bougie à l’autre (aucun signal figé, aucune valeur NaN/inf). La stratégie met en œuvre l’anomalie transversale bien documentée de faible volatilité / Betting-Against-Beta, orthogonale aux stratégies transversales précédentes classées selon les rendements et le financement, pour une véritable diversification du portefeuille.

Aucun avantage et aucun réglage possible : l’optimisation serait inutile. L’anomalie de faible volatilité crypto, mise en œuvre en position longue sur les actifs à faible volatilité et courte sur ceux à forte volatilité parmi 6 actifs majeurs, revient essentiellement à miser à la baisse sur le bêta et le momentum : elle ne rapporte qu’en régime baissier (2022 annuel +128%) et subit des pertes catastrophiques en régime haussier (2021 -80%, 2024 -78%), pour un bilan net de total_return -78.7%, max_drawdown 95.97%,……Afficher plusAfficher moins

Aucun avantage et aucun réglage possible : l’optimisation serait inutile. L’anomalie de faible volatilité crypto, mise en œuvre en position longue sur les actifs à faible volatilité et courte sur ceux à forte volatilité parmi 6 actifs majeurs, revient essentiellement à miser à la baisse sur le bêta et le momentum : elle ne rapporte qu’en régime baissier (2022 annuel +128%) et subit des pertes catastrophiques en régime haussier (2021 -80%, 2024 -78%), pour un bilan net de total_return -78.7%, max_drawdown 95.97%, profit_factor 0.577, et des ratios de Sharpe, Sortino, espérance et information négatifs sur l’ensemble de l’échantillon. Les 3 paramètres ajustables (vol_lookback_days, rebalance_days, leg_capital_pct) modifient l’ampleur et la fréquence, mais ne peuvent inverser le signe négatif du facteur ; aucun balayage walk-forward ne peut donc le sauver — il ne ferait qu’ajuster la courbe à la fenêtre baissière 2022 et échouer ensuite. Les variations journalières tardives dans l’échantillon, peu plausibles (+94%, -65%, aplatissement 304), résultent de l’arithmétique des rendements en pourcentage sur un compte réduit à 96%, et non d’un problème de dimensionnement corrigeable ; ce n’est donc pas non plus un cas où le développeur devrait « itérer ». FAILURE PATTERN : une anomalie crypto de faible volatilité neutre en dollars (position longue sur les actifs majeurs du bas-2 / courte sur ceux du haut-2 en volatilité réalisée) est un pari déguisé à la baisse sur la forte volatilité et le momentum, dont le signe est négatif durant un cycle crypto haussier ; la rentabilité limitée aux marchés baissiers ne résiste pas à un échantillon complet et ne peut être obtenue par réglage des paramètres.

Implémentation

Anomalie de faible volatilité transversale neutre en dollars sur 6 contrats perpétuels Binance USD-M (BTC, ETH, SOL, BNB, AVAX, LINK), avec des barres journalières. Tous les rebalance_days (par défaut 1), classe les 6 actifs selon leur volatilité réalisée annualisée sur les 30 derniers jours, prend une position longue sur les LONG actifs parmi les 2 moins volatils et courte sur les SHORT actifs parmi les 2 plus volatils (pondération égale ; les 2 intermédiaires sont exclus). Chaque jambe représente 12% de la valeur notionnelle des fonds propres, soit environ 48% d’exposition brute et 0% d’exposition nette. OHLCV pur, sans données supplémentaires. Les transactions sont acheminées par _rebalance() dans on_bar/on_extra_bar ; calculate_signal renvoie une valeur diagnostique continue fondée sur les cours de clôture.

Résultats de vérification

Vérification échouée (couche 2 — scénarios synthétiques) : Paramètres utilisés : ['min_notional', 'rebalance_days', 'leg_capital_pct', 'vol_lookback_days'] Vérifiez que __init__ définit tous les attributs à partir de self.parameters.get(). - steady_uptrend : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000) - steady_downtrend : TypeError :……Afficher plusAfficher moins

Vérification échouée (couche 2 — scénarios synthétiques) : Paramètres utilisés : ['min_notional', 'rebalance_days', 'leg_capital_pct', 'vol_lookback_days'] Vérifiez que __init__ définit tous les attributs à partir de self.parameters.get(). - steady_uptrend : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000) - steady_downtrend : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000) - flat_ranging : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000) - volatility_spike : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000) - zero_volume : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000) - price_gap : TypeError : BinanceCrossSectionalLowVolAnomalyLong2Short2SixMajorsDaily._vol_from_closes() accepte 2 arguments positionnels, mais 3 ont été fournis (horodatage de la bougie : 1735693260000)

Revue du backtest

Sharpe
-0,12
Rendement total
-78,69%
Drawdown max
95,97%
Total des transactions
306
Taux de réussite
52,9%
Facteur de profit
0,58

La stratégie fonctionne mécaniquement : 306 transactions sur 2082 jours ; exécution long-short neutre en dollars, univers propre de 6 actifs majeurs Binance, OHLCV pur (sans fragilité due à des données supplémentaires)

La faible corrélation à l’indice de référence (-0.06, bêta -0.09) confirme que la stratégie est réellement orthogonale aux stratégies directionnelles, comme prévu

Performance nette catastrophique : total_return -78.7%, max_drawdown 95.97%, profit_factor 0.577, Sharpe/Sortino négatifs (-0.12), espérance négative (-299/transaction), IR -0.34

Problème structurel de signe : une position longue sur les cryptos majeures à faible volatilité et courte sur celles à forte volatilité revient à miser à la baisse sur le bêta et le momentum — la stratégie ne gagne qu’en régime baissier (2022 +128%) et perd lourdement en régime haussier (2021 -80%, 2024 -78%) ; son bilan est négatif sur l’ensemble du cycle haussier

L’échec ne peut pas être corrigé par réglage : les paramètres 3 (vol_lookback, rebalance_days, leg_capital_pct) ne peuvent inverser le sens de l’anomalie ; l’optimisation ne ferait qu’ajuster la courbe à la fenêtre baissière 2022

Les rendements journaliers extrêmes (+94%, -65%) et l’aplatissement 304 sont des artefacts d’un compte presque nul après un drawdown de 96%, et non un avantage récupérable

Analyse

N’optimisez pas NOT pour l’instant — le portefeuille n’est pas neutre en dollars comme le prévoit l’hypothèse (48% brut, ~1% de risque/transaction). Éléments observés : exposure_pct=400% (8x le 48% visé), rendements journaliers atteignant +94.3%/-65.3%/-61.6%, et return_kurtosis=304. (1) Vérifiez qu’à chaque rééquilibrage, les quatre jambes ont une exposition nette proche de zéro dollar et que l’exposition brute reste proche de 48% — mesurez l’exposition notionnelle brute et nette réelle pour chaque barre et……Afficher plusAfficher moins

N’optimisez pas NOT pour l’instant — le portefeuille n’est pas neutre en dollars comme le prévoit l’hypothèse (48% brut, ~1% de risque/transaction). Éléments observés : exposure_pct=400% (8x le 48% visé), rendements journaliers atteignant +94.3%/-65.3%/-61.6%, et return_kurtosis=304. (1) Vérifiez qu’à chaque rééquilibrage, les quatre jambes ont une exposition nette proche de zéro dollar et que l’exposition brute reste proche de 48% — mesurez l’exposition notionnelle brute et nette réelle pour chaque barre et ajoutez une assertion. (2) La logique différée de changement de côté (« le changement s’achève au prochain rééquilibrage » et les garde-fous « ignorer tout actif actuellement en position vendeuse/acheteuse ») peut laisser un actif sans couverture ou une position obsolète ouverte pendant des barres supplémentaires — confirmez que les ordres de clôture des positions indésirables sont exécutés AND avant ou au moment du même rééquilibrage, et que les exécutions de _submit_exit_position sont prises en compte avant le dimensionnement des nouvelles jambes. (3) avg_holding_period 27d contre rebalance_days=1 suggère que les positions ne tournent pas ; vérifiez que les clôtures sont exécutées à chaque rééquilibrage, et pas seulement lorsqu’un actif sort du panier des -2 plus bas/-2 plus hauts. (4) L’excès de kurtosis et les fortes variations journalières suggèrent que la précision de quantité par instrument ou le dimensionnement notionnel pourrait être mal étalonné pour une jambe (par ex. SOL/AVAX/LINK) — vérifiez que le notionnel de chaque jambe est ≈ leg_capital_pct*la valeur des fonds propres. Relancez et confirmez que l’exposition nette est ≈ 0 et qu’aucune variation journalière ne dépasse ~15% avant de soumettre à nouveau. Remarque : si la neutralité du portefeuille est confirmée et qu’il subit encore de lourdes pertes, la prémisse (vendre les cryptos à forte volatilité revient à vendre les gagnants à bêta élevé en marché haussier) est probablement le véritable problème et doit être transmise à revise_hypothesis.

Résumé des résultats

Un facteur bien documenté comme l’anomalie de faible volatilité peut quand même générer un rendement net négatif lorsqu’il est mis en œuvre en position longue sur les actifs à faible volatilité et courte sur ceux à forte volatilité, dans un univers crypto durablement haussier — une rentabilité dépendante du régime et limitée aux marchés baissiers ne constitue pas un avantage ajustable, car aucun paramètre ne peut inverser le signe directionnel du facteur.

Le contrôle de l’examen du backtest a conclu à l’abandon avant toute optimisation : la position longue sur les cryptos majeures à faible volatilité et courte sur celles à forte volatilité est un pari déguisé à la baisse sur le bêta et le momentum, dont le signe est négatif sur l’ensemble du cycle haussier ; ses paramètres 3 ne peuvent inverser ce signe, donc un balayage walk-forward ne ferait qu’ajuster la courbe à la fenêtre baissière 2022.

Anomalie transversale de faible volatilité neutre en dollars (Betting-Against-Beta) sur 6 contrats perpétuels Binance USD-M majeurs (BTC, ETH, SOL, BNB, AVAX, LINK) : le classement quotidien selon la volatilité réalisée des 30 derniers jours prend une position longue sur les 2 actifs à la volatilité la plus faible et courte sur les 2 à la plus élevée, à pondération égale et avec une exposition brute d’environ 48%.

Sur 306 transactions en ~2,082 jours, la stratégie a fonctionné mécaniquement et était réellement orthogonale aux stratégies directionnelles (bêta -0.09, corrélation à l’indice de référence -0.06), mais sa performance nette a été catastrophique : rendement total -78.7%, drawdown maximal 95.97%, facteur de profit 0.577, Sharpe/Sortino négatifs (-0.12), espérance négative (-299/transaction) et IR -0.34. L’avantage n’apparaît que dans le régime baissier 2022 (+128%), tandis que la stratégie perd en régime haussier (2021 -80%, 2024 -78%).

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.