# Trading - Note di progetto ## Scopo Sintesi unica per struttura del repo, flussi operativi e punti aperti da rivedere. Questo file unifica le note precedenti (AGENT/REVIEW_NOTES). ## Struttura dei file principali - signals_daily_kNN_prod_v.2.py: generatore giornaliero di segnali kNN (Top-N, Equal Weight/Risk Parity) con fetch prezzi open Euronext, regole di rischio, aggiornamento open_trades, audit log, export Excel e copia opzionale su Dropbox locale. - Trading Pattern Recon w Hurst v.3.1.6.py: ricerca/backtest Hurst+kNN (walk-forward long-only, ranking portafogli, metriche e plot); esporta CSV/XLSX/PNG in Output/ e plot/. - equity_from_log.py: ricostruzione equity da trades_audit_log.csv, fetch rendimenti DB, salvataggio CSV (returns/debug/equity) e PNG (drawdown). - shared_utils.py: utility comuni (loader config JSON, connessione DB via connection.txt, z_norm, libreria pattern, Hurst map). - config/pattern_knn_config.json: parametri per pattern, ranking, signals, DB, equity. - Dati: Input/Universo per Trading System.xlsx, open_trades/*.csv, Output/ file datati, plot/ per grafici (plots/ legacy rimosso). ## Dipendenze e integrazioni esterne - Python: pandas, numpy, sqlalchemy+pyodbc, matplotlib, openpyxl, urllib/ssl. - DB SQL Server via stored procedure opt_RendimentoGiornaliero1_ALL (default) e credenziali in connection.txt. - API prezzi Euronext fin.scorer.app per open/prevClose; rete richiesta. - Path Dropbox hardcoded per copie output. ## Flussi operativi - Signals daily: carica universo, rendimenti DB per tutti gli ISIN, Hurst map 251-252d, segnali kNN (WP=60, HA=10, k=25, theta da Hurst/100), ranking unico Top-N (MAX_OPEN=15), confronto con open_trades, regole SL/TP/Trailing/Time/Weak, fetch prezzi open con cache unica, scrive audit log, open_trades e Excel datati (con copia Dropbox opzionale). - Backtest/ricerca: run storiche Hurst+kNN, walk-forward, selezione portafogli dinamica, metriche (CAGR/vol/DD/Heal/Hurst) e plot; esporta heatmap/equity/composition in Output/ e plot/. - Equity da log: legge audit, scarica rendimenti DB, normalizza, calcola rendimento giornaliero per strategia e salva CSV debug/equity + PNG drawdown. - Price checker: verifica prezzi universo da API Euronext con 3 retry e log in Excel datato. ## Percorsi e artefatti - Input: Input/Universo per Trading System.xlsx, connection.txt, open_trades/*.csv, trades_audit_log.csv cumulativo. - Output: Output/*_signals.xlsx, daily_returns_by_strategy.csv, equity_by_strategy.csv/png, trades_report.xlsx, final_metrics*.xlsx, grafici in plot/ (unica cartella immagini; contenuti da plots/ spostati qui). ## Punti aperti da rivedere - Config duplicata/override tra script e JSON; servono fonte unica e parametri CLI. - Percorsi hardcoded (Dropbox, stored proc, universi) e naming misto Output/output; mancano controlli robusti quando path o file non esistono. - Fetch DB/API sequenziale per ISIN e calcoli kNN/Hurst single-thread; valutare caching e parallelismo. - Error handling/logging minimale: molti print, pochi log strutturati; audit senza dedupe/idempotenza e sync limitata con open_trades. - Sizing risk parity usa solo vol 60d senza correlazioni; cap prima della rinormalizzazione lascia cash non tracciato. - Risk-exit basate su serie con possibili NaN/duplicati; nessun controllo timezone; WeakDays poco gestito. - Pulizia artefatti: uniformare output su Output/ e plot/, evitare nuove cartelle legacy; valutare validazione schema per Excel/CSV. - Test e modularita limitati: script monolitici con duplicazioni (pattern/ranking), nessun pacchetto riusabile e nomi con spazi.