FIRE To Do List

Release dalla 0.11.13 - alla 0.11.29 Task 28/10 - xxxx

1. Nuove features
  • Inserita la metrica Directional Accuracy in Model Backtester
  • Aggiunge un controllo nella UI per permettere all’utente di specificare l’orizzonte di previsione (Forecast Horizon (days)). Questo trasforma il Forecast Lab in uno strumento di ricerca per ottimizzare i modelli.
  • Implementata un’architettura scalabile per l’arricchimento dei dati basata su un registro di provider AI (TimesFM, Prophet, etc…).
  • Aggiunto Prophet come provider di arricchimento dati
2. Modifiche strutturali alla applicazione,
  • refactor(watchlist) Il refactoring scompone la classe monolitica WatchlistManagerTab in componenti con responsabilità singola, migliorando la modularità e la manutenibilità del codice.
  • refactor(main_window): Estratta logica in classi helper specializzate
  • Introdotti i seguenti script: - ‘verify_environment.py’: Controlla la coerenza dell’ambiente. - ‘audit_extra_deps.py’: Aiuta a identificare le dipendenze non tracciate. - ‘debug_timesfm_imports.py’: Script di diagnostica per ispezionare le librerie. - POC per validare l’API di timesfm.”
  • Aggiornato l’intero stack AI e stabilizzato l’ambiente “Eseguito un refactoring completo per risolvere crash, conflitti di dipendenza e API obsolete. - Ambiente: Migrato a Python 3.11 come da ADR 0002. Creato un ‘requirements.txt’ stabile e funzionante tramite risoluzione minimale e ‘pip freeze’. - LangChain: Aggiornati tutti i file che usano langchain (‘llm_provider’, ‘indexing_worker’, ‘query_worker’) per renderli compatibili con la nuova architettura modulare e LCEL. - TimesFM: Refattorizzati tutti i file che usano timesfm per allinearli alla nuova API validata tramite POC. Centralizzata la logica di caricamento in ‘TimesFmModelCache’. - Pulizia: Rimosso il worker obsoleto ‘timesfm_worker.py’ e corretto un ‘NameError’ in ‘initialization_worker.py’. L’applicazione ora si avvia e le funzionalità core (AI Chat, Forecasting) sono state ripristinate e rese compatibili con le versioni aggiornate delle librerie.”
3. QOL (Quality of Life)
  • Generazione automatica del grafico MAE Over Time, RMSE Over Time, Directional Accuracy senza selezionare l’opzione dalla combobox
  • Potenzia l’esportazione dei report dal Model Backtester. Ogni report HTML ora include un frontmatter con i metadati dell’analisi (ticker, date, parametri) e un’annotazione ‘Generated by FIRE’ in alto a destra su tutti i grafici per un output più professionale e contestualizzato.

4. BugFix

  • Worker: Disabilitata stagionalità spuria, validazione dati aggiunta, output onesto a singolo intervallo (prophet_80). - UI: Aggiunto disclaimer, disabilitate checkbox non supportate, rinominato intervallo per chiarezza. - Visualizzazione: LWCOverlayManager ora gestisce la chiave prophet_80 con uno stile dedicato. - Testing: Aggiunta suite di test automatici (pytest) per il GenericForecastWorker per validare robustezza e correttezza. Questa modifica risolve le criticità sollevate, rendendo l’integrazione di Prophet robusta, trasparente e metodologicamente corretta per l’analisi esplorativa di dati finanziari.”
  • Aggiunta validazione dati robusta anche per TimesFM. - Testing: - Creato tests/conftest.py per fixture condivise e fix matplotlib. - Corretta suite di test test_timesfm_worker.py per testare scenari di fallimento in modo isolato. - La suite di test completa (18 test) ora passa con successo. L’implementazione dei modelli di forecasting è ora robusta, validata da test automatici e conforme ai requisiti dell’audit di certificazione.”
  • implementato il dynamic box size per il grafico Point & Figure charts