creato con qc-report_architetturale_v1.ps1 versione prima delle modificehe

================================================================================ QUANTUM-CORE - REPORT ARCHITETTURALE DI PROGETTO Generato: 11/11/2025 09:20:24 Modalita’: REPORT COMPLETO

+------------------------------------------------------------------------------+ | [CRUSCOTTO] - LEGGI SUBITO | +------------------------------------------------------------------------------+

PROJECT SUMMARY:

Numero Totale di File Analizzati: 127 Numero Totale di Directory: 33 Numero Totale di Righe di Codice (non vuote): 11009

PUNTI CRITICI DI ATTENZIONE:

[!] GOD OBJECTS RILEVATI: [CRITICO] [pandas] e’ dipendenza di 45 componenti - modifiche qui hanno impatto elevato [CRITICO] [AppState] e’ dipendenza di 25 componenti - modifiche qui hanno impatto elevato [MEDIO] [DataManager] e’ dipendenza di 12 componenti - modifiche qui hanno impatto elevato [MEDIO] [SettingsManager] e’ dipendenza di 10 componenti - modifiche qui hanno impatto elevato

[ORPHAN] FILE POTENZIALMENTE ORFANI (>50 righe, senza dipendenze dichiarate): [backtest_stats_model.py] - 81 righe - verificare se e’ dead code o manca header DEPS

FILE PIU’ COMPLESSI (per righe di codice > 300):

  • settings_dialog.py (301 righe)

ARCHITECTURAL OVERVIEW (Top 10 moduli per dimensione):

[ui_components] - 16 files, 2103 lines [DOCUMENTED] [charts] - 9 files, 972 lines [DOCUMENTED] [forecasting] - 5 files, 875 lines [DOCUMENTED] [scanner] - 8 files, 791 lines [DOCUMENTED] [fire] - 9 files, 749 lines [DOCUMENTED] [backtest] - 7 files, 712 lines [DOCUMENTED] [workers] - 8 files, 556 lines [DOCUMENTED] [charting] - 6 files, 520 lines [DOCUMENTED] [connectors] - 6 files, 491 lines [DOCUMENTED] [indicator_implementations] - 8 files, 351 lines [DOCUMENTED]

COMPONENTI CHIAVE PER RUOLO ARCHITETTURALE:

Questi file definiscono le fondamenta e le interfacce esterne del sistema.

FRAMEWORK COMPONENTS (Core System & Foundations)

FILE: analytics_core\indicator_implementations_init_.py RIGHE: 5 RESP: Rende la directory ‘indicator_implementations’ un package Python.

FILE: app_state.py RIGHE: 127 RESP: Gestore dello stato centrale e globale per l’applicazione FIRE.

FILE: main_window.py RIGHE: 258 RESP: Finestra principale dell’applicazione. Orchestra i pannelli e i servizi core.

FILE: settings_manager.py RIGHE: 114 RESP: Gestisce la persistenza delle impostazioni utente in un file JSON.

FILE: signals.py RIGHE: 18 RESP: Definisce i segnali standard per la comunicazione asincrona dei worker.

FILE: strategies\strategy_loader.py RIGHE: 58 RESP: Carica dinamicamente una classe di strategia da un file Python, validando che esista una sola implementazione di BaseStrategy e restituendone un’istanza.

FILE: synapses\scanner_init_.py RIGHE: 5 RESP: Rende la directory ‘scanner’ un package Python.

FILE: ui_components_init_.py RIGHE: 5 RESP: Rende la directory ‘ui_components’ un package Python, permettendo l’import strutturato dei suoi sottomoduli.

FILE: ui_components\charts\lightweight_chart_widget.py RIGHE: 124 RESP: Orchestra il rendering di grafici finanziari interattivi tramite una QWebEngineView, agendo come un motore di charting agnostico rispetto ai dati.

FILE: ui_components\theme_manager.py RIGHE: 104 RESP: Gestore centralizzato per i colori e stili dell’applicazione.

FILE: ui_components\ui_manager.py RIGHE: 138 RESP: Gestisce la creazione, disposizione e ripristino dei QDockWidget nella MainWindow.

FILE: utils_init_.py RIGHE: 5 RESP: Rende la directory ‘utils’ un package Python.

STRUTTURA AD ALBERO COMPLETA:

fire/ |— pycache/ # [ESCLUSA] |— analytics_core/ | |— pycache/ # [ESCLUSA] | |— indicator_implementations/ | | |— pycache/ # [ESCLUSA] | | |— init.py | | |— anomalous_volume_indicator.py | | |— doji_star_indicator.py | | |— engulfing_pattern_indicator.py | | |— hammer_indicator.py | | |— morning_star_indicator.py | | |— new_high_low_indicator.py | | — rsi_indicator.py | |— metrics/ | | |— pycache/ # [ESCLUSA] | | — metrics_calculator.py | |— base_indicator.py | — indicators.py |— charting/ | |— pycache/ # [ESCLUSA] | |— plotters/ | | |— pycache/ # [ESCLUSA] | | |— area_plotter.py | | |— bar_plotter.py | | |— baseline_plotter.py | | |— candlestick_plotter.py | | |— heikin_ashi_plotter.py | | — line_plotter.py | |— renderers/ | | |— pycache/ # [ESCLUSA] | | |— area_renderer.py | | |— bar_renderer.py | | |— base_renderer.py | | |— baseline_renderer.py | | |— candlestick_renderer.py | | — line_renderer.py | |— base_plotter.py | — plotter_factory.py |— connectors/ | |— pycache/ # [ESCLUSA] | |— init.py | |— alpaca_connector.py | |— alpha_vantage_connector.py | |— binance_connector.py | |— local_csv_connector.py | — yahoo_finance_connector.py |— core/ | — data/ | |— pycache/ # [ESCLUSA] | |— abstract_data_connector.py | — data_manager.py |— logic/ | |— pycache/ # [ESCLUSA] | |— data_enrichment_registry.py | |— llm_provider.py | |— prompt_manager.py | — worker_manager.py |— main_window_logic/ | |— pycache/ # [ESCLUSA] | |— panel_factory.py | |— session_loader.py | — signal_connector.py |— prompts/ | — pine_script_converter_v1.txt |— resources/ | |— pycache/ # [ESCLUSA] | |— chart_template/ | | |— chart.html | | |— chart.js | | |— lightweight-charts.standalone.production.js | | — qwebchannel.js | |— icons/ | | |— brain.svg | | |— drafting-compass.svg | | |— scan-text.svg | | |— scroll.svg | | |— settings.svg | | — wand-sparkles.svg | |— resource_manager.py | — resources.qrc |— strategies/ | |— pycache/ # [ESCLUSA] | |— base_strategy.py | — strategy_loader.py |— synapses/ | |— backtest/ | | |— pycache/ # [ESCLUSA] | | |— backtest_engine.py | | |— backtest_orchestrator.py | | |— backtest_tab_widget.py | | |— backtest_worker.py | | |— chart_data_loader.py | | |— chart_data_worker.py | | — plotting_handler.py | |— explorer/ | | |— pycache/ # [ESCLUSA] | | |— analysis_engine.py | | |— explorer_tab_widget.py | | — explorer_worker.py | — scanner/ | |— pycache/ # [ESCLUSA] | |— init.py | |— mock_backtest_engine.py | |— scanner_tab_widget.py | |— scanner_worker.py | |— signal_config_dialog.py | |— signal_engine.py | |— signal_params_dialog.py | — signal_results_model.py |— ui_components/ | |— pycache/ # [ESCLUSA] | |— charts/ | | |— pycache/ # [ESCLUSA] | | |— bar_line_chart_widget.py | | |— boxplot_widget.py | | |— charting_tabs_widget.py | | |— equity_chart_widget.py | | |— heatmap_widget.py | | |— lightweight_chart_widget.py | | |— lwc_js_api.py | | |— lwc_overlay_manager.py | | — qc_plotly_chart_widget.py | |— forecasting/ | | |— pycache/ # [ESCLUSA] | | |— forecast_backtest_widget.py | | — forecast_results_widget.py | |— models/ | | |— pycache/ # [ESCLUSA] | | |— init.py | | |— backtest_stats_model.py | | |— trade_log_model.py | | — watchlist_model.py | |— shared/ | | |— pycache/ # [ESCLUSA] | | — warning_widget.py | |— splash/ | | |— pycache/ # [ESCLUSA] | | |— splash_html_generator.py | | — splash_screen.py | |— strategy_editor/ | | |— pycache/ # [ESCLUSA] | | |— code_editor_widget.py | | — strategy_editor_tab.py | |— watchlist/ | | |— pycache/ # [ESCLUSA] | | |— watchlist_file_handler.py | | — watchlist_logic_handler.py | |— init.py | |— ai_assistant_tab.py | |— ai_chat_widget.py | |— chrome_manager.py | |— forecast_lab_widget.py | |— forecast_manager_tab.py | |— log_panel_widget.py | |— main_window_components.py | |— market_insights_widget.py | |— pine_script_converter_dialog.py | |— settings_dialog.py | |— theme_editor_dialog.py | |— theme_manager.py | |— trade_log_widget.py | |— ui_manager.py | — watchlist_manager_tab.py |— utils/ | |— pycache/ # [ESCLUSA] | |— init.py | — logging_handler.py |— workers/ | |— pycache/ # [ESCLUSA] | |— charting/ | | |— pycache/ # [ESCLUSA] | | |— kagi_worker.py | | |— line_break_worker.py | | |— plotly_data_worker.py | | — point_and_figure_worker.py | |— enrichment/ | | |— pycache/ # [ESCLUSA] | | |— prophet_enrichment_worker.py | | — timesfm_enrichment_worker.py | |— forecasting/ | | |— pycache/ # [ESCLUSA] | | |— forecast_backtest_worker.py | | |— generic_forecast_worker.py | | — timesfm_worker.py | |— data_analysis_worker.py | |— data_export_worker.py | |— forecast_export_worker.py | |— indexing_worker.py | |— initialization_worker.py | |— model_list_worker.py | |— pine_converter_worker.py | — query_worker.py |— app_state.py |— clean_cache.ps1 |— config.py |— main.py |— main_window.py |— qc-diagnostica-architetturale_v1.ps1 |— qc-report_architetturale_v1.ps1 |— qc-report-architetturale.txt |— README .txt |— settings_manager.py |— signals.py |— ui_texts.py |— utils.py — version.py

DETTAGLIO COMPLETO DEI COMPONENTI:

FILE: analytics_core\base_indicator.py RIGHE (non vuote): 37 VERSIONE: v1.0 - fire/analytics_core/base_indicator.py RESPONSABILITA’: Definisce l’interfaccia astratta (contratto) per tutti gli indicatori tecnici. DIPENDENZE: pandas, abc.

FILE: analytics_core\indicator_implementations_init_.py RIGHE (non vuote): 5 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/init.py RESPONSABILITA’: Rende la directory ‘indicator_implementations’ un package Python. DIPENDENZE: N/A

FILE: analytics_core\indicator_implementations\anomalous_volume_indicator.py RIGHE (non vuote): 48 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/anomalous_volume_indicator.py RESPONSABILITA’: Fornisce l’implementazione per l’indicatore “Volume Anomalo”. DIPENDENZE: pandas, fire.analytics_core.base_indicator.

FILE: analytics_core\indicator_implementations\doji_star_indicator.py RIGHE (non vuote): 64 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/doji_star_indicator.py RESPONSABILITA’: Implementazione per il pattern di candele Doji Star (Bullish e Bearish). DIPENDENZE: pandas, fire.analytics_core.base_indicator.

FILE: analytics_core\indicator_implementations\engulfing_pattern_indicator.py RIGHE (non vuote): 53 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/engulfing_pattern_indicator.py RESPONSABILITA’: Implementazione per il pattern di candele Engulfing (Bullish e Bearish). DIPENDENZE: pandas, fire.analytics_core.base_indicator.

FILE: analytics_core\indicator_implementations\hammer_indicator.py RIGHE (non vuote): 49 VERSIONE: v1.1 - fire/analytics_core/indicator_implementations/hammer_indicator.py RESPONSABILITA’: Implementazione per il pattern di candele Hammer. DIPENDENZE: pandas, numpy, fire.analytics_core.base_indicator.

FILE: analytics_core\indicator_implementations\morning_star_indicator.py RIGHE (non vuote): 54 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/morning_star_indicator.py RESPONSABILITA’: Implementazione per il pattern di inversione rialzista “Morning Star”. DIPENDENZE: pandas, fire.analytics_core.base_indicator.

FILE: analytics_core\indicator_implementations\new_high_low_indicator.py RIGHE (non vuote): 44 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/new_high_low_indicator.py RESPONSABILITA’: Fornisce l’implementazione per l’indicatore “Nuovo Massimo/Minimo”. DIPENDENZE: pandas, fire.analytics_core.base_indicator.

FILE: analytics_core\indicator_implementations\rsi_indicator.py RIGHE (non vuote): 34 VERSIONE: v1.0 - fire/analytics_core/indicator_implementations/rsi_indicator.py RESPONSABILITA’: Fornisce l’implementazione concreta per l’indicatore Relative Strength Index (RSI). DIPENDENZE: pandas, fire.analytics_core.base_indicator. TODO: Valutare l’uso di una libreria C-based come TA-Lib per performance superiori.

FILE: analytics_core\indicators.py RIGHE (non vuote): 35 VERSIONE: v1.4 - fire/analytics_core/indicators.py RESPONSABILITA’: Fornisce un’interfaccia pubblica e unificata per accedere a tutti gli indicatori. DIPENDENZE: fire.analytics_core.base_indicator, fire.analytics_core.indicator_implementations. TODO: Implementare il caricamento dinamico degli indicatori invece di un registro manuale.

FILE: analytics_core\metrics\metrics_calculator.py RIGHE (non vuote): 127 VERSIONE: v1.2 fire/analytics_core/metrics/metrics_calculator.py RESPONSABILITA’: Servizio per il calcolo di metriche di performance standard da risultati di backtest. DIPENDENZE: pandas, numpy.

FILE: app_state.py RIGHE (non vuote): 127 VERSIONE: v4.1.0 - fire/app_state.py RESPONSABILITA’: Gestore dello stato centrale e globale per l’applicazione FIRE. DIPENDENZE: SettingsManager, fire.config, PySide6.QtCore.

FILE: charting\base_plotter.py RIGHE (non vuote): 37 VERSIONE: v2.1.0 - fire/charting/base_plotter.py RESPONSABILITA’: Definisce l’interfaccia astratta (contratto) per tutti i “Chart Plotter”. DIPENDENZE: abc, pandas, BaseChartRenderer.

FILE: charting\plotter_factory.py RIGHE (non vuote): 49 VERSIONE: v2.2 - fire/charting/plotter_factory.py RESPONSABILITA’: Fornisce un’interfaccia centralizzata per creare istanze dei Chart Plotter disponibili. DIPENDENZE: BaseChartPlotter e le sue implementazioni concrete.

FILE: charting\plotters\area_plotter.py RIGHE (non vuote): 27 VERSIONE: v1.0 - fire/charting/plotters/area_plotter.py RESPONSABILITA’: Implementa la trasformazione dati per un grafico ad area e fornisce il renderer associato. DIPENDENZE: BaseChartPlotter, AreaRenderer, pandas.

FILE: charting\plotters\bar_plotter.py RIGHE (non vuote): 40 VERSIONE: v1.1.0 - fire/charting/plotters/bar_plotter.py RESPONSABILITA’: Implementa la trasformazione dati per un grafico a barre e fornisce il renderer associato. DIPENDENZE: BaseChartPlotter, BarRenderer.

FILE: charting\plotters\baseline_plotter.py RIGHE (non vuote): 27 VERSIONE: v1.0 - fire/charting/plotters/baseline_plotter.py RESPONSABILITA’: Implementa la trasformazione dati per un grafico baseline e fornisce il renderer associato. DIPENDENZE: BaseChartPlotter, BaselineRenderer, pandas.

FILE: charting\plotters\candlestick_plotter.py RIGHE (non vuote): 43 VERSIONE: v2.2.0 - fire/charting/plotters/candlestick_plotter.py RESPONSABILITA’: Implementa la trasformazione dati per un grafico a candele e fornisce il renderer associato. DIPENDENZE: pandas, BaseChartPlotter, CandlestickRenderer.

FILE: charting\plotters\heikin_ashi_plotter.py RIGHE (non vuote): 52 VERSIONE: v2.2.0 - fire/charting/plotters/heikin_ashi_plotter.py RESPONSABILITA’: Implementa la trasformazione dati per candele Heikin-Ashi e fornisce il renderer associato. DIPENDENZE: pandas, BaseChartPlotter, CandlestickRenderer.

FILE: charting\plotters\line_plotter.py RIGHE (non vuote): 45 VERSIONE: v2.1 - fire/charting/plotters/line_plotter.py RESPONSABILITA’: Implementa la trasformazione dati per un grafico a linea e fornisce il renderer associato. DIPENDENZE: pandas, BaseChartPlotter, LineRenderer.

FILE: charting\renderers\area_renderer.py RIGHE (non vuote): 26 VERSIONE: v1.1.0 - fire/charting/renderers/area_renderer.py RESPONSABILITA’: Implementa la logica di rendering per un grafico ad area. DIPENDENZE: BaseChartRenderer, pandas, LWCJsApi.

FILE: charting\renderers\bar_renderer.py RIGHE (non vuote): 29 VERSIONE: v1.1.0 - fire/charting/renderers/bar_renderer.py RESPONSABILITA’: Implementa la logica di rendering per un grafico a barre OHLC. DIPENDENZE: BaseChartRenderer, pandas, LWCJsApi.

FILE: charting\renderers\base_renderer.py RIGHE (non vuote): 28 VERSIONE: v1.0 - fire/charting/renderers/base_renderer.py RESPONSABILITA’: Definisce l’interfaccia astratta (contratto) per tutti i Chart Renderer. DIPENDENZE: abc, pandas.

FILE: charting\renderers\baseline_renderer.py RIGHE (non vuote): 26 VERSIONE: v1.1.0 - fire/charting/renderers/baseline_renderer.py RESPONSABILITA’: Implementa la logica di rendering per un grafico baseline. DIPENDENZE: BaseChartRenderer, pandas, LWCJsApi.

FILE: charting\renderers\candlestick_renderer.py RIGHE (non vuote): 31 VERSIONE: v1.1.0 - fire/charting/renderers/candlestick_renderer.py RESPONSABILITA’: Implementa la logica di rendering per un grafico a candele standard. DIPENDENZE: BaseChartRenderer, pandas, LWCJsApi.

FILE: charting\renderers\line_renderer.py RIGHE (non vuote): 29 VERSIONE: v1.1.0 - fire/charting/renderers/line_renderer.py RESPONSABILITA’: Implementa la logica di rendering per un grafico a linea semplice. DIPENDENZE: BaseChartRenderer, pandas, LWCJsApi.

FILE: config.py RIGHE (non vuote): 19 VERSIONE: v1.0 - fire/config.py RESPONSABILITA’: Definisce le costanti di configurazione statiche per l’applicazione FIRE. DIPENDENZE: N/A

FILE: connectors\alpaca_connector.py RIGHE (non vuote): 112 VERSIONE: v1.2 - fire/connectors/alpaca_connector.py RESPONSABILITA’: Connettore dati per recuperare dati storici da Alpaca (azioni e crypto). DIPENDENZE: pandas, alpaca-py, AbstractDataConnector, SettingsManager.

FILE: connectors\alpha_vantage_connector.py RIGHE (non vuote): 113 VERSIONE: v1.2 - fire/connectors/alpha_vantage_connector.py RESPONSABILITA’: Connettore dati che recupera time series giornaliere e intraday da Alpha Vantage. DIPENDENZE: pandas, requests, AbstractDataConnector, SettingsManager. TODO: Implementare una logica più avanzata per gestire il parametro ‘month’ dell’API

FILE: connectors\binance_connector.py RIGHE (non vuote): 110 VERSIONE: v1.2 - fire/connectors/binance_connector.py RESPONSABILITA’: Connettore dati per recuperare dati storici (Klines) dall’API di Binance. DIPENDENZE: pandas, python-binance, AbstractDataConnector, SettingsManager.

FILE: connectors\local_csv_connector.py RIGHE (non vuote): 57 VERSIONE: v1.2 - fire/connectors/local_csv_connector.py RESPONSABILITA’: Connettore dati che carica time series da file CSV locali. DIPENDENZE: pandas, AbstractDataConnector, SettingsManager.

FILE: connectors\yahoo_finance_connector.py RIGHE (non vuote): 99 VERSIONE: v2.5 - fire/connectors/yahoo_finance_connector.py RESPONSABILITA’: Connettore dati che recupera informazioni da Yahoo Finance tramite API ‘requests’. DIPENDENZE: pandas, requests, AbstractDataConnector.

FILE: core\data\abstract_data_connector.py RIGHE (non vuote): 59 VERSIONE: v1.1 - fire/core/data/abstract_data_connector.py RESPONSABILITA’: Definisce l’interfaccia astratta (contratto) per tutti i connettori di dati. DIPENDENZE: abc, pandas, typing.

FILE: core\data\data_manager.py RIGHE (non vuote): 105 VERSIONE: v1.9 - fire/core/data/data_manager.py RESPONSABILITA’: Gestisce e orchestra i connettori dati per il recupero dei dati di mercato. DIPENDENZE: AbstractDataConnector, SettingsManager, inspect.

FILE: logic\data_enrichment_registry.py RIGHE (non vuote): 25 VERSIONE: v1.1.0 - fire/logic/data_enrichment_registry.py RESPONSABILITA’: Fornisce un registro centrale per mappare i provider di arricchimento dati ai loro worker specializzati. DIPENDENZE: N/A (solo i worker che verranno importati).

FILE: logic\llm_provider.py RIGHE (non vuote): 105 VERSIONE: v1.1 (QC) - fire/logic/llm_provider.py RESPONSABILITA’: Fornisce un servizio generico per comunicare con un server LLM compatibile con API OpenAI. DIPENDENZE: langchain_openai, json, fire.settings_manager.

FILE: logic\prompt_manager.py RIGHE (non vuote): 61 VERSIONE: v1.2 (QC) - fire/logic/prompt_manager.py RESPONSABILITA’: Centralizza la gestione e il caricamento dei system prompt per l’AI da file esterni. DIPENDENZE: os, logging.

FILE: logic\worker_manager.py RIGHE (non vuote): 66 VERSIONE: v2.0 - fire/logic/worker_manager.py RESPONSABILITA’: Gestisce un QThreadPool centralizzato e il ciclo di vita dei worker per prevenire crash. DIPENDENZE: PySide6.QtCore.

FILE: main.py RIGHE (non vuote): 82 VERSIONE: v5.0.0 - fire/main.py RESPONSABILITA’: Punto di ingresso dell’applicazione FIRE, gestisce l’inizializzazione. DIPENDENZE: MainWindow, AppState, SettingsManager, SplashScreen, InitializationWorker.

FILE: main_window.py RIGHE (non vuote): 258 VERSIONE: v9.69.1 - fire/main_window.py RESPONSABILITA’: Finestra principale dell’applicazione. Orchestra i pannelli e i servizi core. DIPENDENZE: AppState, UIManager, PanelFactory, SignalConnector, SessionLoader.

FILE: main_window_logic\panel_factory.py RIGHE (non vuote): 53 VERSIONE: v1.0.0 - fire/main_window_logic/panel_factory.py RESPONSABILITA’: Centralizza la creazione di tutti i pannelli UI principali dell’applicazione. DIPENDENZE: AppState, SettingsManager, DataManager, LLMProvider, MainWindow.

FILE: main_window_logic\session_loader.py RIGHE (non vuote): 63 VERSIONE: v1.0.0 - fire/main_window_logic/session_loader.py RESPONSABILITA’: Centralizza la logica di ripristino dello stato dell’applicazione all’avvio. DIPENDENZE: AppState, SettingsManager, vari pannelli UI.

FILE: main_window_logic\signal_connector.py RIGHE (non vuote): 70 VERSIONE: v1.0.0 - fire/main_window_logic/signal_connector.py RESPONSABILITA’: Centralizza la connessione di tutti i segnali e slot tra i pannelli e i servizi dell’applicazione. DIPENDENZE: AppState, MainWindow, vari pannelli UI. TODO: Suddividere il metodo connect_signals in metodi privati più piccoli per area funzionale (es. _connect_backtest).

FILE: resources\resource_manager.py RIGHE (non vuote): 33 VERSIONE: v1.0 - fire/resources/resource_manager.py RESPONSABILITA’: Fornisce un’interfaccia centralizzata per ottenere percorsi di file di risorse. DIPENDENZE: pathlib, os.

FILE: settings_manager.py RIGHE (non vuote): 114 VERSIONE: v2.2 (QC) - fire/settings_manager.py RESPONSABILITA’: Gestisce la persistenza delle impostazioni utente in un file JSON. DIPENDENZE: PySide6.QtCore, json, os.

FILE: signals.py RIGHE (non vuote): 18 VERSIONE: v1.2 - fire/signals.py RESPONSABILITA’: Definisce i segnali standard per la comunicazione asincrona dei worker. DIPENDENZE: PySide6.QtCore.

FILE: strategies\base_strategy.py RIGHE (non vuote): 131 VERSIONE: v1.7.0 - fire/strategies/base_strategy.py RESPONSABILITA’: Classe base astratta per le strategie, con API per accedere ai dati di arricchimento. DIPENDENZE: pandas, fire.analytics_core.

FILE: strategies\strategy_loader.py RIGHE (non vuote): 58 VERSIONE: v1.0 - fire/strategies/strategy_loader.py RESPONSABILITA’: Carica dinamicamente una classe di strategia da un file Python, validando che esista una sola implementazione di BaseStrategy e restituendone un’istanza. DIPENDENZE: BaseStrategy, importlib, inspect

FILE: synapses\backtest\backtest_engine.py RIGHE (non vuote): 96 VERSIONE: v1.3 - fire/synapses/backtest/backtest_engine.py RESPONSABILITA’: Motore di backtesting che esegue una strategia pre-caricata su dati storici. DIPENDENZE: BaseStrategy, pandas.

FILE: synapses\backtest\backtest_orchestrator.py RIGHE (non vuote): 141 VERSIONE: v2.2.1 - fire/synapses/backtest/backtest_orchestrator.py RESPONSABILITA’: Orchestra la pipeline di backtesting, gestendo la progress bar globale e la catena di arricchimento. DIPENDENZE: AppState, DataManager, WorkerManager, BacktestWorker, data_enrichment_registry.

FILE: synapses\backtest\backtest_tab_widget.py RIGHE (non vuote): 143 VERSIONE: v15.0.2 - fire/synapses/backtest/backtest_tab_widget.py RESPONSABILITA’: Orchestra l’interfaccia utente del backtesting e gestisce lo stato. DIPENDENZE: AppState, DataManager, BacktestPlottingHandler, ChartDataLoader, ThemeManager.

FILE: synapses\backtest\backtest_worker.py RIGHE (non vuote): 83 VERSIONE: v5.0.0 - fire/synapses/backtest/backtest_worker.py RESPONSABILITA’: Esegue un backtest su dati e strategia pre-processati, senza logica di orchestrazione. DIPENDENZE: BacktestEngine, MetricsCalculator. TODO: Spostare _calculate_volatility_regimes nell’Analytics Core (come indicatore).

FILE: synapses\backtest\chart_data_loader.py RIGHE (non vuote): 77 VERSIONE: v1.0 - fire/synapses/backtest/chart_data_loader.py RESPONSABILITA’: Gestisce il caricamento asincrono dei dati del grafico per il pannello di backtest. DIPENDENZE: AppState, DataManager, BacktestTabWidget.

FILE: synapses\backtest\chart_data_worker.py RIGHE (non vuote): 49 VERSIONE: v1.4 - fire/synapses/backtest/chart_data_worker.py RESPONSABILITA’: Worker per il caricamento dei dati storici per la visualizzazione su grafico. DIPENDENZE: DataManager, WorkerSignals.

FILE: synapses\backtest\plotting_handler.py RIGHE (non vuote): 123 VERSIONE: v1.2 - fire/synapses/backtest/plotting_handler.py RESPONSABILITA’: Incapsula tutta la logica di preparazione e ridisegno dei grafici per il pannello di backtest. DIPENDENZE: AppState, BacktestTabWidget, ChartPlotterFactory.

FILE: synapses\explorer\analysis_engine.py RIGHE (non vuote): 95 VERSIONE: v1.2 - fire/synapses/explorer/analysis_engine.py RESPONSABILITA’: Fornisce una collezione di metodi statici per eseguire analisi statistiche e di stagionalità su dati di mercato. DIPENDENZE: pandas

FILE: synapses\explorer\explorer_tab_widget.py RIGHE (non vuote): 108 VERSIONE: v3.3 - fire/synapses/explorer/explorer_tab_widget.py RESPONSABILITA’: Orchestra l’interfaccia utente, utilizzando lo stato globale e adattando le richieste dati. DIPENDENZE: AppState, ExplorerWorker (via segnali), vari widget di charting.

FILE: synapses\explorer\explorer_worker.py RIGHE (non vuote): 61 VERSIONE: v2.1 - fire/synapses/explorer/explorer_worker.py RESPONSABILITA’: Esegue le analisi statistiche del Market Explorer in un thread separato, orchestrando il recupero dati e delegando i calcoli all’AnalysisEngine. DIPENDENZE: DataManager, AnalysisEngine, WorkerSignals

FILE: synapses\scanner_init_.py RIGHE (non vuote): 5 VERSIONE: v1.0 - fire/synapses/scanner/init.py RESPONSABILITA’: Rende la directory ‘scanner’ un package Python. DIPENDENZE: N/A

FILE: synapses\scanner\mock_backtest_engine.py RIGHE (non vuote): 86 VERSIONE: v1.1 - fire/synapses/scanner/mock_backtest_engine.py RESPONSABILITA’: Fornisce un motore di backtesting simulato e ottimizzato per lo Signal Scanner, progettato per identificare solo il segnale generato sull’ultima barra di dati. DIPENDENZE: BaseStrategy

FILE: synapses\scanner\scanner_tab_widget.py RIGHE (non vuote): 178 VERSIONE: v4.3 - fire/synapses/scanner/scanner_tab_widget.py RESPONSABILITA’: Widget principale dello Scanner, ora aggiorna lo stato globale alla selezione di un ticker. DIPENDENZE: AppState, ScannerWorker, SignalResultsModel.

FILE: synapses\scanner\scanner_worker.py RIGHE (non vuote): 83 VERSIONE: v1.8 - fire/synapses/scanner/scanner_worker.py RESPONSABILITA’: Esegue la scansione di un elenco di ticker in un thread separato, applicando sia segnali standard che strategie custom per identificare opportunità di trading. DIPENDENZE: DataManager, SignalEngine, MockBacktestEngine, load_strategy_from_file

FILE: synapses\scanner\signal_config_dialog.py RIGHE (non vuote): 156 VERSIONE: v2.0 - fire/synapses/scanner/signal_config_dialog.py RESPONSABILITA’: Fornisce una finestra di dialogo per configurare i segnali dello scanner, permettendo all’utente di abilitare/disabilitare i segnali standard e di gestire un elenco di strategie custom. DIPENDENZE: SignalEngine, SignalParamsDialog

FILE: synapses\scanner\signal_engine.py RIGHE (non vuote): 148 VERSIONE: v1.8 - fire/synapses/scanner/signal_engine.py RESPONSABILITA’: Motore di calcolo per l’identificazione di segnali di trading. Usa l’Analytics Core. DIPENDENZE: BaseStrategy, pandas, fire.analytics_core. TODO: N/A. Il refactoring dei segnali built-in è completo.

FILE: synapses\scanner\signal_params_dialog.py RIGHE (non vuote): 69 VERSIONE: v1.0 - fire/synapses/scanner/signal_params_dialog.py RESPONSABILITA’: Fornisce un dialogo generato dinamicamente per modificare i parametri di un singolo segnale dello scanner. DIPENDENZE: N/A

FILE: synapses\scanner\signal_results_model.py RIGHE (non vuote): 66 VERSIONE: v1.0 - fire/synapses/scanner/signal_results_model.py RESPONSABILITA’: Fornisce un modello dati Qt (QAbstractTableModel) per esporre i risultati dello Signal Scanner a una QTableView, gestendo anche la logica di colorazione. DIPENDENZE: N/A

FILE: ui_components_init_.py RIGHE (non vuote): 5 VERSIONE: v1.0 - fire/ui_components/init.py RESPONSABILITA’: Rende la directory ‘ui_components’ un package Python, permettendo l’import strutturato dei suoi sottomoduli. DIPENDENZE: N/A

FILE: ui_components\ai_assistant_tab.py RIGHE (non vuote): 250 VERSIONE: v3.3 - fire/ui_components/ai_assistant_tab.py RESPONSABILITA’: Orchestra l’interfaccia utente per gli strumenti AI, gestendo le tab “AI Assistant (Chat)” e “Quantitative Analysis” e il ciclo di vita dei worker associati. DIPENDENZE: AppState, DataManager, IndexingWorker, QueryWorker, DataAnalysisWorker

FILE: ui_components\ai_chat_widget.py RIGHE (non vuote): 202 VERSIONE: v1.0 - fire/ui_components/ai_chat_widget.py RESPONSABILITA’: Gestisce l’interfaccia utente e la logica per l’assistente AI basato su chat (RAG). DIPENDENZE: AppState, IndexingWorker, QueryWorker.

FILE: ui_components\charts\bar_line_chart_widget.py RIGHE (non vuote): 64 VERSIONE: v1.0 - fire/ui_components/charts/bar_line_chart_widget.py RESPONSABILITA’: Fornisce un widget generico per visualizzare grafici a barre o a linee utilizzando Matplotlib e Seaborn. DIPENDENZE: matplotlib, seaborn, pandas TODO: Investigare perché questo componente è in uso e se può essere sostituito con LightweightChartWidget per standardizzare la tecnologia di charting.

FILE: ui_components\charts\boxplot_widget.py RIGHE (non vuote): 63 VERSIONE: v1.0 - fire/ui_components/charts/boxplot_widget.py RESPONSABILITA’: Fornisce un widget per visualizzare grafici a box plot della distribuzione dei rendimenti utilizzando Matplotlib e Seaborn. DIPENDENZE: matplotlib, seaborn, pandas TODO: Investigare perché questo componente è in uso e se può essere sostituito con una soluzione di charting standard (es. Plotly o LWC).

FILE: ui_components\charts\charting_tabs_widget.py RIGHE (non vuote): 82 VERSIONE: v6.3.0 - fire/ui_components/charts/charting_tabs_widget.py RESPONSABILITA’: Gestisce le visualizzazioni grafiche dei risultati del backtest, unificando i motori di rendering. DIPENDENZE: QStackedWidget, LightweightChartWidget, QCPlotlyChartWidget, AppState

FILE: ui_components\charts\equity_chart_widget.py RIGHE (non vuote): 38 VERSIONE: v3.0 - fire/ui_components/charts/equity_chart_widget.py RESPONSABILITA’: Specializza il LightweightChartWidget per visualizzare una curva di equity, agendo come un wrapper di configurazione. DIPENDENZE: LightweightChartWidget, AppState, LinePlotter

FILE: ui_components\charts\heatmap_widget.py RIGHE (non vuote): 66 VERSIONE: v1.1 - fire/ui_components/charts/heatmap_widget.py RESPONSABILITA’: Widget per visualizzare una heatmap, con logica di pulizia corretta per il ridisegno. DIPENDENZE: pandas, matplotlib, seaborn.

FILE: ui_components\charts\lightweight_chart_widget.py RIGHE (non vuote): 124 VERSIONE: v6.3.0 - fire/ui_components/charts/lightweight_chart_widget.py RESPONSABILITA’: Orchestra il rendering di grafici finanziari interattivi tramite una QWebEngineView, agendo come un motore di charting agnostico rispetto ai dati. DIPENDENZE: QWebEngineView, ThemeManager, BaseChartPlotter, LWCJsApi

FILE: ui_components\charts\lwc_js_api.py RIGHE (non vuote): 176 VERSIONE: v2.3 - fire/ui_components/charts/lwc_js_api.py RESPONSABILITA’: Fornisce un’API Python per generare e inviare comandi JavaScript alla libreria Lightweight Charts in esecuzione in una QWebEngineView. DIPENDENZE: QWebEngineView, pandas, json

FILE: ui_components\charts\lwc_overlay_manager.py RIGHE (non vuote): 232 VERSIONE: v3.0 - fire/ui_components/charts/lwc_overlay_manager.py RESPONSABILITA’: Gestisce la logica di disegno per gli overlay complessi (marker di backtest, bande di forecast) sul grafico, utilizzando LWCJsApi. DIPENDENZE: LWCJsApi, pandas

FILE: ui_components\charts\qc_plotly_chart_widget.py RIGHE (non vuote): 127 VERSIONE: v1.8.0 - fire/ui_components/charts/qc_plotly_chart_widget.py RESPONSABILITA’: Widget Qt generico per visualizzare grafici Plotly interattivi e reattivi via JSON. DIPENDENZE: PySide6.QtWebEngineWidgets, ThemeManager, json.

FILE: ui_components\chrome_manager.py RIGHE (non vuote): 124 VERSIONE: v2.0.0 - fire/ui_components/chrome_manager.py RESPONSABILITA’: Gestisce la creazione e il popolamento della “chrome” della MainWindow (toolbar, menubar). DIPENDENZE: MainWindow, UIManager, ResourceManager, ChartPlotterFactory, PySide6.

FILE: ui_components\forecast_lab_widget.py RIGHE (non vuote): 27 VERSIONE: v1.3.0 - fire/ui_components/forecast_lab_widget.py RESPONSABILITA’: Contenitore principale a schede per tutti gli strumenti del “Forecast Lab”. DIPENDENZE: AppState, DataManager, ForecastManagerTab, ForecastBacktestWidget.

FILE: ui_components\forecast_manager_tab.py RIGHE (non vuote): 152 VERSIONE: v1.7.0 - fire/ui_components/forecast_manager_tab.py RESPONSABILITA’: Fornisce il pannello di controllo per configurare ed eseguire previsioni (forecasting), adattando dinamicamente l’UI al modello selezionato. DIPENDENZE: AppState, WarningWidget, ThemeManager

FILE: ui_components\forecasting\forecast_backtest_widget.py RIGHE (non vuote): 112 VERSIONE: v1.11 - fire/ui_components/forecasting/forecast_backtest_widget.py RESPONSABILITA’: Fornisce l’interfaccia utente per configurare, avviare e monitorare un’operazione di backtest di un modello di forecasting. DIPENDENZE: AppState, DataManager, ThemeManager

FILE: ui_components\forecasting\forecast_results_widget.py RIGHE (non vuote): 251 VERSIONE: v1.7 - fire/ui_components/forecasting/forecast_results_widget.py RESPONSABILITA’: Dashboard che visualizza e esporta report di backtest completi di metadati (frontmatter) e branding in alto a destra. DIPENDENZE: AppState, QCPlotlyChartWidget, pandas, plotly.

FILE: ui_components\log_panel_widget.py RIGHE (non vuote): 92 VERSIONE: v1.4 - fire/ui_components/log_panel_widget.py RESPONSABILITA’: Visualizza i messaggi di log dell’applicazione, permettendo all’utente di filtrare per livello e di copiare o cancellare il contenuto. DIPENDENZE: AppState TODO: Refactoring architetturale: estrarre un GenericLogPanelWidget in quantum-core per rimuovere la dipendenza diretta da AppState e aumentare la riusabilità.

FILE: ui_components\main_window_components.py RIGHE (non vuote): 18 VERSIONE: v1.0 - fire/ui_components/main_window_components.py RESPONSABILITA’: Contiene piccole classi di widget riutilizzabili specifiche per la MainWindow. DIPENDENZE: PySide6.QtWidgets, PySide6.QtCore.

FILE: ui_components\market_insights_widget.py RIGHE (non vuote): 122 VERSIONE: v2.1 - fire/ui_components/market_insights_widget.py RESPONSABILITA’: Fornisce un cruscotto reattivo per analisi quantitative, aggiornandosi automaticamente con lo stato globale. DIPENDENZE: AppState, DataManager, DataAnalysisWorker, PandasTableModel.

FILE: ui_components\models\backtest_stats_model.py RIGHE (non vuote): 81

FILE: ui_components\models\trade_log_model.py RIGHE (non vuote): 62 VERSIONE: v1.2 - fire/ui_components/models/trade_log_model.py RESPONSABILITA’: Modello Qt che espone i dati del log delle operazioni, incluse le ragioni di ingresso/uscita, a una QTableView. DIPENDENZE: pandas, PySide6.QtCore.

FILE: ui_components\models\watchlist_model.py RIGHE (non vuote): 87 VERSIONE: v1.1.0 - fire/ui_components/models/watchlist_model.py RESPONSABILITA’: Modello Qt per i dati di una watchlist, con logica di gestione dati incapsulata. DIPENDENZE: PySide6.

FILE: ui_components\pine_script_converter_dialog.py RIGHE (non vuote): 156 VERSIONE: v1.3 - fire/ui_components/pine_script_converter_dialog.py RESPONSABILITA’: Un dialogo modale per assistere l’utente nella conversione di Pine Script in strategie Python per FIRE. DIPENDENZE: PySide6, WorkerManager, PromptManager, LLMProvider, PineConverterWorker. TODO: Integrare editor con syntax highlighting (es. QScintilla).

FILE: ui_components\settings_dialog.py RIGHE (non vuote): 301 VERSIONE: v8.0 - fire/ui_components/settings_dialog.py RESPONSABILITA’: Dialogo per la configurazione delle impostazioni dell’applicazione. DIPENDENZE: SettingsManager, ThemeManager.

FILE: ui_components\shared\warning_widget.py RIGHE (non vuote): 66 VERSIONE: v2.3 - fire/ui_components/shared/warning_widget.py RESPONSABILITA’: Fornisce un widget standardizzato e riutilizzabile per visualizzare messaggi di avviso con uno stile coerente. DIPENDENZE: ThemeManager

FILE: ui_components\splash\splash_html_generator.py RIGHE (non vuote): 180 VERSIONE: v1.0 (QC) - fire/ui_components/splash/splash_html_generator.py RESPONSABILITA’: Genera il contenuto HTML/JS per una splash screen animata e personalizzabile. DIPENDENZE: typing.

FILE: ui_components\splash\splash_screen.py RIGHE (non vuote): 123 VERSIONE: v1.2 (QC) - fire/ui_components/splash/splash_screen.py RESPONSABILITA’: Un dialogo di splash screen generico e configurabile con animazione di sfondo. DIPENDENZE: PySide6, SplashHtmlGenerator.

FILE: ui_components\strategy_editor\code_editor_widget.py RIGHE (non vuote): 114 VERSIONE: v1.1 - fire/ui_components/strategy_editor/code_editor_widget.py RESPONSABILITA’: Fornisce un widget di editor di codice completo per Python, con numeri di riga e evidenziazione della sintassi. DIPENDENZE: N/A

FILE: ui_components\strategy_editor\strategy_editor_tab.py RIGHE (non vuote): 136 VERSIONE: v1.6.0 - fire/ui_components/strategy_editor/strategy_editor_tab.py RESPONSABILITA’: Un widget a scheda che contiene un editor di codice per strategie Python. DIPENDENZE: CodeEditorWidget, AppState.

FILE: ui_components\theme_editor_dialog.py RIGHE (non vuote): 121 VERSIONE: v1.0 - fire/ui_components/theme_editor_dialog.py RESPONSABILITA’: Fornisce un’interfaccia utente per la personalizzazione dei colori del tema, permettendo all’utente di modificare e salvare le impostazioni cromatiche. DIPENDENZE: SettingsManager, ThemeManager

FILE: ui_components\theme_manager.py RIGHE (non vuote): 104 VERSIONE: v3.4.0 - fire/ui_components/theme_manager.py RESPONSABILITA’: Gestore centralizzato per i colori e stili dell’applicazione. DIPENDENZE: PySide6, SettingsManager.

FILE: ui_components\trade_log_widget.py RIGHE (non vuote): 70 VERSIONE: v1.1 - fire/ui_components/trade_log_widget.py RESPONSABILITA’: Visualizza un DataFrame di operazioni di trading in una tabella, delegando la gestione dei dati a un TradeLogModel. DIPENDENZE: TradeLogModel, pandas

FILE: ui_components\ui_manager.py RIGHE (non vuote): 138 VERSIONE: v2.5 - fire/ui_components/ui_manager.py RESPONSABILITA’: Gestisce la creazione, disposizione e ripristino dei QDockWidget nella MainWindow. DIPENDENZE: PySide6.QtWidgets, ForecastLabWidget.

FILE: ui_components\watchlist\watchlist_file_handler.py RIGHE (non vuote): 75 VERSIONE: v1.0.0 - fire/ui_components/watchlist/watchlist_file_handler.py RESPONSABILITA’: Gestisce le operazioni di I/O (caricamento, salvataggio, parsing) per i file di watchlist. DIPENDENZE: AppState, SettingsManager, PySide6.

FILE: ui_components\watchlist\watchlist_logic_handler.py RIGHE (non vuote): 83 VERSIONE: v1.1.0 - fire/ui_components/watchlist/watchlist_logic_handler.py RESPONSABILITA’: Gestisce la logica di interazione con la watchlist (aggiunta, rimozione, selezione) e la comunicazione con AppState. DIPENDENZE: AppState, WatchlistModel, PySide6.

FILE: ui_components\watchlist_manager_tab.py RIGHE (non vuote): 221 VERSIONE: v2.0.1 - fire/ui_components/watchlist_manager_tab.py RESPONSABILITA’: Widget-orchestratore per la gestione della watchlist. Delega la logica di I/O e di interazione a handler specializzati. DIPENDENZE: AppState, SettingsManager, WatchlistModel, WatchlistFileHandler, WatchlistLogicHandler. TODO: Rimuovere il segnale obsoleto ticker_selected in futuro.

FILE: ui_texts.py RIGHE (non vuote): 33

FILE: utils.py RIGHE (non vuote): 92 VERSIONE: v1.4 - fire/utils.py RESPONSABILITA’: Fornisce una collezione di funzioni helper stateless e riutilizzabili per compiti comuni come la gestione dei percorsi, l’apertura di file e l’estrazione di dati. DIPENDENZE: SettingsManager, PySide6

FILE: utils_init_.py RIGHE (non vuote): 5 VERSIONE: v1.0 - fire/utils/init.py RESPONSABILITA’: Rende la directory ‘utils’ un package Python. DIPENDENZE: N/A

FILE: utils\logging_handler.py RIGHE (non vuote): 36 VERSIONE: v1.2 - fire/utils/logging_handler.py RESPONSABILITA’: Un handler di logging custom che reindirizza i log a segnali Qt. DIPENDENZE: logging, PySide6.QtCore.

FILE: version.py RIGHE (non vuote): 6

FILE: workers\charting\kagi_worker.py RIGHE (non vuote): 110 VERSIONE: v1.0 - fire/workers/charting/kagi_worker.py RESPONSABILITA’: Worker asincrono per calcolare e generare una figura Plotly JSON per un grafico Kagi. DIPENDENZE: pandas, plotly, fire.signals.

FILE: workers\charting\line_break_worker.py RIGHE (non vuote): 106 VERSIONE: v1.0 - fire/workers/charting/line_break_worker.py RESPONSABILITA’: Worker asincrono per calcolare e generare una figura Plotly JSON per un grafico Line Break. DIPENDENZE: pandas, plotly, fire.signals.

FILE: workers\charting\plotly_data_worker.py RIGHE (non vuote): 96 VERSIONE: v2.8.0 - fire/workers/charting/plotly_data_worker.py RESPONSABILITA’: Worker asincrono (QRunnable puro) per generare una figura Plotly JSON per un grafico Renko. DIPENDENZE: fire.signals, pandas, stocktrends, plotly.

FILE: workers\charting\point_and_figure_worker.py RIGHE (non vuote): 122 VERSIONE: v1.2.0 - fire/workers/charting/point_and_figure_worker.py RESPONSABILITA’: Worker asincrono per calcolare e generare una figura Plotly JSON per un grafico Point & Figure. DIPENDENZE: pandas, plotly, fire.signals, fire.ui_components.theme_manager.

FILE: workers\data_analysis_worker.py RIGHE (non vuote): 132 VERSIONE: v1.4 - fire/workers/data_analysis_worker.py RESPONSABILITA’: Esegue analisi quantitative (statistiche, pattern) sui dati di prezzo. DIPENDENZE: pandas, fire.core.data_manager, fire.analytics_core.

FILE: workers\data_export_worker.py RIGHE (non vuote): 52 VERSIONE: v1.2 - fire/workers/data_export_worker.py RESPONSABILITA’: Worker asincrono per scaricare dati storici e salvarli in un file CSV. DIPENDENZE: fire.core.data.data_manager, fire.signals, pandas.

FILE: workers\enrichment\prophet_enrichment_worker.py RIGHE (non vuote): 61 VERSIONE: v1.0.0 - fire/workers/enrichment/prophet_enrichment_worker.py RESPONSABILITA’: Worker specializzato per arricchire un DataFrame con previsioni generate da Prophet. DIPENDENZE: pandas, prophet, WorkerSignals.

FILE: workers\enrichment\timesfm_enrichment_worker.py RIGHE (non vuote): 85 VERSIONE: v1.4 - fire/workers/enrichment/timesfm_enrichment_worker.py RESPONSABILITA’: Worker specializzato per arricchire un DataFrame con previsioni rolling di TimesFM (API v2.5 corretta e validata). DIPENDENZE: pandas, timesfm, WorkerSignals.

FILE: workers\forecast_export_worker.py RIGHE (non vuote): 34 VERSIONE: v1.0 - fire/workers/forecast_export_worker.py RESPONSABILITA’: Worker asincrono per salvare un DataFrame di dati forecast in un file CSV. DIPENDENZE: pandas, QRunnable, WorkerSignals.

FILE: workers\forecasting\forecast_backtest_worker.py RIGHE (non vuote): 199 VERSIONE: v1.6 - fire/workers/forecasting/forecast_backtest_worker.py RESPONSABILITA’: Esegue un backtest per TimesFM, Prophet, e Chronos-2. DIPENDENZE: pandas, timesfm, prophet, chronos-forecasting, scikit-learn, WorkerSignals.

FILE: workers\forecasting\generic_forecast_worker.py RIGHE (non vuote): 218 VERSIONE: v1.7.2 - fire/workers/forecasting/generic_forecast_worker.py RESPONSABILITA’: Esegue previsioni utilizzando TimesFM, Prophet o Chronos-2, con feedback di progresso. DIPENDENZE: pandas, torch, timesfm, prophet, chronos-forecasting.

FILE: workers\forecasting\timesfm_worker.py RIGHE (non vuote): 95 VERSIONE: v1.2.0 - fire/workers/forecasting/timesfm_worker.py RESPONSABILITA’: Worker asincrono per eseguire previsioni di serie storiche utilizzando il modello TimesFM. DIPENDENZE: timesfm, torch, numpy, fire.signals.

FILE: workers\indexing_worker.py RIGHE (non vuote): 78 VERSIONE: v2.0 - fire/workers/indexing_worker.py RESPONSABILITA’: Esegue il processo di indicizzazione dei documenti Markdown in un thread separato: carica, splitta, vettorizza e persiste il contenuto in un database ChromaDB. DIPENDENZE: langchain, Chroma (vector store), HuggingFaceEmbeddings

FILE: workers\initialization_worker.py RIGHE (non vuote): 80 VERSIONE: v2.5.0 - fire/workers/initialization_worker.py RESPONSABILITA’: Esegue controlli di sistema e inizializzazioni reali durante l’avvio, incluso il pre-caricamento dei modelli AI. DIPENDENZE: AppState, DataManager, LLMProvider, analytics_core, TimesFMForecastWorker.

FILE: workers\model_list_worker.py RIGHE (non vuote): 47

FILE: workers\pine_converter_worker.py RIGHE (non vuote): 49 VERSIONE: v1.2-debug - fire/workers/pine_converter_worker.py RESPONSABILITA’: Esegue la conversione da Pine Script a Python tramite AI in un thread separato. DIPENDENZE: PySide6.QtCore, fire.signals, fire.logic.prompt_manager, fire.logic.llm_provider.

FILE: workers\query_worker.py RIGHE (non vuote): 84 VERSIONE: v2.2 - fire/workers/query_worker.py RESPONSABILITA’: Esegue una query RAG (Retrieval-Augmented Generation) in un thread separato, recuperando documenti rilevanti da un vector store Chroma e generando una risposta tramite un LLM. DIPENDENZE: langchain, Chroma (vector store), HuggingFaceEmbeddings

PANORAMICA DEL TECHNICAL DEBT (TODO):

[indicators.py] Implementare il caricamento dinamico degli indicatori invece di un registro manuale. [rsi_indicator.py] Valutare l’uso di una libreria C-based come TA-Lib per performance superiori. [alpha_vantage_connector.py] Implementare una logica più avanzata per gestire il parametro ‘month’ dell’API [signal_connector.py] Suddividere il metodo connect_signals in metodi privati più piccoli per area funzionale (es. _connect_backtest). [backtest_worker.py] Spostare _calculate_volatility_regimes nell’Analytics Core (come indicatore). [signal_engine.py] N/A. Il refactoring dei segnali built-in è completo. [log_panel_widget.py] Refactoring architetturale: estrarre un GenericLogPanelWidget in quantum-core per rimuovere la dipendenza diretta da AppState e aumentare la riusabilità. [pine_script_converter_dialog.py] Integrare editor con syntax highlighting (es. QScintilla). [watchlist_manager_tab.py] Rimuovere il segnale obsoleto ticker_selected in futuro. [bar_line_chart_widget.py] Investigare perché questo componente è in uso e se può essere sostituito con LightweightChartWidget per standardizzare la tecnologia di charting. [boxplot_widget.py] Investigare perché questo componente è in uso e se può essere sostituito con una soluzione di charting standard (es. Plotly o LWC).

ANALISI DELLE DIPENDENZE INVERSE:

[abc] Usato da: - abstract_data_connector.py - base_plotter.py - base_renderer.py

[abc.] Usato da: - base_indicator.py

[AbstractDataConnector] Usato da: - alpaca_connector.py - alpha_vantage_connector.py - binance_connector.py - data_manager.py - local_csv_connector.py

[AbstractDataConnector.] Usato da: - yahoo_finance_connector.py

[alpaca-py] Usato da: - alpaca_connector.py

[AnalysisEngine] Usato da: - explorer_worker.py

[analytics_core] Usato da: - initialization_worker.py

[AppState] Usato da: - ai_assistant_tab.py - ai_chat_widget.py - backtest_orchestrator.py - backtest_tab_widget.py - chart_data_loader.py - charting_tabs_widget.py - equity_chart_widget.py - explorer_tab_widget.py - forecast_backtest_widget.py - forecast_lab_widget.py - forecast_manager_tab.py - forecast_results_widget.py - initialization_worker.py - log_panel_widget.py - main.py - main_window.py - market_insights_widget.py - panel_factory.py - plotting_handler.py - scanner_tab_widget.py - session_loader.py - signal_connector.py - watchlist_file_handler.py - watchlist_logic_handler.py - watchlist_manager_tab.py

[AppState.] Usato da: - strategy_editor_tab.py

[AreaRenderer] Usato da: - area_plotter.py

[BacktestEngine] Usato da: - backtest_worker.py

[BacktestPlottingHandler] Usato da: - backtest_tab_widget.py

[BacktestTabWidget] Usato da: - plotting_handler.py

[BacktestTabWidget.] Usato da: - chart_data_loader.py

[BacktestWorker] Usato da: - backtest_orchestrator.py

[BarRenderer.] Usato da: - bar_plotter.py

[BaseChartPlotter] Usato da: - area_plotter.py - bar_plotter.py - baseline_plotter.py - candlestick_plotter.py - heikin_ashi_plotter.py - lightweight_chart_widget.py - line_plotter.py - plotter_factory.py

[BaseChartRenderer] Usato da: - area_renderer.py - bar_renderer.py - baseline_renderer.py - candlestick_renderer.py - line_renderer.py

[BaseChartRenderer.] Usato da: - base_plotter.py

[BaselineRenderer] Usato da: - baseline_plotter.py

[BaseStrategy] Usato da: - backtest_engine.py - mock_backtest_engine.py - signal_engine.py - strategy_loader.py

[CandlestickRenderer.] Usato da: - candlestick_plotter.py - heikin_ashi_plotter.py

[ChartDataLoader] Usato da: - backtest_tab_widget.py

[ChartPlotterFactory] Usato da: - chrome_manager.py

[ChartPlotterFactory.] Usato da: - plotting_handler.py

[Chroma] Usato da: - indexing_worker.py - query_worker.py

[chronos-forecasting] Usato da: - forecast_backtest_worker.py

[chronos-forecasting.] Usato da: - generic_forecast_worker.py

[CodeEditorWidget] Usato da: - strategy_editor_tab.py

[data_enrichment_registry.] Usato da: - backtest_orchestrator.py

[DataAnalysisWorker] Usato da: - ai_assistant_tab.py - market_insights_widget.py

[DataManager] Usato da: - ai_assistant_tab.py - backtest_orchestrator.py - backtest_tab_widget.py - chart_data_loader.py - chart_data_worker.py - explorer_worker.py - forecast_backtest_widget.py - forecast_lab_widget.py - initialization_worker.py - market_insights_widget.py - panel_factory.py - scanner_worker.py

[ExplorerWorker] Usato da: - explorer_tab_widget.py

[fire.analytics_core.] Usato da: - base_strategy.py - data_analysis_worker.py - signal_engine.py

[fire.analytics_core.base_indicator] Usato da: - indicators.py

[fire.analytics_core.base_indicator.] Usato da: - anomalous_volume_indicator.py - doji_star_indicator.py - engulfing_pattern_indicator.py - hammer_indicator.py - morning_star_indicator.py - new_high_low_indicator.py - rsi_indicator.py

[fire.analytics_core.indicator_implementations.] Usato da: - indicators.py

[fire.config] Usato da: - app_state.py

[fire.core.data.data_manager] Usato da: - data_export_worker.py

[fire.core.data_manager] Usato da: - data_analysis_worker.py

[fire.logic.llm_provider.] Usato da: - pine_converter_worker.py

[fire.logic.prompt_manager] Usato da: - pine_converter_worker.py

[fire.settings_manager.] Usato da: - llm_provider.py

[fire.signals] Usato da: - data_export_worker.py - pine_converter_worker.py - plotly_data_worker.py - point_and_figure_worker.py

[fire.signals.] Usato da: - kagi_worker.py - line_break_worker.py - timesfm_worker.py

[fire.ui_components.theme_manager.] Usato da: - point_and_figure_worker.py

[ForecastBacktestWidget.] Usato da: - forecast_lab_widget.py

[ForecastLabWidget.] Usato da: - ui_manager.py

[ForecastManagerTab] Usato da: - forecast_lab_widget.py

[HuggingFaceEmbeddings] Usato da: - indexing_worker.py - query_worker.py

[importlib] Usato da: - strategy_loader.py

[IndexingWorker] Usato da: - ai_assistant_tab.py - ai_chat_widget.py

[InitializationWorker.] Usato da: - main.py

[inspect] Usato da: - strategy_loader.py

[inspect.] Usato da: - data_manager.py

[json] Usato da: - llm_provider.py - lwc_js_api.py - settings_manager.py

[json.] Usato da: - qc_plotly_chart_widget.py

[langchain] Usato da: - indexing_worker.py - query_worker.py

[langchain_openai] Usato da: - llm_provider.py

[LightweightChartWidget] Usato da: - charting_tabs_widget.py - equity_chart_widget.py

[LinePlotter] Usato da: - equity_chart_widget.py

[LineRenderer.] Usato da: - line_plotter.py

[LLMProvider] Usato da: - initialization_worker.py - panel_factory.py - pine_script_converter_dialog.py

[load_strategy_from_file] Usato da: - scanner_worker.py

[logging] Usato da: - logging_handler.py

[logging.] Usato da: - prompt_manager.py

[LWCJsApi] Usato da: - lightweight_chart_widget.py - lwc_overlay_manager.py

[LWCJsApi.] Usato da: - area_renderer.py - bar_renderer.py - baseline_renderer.py - candlestick_renderer.py - line_renderer.py

[MainWindow] Usato da: - chrome_manager.py - main.py - signal_connector.py

[MainWindow.] Usato da: - panel_factory.py

[matplotlib] Usato da: - bar_line_chart_widget.py - boxplot_widget.py - heatmap_widget.py

[MetricsCalculator.] Usato da: - backtest_worker.py

[MockBacktestEngine] Usato da: - scanner_worker.py

[N/A] Usato da: - init.py - code_editor_widget.py - config.py - data_enrichment_registry.py - signal_params_dialog.py - signal_results_model.py

[numpy] Usato da: - hammer_indicator.py - timesfm_worker.py

[numpy.] Usato da: - metrics_calculator.py

[os] Usato da: - prompt_manager.py

[os.] Usato da: - resource_manager.py - settings_manager.py

[pandas] Usato da: - abstract_data_connector.py - alpaca_connector.py - alpha_vantage_connector.py - analysis_engine.py - anomalous_volume_indicator.py - area_renderer.py - bar_line_chart_widget.py - bar_renderer.py - base_indicator.py - base_plotter.py - base_strategy.py - baseline_renderer.py - binance_connector.py - boxplot_widget.py - candlestick_plotter.py - candlestick_renderer.py - data_analysis_worker.py - doji_star_indicator.py - engulfing_pattern_indicator.py - forecast_backtest_worker.py - forecast_export_worker.py - forecast_results_widget.py - generic_forecast_worker.py - hammer_indicator.py - heatmap_widget.py - heikin_ashi_plotter.py - kagi_worker.py - line_break_worker.py - line_plotter.py - line_renderer.py - local_csv_connector.py - lwc_js_api.py - lwc_overlay_manager.py - metrics_calculator.py - morning_star_indicator.py - new_high_low_indicator.py - plotly_data_worker.py - point_and_figure_worker.py - prophet_enrichment_worker.py - rsi_indicator.py - signal_engine.py - timesfm_enrichment_worker.py - trade_log_model.py - trade_log_widget.py - yahoo_finance_connector.py

[pandas.] Usato da: - area_plotter.py - backtest_engine.py - base_renderer.py - baseline_plotter.py - data_export_worker.py

[PandasTableModel.] Usato da: - market_insights_widget.py

[PanelFactory] Usato da: - main_window.py

[pathlib] Usato da: - resource_manager.py

[PineConverterWorker.] Usato da: - pine_script_converter_dialog.py

[plotly] Usato da: - kagi_worker.py - line_break_worker.py - point_and_figure_worker.py

[plotly.] Usato da: - forecast_results_widget.py - plotly_data_worker.py

[PromptManager] Usato da: - pine_script_converter_dialog.py

[prophet] Usato da: - forecast_backtest_worker.py - generic_forecast_worker.py - prophet_enrichment_worker.py

[PySide6] Usato da: - pine_script_converter_dialog.py - splash_screen.py - theme_manager.py - utils.py

[PySide6.] Usato da: - chrome_manager.py - watchlist_file_handler.py - watchlist_logic_handler.py - watchlist_model.py

[PySide6.QtCore] Usato da: - pine_converter_worker.py - settings_manager.py

[PySide6.QtCore.] Usato da: - app_state.py - logging_handler.py - main_window_components.py - signals.py - trade_log_model.py - worker_manager.py

[PySide6.QtWebEngineWidgets] Usato da: - qc_plotly_chart_widget.py

[PySide6.QtWidgets] Usato da: - main_window_components.py - ui_manager.py

[python-binance] Usato da: - binance_connector.py

[QCPlotlyChartWidget] Usato da: - charting_tabs_widget.py - forecast_results_widget.py

[QRunnable] Usato da: - forecast_export_worker.py

[QStackedWidget] Usato da: - charting_tabs_widget.py

[QueryWorker] Usato da: - ai_assistant_tab.py

[QueryWorker.] Usato da: - ai_chat_widget.py

[QWebEngineView] Usato da: - lightweight_chart_widget.py - lwc_js_api.py

[requests] Usato da: - alpha_vantage_connector.py - yahoo_finance_connector.py

[ResourceManager] Usato da: - chrome_manager.py

[ScannerWorker] Usato da: - scanner_tab_widget.py

[scikit-learn] Usato da: - forecast_backtest_worker.py

[seaborn] Usato da: - bar_line_chart_widget.py - boxplot_widget.py

[seaborn.] Usato da: - heatmap_widget.py

[SessionLoader.] Usato da: - main_window.py

[SettingsManager] Usato da: - app_state.py - data_manager.py - main.py - panel_factory.py - session_loader.py - settings_dialog.py - theme_editor_dialog.py - utils.py - watchlist_file_handler.py - watchlist_manager_tab.py

[SettingsManager.] Usato da: - alpaca_connector.py - alpha_vantage_connector.py - binance_connector.py - local_csv_connector.py - theme_manager.py

[SignalConnector] Usato da: - main_window.py

[SignalEngine] Usato da: - scanner_worker.py - signal_config_dialog.py

[SignalParamsDialog] Usato da: - signal_config_dialog.py

[SignalResultsModel.] Usato da: - scanner_tab_widget.py

[SplashHtmlGenerator.] Usato da: - splash_screen.py

[SplashScreen] Usato da: - main.py

[stocktrends] Usato da: - plotly_data_worker.py

[ThemeManager] Usato da: - forecast_backtest_widget.py - forecast_manager_tab.py - lightweight_chart_widget.py - qc_plotly_chart_widget.py - theme_editor_dialog.py - warning_widget.py

[ThemeManager.] Usato da: - backtest_tab_widget.py - settings_dialog.py

[timesfm] Usato da: - forecast_backtest_worker.py - generic_forecast_worker.py - timesfm_enrichment_worker.py - timesfm_worker.py

[TimesFMForecastWorker.] Usato da: - initialization_worker.py

[torch] Usato da: - generic_forecast_worker.py - timesfm_worker.py

[TradeLogModel] Usato da: - trade_log_widget.py

[typing.] Usato da: - abstract_data_connector.py - splash_html_generator.py

[UIManager] Usato da: - chrome_manager.py - main_window.py

[vari] Usato da: - explorer_tab_widget.py - session_loader.py - signal_connector.py

[WarningWidget] Usato da: - forecast_manager_tab.py

[WatchlistFileHandler] Usato da: - watchlist_manager_tab.py

[WatchlistLogicHandler.] Usato da: - watchlist_manager_tab.py

[WatchlistModel] Usato da: - watchlist_logic_handler.py - watchlist_manager_tab.py

[WorkerManager] Usato da: - backtest_orchestrator.py - pine_script_converter_dialog.py

[WorkerSignals] Usato da: - explorer_worker.py

[WorkerSignals.] Usato da: - chart_data_worker.py - forecast_backtest_worker.py - forecast_export_worker.py - prophet_enrichment_worker.py - timesfm_enrichment_worker.py

NOTA: Grafo Mermaid non incluso. Usa -IncludeMermaid per generarlo.

================================================================================ Fine report