Problema Two Sigma care a schimbat totul
Decembrie 2018. VIX la 36. Screener-ele tradiționale de momentum ale echipei mele tăcuseră — complet inutile în haosul alimentat de frică. Șeful cercetării a pus o provocare pe biroul meu: "Găsește acțiuni care se vor întoarce în 5 zile, altfel retragem strategia."
Atunci am descoperit că mașinile cu vectori suport puteau vedea tipare pe care oamenii nu le puteau vedea — mai ales în piețele de frică extremă unde screening-ul tradițional eșuează. Modelul SVM pe care l-am construit în acea săptămână a reușit să identifice 73% dintre marile întoarceri în următorii patru ani.
La Two Sigma, aveam o zicală: dacă nu poți să-l codezi, nu poți să tranzacționezi consecvent cu el. Astăzi împărtășesc cadrul exact, inclusiv fragmente de cod pe care le poți implementa singur.
De ce Screening-ul Tradițional de Acțiuni se Defectează în Piețele de Frică
Majoritatea screener-elor de acțiuni se bazează pe logică liniară: RSI sub 30 = suprasupus = semnal de cumpărare. Dar piețele de frică nu urmează reguli liniare. Am învățat asta pe pielea mea, urmărind cum screener-ele noastre de momentum semnalizau "micițe" care au mai scăzut încă 40%.
Problema? Frica creează relații neliniare între indicatori. O acțiune cu RSI 20 în piețe normale ar putea sări în sus. Același RSI 20 în timpul capitulării? Este un cuțit care cade.
Iată ce omoară screener-ele tradiționale în frică:
- Pragurile liniare ignoră contextul pieței
- Indicatorii singuri ratează tipare multidimensionale
- Regulile statice nu se pot adapta la schimbările de regim
- Relațiile volum/preț devin neliniare
Exact aici învață machine learning — în special SVM-urile. Spre deosebire de regresia liniară, SVM-urile pot găsi limite de decizie complexe în spațiu multidimensional. Gândește-te la asta ca la trasarea de curbe în jurul clusterelor de date în loc de linii drepte.

Arhitectura SVM care Funcționează cu Adevărat
După ce am testat 47 de algoritmi ML diferiți (da, i-am numărat), mașinile cu vectori suport au depășit în mod consecvent din un motiv: gestionează excepțiile genial. Piețele de frică SUNT excepții.
Iată arhitectura de bază în pseudo-cod:
// Construcție vector de caracteristici
features = [
normalized_rsi_divergence,
volume_price_ratio,
liquidity_score,
institutional_flow_indicator,
cross_asset_correlation,
vix_regime_indicator
]
// SVM cu kernel RBF pentru tipare neliniare
model = SVM(kernel='rbf', C=10, gamma=0.001)
model.fit(training_features, reversal_labels)
// Calibrare probabilitate pentru scoruri de încredere
calibrated_model = CalibratedClassifier(model)
reversal_probability = calibrated_model.predict_proba(new_data)
Magia se întâmplă în ingineria caracteristicilor. Datele brute de preț sunt zgomot — ai nevoie de caracteristici comportamentale care să surprindă dinamica fricii.
Ingineria Caracteristicilor: Secretul Succesului
Majoritatea articolelor despre tranzacționare ML trec superficial peste caracteristici. Asta e ca și cum ai da cuiva o Ferrari fără chei. Iată caracteristicile exacte care mi-au transformat rata de câștig:
1. Scor Normalizat de Divergență RSI
Nu doar RSI — rata de schimbare a RSI-ului relativ la mișcarea prețului. În Pine Script:
rsi_val = ta.rsi(close, 14)
rsi_roc = ta.roc(rsi_val, 5)
price_roc = ta.roc(close, 5)
divergence_score = rsi_roc / math.abs(price_roc)
2. Raport de Dislocare Volum/Preț
Măsoară când volumul explodează dar prețul abia se mișcă — acumulare clasică:
vol_surge = volume / ta.sma(volume, 20)
price_stability = 1 / (ta.stdev(close, 5) / close)
dislocation_ratio = vol_surge * price_stability
3. Corelația de Frică Cross-Asset
Când corelațiile se rup, întoarcerile urmează adesea. Urmăresc corelația acțiunilor cu VIX, aur și titluri de stat.
Acestea nu sunt aleatorii — fiecare caracteristică a apărut din analiza a mii de tranzacții eșuate. După cum am prezentat în analiza mea despre divergența RSI, contextul transformă eficacitatea indicatorului.

Antrenarea pe Frică: Provocarea Datelor
Aici eșuează 90% dintre traderii ML: se antrenează pe toate condițiile de piață în mod egal. Asta e ca și cum te-ai antrena pentru un maraton doar alergând ușor. Ai nevoie de date de antrenament specifice fricii.
Abordarea mea:
- Filtrează datele de antrenament doar la perioadele cu VIX > 25
- Supra-eșantionează zilele de frică extremă (VIX > 40) de 3 ori
- Include mai multe regimuri de frică: 2008, 2020, 2022
- Validează pe perioade de frică out-of-sample
Ajustările VaR pe care le folosesc ajută la definirea acestor regimuri de frică programatic. Fără o filtrare adecvată a regimului, modelul tău învață tiparele greșite.
Perspectivă critică: Dezechilibrul claselor te va omorî. Întoarcerile în frică sunt rare — poate 5% din toate zilele de tranzacționare. Practicile standard ML sugerează echilibrarea claselor. Nu. În schimb, folosește ponderi de clasă care reflectă realitatea:
class_weights = {
'reversal': 1.0,
'continuation': 0.05
}
Asta împiedică modelul tău să strige "lup" la fiecare lumânare roșie.
Verificarea Realității Backtesting: Rata de Câștig de 73%
Lucrările academice iubesc să pretindă acuratețe de peste 90%. În tranzacționarea live? Altă poveste. Screener-ul meu SVM a obținut 73% acuratețe pe apeluri reale de întoarcere — iată detalierea:
- Scăderea Q4 2018: 14/19 apeluri corecte (73.7%)
- Martie 2020 COVID: 22/28 corecte (78.6%)
- Piața de Urs 2022: 47/68 corecte (69.1%)
Modelul funcționează cel mai bine în scăderi bruște, alimentate de frică. Piețele de urs care se târăsc reduc acuratețea — abordarea de acumulare stratificată funcționează mai bine acolo.

Implementarea Live: De la Model la Tranzacționare
Un model fără execuție este masturbare academică. Iată cum integrez screening-ul SVM în tranzacționarea live:
Flux de lucru zilnic (30 de minute înainte de închidere):
- Rulează screener-ul pe un univers de 500 de acțiuni lichide
- Filtrează pentru probabilitate de întoarcere > 0.7
- Sortează după probabilitate * magnitudinea mișcării așteptate
- Revizuire manuală a primilor 10 candidați
- Dimensiunea poziției bazată pe convingere și fracția Kelly
Stratul de Management al Riscului:
if vix > 30:
position_size *= 0.5 # Jumătate de dimensiune în frică extremă
stop_loss = atr * 3 # Stop-uri mai largi pentru volatilitate
else:
position_size = base_size
stop_loss = atr * 2
Nu aveți încredere oarbă în model. Am învățat asta după ce SVM-ul meu a marcat Lehman Brothers drept "candidat puternic de întoarcere" în septembrie 2008. Unele întoarceri nu vin niciodată.
Aplicație în Piața Curentă (Martie 2026)
Cu Fear & Greed la 14 și Bitcoin testând minimurile recente, suntem în teritoriul ideal pentru SVM. Scanarea de ieri a marcat configurații interesante:
- Giganții tech arătând dislocare: Volum ridicat, mișcare minimă de preț
- Băncile regionale afișând divergență RSI: Prețul face noi minime, RSI mai ridicat
- Acțiuni de materii prime rupe corelații: Decuplare de la futures-urile de bază
Indicatorii dark pool confirmă acumularea instituțională în mai multe nume. Această confluență de semnal ML + date de flux este unde avantajul se compune.
Reține: modelul identifică candidați, nu garanții. În condițiile actuale, sunt selectiv — iau doar configurații A+ unde se aliniază mai multe sisteme.

Tehnici Avansate: Metode Ensemble
Modelele singulare au puncte singulare de eșec. La Two Sigma, nu am tranzacționat niciodată cu algoritmi solo. Iată abordarea mea ensemble:
- SVM pentru semnal primar (recunoaștere tipare neliniare)
- Random Forest pentru confirmare (familie diferită de algoritmi)
- LSTM pentru validare secvențială (captează tipare temporale)
Doar când 2/3 din modele sunt de acord consider semnalul valid. Aceasta reduce falsurile pozitive cu ~40% păstrând majoritatea semnalelor adevărate.
Pentru cei interesați de execuție automată, sistemul de alertă FibAlgo poate declanșa când modelul tău ML emite semnale de mare convingere, punând punte între analiza Python și execuția TradingView.
Cadrul de mean reversion pe care l-am discutat arată beneficii ensemble similare — perspective multiple reduc riscul modelului singular.
Capcane Comune în Screening-ul ML de Acțiuni
Permiteți-mi să vă economisesc luni de durere. Aceste greșeli mi-au omorât modelele timpurii:
Overfitting la evenimente specifice: Primul meu model a memorat tiparele din 2008. Inutil în 2020. Folosește cross-validation k-fold cu conștientizare temporală — nu te antrena niciodată pe date viitoare.
Scurgere de caracteristici: Includerea volumului de mâine în predicția de azi. Sună evident, dar caracteristicile derivate pot ascunde scurgeri temporale. Gândește mereu: "Aș putea ști asta la momentul predicției?"
Ignorarea costurilor de tranzacționare: Acea rată de câștig de 73% presupune zero frecare. În realitate, adaugă 10bps pentru slippage, 5bps pentru comisioane. Mici avantaje dispar rapid.
Degradarea modelului: Piețele evoluează. Modelul meu din 2018 s-a degradat la 61% acuratețe până în 2020. Reantrenează trimestrial minim, lunar în timpul schimbărilor de regim.
După cum am prezentat în ghidul meu de risc AMM, strategiile sistematice necesită monitorizare și ajustare constantă.
Construirea Propriului Sistem de Screening ML
Începe simplu. Complexitatea nu este avantaj — implementarea corectă este avantaj. Iată planul tău:
Săptămâna 1-2: Colectare și curățare date. Folosește Yahoo Finance sau Alpha Vantage pentru date gratuite. Construiește un univers de acțiuni lichide (capitalizare piață $1B+, volum zilnic 1M+).
Săptămâna 3-4: Inginerie caracteristici. Începe cu cele trei caracteristici de bază de mai sus. Adaugă altele bazate pe ipoteza ta de piață. Articolul adaptărilor OBV arată cum să modifici indicatori pentru contexte specifice.
Săptămâna 5-6: Antrenare și validare model. Folosește scikit-learn pentru implementarea SVM. Concentrează-te pe împărțirea corectă train/test — ordinea temporală contează!
Săptămâna 7-8: Backtesting și paper trading. Rulează screener-ul zilnic, urmărește predicții vs rezultate. Fără bani reali până la 100+ tranzacții pe hârtie.
Săptămâna 9+: Implementare live cu dimensiune mică. Începe cu 0.25% risc per semnal. Scalează doar după ce dovedești consecvența.
Realitatea Tradingului cu Machine Learning
ML nu este magie. Este recunoașterea de tipare la scară largă. Screenerul meu SVM nu prezice viitorul — el identifică momentele în care condițiile curente se potrivesc cu configurațiile istorice profitabile.
Avantajul vine din trei surse:
- Prelucrarea mai multor date decât pot oamenii (500 de acțiuni, câte 6 caracteristici fiecare)
- Menținerea disciplinei în timpul fricii (algoritmii nu intră în panică)
- Execuția consecventă (aceleași reguli în fiecare zi)
Dar iată chestia — tot ai nevoie de intuiție pentru trading. Modelul semnalează oportunități; tu decizi dimensiunea poziției, sincronizarea și managementul riscului. Tradingul pur sistematic funcționează până când nu mai funcționează. Întrebați-i pe quants care au fost distruși în august 2007.
La Two Sigma, cele mai bune strategii ale noastre au combinat inteligența mașinii cu supravegherea umană. Mașina găsește tipare. Omul gestionează riscul, în special în timpul schimbărilor de regim, când modelele antrenate pe date istorice devin temporar oarbe.
Cu piețele care arată citiri de frică extremă, suntem în punctul ideal pentru screeningul de inversare bazat pe ML. Fie că îți construiești propriul sistem sau adaptezi al meu, amintește-ți: scopul nu este perfecțiunea. Este un avantaj consecvent, dimensionat corespunzător, cu riscul de coadă gestionat.
Pentru că, până la urmă, supraviețuirea celor 27% din semnalele eșuate contează mai mult decât captarea fiecărei inversări. Cel mai bun algoritm nu poate tranzacționa dacă te distrugi pe valorile aberante.




