torek, 9. februar 2021

Trading slump

V tem času s(m)o sicer vsi čisto v prijavi davkov, ampak osnovni namen tega bloga ni pomoč pri prijavi davkov, temveč osebni trgovalni dnevnik, ki je v pomoč meni osebno, ter tudi drugim, ki se resno lotevajo aktivnega trgovanja. In v zadnjem tednu januarja se mi je zgodilo nekaj, kar enostavno moram malo popisati. Prvič zato, da sam sebi sestavim skupaj celovito sliko dogodka, in drugič zato, ker gre za nekaj, kar je za vse traderje pravzaprav neizbežno, ima pa lahko uničujoče posledice.

Torej, na kratko, doživel sem največji trading slump v zadnjih dveh letih ali nekaj takega. "Slump" je slengovski izraz za nenaden, hiter padec accounta. Včasih temu rečemo tudi "bust", včasih "drawdown", ampak jaz te tri izraze razumem malo različno. Naj jih razložim, da razumemo, za kaj točno gre.

Slump

Torej, kot rečeno, slump je nenaden, hiter padec v portfelju. Poudariti je potrebno, da je padec odklonski v smislu hitrosti in globine padca. Gre torej za nepričakovan, neobičajen dogodek. Razlogi za ta padec so lahko zelo različni, in zelo pomembno je, da si razčistimo, zakaj se je zgodil. Osnovni razlogi za tak padec so ponavadi:

  • Luknja v strategiji, ki se do zdaj še ni pojavila
  • Težave s platformo (recimo, padec paltforme, napačno izveden order)
  • Neobičajna smola (recimo, večji slippage kot običajno)
  • Naša napaka, ki je posledica malomarnosti (recimo, napačno nastavljen order)
  • Naša napaka, ki je posledica škodljivih čustvenih stanj (recimo, prekomeren pohlep)
O slumpu bom govoril v nadaljevanju tega posta, zato tukaj ne bi predolgo razglabljal vsake od teh točk.

Bust

Sam kot "bust" razumem padec v accountu do te mere, da je account praktično uničen. Bust je v bistvu samo še bolj potenciran slump. Glavna razlika v rezultatu je dejansko samo v tem, da se po slumpu še nekako lahko poberemo, tako finančno kot čustveno, po bustu pa je škoda takšna, da je potrebno popolnoma resetirati vse, od accounta do naše psihe.

Bust je praktično vedno posledica prevelikega tveganja in to ponavadi na daljše obdobje, lahko pa tudi na enem samem "all or nothing" tradu.

Drawdown

Drawdown je padec v accountu, ki je normalen, pričakovan in sistemski. Sistemski v smislu, da je pač neločljiv in neizogiben del strategije, ki jo tradamo. Sistemske drawdowne je sicer težko oceniti, ampak sčasoma, ko strategijo dovolj dolgo tradamo in imamo dovolj njene zgodovine, običajno dobimo občutek, kaj je normalno in kaj ne. In predvsem, sistemski drawdowni niso posledica naših lastnih napak! Vedno, ko ugotovimo, da smo naredili napako (ki se, mimogrede, lahko materializira kot padec ali pa tudi ne), je morebiten padec zaradi te napake vedno slump.

Moj slump

Torej, konej januarja se mi je zgodila serija tradov, ki je moj account pripeljala do tega stanja:


Da gre za slump, je precej očitno že iz samega grafa:

  • Padec je razmeroma globok in že na pogled precej bolj strm od vsej prejšnjih (drawdownov)
  • Padec ni uničujoč do te mere, da bi mi uničil account (bust)
Lahko pa dodam še to, da je bil padec posledica naslednjih razlogov, ki sem jih že prej naštel kot lastnosti slumpa:
  • Moje lastne napake v strategiji (škodljivo čustveno stanje)
  • Moje lastne malomarnosti
  • Neobičajne, vendar večje sistemske smole (slippage)
Konkretno je šlo za sedem tradov in naj navedem enega za drugim, kaj se je dogajalo:

1. Korak

Dejstvo je, da je bil januar precej dober mesec na splošno - delnice so bile "hot" in ob pogledu na Twitter je izgledalo, da vsi podirajo osebne rekorde. Iz nekega razloga pa moj sistem ni dal nekih rezultatov. Imel sem zelo malo dobrih priložnosti in še tiste, ki so bile, se niso materializirale, kot bi si želel.

No, kot mi je že v navadi, sem se potem nekako začel igrati s svojimi statistikami. Iskati edge, oziroma, če sem kaj zgrešil. Po seriji nekih testov sem prišel na idejo, da bi moral nekaj spremeniti v svojem načinu postavljanja orderjev. Ki sem ga, mimogrede, sistematično gradil dve leti. Seveda sem zdaj v pol ure ugotovil, da nekaj počnem narobe, da zaradi tega zamujam priložnosti, in da moram že danes to spremeniti:/

To sem tudi storil in takoj fasal največji loss na enem tradu do zdaj: -4.14R. Poleg tega sem iz istega razloga pokasiral še -1.2R loss na še enem tradu. In potem še en sistemski loss -0.5R. Vse to je pomenilo -5.84R daily loss, kar je tudi največ, odkar uporabljam ta sistem.

2. Korak

Prišel je naslednji dan in nove priložnosti. Takoj sem šel na star način postavljanja orderjev. Potegnilo me je v dva trada, ki pa sta bila oba lossa z neobičajno velikim slippagem, oba krepko preko -2R, skupno pa -4.76R. Torej skupno v dveh dneh skoraj -11R loss, kar je že praktično velikost mojega običajnega sistemskega drawdowna.

Pri teh dveh tradih moram poudariti, da je kljub vsemu šlo za sistemska lossa. Vsake toliko zaradi slippage pokasiram losse preko -2R, ki se jim realno ne morem izogniti. Usoda je pač hotela, da se je to zgodilo na dveh tradih zapored takoj po dnevu, ki me je že tako čustveno spravil na rob.

3. Korak

Prišel je nov dan in nove priložnosti in še dva sistemska lossa, spet oba nadpovprečno velika, skupno -2.61R. Na koncu je to pomenilo -14R v treh dneh.

4. Korak

Ne vem točno zakaj, verjetno zaradi pretirane vznemirjenosti, spregledam trade, ki pa bi bil winner, verjetno ranga +3.5R.

To so pač dejstva. V nadaljevanju pa bi rad, predvsem zase osebno, malo predebatiral, kaj taki dogodki pomenijo za traderja in kaj je najbolj pametno narediti, ko se zgodijo.

1. Ugotoviti razloge

Najbolj pomembno je, da si razjasnimo, zakaj konkretno je do tega prišlo. Kajti, če ne odkrijemo razlogov, in jih odpravimo, potem je samo vprašanje časa, kdaj se bo zadeva ponovila, mogoče v še precej hujši obliki.

Jaz osebno vedno najprej poskušam ločiti svoje napake od sistemskih. Ali je dogodek kljub vsemu pričakovan, glede na to, kaj počnem, ali pa sem nemara sam naredil kakšno večjo napako. No, v tem primeru sem kot lastne napake naštel tisto poseganje v execution na dveh tradih, ter spregledan profitabilen trade. Če bi vse izvedel tip-top, bi bil končni rezultat namesto -14R nekje okoli -5R, kar bi bilo povsem običajen sistemski drawdown. Kar se tiče strategije same, torej ne morem reči, da je ta dogodek razkril kakšno veliko luknjo.

Drugo, še bolj pomembno, pa je, zakaj sem te napake naredil. Kar se tiče spregledanega trada, mi je kristalno jasno, da sem po slumpu začel postajati prestrašen in zafrustriran. Da v bistvu podzavestno nisem želel še v en trade, ki bi lahko še povečal mojo agonijo. Dva nesrečna trada, ki sta posledica mojega nepazljivega poseganja v sicer delujoč sistem, pa sta zelo verjetno posledica tega, da sem leto 2021 štartal s ciljem, da čimprej account pripeljem v new high (gledano v R), najbolje že prvi mesec leta. Kar pa se ni zgodilo, mesec je šel proti koncu, priložnosti so splavale mimo. Torej sem očitno moral najti nek drug način, kako bom "raztural" z nekaj tradi in dosegel svoj cilj.

Posledično, ne le da zdaj ne bom doživel new high, moral bom biti izjemno previden in potrpežljiv, da ne se ne bom spravil v "bust" situacijo, iz katere se praktično ne bo več mogoče pobrati.

2. Prekiniti krvavenje

"Stop the bleeding" je še en slengovski izraz, ki pomeni, da je nemudoma potrebno prekiniti škodljiva dejanja in čustvena stanja, ki iz slumpa lahko pripeljejo do busta. To bi pravzaprav moral biti čisto prvi korak, ampak ravno analiza dogodka je tudi neke vrste prekinitev škodljivega vzorca. Skratka, treba je čimprej prekiniti katastrofalne odločitve in vrniti na staro pot, na sistem, ki deluje.

3. Soočenje z realnostjo

To je korak, ki bi se mu najraje izognil, ker je težko sprejeti realnost, ampak, če se preskoči, smo v nevarnosti, da se vrnemo v tisti neki "I'll make it all back!" attitute, za katerega pa že vemo, kam lahko pripelje.

Torej, moja realnost, naj jo narišem kar na grafu:



Kolikor si želim, da bi recimo že do konca februarja v bolj kot ne ravni črti dosegel new highs (kar sicer ni povsem nemogoče), mi je jasno, da je zgornja slika dejansko optimistično-realna. To pomeni best case scenarij. To pomeni, če naslednjih nekaj mesecev tradam res izjemno disciplinirano, praktično brez napak, in če bo tudi trg vsaj približno sodeloval in ne bom imel kakšne res velike smole, potem lahko optimistično-realno pričakujem, da bi nekje v Q3 ali Q4 prilezel ven iz tega slumpa in morda v bližino new highs. Žalostno, ampak tako pač je.

4. Plan za naprej

Tole zgoraj je krizna situacija. In kriznih situacij se ne rešuje tako, da gremo brezglavo (čustveno) v napad na polno, ampak da naredimo realen, izvedljiv načrt reševanja, kjer dejansko vidimo luč na koncu tunela, četudi oddaljeno. Moj načrt v grobem vključuje te točke:
  1. Zmanjšati rizik, kolikor je smiselno. Zame konkretno to pomeni predvsem izogibati se tradov, ki imajo potencial za kakšno veliko štalo (predvsem nizko-volatilne, poceni delnice). In pa seveda, da ne spreminjam ustaljenega postopka postavljanja orderjev.
  2. Tradati best-edge. To pomeni še enkrat pretehtati vse moje patterne in res ugotoviti, kateri imajo best-edge in kateri ne. Včasih si lahko privoščim, da malo poskušam na tradih, ki nimajo dokazanega dobrega edga, vendar moja trenutna kriza ni tako stanje. Če se želim izkopati iz tega, moram potrpežljivo čakati samo na trade, ki imajo potrjen edge, ker si samo tako najbolj povečam možnosti, da se res izplezam.
  3. Potrpežljivost - to mislim, da je ključna čustvena komponenta. Traderji seveda živimo za to, da account ves čas pomikamo v new highs in delamo progress. Vendar je trenutno moja realnost drugačna. New highs ne bo še kar nekaj časa in dejansko je precej bolj verjetno, da bom naredil še kakšen večji lower low, preden se bo moja krivulja konkretneje obrnila navzgor.
  4. Izogibati se nepotrebnemu tveganju. To je točka, ki jo enostavno moram dodati kljub točki 1. Pri tradanju se stvari neverjetno hitro zalomijo. Ko nam gre, dobimo občutek varnosti, iz katerega lahko postanemo "mlahavi". Delamo stvari, ki imajo potencial za slump ali dump, vendar nas mogoče ne kaznujejo takoj. Ampak, ko pa nas... Želim si, da res pred vsakim tradom razmislim o potencialnih nepotrebnih tveganjih, ki se jim lahko izognim.
Bolj kot razmišljam o vsem skupaj, bolj ugotavljam, da sem lahko tudi na nek način hvaležen za to izkušnjo. Kajti, roko na srce, z rizikom, ki ga trenutno uporabljam, tale slump ni pomenil kakšne resnejše finančne škode. Če bi se mi kaj takega zgodilo mogoče leto dni kasneje, ko bi operiral z mogoče petkrat večjim rizikom, pa bi bila zadeva dejansko lahko katastrofalna. 

Tradanje je izjemno težka stvar, kjer ni prostora za povprečneže. To ni redna služba, kjer smo plačani skoraj ne glede na to, kaj dejansko naredimo tisti mesec. Že za zelo majhne profite moramo biti izjemno "skillful". Edini način, da kot traderji uspemo je, da ves čas tako ali drugače napredujemo. Vsako izkušnjo, pozitivno ali negativno, enostavno moramo vzeti kot "learning experience", popraviti napake, odpraviti pomanjkljivosti in tako pač narediti še en mali korak naprej.

nedelja, 7. februar 2021

Še eToro popravki

S pomočjo eToro traderja, ki se je resno lotil uvoza XMLa iz eToro statementov, sem odkril še kar nekaj bugov v programu. Gre predvsem za trade, narejene s popolnoma enakim time-tagom (isti datum, ura, minuta). Spremembe so tako na makexml, kot makexmlifi.

Glavna sprememba, ki je od zdaj potrebna je, da je vhodni *.csv file treba posortirati po stolpcu "Position ID", torej časovno, tako kot so bile transakcije dejansko izvedene, sicer pride do napak, ki slej ko prej pripeljejo do tega, da je na koncu zaloga negativna (kakšen sell se vrine pred buy).

torek, 2. februar 2021

Popravek za eToro statement

 Odkrila se je še ena napaka na Makexml/ifi za eToro statement. Gre za primer, ko imamo na istem securityju več kot en trade s popolnoma enakim timeom (isti datum, ista minuta). Iz nekega razloga v eToro statementu niso k časovnemu tagu dodane še sekunde. To pomeni, da imata dva povsem regularna trada, recimo buy in sell na neki delnici, povsem enak čas. Program pa je narejen tako, da trade razvrsti po času, zato sem dodal popravek, da v takem primeru program sam enega od tradov premakne naprej za eno sekundo, da enega ne povozi z drugim.

Nove verzije so že na linku Orodja, kjer počasi tudi vodim evidenco popravkov, ker pričakujem, da jih bo še kar nekaj.