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:

  1. Fattibilità Algoritmica: Siamo in grado di implementare la logica di calcolo di un grafico Kagi da zero, partendo da dati OHLC standard?
  2. 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.html completo 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.