Passa al contenuto principale

Flusso di lavoro

Questa pagina definisce il modello operativo completo delle fasi di lavorazione. Attualmente sono attive 7 fasi.

Schema a blocchi (pipeline)

[Fase 1] --> [Fase 2] --> [Fase 3] --> [Fase 4] --> [Fase 5] --> [Fase 6] --> [Fase 7]
| | | | | | |
v v v v v v v
universe daily_scores scores_daily AST_RANKING Redis snap. ENTRY_SIGNAL ORDINE
market_daily _DAILY livelli oper. su hooks ch. su broker

Catalogo fasi

FaseStatoScopoPunto di partenza (input)Deliverable (output)Microservizi principali
1AttivaCostruire l'universo strumentiAPI FMP + cataloghi simboliuniversetickerscanner
2AttivaCalcolare indicatori e score di sistemauniverse + market_dailydaily_scorestickerscanner, cachemanager
3AttivaPersonalizzare score per utente/pipedaily_scores + config utentescores_dailytickerscanner
4AttivaRanking globale per bucketdaily_scoresAST_RANKING_DAILYtickerscanner
5AttivaAnalisi tecnica e segnali di ingressoAST_RANKING_DAILY + candlestickSnapshot Redis (livelli operativi per ticker)decision-engine, cachemanager
6AttivaMonitoraggio live e segnali di ingresso in tempo realeSnapshot Redis (Fase 5) + tick live market-data-service + score liquidity-managerENTRY_SIGNAL su canale Redis {ENV}.hooksdecision-engine, cachemanager, liquidity-manager
7AttivaGuardrail multi-livello e invio ordine a brokerENTRY_SIGNAL (Fase 6) + guardrail macro/eventi + verifica account IBKR + capital managerOrdine bracket su brokerExecutor-ibkr (PAPER only)decision-engine, brokerExecutor-ibkr, ibkr-bridge, capital-manager

Matrice coinvolgimento microservizi

Questa matrice serve a chiarire che in futuro una fase puo coinvolgere piu microservizi e che lo stesso microservizio puo ricomparire in fasi non consecutive.

MicroservizioF1F2F3F4F5F6F7
tickerscannerXXXXsrc
cachemanagerXXX
decision-engineXXX
market-data-serviceX
liquidity-managerXX
brokerExecutor-ibkrX
ibkr-bridgeX
capital-managerX?
schedulerXXXXXXX
servicecontrolplaneX?X?X?
alertingserviceX?XX

Legenda: X = microservizio attivo nella fase, src = fonte dati (non elaborazione), X? = probabile, da confermare.

Contract standard di documentazione per ogni fase

Ogni pagina fase deve avere sempre le stesse sezioni:

  1. Scopo
  2. Punto di partenza (input dati e prerequisiti)
  3. Elaborazione
  4. Deliverable (output dati/eventi/API)
  5. Parametri di pilotaggio
  6. Microservizi coinvolti
  7. Avvio manuale e monitoraggio
  8. Errori comuni e recovery

Questo rende leggibile la pipeline anche quando le fasi aumentano.

Parametri di pilotaggio (modello unico)

Per ogni fase, i parametri vanno classificati in modo consistente:

CategoriaEsempi
Selezione perimetrosymbols, bucket, userId, pipeId
Temposcore_date, targetDate, startDate, endDate
Modalitamode=normal/force, dryRun, incremental
Limitilimit, topN, soglie min/max
Resilienzaretry, timeout, asyncTimeoutMs

Dettaglio fasi attive

Avvio manuale (fasi attuali)

FaseEndpointTipo risposta
Fase 1 (nuovi ticker)POST /tickerscanner/universe/scanAsincrona (jobId)
Fase 1 (forza tutto)POST /tickerscanner/universe/scan/forceAsincrona (jobId)
Fase 2 (prezzi EOD)POST /tickerscanner/fundamentals/update-market-dailyAsincrona (jobId)
Fase 3POST /tickerscanner/fundamentals/user-daily-scoresAsincrona (jobId)
Fase 4POST /tickerscanner/fundamentals/ranking/dailySincrona
Fase 5POST /decision-engine/spot-finder/0?date=YYYY-MM-DD&cache=trueAsincrona (jobId)
Fase 6 (avvio live)GET /decision-engine/spot-finder/live/0Asincrona (jobId)
Fase 6 (stop live)DELETE /decision-engine/spot-finder/live/0Sincrona
Fase 6 (stato live)GET /decision-engine/spot-finder/live/0/statusSincrona
Fase 7 (config guardrail)GET /decision-engine/guards/configSincrona
Fase 7 (modifica guardrail)PATCH /decision-engine/guards/configSincrona