39 lines
3.5 KiB
Markdown
39 lines
3.5 KiB
Markdown
# 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.
|