Svi projekti

Sentinel - platforma za trading strategije

Platforma za sistematske tradere koji žele prototipirati, backtestati i izvršavati strategije uživo, uz multi-source composite scoring i isti code path od istraživanja do produkcije.

Godina
2025 - present
Stack
PythonFastAPIPostgreSQLTimescaleDBSQLAlchemyVueClaudeAlpaca API
SE
Sentinel - platforma za trading strategije

Problem

Većina retail trading alata prisiljava na izbor. Koristiš backtesting framework: strategija živi u jednom mentalnom modelu, dizajniranom za reprodukciju povijesnih barova. Koristiš platformu za izvršavanje uživo: prepisuješ strategiju u drugom mentalnom modelu, s drugim pretpostavkama o naknadama, drugim tipovima narudžbi, drugim state machineima. Svaki rewrite je prilika da se ponašanje uživo tiho razlikuje od onoga što je backtest obećao.

Platforme koje pokušavaju ujediniti oba (QuantConnect, MetaTrader, veći institucionalni alati) su ili preskupe, ili vezane uz određenog brokera, ili izgrađene oko strogih DSL-ova za strategije koji ne mogu izraziti multi-source agregaciju signala koja stvarnim sistematskim strategijama treba.

Sentinel je izgrađen da ukloni rewrite. Od "ideje" do "validirano protiv četiri godine povijesnih podataka" trebalo bi proći jednu CLI komandu. Od validiranog do trading-a uživo na paper računu trebalo bi proći jedan config flip. A code path između ta dva stanja trebao bi biti isti code path.

Pristup

Sentinel je Python + FastAPI backend s Vue 3 dashboardom, na TimescaleDB. Tri arhitekturne odluke nose platformu.

Jedan execution engine, dva načina rada. Zajednički execution modul modelira naknade, slippage, djelomična izvršavanja, bracket narudžbe (parent + take-profit + stop-loss kao jedan atomski submission) i izlazne razine. I live runner i backtest replay engine pozivaju isti modul. Jedina razlika između načina rada je izvor istine, Alpacin API za live, OHLCV bar data za backtest. Isti model naknada, isto cijepanje lotova, ista exit logika. Bez drifta.

Jedan signal store, dva načina pristupa. Svaki signal, iz svakog izvora, za svaki asset, u svakom trenutku, živi u jednom TimescaleDB hypertableu indeksiranom po (asset, source_id, ts). Backtest ga upituje s ts <= X kako bi se osigurala point-in-time točnost: nema curenja budućih podataka u povijesne odluke. Live ga upituje s latest. Jedan podatkovni model služi oba načina rada; točnost backtesta i odlučivanje uživo dijele isti izvor istine.

Pure-function scoreri, kompozabilni signali. Svaki izvor signala (RSI, MACD, fear-greed, Claudeov kalibrirani sentiment vijesti, itd.) je čista funkcija: za dani kontekst vrati tuple (score u [-100, +100], confidence). Composite je Σ (source_score × weight × confidence/100), normaliziran prema pragovima po assetu. Dodavanje novog izvora je jedna scorer funkcija plus jedan config zapis, i odmah je dostupan i u backtestu i u live načinu rada.

Claude integracija zaslužuje posebnu napomenu. Većina LLM-baziranog rada na sentimentu je klasifikacija ("bullish/bearish/neutral"): grubo, teško za vaganje, teško za debug. Sentinel koristi Claudea za kalibrirano numeričko bodovanje: za dani batch novinskih naslova za asset, vrati strukturirani {sentiment: -100..+100, confidence: 0..100, reasoning: string}. Reasoning string se sprema uz svaki score radi auditability, kad strategija reagira na sentiment vijesti, kasnije možeš pročitati zašto je model dao taj score.

Operativno: GitHub Actions deploy na Hetzner za ~90 sekundi preko idempotentne deploy skripte. Postgres se dnevno backup-a na S3. HetrixTools monitoring sa Slack obavijestima. Tablica source_health prati vrijeme zadnjeg uspjeha i rolling error rate svake vanjske integracije, prikazano u dashboardu tako da se prekid vijesti ili RPC outage vidi odmah.

Rezultat

Sentinel je u aktivnom razvoju i radi uživo u paper-trading modu protiv Alpaca API-ja. Prva strategija validirana kroz walk-forward analizu, Opening Range Breakout strategija, izvršava stvarne bracket narudžbe protiv trenutnih tržišnih podataka. Composite multi-source scoring radi preko četiri crypto i četiri equity tickera, s 8 vaganih izvora po assetu.

Tri strategije su izgrađene i evaluirane do sad: ORB strategija (validirana, live), Mean Reversion (odbijena walk-forwardom i odložena) i Composite-stocks varijanta (validirana samo s MACD-om i odložena dok se ne podesi mix izvora). Odbijeni rezultati ostaju u inženjerskoj evidenciji, negativni rezultati su jednako informativni kao pozitivni za iteraciju strategije.

Walk-forward validacija preko četverogodišnjeg prozora s dvanaest splitova i pune grid pretrage pragova traje otprilike pet minuta. Otprilike 38.000 redova signala generira se svakih 30 dana. Devet vanjskih integracija prati se uživo (FRED, Polygon, Etherscan, Helius RPC, news feedovi, Reddit, Alpaca, Solscan, LunarCrush), s prikazom zdravlja u dashboardu.

Sljedeće: dodatne broker integracije, prošireni assetski razredi i program ranog pristupa za sistematske tradere.

Sljedeći projekt

Offline-first POS za ugostiteljstvo

Pročitaj case study