
.\.venv\Scripts\Activate.ps1
python .\scripts\poc\poc_pnf_html_generator.py
Transclude of poc_pnf_chart
Transclude of poc_pnf_html_generator.py
Contesto
Il grafico Point & Figure (P&F) è una delle più antiche tecniche di analisi tecnica, progettata per identificare i livelli di supporto e resistenza e i breakout di prezzo in modo molto chiaro, ignorando completamente il tempo e il volume. La sua logica di costruzione, basata su “box size” (dimensione del movimento di prezzo) e “reversal amount” (numero di box per un’inversione), è complessa e quasi mai supportata nativamente dalle librerie di charting moderne.
Per poter offrire questa tecnica di analisi avanzata in FIRE, era imperativo validare:
- La nostra capacità di tradurre le complesse regole P&F in un algoritmo Python funzionante.
- Un metodo di visualizzazione efficace per rappresentare le colonne alternate di “X” (rialzi) e “O” (ribassi) utilizzando Plotly.
Decisione
È stato sviluppato uno script di Proof of Concept (poc_pnf_html_generator.py) che implementa da zero l’algoritmo per il calcolo P&F e genera una visualizzazione interattiva del grafico.
Le decisioni architetturali chiave dello script sono:
- Algoritmo P&F Custom (
calculate_point_and_figure): È stato creato un algoritmo che processa i dati OHLC e costruisce la struttura dati del grafico P&F (una lista di colonne, ognuna contenente i suoi simboli ‘X’ o ‘O’). L’algoritmo gestisce correttamente la logica di avanzamento, riempimento delle colonne e inversione di trend. - Integrazione con i Moduli Core: Anche questo POC si collega al
DataManagerdi FIRE, dimostrando che l’algoritmo può operare sui dati forniti dall’infrastruttura esistente. - Visualizzazione Basata su
ScatterPlot: Per rappresentare i simboli ‘X’ e ‘O’, si è optato per un grafico a dispersione (go.Scatterconmode='markers'). Ad ogni colonna P&F viene assegnata una coordinata X, e i prezzi determinano le coordinate Y. Vengono utilizzati marker personalizzati (symbol='x-thin'esymbol='circle-open') per una rappresentazione fedele all’originale. - Output HTML Autonomo: Lo script genera un file HTML portabile che permette di analizzare il grafico P&F interattivo in qualsiasi browser, validando l’efficacia della visualizzazione.
Conseguenze
Positive
- Validazione della Logica Complessa: Il POC ha dimostrato con successo che anche un algoritmo non banale come quello del P&F può essere implementato e controllato internamente. Questo sblocca un intero set di funzionalità di analisi tecnica avanzata.
- Rappresentazione Fedele: La scelta di usare
go.Scattercon marker personalizzati si è rivelata vincente, producendo una visualizzazione chiara, interattiva e molto fedele all’aspetto tradizionale dei grafici P&F. - Prototipo Pronto all’Uso: Il codice sviluppato è un prototipo solido che può essere rifinito e integrato direttamente in FIRE, sia per l’analisi backend che per la visualizzazione frontend.
- Controllo dei Parametri: L’implementazione interna ci dà il controllo totale sui parametri chiave (
box_size,reversal_amount), permettendo di offrire un’analisi P&F altamente personalizzabile all’utente finale.
Negative / Limitazioni
- Manutenzione dell’Algoritmo: La correttezza e l’evoluzione dell’algoritmo P&F dipendono interamente dal nostro team. Eventuali varianti o metodi di calcolo alternativi (es. basati su percentuale) richiederanno sviluppo aggiuntivo.
- Performance: L’algoritmo attuale, che itera su ogni riga del DataFrame, è adeguato per l’analisi su periodi di tempo comuni, ma potrebbe diventare un collo di bottiglia se applicato a dati tick-by-tick o a serie storiche estremamente lunghe.
- Complessità di Interpretazione: Sebbene il POC generi il grafico, la logica per identificare e visualizzare automaticamente i pattern P&F (es. “triple top breakout”) non è stata implementata e rappresenterebbe un ulteriore livello di complessità.