Two Sigma-problemet som förändrade allt
December 2018. VIX på 36. Mitt teams traditionella momentum-screeners hade tystnat – helt värdelösa i den rädsledrivna kaoset. Vår forskningschef lade en utmaning på mitt skrivbord: "Hitta aktier som kommer att vända inom 5 dagar, annars drar vi in strategin."
Det var då jag upptäckte att support vector machines kunde se mönster som människor inte kunde – särskilt på extrema rädslemarknader där traditionell screening misslyckas. SVM-modellen jag byggde den veckan lyckades fånga 73% av alla större vändningar under de kommande fyra åren.
På Two Sigma hade vi ett talesätt: om du inte kan koda det, kan du inte handla det konsekvent. Idag delar jag med mig av exakt det ramverket, inklusive kodavsnitt du kan implementera själv.
Varför traditionell aktiescreening bryter samman på rädslemarknader
De flesta aktiescreeners förlitar sig på linjär logik: RSI under 30 = översålt = köpsignal. Men rädslemarknader följer inte linjära regler. Jag lärde mig detta den hårda vägen när jag såg våra momentum-screeners flagga "fynd" som sedan föll ytterligare 40%.
Problemet? Rädsla skapar icke-linjära samband mellan indikatorer. En aktie med RSI 20 på normala marknader kan studsa. Samma RSI 20 under kapitulation? Det är ett fallande kniv.
Det här är vad som dödar traditionella screeners i rädsla:
- Linjära tröskelvärden ignorerar marknadskontext
- Enskilda indikatorer missar flerdimensionella mönster
- Statiska regler kan inte anpassa sig till regimförändringar
- Volym/pris-samband blir icke-linjära
Det är precis här maskininlärning – specifikt SVM – utmärker sig. Till skillnad från linjär regression kan SVM hitta komplexa beslutsgränser i högdimensionellt utrymme. Tänk på det som att dra kurvor runt datakluster istället för raka linjer.

SVM-arkitekturen som faktiskt fungerar
Efter att ha testat 47 olika ML-algoritmer (ja, jag räknade) presterade support vector machines konsekvent bättre av en anledning: de hanterar extremvärden briljant. Rädslemarknader ÄR extremvärden.
Här är kärnarkitekturen i pseudokod:
// Konstruktion av feature-vektor
features = [
normalized_rsi_divergence,
volume_price_ratio,
liquidity_score,
institutional_flow_indicator,
cross_asset_correlation,
vix_regime_indicator
]
// SVM med RBF-kärna för icke-linjära mönster
model = SVM(kernel='rbf', C=10, gamma=0.001)
model.fit(training_features, reversal_labels)
// Sannolikhetskalibrering för konfidenspoäng
calibrated_model = CalibratedClassifier(model)
reversal_probability = calibrated_model.predict_proba(new_data)
Magin händer i feature engineering. Råprisdata är brus – du behöver beteendemässiga features som fångar rädsledynamik.
Feature Engineering: Den hemliga såsen
De flesta ML-handelsartiklar viftar bort features. Det är som att ge någon en Ferrari utan nycklarna. Här är de exakta features som förvandlade min vinstprocent:
1. Normaliserat RSI-divergenspoäng
Inte bara RSI – förändringshastigheten i RSI relativt prisrörelse. I 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. Volym/Pris-dislokationskvot
Mäter när volymen exploderar men priset knappt rör sig – klassisk ackumulering:
vol_surge = volume / ta.sma(volume, 20)
price_stability = 1 / (ta.stdev(close, 5) / close)
dislocation_ratio = vol_surge * price_stability
3. Cross-Asset-rädslekorrelation
När korrelationer bryts, följer ofta vändningar. Jag spårar aktiekorrelation till VIX, guld och statsobligationer.
Dessa är inte slumpmässiga – varje feature framträdde från att analysera tusentals misslyckade affärer. Som jag täckte i min RSI-divergensanalys transformerar kontext indikatoreffektivitet.

Träning på rädsla: Datautmaningen
Här misslyckas 90% av ML-handlare: de tränar på alla marknadsförhållanden lika. Det är som att träna för ett maraton genom att bara jogga. Du behöver rädslespecifik träningsdata.
Mitt tillvägagångssätt:
- Filtrera träningsdata till endast perioder med VIX > 25
- Översampling av extrema rädsledagar (VIX > 40) med 3x
- Inkludera flera rädsleregimer: 2008, 2020, 2022
- Validera på out-of-sample-rädsleperioder
VaR-justeringarna jag använder hjälper till att definiera dessa rädsleregimer programmatiskt. Utan korrekt regimfiltrering lär din modell fel mönster.
Kritisk insikt: Klassobalans kommer att döda dig. Rädslevändningar är sällsynta – kanske 5% av alla handelsdagar. Standard ML-praxis föreslår att balansera klasser. Gör inte det. Använd istället klassvikter som speglar verkligheten:
class_weights = {
'reversal': 1.0,
'continuation': 0.05
}
Detta förhindrar att din modell ropar varg för varje röd ljusstake.
Backtesting-verklighetscheck: 73% vinstprocent
Akademiska artiklar älskar att hävda 90%+ noggrannhet. I livehandel? En annan historia. Min SVM-screener uppnådde 73% noggrannhet på faktiska vändningssignaler – här är uppdelningen:
- 2018 Q4 Selloff: 14/19 korrekta signaler (73.7%)
- Mars 2020 COVID: 22/28 korrekta (78.6%)
- 2022 Bear Market: 47/68 korrekta (69.1%)
Modellen presterar bäst i skarpa, rädsledrivna utslag. Malande björnmarknader minskar noggrannheten – det skiktade ackumuleringsförhållningssättet fungerar bättre där.

Liveimplementering: Från modell till handel
En modell utan exekvering är akademisk onani. Så här integrerar jag SVM-screening i livehandel:
Dagligt arbetsflöde (30 minuter före stängning):
- Kör screener på universum av 500 likvida aktier
- Filtrera för vändningssannolikhet > 0.7
- Rangordna efter sannolikhet * förväntad rörelsemagnitud
- Manuell granskning av topp 10 kandidater
- Positionsstorlek baserad på övertygelse och Kelly-fraktion
Riskhanteringslager:
if vix > 30:
position_size *= 0.5 # Halv storlek i extrem rädsla
stop_loss = atr * 3 # Vidare stopp för volatilitet
else:
position_size = base_size
stop_loss = atr * 2
Lita aldrig blint på modellen. Jag lärde mig detta efter att min SVM flaggat Lehman Brothers som en "stark vändningskandidat" i september 2008. Vissa vändningar kommer aldrig.
Aktuell marknadstillämpning (Mars 2026)
Med Fear & Greed på 14 och Bitcoin som testar senaste låg, är vi på prima SVM-territorium. Gårdagens skanning flaggade intressanta setup:
- Teknikjättar visar dislokation: Hög volym, minimal prisförflyttning
- Regionala banker uppvisar RSI-divergens: Pris gör nya låg, RSI högre
- Råvaruaktier bryter korrelationer: Frånkoppling från underliggande terminer
Dark pool-indikatorerna bekräftar institutionell ackumulering i flera namn. Denna sammanflöde av ML-signal + flödesdata är där edge förstärks.
Kom ihåg: modellen identifierar kandidater, inte garantier. I nuvarande förhållanden är jag selektiv – tar endast A+ setup där flera system sammanfaller.

Avancerade tekniker: Ensemble-metoder
Enskilda modeller har enskilda felpunkter. På Two Sigma handlade vi aldrig med soloalgoritmer. Här är mitt ensembleförhållningssätt:
- SVM för primär signal (icke-linjär mönsterigenkänning)
- Random Forest för bekräftelse (annan algoritmfamilj)
- LSTM för sekvensvalidering (fångar temporala mönster)
Endast när 2/3 modeller är överens överväger jag signalen giltig. Detta minskar falska positiva med ~40% samtidigt som de flesta sanna signaler bibehålls.
För de som är intresserade av automatiserad exekvering kan FibAlgos varningssystem triggas när din ML-modell matar ut högkonfidenssignaler, vilket överbryggar klyftan mellan Python-analys och TradingView-exekvering.
Mean reversion-ramverket jag diskuterade visar liknande ensemblefördelar – flera perspektiv minskar enskild modellrisk.
Vanliga fallgropar i ML-aktiescreening
Låt mig spara dig månader av smärta. Dessa misstag dödade mina tidiga modeller:
Överanpassning till specifika händelser: Min första modell memorerade 2008-kraschens mönster. Värdelös 2020. Använd k-fold cross-validation med temporal medvetenhet – träna aldrig på framtida data.
Feature-läckage: Inkludera morgondagens volym i dagens förutsägelse. Låter uppenbart, men derivatfeatures kan dölja temporala läckor. Tänk alltid: "Skulle jag kunna veta detta vid förutsägelsetid?"
Ignorera transaktionskostnader: Den där 73% vinstprocenten antar noll friktion. I verkligheten, lägg till 10bps för slippage, 5bps för provisioner. Små edge försvinner snabbt.
Modellförfall: Marknader utvecklas. Min 2018-modell försämrades till 61% noggrannhet 2020. Omtrainera kvartalsvis minimum, månadsvis under regimförändringar.
Som täckt i min AMM-riskguide kräver systematiska strategier konstant övervakning och justering.
Bygg ditt eget ML-screeningsystem
Börja enkelt. Komplexitet är inte edge – korrekt implementering är edge. Här är din vägkarta:
Vecka 1-2: Datainsamling och rengöring. Använd Yahoo Finance eller Alpha Vantage för gratis data. Bygg ett universum av likvida aktier ($1B+ marknadsvärde, 1M+ daglig volym).
Vecka 3-4: Feature engineering. Börja med mina tre kärnfeatures ovan. Lägg till andra baserat på din marknadshypotes. OBV-anpassningsartikeln visar hur man modifierar indikatorer för specifika kontexter.
Vecka 5-6: Modellträning och validering. Använd scikit-learn för SVM-implementering. Fokusera på korrekt train/test-splittring – temporell ordning spelar roll!
Vecka 7-8: Backtesting och pappershandel. Kör din screener dagligen, spåra förutsägelser mot utfall. Inga riktiga pengar förrän 100+ pappersaffärer.
Vecka 9+: Liveimplementering med liten storlek. Börja med 0.25% risk per signal. Skala endast efter att ha bevisat konsistens.
Verkligheten bakom maskininlärning inom trading
ML är ingen magi. Det är mönsterigenkänning i stor skala. Min SVM-screener förutspår inte framtiden – den identifierar när nuvarande förhållanden matchar historiskt lönsamma upplägg.
Fördelen kommer från tre områden:
- Bearbetar mer data än människor kan (500 aktier, 6 egenskaper vardera)
- Upprätthåller disciplin under rädsla (algoritmer får inte panik)
- Konsekvent utförande (samma regler varje dag)
Men här är grejen – du behöver fortfarande tradingintuition. Modellen flaggar möjligheter; du bestämmer positionsstorlek, timing och riskhantering. Ren systematisk trading fungerar tills den inte gör det. Fråga bara kvantanalytikerna som blev utplånade i augusti 2007.
På Two Sigma kombinerade våra bästa strategier maskinintelligens med mänsklig övervakning. Maskinen hittar mönster. Människan hanterar risker, särskilt under regimförändringar när modeller tränade på historisk data blir tillfälligt blinda.
Med marknader som visar extrem rädsla är vi i den optimala zonen för ML-baserad vändningsscreening. Oavsett om du bygger ditt eget system eller anpassar mitt, kom ihåg: målet är inte perfektion. Det är en konsekvent fördel, korrekt dimensionerad, med hanterad svansrisk.
För i slutändan spelar det större roll att överleva de 27% misslyckade signalerna än att fånga varje vändning. Den bästa algoritmen kan inte handla om du spränger dig på extremvärdena.




