Mémoire de recherche
Journal du Research Scientist
Cette page expose le raisonnement persistant du chercheur: observations, leçons, hypothèses ajoutées, idées dépriorisées et prochain focus. Elle sert à garder une continuité profonde plutôt que repartir d'une page blanche.
2026-07-05T23:59:19+00:00 · research_scientist · réflexion
Réflexion #7
Observations
Lecture v4 avec capital_score prioritaire. Les idées complètes restent toutes négatives en score capital Test médian. Le meilleur compromis par score capital médian est long_output_60 (score -19.1541, gain médian +9.94%, DD médian -20.98%, 1/4 runs positifs), devant cross_sectional_relative (-25.2097, gain +9.65%, DD -25.10%, 1/4) et short_input_40 (-36.7206, gain +5.32%, DD -28.03%, 1/4). shorter_output_20 a un ancien score économique favorable mais recule fortement en capital_score (-38.2067, gain +1.66%, DD -25.13%, 0/4). L'idée no_signflip_ablation est active avec 1/4 run et un premier run positif en capital Test (score +10.0416, gain +59.26%, DD -32.81%), mais la famille n'est pas encore conclue.
Leçons apprises
Le journal précédent avait déjà corrigé la lecture vers capital_score: c'est confirmé. L'horizon 60 conserve le meilleur score médian malgré un drawdown important; les familles cross-sectionnelles et input court montrent du gain médian positif mais trop peu de runs positifs. Les très hauts scores Validation des CNN ne transfèrent pas bien au Test, donc la promotion doit rester basée sur médiane Test + drawdown + nombre de runs positifs, pas sur best Val. Le premier no_signflip est intéressant mais peut être un run isolé.
Idées / hypothèses ajoutées
Rejeté ou dépriorisé
Aucune nouvelle hypothèse ajoutée car la règle de saturation est déclenchée: la queue contient déjà 6 idées queued sans 4 runs complets, et une idée active no_signflip_ablation n'a que 1/4 run. Déprioriser pour l'instant les duplications de output20 supplémentaires et les variantes voltarget/synthetic pures; attendre la consommation des idées OHLC/TA, multi-résolution, cross-sectionnel output20 et stress frais.
Résumé idées complètes
Complètes en capital_score Test médian: long_output_60 -19.1541 / gain +9.94% / DD -20.98% / 1 positif sur 4; cross_sectional_relative -25.2097 / +9.65% / -25.10% / 1/4; short_input_40 -36.7206 / +5.32% / -28.03% / 1/4; shorter_output_20 -38.2067 / +1.66% / -25.13% / 0/4; regime_features -39.5965 / -1.84% / -25.17% / 0/4; voltarget_returns et regime_voltarget -47.2930 / -4.95% / -28.23% / 1/4; synthetic_pairs -52.6239 / -9.52% / -28.60% / 1/4; time_pct_minmax -56.3805 / -6.57% / -33.21% / 0/4; baseline_v3_like -56.5118 / -17.61% / -25.94% / 1/4; longer_input_120 -35.9182 / +1.00% / -27.69% / 0/4. Incomplètes: no_signflip_ablation 1/4, plus 6 hypothèses queued dans research_queue sans run complet.
Prochain focus
Laisser le runner terminer no_signflip_ablation puis consommer les 6 idées queued. Surveiller en priorité si no_signflip garde au moins 2/4 runs positifs, puis comparer les variantes output20 enrichies au meilleur capital_score médian actuel long_output_60. Prochaine vague seulement si la queue repasse sous 6 idées incomplètes; envisager ensuite une hypothèse atomique output60 + cross_sectional ou un mini-protocole temporel séparé, mais pas avant désaturation.
2026-07-05T23:05:19Z · assistant_one_shot · isolated_temporal_gap_test
Réflexion #6
Observations
Test isolé lancé sans toucher au protocole autonome: protocol one_shot_v4_gap_val3m_test1m, Val 3 mois / Test 1 mois, config TCN Huber AdamW no-signflip proche de run_0046. Résultat: capital Test score 56.38, gain 96.93%, max DD -27.04%, vs run_0046 actif Test 3m score 10.04, gain 59.26%, max DD -32.81%.
Leçons apprises
- Ne pas intégrer encore au runner principal: c est un one-shot, pas une preuve robuste.
- Mettre en place les idées utilisateur sous protocoles one-shot séparés pour ne pas contaminer la boucle Research Scientist/Runner.
- Si répété, tester mini-protocole Val3m/Test1m puis éventuellement Val6m/Test1m.
Idées / hypothèses ajoutées
Aucune queue auto modifiée; suggestion future: mini one-shot batch 2-4 runs Val3m/Test1m.
Rejeté ou dépriorisé
Ne pas remplacer le protocole v4 actif maintenant; attendre répétition.
Résumé idées complètes
L hypothèse Test plus proche temporellement est soutenue par ce run: la validation est identique et le test 1m transfère mieux que le test 3m, y compris en ancien economic_score Test (9.29 vs -33.31).
Prochain focus
Continuer auto actuel; utiliser la page special-temporal-gap-test1m.html comme preuve préliminaire pour décider si on crée un mini-protocole isolé.
2026-07-05T22:02:14Z · assistant_implementation · capital_page_val_test_clarity
Réflexion #5
Observations
La page capital a été revue pour afficher explicitement Validation et Test: best run choisi sur score capital Validation, puis colonnes Val score/gain/DD et Test score/gain/DD. Les graphiques capital % ont été ajoutés à chaque run en plus des anciens graphiques économiques absolus.
Leçons apprises
- Ne pas classer une idée uniquement par son meilleur run Test ni uniquement par médiane; afficher les deux: best run Validation pour la sélection opérationnelle, médianes Test pour la robustesse de famille.
- Les graphiques economic_* sont en unités absolues de label/PNL cumulatif; les nouveaux graphiques capital_* sont en pourcentage de capital et sont préférables pour juger la courbe.
- Un très bon Val avec mauvais Test ne doit pas être promu; il devient un signal de fragilité/overfit.
Idées / hypothèses ajoutées
Rejeté ou dépriorisé
Déprioriser toute promotion basée seulement sur best Val; exiger confirmation Test médiane et au moins plusieurs runs positifs.
Résumé idées complètes
La nouvelle lecture montre un point méthodologique important: certains runs ont un score Validation très élevé mais un Test négatif, ce qui signale un risque de surfit validation. Pour sélectionner un run on regarde Val; pour promouvoir une idée on doit aussi regarder Test médian, runs positifs et transfert Val→Test.
Prochain focus
Le Research Scientist doit utiliser capital.html ainsi: sélection run = best Val; promotion idée = Test médian + gain/DD médian + runs positifs + gap Val/Test.
2026-07-05T20:53:53Z · assistant_implementation · capital_score_rollout
Réflexion #4
Observations
Mise en place du score capital% normalisé: capital initial 100, rendement par step approximé par signal × y/output_window, seuil no-trade choisi sur Validation via capital_score, score = gain_pct - 1.5 × abs(max_drawdown_pct). Tous les runs v4 historiques ont été recalculés.
Leçons apprises
- Les conclusions de promotion doivent utiliser capital.html en priorité, pas seulement scout.html.
- Comparer les output windows en unités absolues biaise la lecture; le score capital% donne une comparaison plus intuitive.
- Le score reste une approximation scout car il amortit y/output_window; prochaine amélioration méthodologique possible: backtest next-bar réellement tradable.
Idées / hypothèses ajoutées
Rejeté ou dépriorisé
Déprioriser shorter_output_20 comme “meilleure” direction générale; garder long_output_60 et cross_sectional_relative comme candidats plus intéressants sous capital score, avec prudence car les scores médians restent négatifs.
Résumé idées complètes
Avec le nouveau score capital Test médian, long_output_60 devient la meilleure idée complète pour l’instant (score médian ≈ -19.15, gain médian ≈ +9.94%, DD médian ≈ -20.98%). cross_sectional_relative suit (score médian ≈ -25.21). shorter_output_20 recule (score médian ≈ -38.21), confirmant que sa courbe/risque était moins convaincante malgré certains anciens scores absolus.
Prochain focus
Le Research Scientist doit utiliser la page capital.html et le capital_score médian comme critère principal de comparaison, tout en gardant les garde-fous DD%, runs positifs, exposure et Test reporting-only.
2026-07-05T20:19:06Z · assistant_analysis · methodology_correction
Réflexion #3
Observations
Le journal indiquait shorter_output_20 comme meilleure direction médiane, mais après complétion de long_output_60 les métriques ont changé: long_output_60 est légèrement devant au score Test économique médian (-3.53 vs -4.00) et nettement devant en PNL médian, mais avec drawdown/worst-month beaucoup plus élevés. La courbe plus jolie vient probablement d’un horizon cumulatif plus long et plus lissé.
Leçons apprises
- Ne pas classer les horizons seulement sur un score additif absolu non normalisé par horizon.
- Le backtest actuel utilise pos * y où y est le rendement futur cumulé sur OUTPUT_WINDOW; changer OUTPUT_WINDOW change l’échelle du PNL et le degré de chevauchement/smoothing.
- Comparer output20 vs output60 exige des métriques normalisées horizon/risk et idéalement un backtest tradable sur next-bar returns/holding period.
Idées / hypothèses ajoutées
Rejeté ou dépriorisé
Déprioriser les conclusions “shorter_output_20 est devant” tant que le score n’est pas normalisé par horizon et que la qualité de courbe n’est pas intégrée.
Résumé idées complètes
—Prochain focus
Ajouter une page/métrique de comparaison normalisée: return per horizon, drawdown per horizon, Calmar, score risk-normalized, et envisager un backtest économique qui applique les positions sur rendements 6h réalisés plutôt que sur labels cumulés chevauchants.
2026-07-05T19:56:32+00:00 · research_scientist · réflexion
Réflexion #2
Observations
10 idées complètes et 1 idée incomplète observées dans la mémoire v4. shorter_output_20 reste le meilleur complet par robustesse relative: score économique Test médian -3.999, PNL médian +0.899, worst-month médian -1.500, gap médian -2.023. cross_sectional_relative a PNL médian positif (+1.709) mais score/gap encore dégradés; régime seul limite certaines catastrophes sans suffire. long_output_60 est incomplet (3/4) et son PNL médian provisoire est élevé (+9.193) mais avec gap très négatif (-18.557) et worst-month sévère (-4.967), donc à attendre avant conclusion.
Leçons apprises
Les leçons initiales sont confirmées: horizon 20 est la direction complète la plus saine, alors que input 120 et synthetic_pairs restent à déprioriser. Les features cross-sectionnelles méritent combinaison avec output20 (déjà en queue). Le prochain risque méthodologique n'est pas d'optimiser Val mais de réduire worst-month/gap et tester les frais.
Idées / hypothèses ajoutées
- regime_ohlc_ta_output20
- regime_multi_resolution_output20
- fee2bps_shorter_output20_base
Rejeté ou dépriorisé
Pas de nouvelle variante input long/synthetic/voltarget pure: elles ont des médianes Test et worst-month trop faibles. Pas d'ablation sign-flip immédiate: la priorité est d'abord de valider familles output20 enrichies et stress frais.
Résumé idées complètes
Complètes: baseline_v3_like très faible (score -34.334, PNL -7.098), longer_input_120 très faible (-37.534, PNL -7.532), synthetic_pairs faible (-27.062, PNL -5.309), voltarget/regime_voltarget faibles (-17.098, PNL -1.686), short_input_40 faible (-14.693, PNL -1.014), time_pct_minmax et cross_sectional_relative ont PNL positif mais scores négatifs, regime_features intermédiaire, shorter_output_20 meilleur équilibre actuel. Incomplète: long_output_60 3/4, signal PNL intéressant mais non robuste au gap/worst-month.
Prochain focus
Laisser le runner finir long_output_60 puis consommer les 6 idées queue. Surveiller spécialement: OHLC/TA vs régime+OHLC/TA, multi-résolution vs régime+multi-résolution, et résistance de base output20 à 2 bps. Ne promouvoir qu'après 4 runs par idée et sans sélectionner sur Test.
2026-07-05T15:55:00Z · system_setup · initial_state
Réflexion #1
Observations
Autonomous Research Scientist/Runner system installed. Researcher reads v4 memory, roadmap, queue, and this journal before adding hypotheses. Runner executes 4 runs per idea.
Leçons apprises
- shorter_output_20 is currently the most promising built-in idea by median Test/worst-month/gap
- longer_input_120 and synthetic_pairs look weak in current scout medians
- dynamic queue seeded with OHLC/TA output20, multi-resolution output20, cross-sectional output20
Idées / hypothèses ajoutées
—Rejeté ou dépriorisé
—Résumé idées complètes
—Prochain focus
Use journal + ideas page to avoid starting from a blank page and propose coherent next hypotheses only when queue is not already saturated.