← Alpha
Alpha Research · · 13 min de lecture

Faut-il trader des actifs isolés ou construire un portefeuille ?

Quatre-vingts stratégies gelées, 105 perpétuels Binance, un unique flux de candidats et cinq politiques d'exécution en concurrence sur des trades identiques, sur 37 mois hors échantillon.

Tout trader systématique finit par tomber sur le même embranchement. Les règles se déclenchent sur quinze actifs à la fois et il n'y a pas assez de capital pour les prendre tous les quinze.

Une réponse consiste à les prendre quand même, en dimensionnant chaque position assez petit pour que tout le book tienne. L'autre consiste à plafonner le nombre de positions ouvertes et à faire concourir les signaux pour les places. Cette seconde réponse est ce que la plupart des gens entendent par construire un portefeuille, et elle porte une promesse implicite : que choisir quels signaux prendre vaut plus que de les prendre tous.

La question a l'air d'appeler une réponse arrêtée, et pourtant non, parce que les deux choix diffèrent de plus d'une façon à la fois. Une limite de capacité réduit le nombre de trades pris en même temps qu'elle décide lesquels survivent, et les comparaisons habituelles laissent ces deux effets se confondre, si bien qu'un résultat qui ressemble à une preuve sur la sélection peut n'être qu'une preuve sur la rotation.

Nous les avons séparés. Quatre-vingts stratégies gelées tournent sur 105 contrats perpétuels Binance et produisent un unique flux de trades candidats, que cinq politiques d'exécution consomment ensuite à l'identique et à capital identique : l'une prend chaque signal, une autre plafonne le book et choisit au hasard, et trois plafonnent le book puis classent les concurrents par force du signal, par historique mesuré et par une version ajustée de la volatilité de ce même historique.

Une chose a sa place d'emblée plutôt qu'en note de bas de page. Il s'agit d'une étude à exposition documentée et non d'un pré-enregistrement à l'aveugle. Chaque choix de design a été fixé avant qu'aucun chiffre hors échantillon n'existe, mais l'ordonnancement des gates de la spécification imposait d'exécuter l'ordonnanceur avant le gel, si bien que la première exécution a précédé l'empreinte et que ses chiffres principaux ont été vus. Relancer après le gel a reproduit cette exécution octet pour octet, parce que le pipeline est déterministe, ce qui démontre la reproductibilité sans restaurer l'aveugle. Aucun choix enregistré n'a été modifié en réaction à quoi que ce soit de vu.

Reproductibilité

Les règles de l'univers, la mesure des spreads, la mécanique d'ordonnancement, le modèle de coûts, le corpus nul et les empreintes gelées vivent sur leur propre page, pour ne pas encombrer l'argument ici.

Lire la reproductibilité →

Ce que nous avons testé

La plateforme, ce sont les futures perpétuels Binance margés en USDT, avec un univers arrêté au 30 juin 2022 par notionnel quotidien médian sur le trimestre précédent, décidé sur la seule information disponible ce jour-là, et chaque contrat qui disparaît par la suite conservé. Ce filtre donne 105 contrats, dont sont tirés des échelons emboîtés de 10, 25, 50 et 100. Deux renommages de ticker sont raccordés après vérification de la continuité des prix au passage de relais, MATIC vers POL et EOS vers A, parce qu'un renommage n'est pas une disparition.

La bibliothèque de stratégies est héritée sans changement de travaux antérieurs : huit familles structurelles avec dix configurations numériques gelées chacune, quatre-vingts stratégies au total. Aucun paramètre n'est cherché nulle part dans cette étude, ce qui compte plus qu'il n'y paraît. La seule chose ajustée sur des données en échantillon est la règle de classement, ce qui rend toute autre couche de biais de sélection absente par construction plutôt qu'écartée par argument.

Chaque stratégie tient son propre book à travers les actifs, si bien que des signaux de familles différentes ne partagent jamais une file, et cinq bras concourent ensuite sur des signaux identiques :

  • indépendant, qui détient au plus une position par actif à 1/50 du capital, soit le cas capacité 50 du même mécanisme ;
  • aléatoire, qui plafonne les positions ouvertes à K et tire au sort parmi les concurrents, moyenné sur 100 réplications à graine fixée ;
  • force du signal, qui classe selon l'ampleur du dépassement de la condition d'entrée, en unités sans échelle ;
  • espérance historique, qui classe selon le résultat net moyen par trade de l'actif sur les douze mois précédents ;
  • ratio d'information, cette même moyenne divisée par son écart type.

Le walk-forward est une fenêtre de douze mois en échantillon suivie d'un mois hors échantillon, à pas mensuel, ce qui donne 37 mois hors échantillon de juillet 2023 à juillet 2026, avec des classements gelés à chaque borne de fenêtre et appliqués pendant un mois plutôt que redécidés en cours de trade.

Les coûts sont de 5 bps taker, 2 bps maker et 2 bps de slippage, plus la moitié du spread mesuré sur chaque exécution qui traverse, les spreads venant du rebond bid-ask dans les trades agrégés plutôt que d'un estimateur sur barres. Le funding est facturé à ses horaires de règlement observés avec son signe réel.

Les barrières sont fixées pour chaque stratégie à un stop de 2.0 ATR et un objectif de 3.0 ATR, choisis par une calibration qui a lu la durée de détention, le mélange de motifs de sortie et l'occupation en échantillon sans jamais lire le profit. Cette calibration est porteuse d'une façon inhabituelle, puisque la largeur des barrières commande la fréquence à laquelle les places sont pleines et qu'une contrainte de capacité n'a de force que lorsque le book sature réellement. À un stop de 1.0 ATR, la capacité 5 saturerait sur 10.9% des barres et le traitement n'existerait quasiment pas, alors que le couple retenu donne 6.39 positions concurrentes en moyenne pour une capacité focale de 5.

Tout le design repose sur un point d'architecture. À capital fixe par place, sans levier et sans impact modélisé, l'entrée, la sortie et les coûts d'un trade ne dépendent pas de ce que le book détient par ailleurs, si bien que chaque résultat candidat est calculé une seule fois et que chaque bras devient une politique d'ordonnancement sur la même table gelée de 16,452,374 résultats. Les bras ne sont pas approximativement comparables, étant donné qu'ils consomment des trades identiques.

La cellule focale enregistrée est celle des barres 1 heure, de l'univers top-50 et de la capacité 5. L'estimation principale est le portefeuille classé par espérance moins l'exécution indépendante sur le rendement net cumulé, avec un intervalle apparié à 95% construit en rééchantillonnant des semaines calendaires. Deux composantes enregistrées la scindent : D_cap, aléatoire moins indépendant, soit le fait de limiter seul, et D_rank, espérance moins aléatoire, soit le fait de choisir seul. Elles somment au chiffre principal par construction.

Résultats

Non. À la cellule focale, le portefeuille classé par espérance est resté en retrait de l'exécution indépendante de 8,090.2 points de base de capital fixe, avec un intervalle apparié à 95% groupé par semaine allant de -9,885.1 à -6,210.9 bp.

Fig. 1: Rendement net cumulé des cinq bras à la cellule focale, barres 1 heure, univers top-50, capacité 5, en points de base de capital fixe. L'indépendant se situe nettement au-dessus de chaque book plafonné.

L'écart est large et l'intervalle est loin de zéro, donc pris au pied de la lettre le conseil serait d'arrêter de construire des portefeuilles. La décomposition dit quelque chose de plus utile, et une sensibilité enregistrée inverse entièrement le signe.

Limiter a fait mal, choisir n'a pas aidé de façon mesurable

EffetEstimationIntervalle à 95%
Limiter seul, aléatoire contre indépendant-8,617.0 bp-10,260.0 à -6,868.9
Classer à capacité fixe, espérance contre aléatoire+526.8 bp+90.5 à +959.7

La décomposition enregistrée à la cellule focale. Les deux composantes survivent à la correction de Benjamini-Hochberg sur deux tests et somment exactement au chiffre principal.

Fig. 2: L'estimation principale et sa décomposition enregistrée, avec des intervalles appariés à 95% groupés par semaine, en points de base de capital fixe.

L'essentiel de la perte vient de la contrainte et non de la sélection. Le classement, à capacité et à places égales, semblait valoir quelques centaines de points de base face à l'aléatoire, une apparence qu'un test ultérieur fait disparaître.

Pourquoi la contrainte a coûté si cher

Les deux modes ne mettent pas la même quantité de capital au travail, ce qui est la substance de la comparaison plutôt qu'un défaut de celle-ci. Détenir une position par actif à 1/50 du capital laisse le book inactif à 88%, alors que cinq places à un cinquième du capital chacune en mettent 48% au travail.

BrasCumuléCapital moyen déployéPar point déployé
Indépendant-3,585.4 bp11.75%-305.1
Force du signal-11,527.9 bp48.59%-237.2
Ratio d'information-11,623.1 bp48.47%-239.8
Espérance historique-11,675.5 bp48.47%-240.9
Aléatoire-12,202.3 bp48.51%-251.5

Résultat cumulé hors échantillon à la cellule focale, capital moyen déployé, et le même résultat par point de capital réellement déployé.

La bibliothèque perd environ 0.169% du notionnel sur le trade moyen après coûts, si bien que le bras qui déploie quatre fois plus de capital a perdu à peu près trois fois plus d'argent. La contrainte n'a pas choisi de moins bons trades, elle a traité plus fort un avantage perdant.

Fig. 3: Les mêmes cinq books, deux dénominateurs. Normalisé par le capital réellement déployé, l'ordre s'inverse et l'exécution indépendante devient la pire des cinq.

Une mise en garde accompagne cette inversion. Le bras aléatoire ne porte aucune information de sélection et il bat lui aussi l'indépendant sur cette mesure, il s'agit donc d'un énoncé sur l'efficacité du capital plutôt que sur le choix de meilleurs trades.

Le dénominateur qu'on ne peut pas truquer

La mesure qui tranche a été fixée à l'avance exactement pour cela : le R net par candidat offert au bras. Ce dénominateur vient du flux de candidats gelé et est identique pour chaque bras par construction, donc rien du déploiement ne peut le déplacer.

BrasPar candidat offertPar candidat prisCandidats prisRejetés, book plein
Indépendant-0.0532 R-0.0718 R74.1%0.0%
Aléatoire-0.0201 R-0.0690 R29.1%61.7%
Force du signal-0.0191 R-0.0688 R27.8%64.4%
Espérance historique-0.0191 R-0.0660 R28.9%62.0%
Ratio d'information-0.0191 R-0.0659 R28.9%62.0%

Diagnostics neutres en exposition à la cellule focale, à partir d'un ledger par position de 2,303,532 lignes couvrant les cinq bras.

Fig. 4: La qualité de sélection sur un dénominateur que le déploiement ne peut pas déplacer. Sur les candidats offerts, les books plafonnés se séparent de l'indépendant ; sur les trades réellement pris, les cinq tiennent à moins de 0.006 R les uns des autres.

Deux choses en découlent. La contrainte saturait réellement, puisque 62% des candidats qui se présentaient ont été refusés parce que le book était déjà plein, contre 0% pour le contrôle indépendant. Sur le dénominateur des candidats offerts, les bras classés battent l'aléatoire de 0.001 R tandis que l'aléatoire bat l'indépendant de 0.033 R, donc l'amélioration vient environ trente fois plus du fait de prendre moins de trades que du fait de choisir lesquels.

Par trade réellement pris, les bras classés sont légèrement meilleurs, -0.066 R contre -0.069 R pour l'aléatoire. Cette marge est réelle mais faible, et c'est la même marge qu'un corpus nul reproduit sur des données sans aucune prévisibilité.

La démonstration la plus nette de ce que fait la convention de capital tient dans une sensibilité enregistrée. Dimensionnez le book indépendant comme le ferait réellement un trader qui prend chaque signal à taille constante, 1/K par position sans plafond de concurrence, et il tourne alors à 117.7% de capital moyen déployé, face à quoi le portefeuille sous contrainte de capacité l'emporte de 24,178 bp. Le signe du chiffre principal est une propriété de la convention de capital plutôt que de la qualité de la sélection.

-8,090
Portefeuille moins indépendant, bp de capital fixe
-8,617
Dont le seul fait de limiter
62.0%
Candidats refusés parce que le book était plein
30×
Traiter moins contre mieux choisir, sur les candidats offerts
+24,178
Même contraste face à un book indépendant à levier
16.5M
Résultats candidats, calculés une fois et partagés par chaque bras

La sélection a semblé fonctionner, puis non

Le classement bat l'aléatoire sur toute la surface enregistrée. Sur les 32 cellules où il est testé contre l'aléatoire à capacité appariée, 16 sont positives et significatives après correction et aucune n'est significativement négative, avec un gradient qui monte à mesure que l'univers s'élargit.

Fig. 5: Classement moins aléatoire en points de base, selon la taille d'univers et la capacité aux deux vitesses. L'anneau en pointillés est la cellule focale enregistrée.

Ce motif est exactement ce à quoi devrait ressembler un véritable effet de sélection, raison pour laquelle l'étude a enregistré un test capable de le tuer. Ce test est un corpus nul sans dérive : trente univers synthétiques sans aucune prévisibilité des rendements, chaque actif portant la volatilité réalisée et le spread d'un contrat réel, chacun passé dans le pipeline entier, des signaux jusqu'aux bras. Tout ce qu'un bras classé y gagne est fabriqué par la machinerie plutôt que trouvé dans le marché.

Bras classéEstimation réelleMédiane du nulp empiriqueIntervalles au-dessus de zéro
Espérance historique+526.8 bp+64.1 bp0.1330 sur 30
Force du signal+674.4 bp+514.8 bp0.4008 sur 30

Gate 20. La condition de réussite enregistrée était qu'aucun avantage d'un bras classé sur l'aléatoire n'ait un intervalle à 95% entièrement au-dessus de zéro sur l'ensemble des graines.

Fig. 6: Chaque point est un corpus sans dérive. Les points pleins sont les corpus dont l'intervalle à 95% se situait entièrement au-dessus de zéro, et la ligne verticale est ce que le bras a gagné sur données réelles.

La force du signal produit un intervalle entièrement au-dessus de zéro sur 8 des 30 corpus qui ne contiennent aucun signal, échouant purement et simplement à la condition de réussite enregistrée, tandis que son résultat réel se situe à la médiane de ce que la même procédure donne sur du bruit. L'espérance franchit la condition enregistrée, et pourtant ses +526.8 bp tombent au 87e centile du nul, soit un p empirique de 0.133.

L'intervalle bootstrap de +90.5 à +959.7, qui exclut zéro, répondait donc à une question plus étroite qu'il n'y paraissait. Il mesure la variabilité d'échantillonnage des rendements réalisés, ce qui veut dire qu'il ne peut pas voir la tendance mécanique de la machinerie à battre l'aléatoire, et une fois cette tendance mesurée directement, l'effet ne s'en distingue plus.

Le mécanisme n'a rien de mystérieux. Les barrières sont mises à l'échelle par l'ATR alors que les coûts sont une fraction fixe du notionnel, donc un actif à faible volatilité paie proportionnellement plus de coût par unité de risque. Les deux règles de classement corrèlent avec la volatilité, et la volatilité persiste, si bien qu'une règle de classement peut systématiquement choisir des trades moins chers par unité de risque sans rien prévoir du tout.

L'affirmation selon laquelle le classement bat le hasard est retirée. Deux sensibilités corroborantes concordent : sur le sous-ensemble de 25 mois où une fenêtre d'estimation de 24 mois tient, le classement vaut +256.6 bp sur un intervalle de -139.7 à +657.0, et la fenêtre appariée de 12 mois sur le même sous-ensemble donne +154.0 bp, aucune des deux ne se séparant de zéro.

Son gradient va dans le même sens, montant avec la taille de l'univers pour atteindre 4,409 bp à cent actifs sur barres quinze minutes et 3,204 bp en horaire, puis retombant à mesure que la capacité grandit. Cette forme est celle qu'un effet de sélection devrait avoir, et c'est aussi celle que produit le nul, parce que le nombre d'alternatives écartées met l'artefact à l'échelle exactement comme il mettrait à l'échelle un effet réel.

Quelle règle de classement, question désormais sans objet

Les trois règles méritent d'être distinguées, puisqu'un brouillon antérieur de cette étude bâtissait une affirmation sur la différence entre elles.

Règle contre aléatoireEstimationIntervalle à 95%Significatif
Force du signal+674.4 bp+200.5 à +1,139.5oui
Ratio d'information+579.2 bp+137.2 à +1,016.5oui
Espérance historique+526.8 bp+90.5 à +959.7oui

Chaque règle de classement face à l'aléatoire à la cellule focale, avec des intervalles appariés à 95% groupés par semaine.

Ce brouillon soutenait que l'historique mesuré bat l'amplitude du signal, en raisonnant à partir du fait que l'espérance franchissait le seuil alors que la force ne le franchissait pas dans une exécution antérieure. Comparer un résultat significatif à un résultat non significatif n'est pas un test de la différence entre eux, et le contraste qui trancherait n'avait jamais été calculé. Calculé directement, l'espérance est significativement meilleure que la force du signal dans aucune des 32 cellules et significativement pire dans onze, avec un écart de -147.6 bp à la cellule focale sur un intervalle de -770.4 à +480.8.

Le corpus nul rend de toute façon la question sans objet, puisque la force du signal est la règle que la machinerie favorise le plus sur des données sans signal, ce qui explique exactement pourquoi elle paraissait la plus forte sur données réelles.

Les sensibilités

Fig. 7: Le chiffre principal sous chaque variante enregistrée. Survolez une barre pour voir ses deux composantes. La dernière ligne dimensionne le book indépendant à 1/K avec une concurrence non bornée, ce qui le fait tourner à 117.7% de capital déployé et retourne le signe.

Le chiffre principal et la composante de limitation sont stables sur chaque variante qui conserve la convention de capital. L'attribution au jour d'entrée, le funding constant, le slippage dépendant de la taille et la restriction de classement conditionnelle tombent tous à quelques centaines de points de base de la référence. La composante de classement est nominalement stable elle aussi, mais le corpus nul montre que cette stabilité est celle d'un artefact plutôt que celle d'un effet.

Sept des huit sensibilités enregistrées ont été exécutées. La file d'attente persistante ne l'a pas été, et la raison est structurelle plutôt que pratique : un candidat mis en file entre à une barre ultérieure et donc à un prix différent, c'est donc un autre trade, absent de la table de résultats gelée qui rend chaque autre bras exactement comparable.

Les vérifications

Deux vérifications après le premier gel, l'une du moteur et l'autre des statistiques, ont trouvé des défauts qui ont changé les chiffres. L'ordonnanceur libérait une place pour tout trade clôturant à l'intérieur de sa propre barre d'entrée, si bien que 7.4% des trades n'occupaient aucune capacité. Les candidats étaient acceptés sur tout ATR positif, ce qui laissait des dénominateurs de risque dénormaux produire des résultats atteignant 1e95. Le book se vidait à chaque borne de mois, et le départage utilisait l'ordre des lignes du parquet plutôt que l'indice gelé de l'univers. Corriger l'ensemble a déplacé le chiffre principal de -10,459 bp à -8,090 bp, sans changer aucun signe ni aucune conclusion.

La spécification enregistre 21 gates bloquants, dont huit sont implémentés. Le gate 20, le corpus nul sans dérive, a changé la conclusion en échouant, tandis que le gate 14, la parité entre l'ordonnanceur de référence et celui de production, passe sans aucun désaccord sur les cinq bras et les 80 stratégies.

Au-delà, la marche de premier passage en numba reproduit exactement la référence Python gelée sur 59,214 candidats avec les six motifs de sortie exercés, l'identité de coûts se réconcilie à 0.0 sur l'ensemble des 16,452,374 résultats candidats, et le contrôle qualité des panels passe sans aucun échec sur 105 contrats et 481,644 événements de funding. Treize gates restent non implémentés, et aucun ne soutient une affirmation faite par cet article.

La contrainte de capacité n'a pas choisi de moins bons trades. Elle a déployé quatre fois plus de capital dans une bibliothèque qui perd 0.169% du notionnel par trade après coûts, et a perdu ce faisant à peu près trois fois plus d'argent.

Sur cette plateforme, sur ces 37 mois, avec cette bibliothèque et ces coûts, plafonner les positions ouvertes à 1/K du capital a perdu de l'argent par rapport au fait de prendre chaque signal à 1/U. L'essentiel de l'écart s'explique par la quantité de capital que chaque mode a déployée plutôt que par les trades qu'il a choisis, et inverser la convention de capital inverse le signe.

La sélection à capacité appariée n'est pas établie comme valant quoi que ce soit. L'effet de classement apparent ne survit pas à l'étalonnage face à un corpus sans prévisibilité, et sur le dénominateur neutre en exposition les bras classés améliorent l'aléatoire d'environ un trentième de ce qu'obtient le simple fait de traiter moins, ce que nous rapportons comme un nul plutôt que comme un résultat.

Rien de tout cela ne fait de la construction de portefeuille une erreur. Chaque bras ici a perdu de l'argent parce que la bibliothèque sous-jacente perd de l'argent net de coûts réels, donc une comparaison de pertes n'est pas une comparaison d'avantages, et déployer plus de capital sur un avantage positif rapporterait davantage au lieu de perdre davantage, si bien que le signe de l'effet de contrainte basculerait très probablement avec lui.

Cela ne tranche pas non plus la question du dénominateur. Le capital fixe est la comptabilité honnête pour un trader dont la taille de compte est fixée, et selon cette mesure l'exécution indépendante l'emporte nettement, tandis que le capital réellement déployé est la comptabilité honnête pour l'efficacité du capital, et selon cette mesure ce sont les books sous contrainte qui l'emportent. Rapporter l'une sans l'autre serait un choix sur la réponse que l'on préfère.

Limites

  • Le contraste principal compare un book déployé à 11.8% avec un book déployé à 48.5% sur une bibliothèque à avantage négatif, donc la composante de limitation est avant tout une différence de déploiement du capital, et la spécification le disait avant l'exécution.
  • Chaque bras perd de l'argent, ce qui fait de ceci une comparaison de pertes plutôt que d'avantages, si bien que le signe de l'effet de contrainte basculerait vraisemblablement sur une bibliothèque rentable.
  • Le classement ne peut réordonner que les candidats qui arrivent au même horodatage, soit 9.8% des événements d'arrivée. Le rejet causé par des places déjà occupées est aveugle au rang, donc le classement est ici plus étroit que le mot ne le suggère.
  • Les coûts sont une fraction fixe du notionnel, ce qui favorise les bras concentrés, et ils ont tout de même perdu.
  • Les spreads viennent d'un échantillon de deux jours par mois, où 11.4% des symbole-mois utilisent un repli délibérément large, qui tarife 3.18% des trades exécutés.
  • Une seule plateforme, puisqu'aucun historique de contrats délistés n'existe pour Bybit dans quelque source disponible que ce soit et que l'inclure aurait réintroduit le biais de survie que ce design paie pour éviter.
  • Sur barres 1 heure, 74.9% des cellules stratégie-actif franchissent le minimum de 20 trades, donc les bras classés se rabattent ailleurs sur l'ordre gelé de l'univers et la composante de classement est atténuée, contre une couverture de 92.6% sur barres quinze minutes.
  • La validation des spreads n'a pas été effectuée pour cette étude. Le contrôle bookTicker stratifié du gate 16 n'a jamais été exécuté et la comparaison à la vérité terrain est héritée d'une construction antérieure.

Chaque graphique de cette page est dessiné dans votre navigateur à partir des tables de résultats publiées de l'étude, les mêmes chiffres que ceux rapportés dans le texte et sur la page de reproductibilité. Aucun fichier image derrière eux.

Méthodologie complète

Règles de l'univers, série de spreads mesurés, flux de candidats, mécanique des places, modèle de coûts, inférence, corpus nul et chaque gate, avec les empreintes et des extraits de code.

Reproductibilité →