Kronos — AI foundation model za sveće, testiran na našim podacima

↑ Nazad
Zaključak: NE-GO. Model nema merljiv signal na našim podacima, a na pola univerzuma uopšte ne proizvodi validan izlaz. Na 644 nasumična slučaja iz naše istorije: pogađanje smera 0/15 ćelija tuče trivijalni baseline, tačnost magnitude 0/15. Na 4h — timeframe-u na kom radi growth_threshold_cycle — model je značajno gori od baselina (−8 do −9.5 pp, p=0.007–0.016). Jedini obećavajući nalaz (1h, IC +0.18 uz kontrolu momentuma) nije se replicirao: na svežem uzorku obrnuo je znak u −0.150. Na BTC-kotiranim parovima do 13.8% predikcija je ≤ −100%, dakle negativne cene. Dopuna 2026-09-09: testiran je i 4× veći Kronos-base (102.3M) nad identičnim slučajevima — pada na istom kriterijumu (0/10 ćelija sa značajno boljim IC-om), a na 1h je čak lošiji. Njegov jedini kandidat (4h/h=1, IC +0.315) ispario je na held-out skupu: IC +0.005, hit 50.0% naspram majority 60.9%. Testirana je i anti-pattern strategija (raditi suprotno od modela): 0/15 ćelija tuče baseline, jer „gori od baselina" nije isto što i „pouzdano pogrešan".

Kronos je otvoreni foundation model za sveće (Tsinghua, MIT licenca, AAAI 2026, arXiv 2508.02739): decoder-only nad diskretizovanim OHLCV tokenima, pretreniran na ~12B K-line zapisa sa 45 berzi. Testiran je Kronos-small (24.7M parametara, kontekst 512) — large (499M) je zatvoren.

Bitno pre svega: rad ne sadrži trading backtest. Prijavljuje RankIC, MAE volatilnosti i generative fidelity — statistiku prognoze. Autori u README-u sami pišu da to nije production trading sistem.

1. Zašto baselini, a ne sirov procenat pogodaka

Sirov hit-rate je bezvredan podatak. Ako je tržište u uzorku raslo u 60% slučajeva, model koji uvek kaže „gore" ima 60% i nula znanja. Zato svaka ćelija ide protiv tri baselina:

MetrikaMeri se protiv
hit%majority — uvek češći smer
MAE„predvidi nulu" — nema promene
IC (Spearman)nule, pa protiv trivijalnog momentum pravila

Treći red je najoštriji: ako je MAE > MAE0, model je gori nego da ne kažeš ništa.

2. Rezultati (USDT parovi)

TFhNhit%majority%razlikapICMAE%MAE0%
1h124148.156.4−8.3 pp0.009+0.0780.780.70
1h324150.651.9−1.2 pp0.699+0.0741.391.23
1h624154.850.2+4.6 pp0.156+0.1071.781.76
1h1224156.055.6+0.4 pp0.897+0.2262.562.47
1h2424155.253.5+1.7 pp0.605+0.1955.533.55
4h120055.555.5+0.0 pp1.000+0.0571.611.23
4h320051.057.0−6.0 pp0.087+0.0422.662.25
4h620047.055.5−8.5 pp0.016+0.0384.113.63
4h1220045.054.5−9.5 pp0.007−0.0356.555.41
4h2420047.056.0−9.0 pp0.010−0.07412.697.75
1d120351.250.2+1.0 pp0.779+0.0458.193.17
1d320352.251.7+0.5 pp0.888+0.00412.556.27
1d620352.751.2+1.5 pp0.674−0.06419.129.38
1d1220351.251.7−0.5 pp0.888−0.05427.5514.03
1d2420352.759.1−6.4 pp0.063+0.01834.7322.02

Nijedna ćelija ne tuče majority. Nijedna ne tuče „predvidi nulu". Na 4h su tri ćelije značajno gore od baselina — a 4h je TF na kom radi naš najveći generator.

3. Nalaz koji je pao na replikaciji

Na 1h/h=12 i h=24 IC je bio +0.226 i +0.195. Kontrolisao sam ga parcijalnom korelacijom na trivijalni momentum (trailing prinos poslednjih 6 sveća) — i preživeo je:

hIC KronosIC trivijalnog pravilaIC uz kontrolu2·SE
6+0.107+0.169+0.0660.130
12+0.226+0.227+0.1760.130
24+0.195+0.131+0.1810.130

Zanimljivo: trivijalno pravilo ima IC −0.227, dakle model ne ekstrapolira momentum nego predviđa povratak na sredinu — a to je ono što se stvarno dešava na tom horizontu.

Ali: to je 1 od 15 testiranih ćelija, na 2.7–2.8 σ, a Bonferroni prag za 15 poređenja je ~2.9 σ. Pokrenuta je potvrda na svežem uzorku — drugi seed, N=250, samo 1h USDT, jedna unapred određena hipoteza (bez problema višestrukog poređenja):

hPrvi uzorak (N=241)Svež uzorak (N=250)2·SE
12+0.176−0.1500.127
24+0.181−0.0250.127

Znak se obrnuo, i to preko praga značajnosti; hit-rate je istovremeno pao sa 56.0% na 47.2%. Udžbenički potpis lažnog nalaza. Da je zaustavljeno na prvom rezultatu, bio bi ugrađen meta-score feature bez ikakvog signala — sa „izmerenom" potvrdom iza sebe.

4. Na BTC-parovima model otkazuje

Prvi pooled rezultat je bio MAE 5.92% naspram 0.51% za „predvidi nulu" — 11× gore, i delovalo je kao čist zaključak „model je katastrofalno neprecizan". U raspodeli su bile predikcije od −123% i −221%, što je nemoguće — negativna cena. Sve na BTC-kotiranim parovima, gde cene reda 0.00000123 razbiju z-score normalizaciju preko konteksta.

Kvotamed. greška h=1med. stvarni potezpredikcije ≤ −100%
BTC1.79%0.30%do 13.8%
USDT0.45%0.36%0%

Na USDT-parovima je izlaz uredan i istog reda veličine kao stvarni potez. Ceo agregat je obarala šačica slomljenih serija. Čitanje samo proseka dalo bi pogrešan zaključak u obe smere: precenilo bi neupotrebljivost na USDT-u, a potpuno prikrilo da na pola univerzuma model ne daje validan izlaz.

5. Brzina — nikad nije bila prepreka

Mereno na našem hardveru (Intel Haswell-EP iz 2014, 48 logičkih jezgara, bez GPU):

KonfiguracijaVremeUbrzanje
small, pred_len=24, sample_count=58.04 s—
sample_count 5 → 12.52 s3.2×
pred_len 24 → 121.28 s6.3×
kontekst 512 → 2561.33 s6.1×
Kronos-mini0.74 s10.9×
mini + pred_len 120.39 s20.8×
threads 24 → 482.57 sništa
int8 kvantizacija3.21 ssporije

Dve negativne stavke su najinformativnije. Threadovi ne pomažu jer je 48 logičkih = 24 fizička + HT i posao je memorijski ograničen. int8 je sporiji od fp32 jer Haswell nema VNNI instrukcije, pa se kvantizacija emulira; na CPU-u sa VNNI (Cascade Lake+) ili AMX (Sapphire Rapids+) dala bi 2–4×. predict_batch postoji ali na CPU ne pomaže.

Realan teret nije 135 simbola nego broj signala koji stvarno opale — izmereno iz signal_events__growth_threshold_cycle: prosek 4.3, p99.3 = 30, maksimum 47 u istoj sveći. Najgori slučaj prema budžetu sveće:

TFsmall/pl24/sc5mini/pl12
4h2.6% budžeta0.1%
1h10%0.5%
15m42%2%
5m126% ✗6%
1m630% ✗31%

Dakle 4h i 1h prolaze sa ogromnom rezervom bez ijedne izmene, a i 1m je izvodljiv sa mini + pred_len=12, bez kupovine hardvera. Prepreka je signal, ne brzina.

6. Metodološke zamke uočene usput

trades.entry_time je close-time, ne open. I dalje: od 7.924 zatvorena gtc trejda samo ~2.264 ulazi tačno na zatvaranju sveće — 71% su live signali opaljeni usred sveće. Ispravan anti-look-ahead rez je open_time <= entry_ms − interval_ms + 1, tačan u oba slučaja.

KronosPredictor.predict() interno usrednjava putanje (np.mean(preds, axis=1)), pa se pojedinačne moraju presresti da bi se dobila disperzija. Presretnute su u z-score prostoru — prvi izlaz je tvrdio prinos od +6171%. Rešeno denormalizacijom istim x_mean/x_std uz samoproveru: prosek presretnutih putanja mora se poklopiti sa zvaničnim izlazom do 1e-4.

7. Jači model (Kronos-base, 102M) — dopuna 2026-09-09

Prvobitno je testiran samo small, uz procenu da 4× veći model verovatno neće preokrenuti ishod. Ta procena je proverena, ne pretpostavljena. large (499M) je zatvoren, pa je base plafon besplatnog.

Dizajn je jači nego u prvom krugu: base prolazi kroz identične slučajeve kao small — isti simbol, isti trenutak, isti kontekst, ista budućnost. Smer se zato poredi McNemar testom (informaciju nose samo slučajevi gde se modeli ne slažu), a IC razlika uparenim bootstrap-om. Cena: 40 s po slučaju naspram 12 s za small.

TFhNhit smallhit basemajorityIC smallIC baserazlika IC (95% CI)
1h18349.4%48.2%63.9%+0.048−0.120−0.169
1h38345.8%42.2%50.6%+0.063−0.137−0.196
1h68349.4%56.6%53.0%+0.059+0.073+0.011
1h128359.0%47.0%54.2%+0.316−0.010−0.322 [−0.617, −0.028]
1h248356.6%50.6%56.6%+0.210+0.067−0.139
4h17754.5%62.3%51.9%+0.129+0.315+0.181
4h37755.8%49.4%50.6%−0.052+0.045+0.095
4h67742.9%54.5%50.6%−0.061+0.074+0.135
4h127745.5%53.2%54.5%+0.031+0.062+0.031
4h247746.8%51.9%55.8%+0.005+0.052+0.046

Kriterijum postavljen pre testa: base prolazi ako ima IC značajno iznad small-a u većini ćelija, ili ako tuče majority baseline na smeru. Ishod: 0/10 na prvom, a McNemar ne nalazi značajnu razliku smera ni u jednoj ćeliji. Jači model pada na kriterijumu.

Na 1h je base čak lošiji: na h=1 pogađa 48.2% naspram majority 63.9% (−15.7 pp, p=0.003). Vredi primetiti i red 1h/h=12: tu je small imao onaj nagoveštaj koji se nije replicirao (+0.316), a base ga uopšte ne vidi (−0.010) — treći nezavisan dokaz da je bio šum.

Na 4h je base u svih 5 ćelija bolji od small-a po IC-u, ali nijedna razlika nije značajna (svi intervali poverenja prelaze nulu).

Jedini kandidat — i njegova smrt na held-out skupu

Ćelija 4h / h=1 je bila jedina vredna pomena: base pogađa 62.3% naspram majority 51.9% (+10.4 pp, p=0.068) uz IC +0.315 (2.7 σ). Isti statistički profil kao nalaz small-a na 1h/h=12 koji je već jednom umro — jedna ćelija od deset, na ~2.7 σ.

Po pravilu granicni-nalaz-replikuj-na-svezem-uzorku pokrenuta je replikacija na held-out skupu (slučajevi 78–197, disjunktni sa otkrivačkima), sa jednom unapred prijavljenom hipotezom — dakle bez problema višestrukog poređenja:

SkupNhitmajoritypICIC/SE
Otkrivački (1–77)7762.3%51.9%0.068+0.3152.7
Held-out (78–197)11050.0%60.9%0.019+0.0050.0

Potpuni slom. IC je pao sa +0.315 na +0.005 — nula. Hit-rate je iz „tuče baseline za 10.4 pp" prešao u „gubi od baselina za 10.9 pp", i to značajno (p=0.019). Nijedan drugi horizont na held-out skupu ne pokazuje ništa (IC od −0.109 do +0.023).

Ovo je drugi put u istom istraživanju da ćelija na ~2.7 σ ispari na held-out podacima — prvi put small na 1h/h=12, sada base na 4h/h=1. Dva različita modela, isti obrazac. Bez replikacije bi oba puta bio ugrađen feature bez signala, sa „izmerenom" potvrdom iza sebe.

8. Anti-pattern: šta ako radimo suprotno od modela?

Pošto je model na 4h bio značajno gori od baselina, logično je pitanje isplati li se kladiti protiv njega. Predikcija je invertovana (pred → −pred) i merena protiv istih baselina.

TFhmodelinverzijamajorityp (inv vs maj)prinos invprinos „uvek long"
1h1256.0%42.7%55.6%0.000 (gore)−0.62%−0.26%
4h1245.0%55.0%54.5%0.887+0.06%−0.20%
4h2447.0%52.5%56.0%0.319+0.94%+0.14%

Rezultat: 0/15 ćelija gde inverzija značajno tuče majority — a nekoliko gde je značajno gora. Isto i na base modelu (0/5). Razlika prinosa prema prostom držanju pozicije ima interval poverenja koji prelazi nulu u svih 15 ćelija, i to pre provizije.

Razlog je važan i lako se previdi: „gori od baselina" nije isto što i „pouzdano pogrešan". Ako tržište ide gore u 55% slučajeva a model pogađa 45%, inverzija daje 55% — tačno izjednačenje sa baselinom, nula prednosti. Model ne greši zbog anti-veštine koja bi se mogla iskoristiti, nego zato što ne hvata asimetriju tržišta. Obrtanje ne stvara informaciju koje nema.

Usputni nalaz, primenljiv izvan ove teme. Na 1d, h=24: majority baseline pogađa smer u 59.1% slučajeva — i gubi novac (−4.44%), dok prosto držanje pozicije zarađuje (+4.44%). Češći smer je dole, ali su potezi gore krupniji. Dakle tačnost smera i profitabilnost su razdvojene na našim podacima: strategija može pogađati smer u 59% slučajeva i biti gubitaška. Za projekat čiji je cilj „koji generator zarađuje", optimizacija hit-rate-a gađa pogrešnu metu.

9. Šta ovo ne isključuje

Testirani su small (24.7M) i base (102.3M), oba zero-shot. large (499M) je zatvoren i ne može se testirati. Nije rađen fine-tuning na našim podacima (repo ima finetune/).

Fine-tuning je zaseban projekat sa sopstvenim rizikom preprilagođavanja — uz istoriju ovog projekta (meta-score v1 AUC ~0.5, offset sweep = šum, qcv2 overfit) najverovatniji ishod je isti zaključak, skuplje. Skaliranje sa 24.7M na 102.3M nije donelo ništa, što je najjači dostupan pokazatelj da problem nije u veličini modela.

Izvor: 81_2026-09-01_kronos_foundation_model.md