Problème
Filtrer des milliers de mots de titres contre des résultats de marché garantit l'apparition de gagnants apparents par le seul effet du hasard, si bien que l'analyse doit séparer le signal qui survit à la discipline statistique du bruit qui se faufile à travers le seuil.
Contexte
Le notebook associe 1 989 jours de bourse de prix du DJIA, le plus récent daté du 1er juillet 2016, aux titres d'actualité mondiale quotidiens de Reddit, construit une matrice creuse de comptage jour par mot, et filtre 5 271 mots candidats pour n'en garder que 3 183.
Méthode
Des régressions OLS marginales notent chaque mot à deux reprises, contre les rendements quotidiens et contre la volatilité logarithmique haut-bas ; Benjamini-Hochberg à q = 0,1 fixe le seuil de découverte ; LassoCV avec découpage en série temporelle gère la sélection conjointe ; un double lasso réestime la persistance de la volatilité contre 1 429 mots de contrôle sélectionnés ; un bootstrap à 30 rééchantillonnages sonde la stabilité de la pénalité.
Résultat
Les rendements se sont comportés comme du bruit : 121 des 3 183 mots se situaient sous p = 0,05, l'histogramme des p-values est resté plat, et le seuil FDR n'a conservé qu'un seul mot, damn, à p = 1,0262e-05. La volatilité a conservé 12 mots, menés par tunisia, georgia et terror, mais la volatilité du jour précédent les a tous surpassés : le lasso mots seuls a mis à zéro chaque coefficient, tandis que l'ajout du seul terme autorégressif a produit six coefficients sélectionnés, un R² dans l'échantillon de 0,262, et un coefficient de persistance de 0,442 que le double lasso a ramené à 0,313.
Périmètre de vérification
Tout reste dans l'échantillon sur un seul jeu de données, la passe archivée a exécuté certaines cellules dans le désordre d'après les compteurs d'exécution enregistrés, et le notebook traite l'exercice comme un travail de cours en sélection de caractéristiques plutôt que comme un résultat exploitable pour le trading.
Preuve
Le dépôt public livre le notebook exécuté dont les sorties enregistrées et le code source de cellule contiennent chaque chiffre cité, plus un README pointant vers les données source Kaggle, qui restent externes pour des raisons de licence.