
Transclude of poc_kagi_chart-1
Transclude of poc_kagi_generator.py
Contesto
I grafici Kagi sono un potente strumento di analisi tecnica, originario del Giappone, che si concentra sui movimenti di prezzo e ignora il tempo, filtrando il “rumore” di mercato. A differenza dei grafici a candele, la maggior parte delle librerie di charting (incluso mplfinance) non offre un supporto nativo e semplice per la loro creazione.
Per integrare questa funzionalità avanzata in FIRE, era necessario rispondere a due domande fondamentali:
- Fattibilità Algoritmica: Siamo in grado di implementare la logica di calcolo di un grafico Kagi da zero, partendo da dati OHLC standard?
- Visualizzazione Efficace: Una volta calcolati i punti del grafico, possiamo visualizzarli in modo chiaro e interattivo utilizzando una libreria come Plotly?
Decisione
Abbiamo sviluppato uno script di Proof of Concept (poc_kagi_generator.py) che implementa l’intero flusso di lavoro: dal caricamento dei dati alla generazione di un file HTML con il grafico Kagi finale.
Le decisioni chiave implementate nello script sono:
- Integrazione con il Core: Lo script è progettato per essere eseguito in modo autonomo, ma si integra direttamente con i moduli core del progetto FIRE (
DataManager,SettingsManager) per caricare i dati finanziari, dimostrando la fattibilità di un’integrazione reale. - Implementazione dell’Algoritmo Custom: È stata sviluppata da zero la funzione
calculate_kagi, che contiene la logica per tracciare le linee “Yang” (ascendenti) e “Yin” (discendenti) e per gestire le inversioni di trend (“spalle” e “vita”) in base a una soglia di inversione dinamica. - Visualizzazione con Plotly: La libreria Plotly è stata scelta per renderizzare il grafico. È stata utilizzata una tecnica di sovrapposizione di più tracce per ottenere la colorazione specifica delle linee verticali (verdi per i rialzi, rosse per i ribassi).
- Output Standalone: Lo script genera un file
poc_kagi_chart.htmlcompleto e portabile, che può essere aperto in qualsiasi browser per ispezionare il risultato interattivo.
Conseguenze
Positive
- Validazione dell’Algoritmo: Il POC ha dimostrato con successo che la logica per i grafici Kagi può essere implementata internamente, dandoci il pieno controllo sul suo funzionamento e sulla sua personalizzazione, senza dipendere da librerie di terze parti.
- Prototipo Funzionante: Abbiamo ora un prototipo funzionante che può essere direttamente adattato e integrato in un worker di analisi o in un componente UI dell’applicazione FIRE.
- Indipendenza da Librerie Esterne: Non essendo legati a una libreria specifica per questo tipo di grafico, siamo più flessibili e meno esposti a problemi di manutenzione o limitazioni di pacchetti esterni.
- Chiarezza Visiva: Il risultato finale con Plotly è chiaro, interattivo e professionalmente valido, confermando che la scelta tecnologica per la visualizzazione è appropriata.
Negative / Limitazioni
- Sforzo di Manutenzione: Essendo un’implementazione custom, la manutenzione e l’eventuale correzione di bug dell’algoritmo Kagi ricadono interamente sul nostro team.
- Ottimizzazione delle Prestazioni: L’algoritmo attuale, basato su un ciclo
for, è sufficientemente performante per un POC, ma per l’analisi su dataset molto grandi potrebbe essere necessario ottimizzarlo (es. tramite vettorizzazione con NumPy/Pandas). - Hack di Visualizzazione: La tecnica usata per colorare i segmenti in Plotly (sovrapposizione di tracce) è un “hack” funzionale per il POC. Un’implementazione in produzione potrebbe richiedere una soluzione più elegante e performante.