Sari la conținut

Criodi

Moderators
  • Număr mesaje

    509
  • Înregistrat

  • Ultima Vizită

  • Zile Câștigate

    119

Postări postat de Criodi

  1. Uite un exemplu simplu. Prima serie are trend. A doua nu are.

     

    post-3657-0-67244700-1376837734_thumb.png

     

    Cea mai simpla metoda de a determina un trend e faci un linear regression simplu. Daca linia merge in sus, ai trend pozitiv. Daca linia merge in jos, ai trend negativ. Daca linia este perfect orizontala, nu ai trend. Poti sa faci detrending unei serii de date masurand diferenta intre valorile observate si linia dreapta. Asta am facut de exemplu in poza de mai sus. A doua serie este prima serie minus trend.

     

    Un alt mod de a te uita la trend e sa masori schimbarea procentuala de la o observatie la alta. Uite cum arata un grafic al unor astfel de schimbari:

     

    post-3657-0-77347600-1376838060_thumb.png

     

    Daca media unor astfel de observatii este zero atunci nu ai niciun fel de trend. Daca media este usor pozitiva sau negativa atunci ai trend intr-o directie sau alta. Histograma de mai sus pare a avea medie zero dar defapt are un mic trend pozitiv. Smecheria insa e ca si datele random care defapt nu au trend pot arata trend pe o perioada sau alta. Histograma de mai sus e defapt random, iar media reala este zero. In sensul asta insa poti stabili intervale de incredere si stabili mai apoi daca exista sau nu trend in functie de unde se afla media calculata de tine in raport cu intervalul de incredere. Poti face un t-test similar celui din primele postari. Pentru alte cateva idei vezi http://en.wikipedia.org/wiki/Trend_estimation

     

    In practica ideea de trend apare atunci cand iti evaluezi strategia. Am discutat in primele postari despre chestiile astea. Ideea e ca pe niste serii de date cu trend o strategie random cu bias in directia trendului nu va face zero ci ceva pozitiv. Ca sa normalizezi calculele trebuie sa faci detrending pe date atunci cand iti masori performanta. Ma rog, vezi primele postari pentru asta, sau cartea catre care am dat link.

    • Upvote 1
  2. RAPORT TRIMESTRIAL

     

    Cu chiu cu vai, iata ca am reusit totusi sa adunam trei luni de trading. Performanta si nivelul de implicare au fost cam slabute ce-i drept, dar eu unul cred ca e ok. Ma mir ca dupa 3 luni inca mai exista traderi cat de cat activi. In plus, numai cativa dintre traderi au atins nivelul maxim de drawdown, iar fondul per total nu a scazut mai mult de 10%

     

    PERFORMANTA FOND (19.05 -> 19.08)

     

    post-3657-0-62258200-1376754495_thumb.png

     

    Performanta a fost calculata dupa formula http://en.wikipedia.org/wiki/True_time-weighted_rate_of_return si ia in calcul toate depozitele si withdrawals-urile facute inca din prima zi. Graficul include performanta tuturor celor implicati in fondul ALPHA, a lui dirzuandreiovidiu pana la data de 2 august cand a fost scos din ALPHA si mutat in BETA, a lui Livium pana la data de 2 august cand a incalcat regulile de drawdown, si a lui slg pana la data de 14 august cand si el a incalcat regulamentul cazand sub 30% drawdown. Conturile lor nu mai sunt luate in calcul dupa datele mentionate. Conturile lor vor fi mutate totodata in fondul BETA.

     

    Spre deosebire de celelalte grafice care le-am mai postat pana acum, acesta este scris intr-un program nou si imbunatatit. Graficul curent include tot ce trebuie si reflecta performanta reala a fondului (de n-oi fi facut greseli in cod, dar nu cred :D)

     

    REGULAMENT NOU

     

    Cum experimentul democratic a esuat lamentabil datorita nivelului de apatie, ideile cu traderi seniori, voturi, etc dispar. Toata lumea are pur si simplu functia de trader iar deciziile in ceea ce priveste regulamentul le voi lua eu sau Stefan in functie de ce se posteaza pe forum. 

     

    Simplific totodata si regulamentul pentru risk. Regulile sunt urmatoarele:

     

    1. Drawdown maxim permis sub valoarea initiala a contului 30%

    2. Risk maxim per trade 4% atat timp cat contul este pe plus

    3. Risk maxim per trade 2% atat timp cat contul este pe minus

     

    Daca duceti deci contul la 200% si apoi scadeti la 50% nu veti fi suspendati. Drawdown-ul va fi calculat numai la valoarea contului initiala. Ideea e sa puteti risca mai mult pe banii pietei (adica cand contul e pe plus), dar sa o luati mai usor cand jucati pe banii vostri (cand contul e pe minus). Risk-ul maxim per trade este stabilit tot in aceasta idee. Puteti risca mai mult cand aveti de unde. Odata la ceva timp putem recalcula valoarea initiala a contului astfel incat daca ati dublat/triplat contul si valoarea la care calculam drawdown-ul sa fie mai mare.

     

    Dispare totodata si ideea de suspendare propriu-zisa. Cine incalca regulamentul va fi pur si simplu mutat in fondul BETA unde nu exista niciun fel de reguli. Performanta fiecarui trader  va fi insa luata in calcul asa cum am facut si cu acei traderi de mai sus mutati in fondul BETA. Voi modifica si prima pagina a topicului cu noile reguli.

    • Upvote 1
  3. Contul respectiv cel mai probabil este fake. Nu are track record verified deci nu merita bagat in seama. E foarte usor de creat un astfel de statement fictiv daca nu ii faci track record verified. Oricum, nu vad de unde atractia astra catre rezultatele altora. Ce daca a facut unul un milion dintr-o mie? Chiar sa fi fost vorba de talent si nu de noroc acolo? Iar daca a fost vorba de noroc, cu ce ma ajuta pe mine sa stiu ca unul a castigat la loterie? 

     

    Uite unul care a luat 1000 de dolari si i-a dus la un million. A fost idiot, n-a scos nimic, a continuat sa joace si i-a pierdut pe toti. https://cabinet.instaforex.com/client/it/news/company_news/4/2964 Daca apuca de ii scotea la un milion si dupaia punea vreo monitorizare pe myfxbook erati vreunul impresionati? Omul a jucat la loterie. A castigat un pic la inceput, s-a lacomit si apoi a dat-o in bara.

     

    Apropo, cand cautam link-ul catre povestea cu milionarul temporar am dat si peste pagina asta wikipedia http://en.wikipedia.org/wiki/Foreign_exchange_fraud Nu stiam ca sunt pe wiki astfel de articole. Explica foarte bine de ce e greu de castigat in forex - nu imposibil, evident, dar foarte foarte greu.

  4. Una la mana, formula care o folosesti tu e gresita. Nu se calculeaza average price ci average change. A doua la mana, iti lipseste un pret. Ai nevoie si de pretul de la ora 12:00 pentru a calcula cat sa schimbat pretul la ora 13:00 (close(13:00) - close(12:00)). A treia la mana, rsi-ul asa cum il calculezi tu nu va fi acelasi cu cel din platforma pentru ca acela este "smoothed". Hai sa le luam pe rand.

     

    Formula pentru RSI este:
     

    \(\text{RSI} = 100 - \frac{100}{1+\text{RS}}\)

     

    unde

     

    \(\text{RS} = \left(\frac{\text{AV_GAIN}}{|\text{AV_LOSS}|}\right)\)

     

    Calculezi deci pentru fiecare bara cat s-a schimbat pretul. La ora 12:00 pretul era in jur de 1.3296. Avem astfel datele:

    Time        Close      GAIN      LOSS
    12:00       1.32963    Na        Na
    13:00       1.32329    0         -0.00634
    14:00       1.32253    0         -0.00076
    15:00       1.32504    0.00251   0
    16:00       1.32622    0.00118   0
    17:00       1.32603    0         -0.00019
    

    AV_GAIN = (0.00251 + 0.00118) / 5 = 0.000738

    AV_LOSS = (-0.00634 - 0.00076 - 0.00019) / 5 = -0.001458

     

    Atentie ca in formula se foloseste |AV_LOSS| adica valoarea fara minus, adica 0.001458. Deci

     

    \(\text{RS} = 0.00738/0.001458 = 0.506173\)

     

    iar 

     

    \(\text{RSI} = 33.605\)

     

    De ce 33.605 si nu 48 cum arata platforma? Pentru ca in platforma valoarea lui RSI pe fiecare bara nu se calculeaza ca in platforma de mai sus decat pentru prima valoare. Toate valorile RSI folosesc apoi valoarea anterioara a lui average loss si average gain. Asta e "smoothing-ul" de care vorbeam mai sus. Adica

     

    AV_GAIN = [(AV_GAIN_ANTERIOR) x 4 + AV_GAIN_CURENT] / 5

    AV_LOSS = [(AV_LOSS_ANTERIOR) x 4 + AV_LOSS_CURENT] / 5

     

    Initial efectul este slabut, insa dupa cateva mii ori zeci de mii de bare efectul se aduna si rezultatele smoothed sunt destul de diferite de rezultatele calculate in mod simplu. Daca ai modifica RSI-ul astfel incat prima valoare care o calculeaza pe grafic sa fie tocmai aia de la ora 17:00 vei vedea ca valoarea lui RSI va fi intradevar 33 si nu 48. Poti sa citesti si http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi Explica bine atat RSI-ul cat si multe alte indicatoare tehnice.

    • Upvote 1
  5. Acel \(n\) reprezinta numarul de tranzactii necesare pentru a putea stabili un interval de incredere de 95% de lungime \(\Delta\). Daca strategia noastra are acest numar de tranzactii facut si se incadreaza in acel interval, singura concluzie care o putem trage e ca e putin probabil ca rezultatele obtinute sa fi fost obtinute la noroc. 

     

    Formal vorbind, cand tragem o astfel de concluzie la un interval de 95%, ceea ce spunem defapt e ca daca strategia noastra ar fi fost una random, am fi obtinut rezultatele care le-am obtinut in mai putin de 5% din cazuri. Poti sa calculezi daca vrei la 99% si atunci schimbi 5% cu 1%. Un astfel de calcul nu garnateaza insa 100% ca rezultatele nu au fost obtinute la noroc (nu exista 100%. daca am avea certitudini n-ar mai fi nevoie de statistica) si nici nu garanteaza ca strategia va merge pe real. Tot ce iti spune e ca e putin probabil ca rezultatele obtinute pana acum sa fi fost pur si simplu la noroc.

     

    Nu e acel raspuns de DA sau NU care l-ar place sa auda unii dar cu siguranta e mai bun decat un raspuns calculat ochiometric sau pe baza de feeling, tarot, planete, horoscop etc. Raspunsul este cel putin obiectiv si aplicabil oricarei strategii fara niciun fel de prejudiciu.

     

    PS: Am obtinut acel 138 pentru ca am folosit niste cifre nerealiste - scopul era sa demonstrez formula. In practica standard deviation-ul poate fi si de vreo 6-12 ori mai mare decat expected returns. La un astfel de raport numarul necesar de tranzactii ar fi intre 500 si 1500. Apoi daca schimbam 1.96 pe o cifra mai mare, gen 2.575, cifra pentru un interval de incredere de 99%, cifra creste.

  6. Numarul de tranzactii necesare depinde de standard deviation-ul strategiei noastre, de intervalul de incredere care ne intereseaza, si de canalul de variabilitate pentru care vrem sa stabilim acest interval de incredere. Pentru \(n\), numar de tranzactii necesare avem formula:

     

    \[n = \left(\frac{2 \cdot s \cdot \alpha}{\Delta}\right)^{2}\]

     

    unde \(s\) este sample standard deviation masurat (pe tranzactiile facute deja), \(\alpha\) descrie intervalul de incredere (pentru 95%, \(\alpha = 1.96\)), iar \(\Delta\) reprezinta marimea acelui canal de variabilitate de care vorbeam.

     

    Daca de exemplu am o strategie care scoate 1% per trade, si ma interesaza sa stabilesc daca rezultatele sunt intradevar relevante (adica diferite simnificativ de 0), as putea stabili un canal de \(1\% \pm 0.5\%\) sau altfel spus \([0.5\%,1.5\%]\). In acest caz \(\Delta = 1.5\% - 0.5\% = 1\%\). Daca am calculat \(s=3\%\) atunci numarul de tranzactii necesare este 

     

    \[n = \left(\frac{2 \cdot s \cdot \alpha}{\Delta}\right)^{2} = \left(\frac{2 \cdot 0.03 \cdot 1.96}{0.01} \right)^{2} \approx 138 \]

     

    Ne trebuie deci 138 de tranzactii pentru a verifica strategia (formal vorbind, nu facem decat sa stabilim acest interval de incredere)

     

    In cazul unei strategii pe termen lung, numarul de tranzactii deja facute e probabil sa fie foarte mic si atunci nu voi putea masura un sample standard deviation relevant. In acest caz pot extrapola acel \(s\) din formula pentru sharpe ratio. Sa zicem ca am o strategie care ma astept sa scoata 5% pe luna. Daca imi stabilesc (\\Delta = 8\%\), adica lungimea canalului \([1\%,9\%]\) si ma intereseaza un sharpe ratio anual, \(S=3\) atunci standard deviation-ul lunar extrapolat din sharpe va fi egal cu 5.54%.

     

    Numarul se obtine in felul urmator:

     

    \[s = \frac{E(r_{lunar})}{s_{lunar}/\sqrt{12}}\]

    \[3 = \frac{0.05}{s_{lunar}/\sqrt{12}}\]

    \[s_{lunar} = \frac{0.05}{3} \cdot \sqrt{12} = 0.016 \cdot \sqrt{12} = 5.54\%\]

     

    Cifra 12 apare pentru ca vorbim de 12 luni. Inarmati cu \(s_{lunar} = 5.54\%\), \(\alpha = 1.96\), \(\Delta = 8\%\) putem calcula cate luni de tranzactionare ne trebuie:

     

    \[n = \left(\frac{2 \cdot s \cdot \alpha}{\Delta}\right)^{2} = \left(\frac{2 \cdot 0.05 \cdot 1.96}{0.0554} \right)^{2} \approx 13 \]

     

    Ne trebuie deci 13 luni de tranzactionare pentru a verifica strategia. Raspunsul este adaptat dupa raspunsul oferit unei intrebari similare pe http://quant.stackexchange.com/questions/1891/how-much-data-is-needed-to-validate-a-short-horizon-trading-strategy A se vedea si topicul Cum dezvoltam si evaluam statistic o strategie de trding? pentru un tratament mai complet.

     

    Later edit: Cateva clarificari

     

    Numarul 138 l-am obtinut pentru ca am folosit niste cifre nerealiste. In practica s-ar putea sa aveti un standard deviation de 6-12 ori mai mare decat expected returns (profitul mediu per trade). La astfel de cifre veti avea nevoie de 500-1500 de tranzactii. E important apoi de notat si ca acel standard deviation pentru care rulati aceste cifre trebuie sa fie calculat pe un sample reprezentativ. Daca de exemplu ati rulat 30 de tranzactii castigatoare la rand si apoi faceti calculul de mai sus o sa obtineti niste rezultate extraordinar de optimiste. Trebuie insa sa va intrebati daca aceste 30 de tranzactii sunt reprezentative pentru strategia care o rulati. Apoi, daca in timp standard deviation-ul creste, sau daca expected returns scade, calculele trebuiesc refacute, pana cand ajungeti la un punct satisfacator.

  7. Rezumat si aplicatie practica

    Hai sa luam un exemplu pas cu pas in care aplicam tot ceea ce am scris mai sus. Calculele statistice sunt facute in R. In afara de bootstrapping insa puteti executa totul in excel.

    1. Ne asiguram ca nu comitem vreo eroare din prima postare

    2. Calculam rezultele strategiei noastre.

    Am testat o strategie pe eurusd pe o perioada de 136 de zile. Asa procentele zilnice facute de strategia noastra:

    Offtopic
    [1] 0.0035117440 0.0048033670 0.0082018190 0.0102737470 0.0031753530 [6] -0.0049670890 0.0035399960 0.0063966580 -0.0036729220 0.0168887580 [11] 0.0011788070 -0.0001532260 0.0027020270 -0.0048121250 0.0014140480 [16] 0.0035726780 -0.0008514710 0.0025160090 0.0052888100 0.0018049230 [21] 0.0009973400 0.0102631810 0.0045382380 0.0027457620 -0.0040516450 [26] 0.0010549960 0.0052165430 -0.0027220850 -0.0018994870 0.0057332940 [31] 0.0011369420 -0.0020648190 0.0027057350 0.0024206540 -0.0146472000 [36] -0.0044711830 -0.0075324700 0.0034852420 0.0069385220 0.0107017750 [41] -0.0008150830 0.0052985480 -0.0000536509 0.0061235440 0.0008096790 [46] 0.0037446260 0.0022815160 -0.0021239490 0.0031150230 0.0041275590 [51] 0.0021462060 0.0024287100 0.0010759510 0.0087021210 0.0013443750 [56] -0.0051631410 0.0063698200 -0.0008847630 -0.0041480880 0.0017947210 [61] -0.0001235520 0.0080704950 0.0050640090 0.0040399420 0.0032680240 [66] 0.0027412410 0.0055823570 -0.0010549740 -0.0030063830 0.0002164940 [71] -0.0026050930 0.0046270100 0.0004397400 -0.0011114110 -0.0086616550 [76] 0.0026890100 0.0014145600 -0.0033558090 -0.0018871470 -0.0029184480 [81] -0.0000314730 0.0003934250 -0.0024087090 0.0035886760 -0.0030359460 [86] 0.0055880830 -0.0002965830 0.0009519050 0.0041703690 0.0069942010 [91] -0.0000462528 -0.0022819080 0.0007726780 0.0020305740 0.0004700150 [96] 0.0052370540 -0.0031565080 0.0020009780 -0.0076985480 0.0031773450[101] 0.0011295410 0.0049921950 0.0052672860 -0.0002600720 0.0065459940[106] 0.0000683771 0.0049304120 -0.0001587530 0.0013458340 -0.0043341040[111] -0.0000455014 0.0027072120 0.0009604690 0.0015866540 -0.0013848530[116] -0.0008411580 0.0103830110 0.0014714790 -0.0036885970 -0.0026685980[121] -0.0012996450 -0.0158992610 0.0052971850 0.0029456960 -0.0057022000[126] -0.0011875680 0.0065243400 0.0042316490 -0.0005480970 0.0007061560[131] 0.0003002800 0.0044454790 0.0064443300 -0.0006091080 0.0026757640[136] 0.0056189350


    Puse pe un chart arata asa:

    post-3657-0-82094500-1376035685_thumb.png

    In aceasi perioada astea sunt miscarile facute de eurusd:

    Offtopic
    [1] -0.0035117440 -0.0048033670 0.0082018190 0.0102737470 0.0031753530 [6] -0.0049670890 0.0035399960 -0.0063966580 -0.0036729220 0.0168887580 [11] 0.0011788070 -0.0001532260 -0.0027020270 -0.0048121250 -0.0014140480 [16] 0.0035726780 -0.0008514710 -0.0025160090 0.0052888100 -0.0018049230 [21] 0.0009973400 0.0102631810 0.0045382380 0.0027457620 -0.0040516450 [26] -0.0010549960 0.0052165430 -0.0027220850 -0.0018994870 0.0057332940 [31] 0.0011369420 -0.0020648190 0.0027057350 0.0024206540 0.0146472000 [36] -0.0044711830 0.0075324700 0.0034852420 0.0069385220 0.0107017750 [41] -0.0008150830 -0.0052985480 0.0000536509 -0.0061235440 0.0008096790 [46] -0.0037446260 -0.0022815160 -0.0021239490 0.0031150230 -0.0041275590 [51] 0.0021462060 0.0024287100 -0.0010759510 0.0087021210 0.0013443750 [56] -0.0051631410 -0.0063698200 -0.0008847630 0.0041480880 0.0017947210 [61] -0.0001235520 0.0080704950 0.0050640090 -0.0040399420 -0.0032680240 [66] 0.0027412410 -0.0055823570 -0.0010549740 -0.0030063830 0.0002164940 [71] -0.0026050930 0.0046270100 -0.0004397400 -0.0011114110 -0.0086616550 [76] -0.0026890100 0.0014145600 -0.0033558090 -0.0018871470 -0.0029184480 [81] -0.0000314730 -0.0003934250 0.0024087090 0.0035886760 -0.0030359460 [86] 0.0055880830 0.0002965830 0.0009519050 0.0041703690 0.0069942010 [91] -0.0000462528 -0.0022819080 0.0007726780 0.0020305740 0.0004700150 [96] 0.0052370540 0.0031565080 -0.0020009780 -0.0076985480 -0.0031773450[101] 0.0011295410 0.0049921950 0.0052672860 0.0002600720 0.0065459940[106] 0.0000683771 0.0049304120 -0.0001587530 0.0013458340 -0.0043341040[111] 0.0000455014 0.0027072120 0.0009604690 -0.0015866540 -0.0013848530[116] -0.0008411580 -0.0103830110 0.0014714790 0.0036885970 -0.0026685980[121] -0.0012996450 0.0158992610 0.0052971850 0.0029456960 -0.0057022000[126] -0.0011875680 0.0065243400 -0.0042316490 -0.0005480970 0.0007061560[131] -0.0003002800 0.0044454790 0.0064443300 -0.0006091080 0.0026757640[136] 0.0056189350


    Puse pe-un grafic rezultatele arata asa:

    post-3657-0-88521000-1376030086_thumb.png

    Luam rezultatele strategiei si calculam media si standard deviation-ul.
    > mean(strategy) #strategy contine datele de mai sus. mean() ne da media[1] 0.001392158> sd(strategy) #standard deviation[1] 0.004508086
    In excel puteti folosi =AVERAGE() si =STDEV().

    Luam rezultatele EURUSD si calculam cat s-a miscat perechea in medie pe zi.
    > mean(eurusd) #eurusd contine miscarile zilnice eurusd aratate mai sus[1] 0.0008159654
    3. Facem detrending

    Fiindca nu am testat decat o singura pereche e de ajuns sa folosim metoda benchmarking asa cum este descrisa in a doua postare.

    Strategia noastra a avut 98 de tranzactii long (72%) si 38 de tranzactii short(28%). O strategie random cu acelasi bias ar fi produs in medie

    \[E(r_{rndm}) = 0.72 \cdot 0.000816 - 0.28 \cdot 0.000816 = 0.00036\]

    Profitul in plus scos de strategia noastra fata de strategia random este

    \[\bar r_{exces} = \bar r_{normal} - E(r_{rndm}) = 0.00139 - 0.00036 = 0.00103\]

    4. Evaluam rezultatele

    Metoda I. t-test

    Scorul t al strategiei noastre este

    \[ t = \frac{r_{excess} - \mu}{s/\sqrt n} = \frac{0.00103 - 0}{0.0045/\sqrt 136} = 2.66\]

    Valoarea p pentru \(t = 2.66\) si \(n-1 = 135\) este data de
    > pt(-abs(t),df=135)[1] 0.0048
    In excel se poate calcula folosind functia =TDIST(). In cazul asta =TDIST(2.66, 135, 1). Ori puteti merge aici si pune 135 si 2.66 in calculator. Cum

    \[ p = 0.0048 < 0.01 \]

    retzulta ca profiturile obtinute de strategia noastra sunt relevante la un nivel semnificativ de 1%.

    Metoda II. bootstapping

    Se ia seria de profituri zilnice in excess ale strategiei, se face resampling, si apoi se folosesc rezultatele pentru a calcula relevanta strategiei noastre. In R:
    #calculam profitul ce-ar fi putut fi obtinut random > rand.ret <- 0.72 * mean(eurusd) - 0.28 * mean(eurusd)#ajustam profitul mediu zilnic al tranzactiei (calculam profitul in excess)> strategy.excess <- strategy - rand.retstrategy.bootstrap <- numeric(10000)> for(i in 1:10000){ #facem resampling de 10000 ori strategy.bootstrap[i] <- mean(strategy.excess[sample(136,136,replace=TRUE)]) }> plot(density(strategy.bootstrap))
    Ne iese graficul asta:

    post-3657-0-56568800-1376038580_thumb.png

    Pentru a putea testa valoarea mediei noastre zilnice de profit trebuie sa centram distributia pe zero (ne intereseaza ca profitul nostru sa fie destul de diferit de zero).
    #centram distributia de mai sus pe zero> strategy.bootstrap.zero <- strategy.bootstrap - mean(strategy.bootstrap)#desenam distributia> plot(density(strategy.bootstrap.zero))#si o linie verticala acolo unde este media profiturlor noastre in excess> abline(v=mean(strategy.excess))
    Ne da graficul asta unde linia verticala reprezinta profitul in excess obtinut de strategia noastra.

    post-3657-0-25424000-1376039037_thumb.png
    #numarul de valori aflate la dreapta liniei verticale> length(which(strategy.bootstrap.zero > mean(strategy.excess)))[1] 40
    Cum numarul total de observatii este 10000 rezulta ca

    \[ p = \frac{40}{10000} = 0.004 < 0.01 \]

    Testul bootstrap ne confirma de asemena rezultatele.

    5. Analizam daca am facut data-snooping sau nu

    Daca rezultatele au fost obtinute in timp real sau pe un out-of-optimization-sample si nici nu am facut alte erori din alea explicate in prima postare atunci stam bine. Daca strategia noastra insa a fost obtinuta dupa ce am testat 1000 de strategii trebuie sa ne ajustam testul de mai sus dupa metodele descrise in postarea numarul trei. Adica nu mai comparam p cu 0.01 ci cu ceva mai mic in functie de ce metoda de minimizare a data snopping-ului folosim. Vedeti si xkcd daca tot nu vati prins ce e ala data snooping.

    Rezultatul de mai sus de exemplu este obtinut pe baza de data snooping. Am rulat vreo 1000 de strategii random pana cand am gasit una care a mers chiar bine. Daca as ajusta p-ul pentru data snooping nu cred ca strategia ar mai fi relevanta. Daca cumva ar scapa si de un test pentru data snooping tot ar trebui apoi sa o rulez pe un out-of-sample test. Ar trebui sa fiu al naibii de ghinionist sa rulez toate testele astea si tot sa imi iau teapa cu strategia pe real. Uite cum arata graficul equity pornind de la un 10k cu leverage 1:1.

    post-3657-0-63927800-1376043223_thumb.png

    Daca rulati nshpee mi de strategii in backtesting pana cand gasiti una care merge s-ar putea sa vedeti asa un grafic. Daca nu faceti apoi testele relevante si o puneti pe real s-ar putea sa fiti dezamagiti tare de rezultate. Beleaua e ca acelasi fenomen se intampla si pe real daca urmarim foarte multi traderi in acelasi timp. Unii dintre ei vor face profit pur si simplu la noroc.

    Fenomenul asta il exploateaza unii manageri de fonduri mai tepari. Isi deschid nshpe mii de fonduri cu bani putini in fiecare, le ruleaza pe fiecare separat o perioada de timp, si apoi le inchid pe alea care nu merg si le pastreaza pe alea bune. Apoi isi fac reclama agresiva tare la investiori, aduna fonduri, incaseaza un comision baban de administrare si apoi, de-o fi profit de n-o fi, dumnezeu cu mila, ca doar nu-s banii lor.
    • Upvote 2
  8. Data snooping

     

    Atunci cand cautam o strategie profitabila sau cand optimizam o anumita strategie pentru anumiti parametri ne expunem intotdeauna riscului de a gasi o strategie profitabila pur si simplu la noroc. Daca rulezi un numar suficient de modele pe un grafic vei gasi in cele din urma un model care prezice graficul pur si simplu la noroc.

     

    In postul anterior am testat o strategie individuala pentru un p-value de 0.01. Cum am gasit un p-value de 0.06 si 0.073 am tras concluzia ca profitul obtinut de strategie a fost la noroc. Daca am fi gasit un p-value de 0.005 am fi tras concluzia ca strategia este profitabila si ar fi fost ok caci strategia noastra era singura testata pe acea perioada de timp. Era un out-of-sample testing.

     

    Daca am fi rulat insa mai multe strategii pe acelasi sample si am fi gasit-o pe asta cu un p value de 0.005 nu ar mai fi fost corect sa tragem concluzia ca profitul este intradevar relevant. Acel procent de 0.01 trebuie ajustat pentru fiecare strategie testata atunci cand testam mai multe strategii deodata.

     

    Sa zicem de exemplu ca rulam 20 de strategii pe aceasi bucata de isoric si incercam sa gasim una care merge. Ne intereseaza un p-value mai mic de 0.01. In aceste conditii probabilitatea ca una dintre strategii sa fie declarata profitabila din punct de vedere statistic desi NU este cu adevarat profitabila este:

     

    P(macar o strategie profitabila) = 1 - P(nicio strategie profitabila)

     

    P(macar o strategie profitabila) = \(1 - (1-0.01)^{20} = 0.182\)

     

    Adica exita o probabilitate de 18.2% sa acceptam o strategie ca avand profituri relevante din punct de vedere statistic desi strategia a facut profiturile pur si simplu la noroc. Pentru a reduce aceasta eroare cumulativa la procentul de 1% dorit avem nevoie ca valoarea fiecarui p-value individual sa fie comparata nu cu 0.01 ci cu o cifra mai mica. Pentru a determina cat de mica avem cateva metode:

     

    Metoda Bonferroni

     

    Asta e cea mai simpla corectie care o putem aplica. Sa zicem ca testam n strategii pe aceasi perioada din istoric. Pentru fiecare strategie calculam un p-value, \(p_1, p_2, ..., p_n\). Daca ne intereseaza un procent de incredere \(\alpha = 0.01\) atunci vom declara fiecare strategie individuala ca avand profituri semnificative numai daca 

     

    \[ p_i < \frac{\alpha}{n}\]

     

    Adica nu mai comparam p cu 0.01 asa cum faceam in postarea anterioara ci cu 0.01/20. Asta face ca probabilitatea de a accepta o strategie ca fiind profitabila desi nu este sa scada la doritul nostru 0.01. Adica in loc de P(macar o strategie profitabila) = 0.182 vom avea P(macar o strategie profitabila) = 0.01

     

    Metoda asta e usor de aplicat insa atunci cand testam foarte multe strategii \(\alpha/n\) devine foarte mic si vom ajunge sa respingem o gramada de strategii ca fiind neprofitabile desi ele defapt sunt profitabile (ii zice eroare de tip II).

     

    Metoda Benjamini-Hochmerg

     

    Metoda asta este mai dinamica decat metoda Bonferroni si reduce numarul de erori de tip II. Procedura functioneaza in felul urmator:

     

    Sa zicem ca din nou testam n strategii si calculam n valori \(p\), cate una pentru fiecare strategie, \(p_1, p_2, p_3, ..., p_n\). Sa zicem ca ne intereseaza un nivel de relevanta \(\alpha\) (acel 0.01 de care am tot vorbit).

     

    1. Aseaza in ordine ascendenta valorile lui \(p\)

    2. Atribuiei fiecarei valori \(p\) un rank \(k\). Cel mai mic \(p\) va primi un \(k = 1\) iar cel mai mare \(p\) un \(k = n\). Adica daca \(p_{20}\) e cel mai mic, atunci \(k = 1\). Daca \(p_{84}\) urmeaza dupaia ii dam \(k = 2\) si tot asa pana la \(n\).

    3. Tragem concluzia ca strategiile sunt profitabile numai pentru acele valori la lui p unde

     

    \[p(k) < \frac{\alpha}{n+k+1}\]

     

    Din nou aceasta ajustare mentine nivelul cumulativ de erori de tip I (declaram ca o strategie e profitabila desi nu e) la 0.01 iar fiecare p-value este comparat cu o cifra mai dinamica ceea ce reduce si nivelul de erori de tip II.

     

    O metoda mai complicata si mai interesanta este White's reality check insa aia ramane tema pentru acasa pentru cine chiar este interesant. Sunt ceva research papers care folosesc acest test intocmai pentru a vedea cat din profiturile strategiilor tehnice e pe bune si cat e doar datorat data snooping. Dupa ce li se aplica White's reality check nu mai ramane cam nicio strategie tehnica in picioare. Un alte element interesant in astfel de teste e ca pe masura ce trece timpul din ce in ce mai putine strategii merg. Piata devine mai eficienta in timp. Ce mergea acu 30 de ani (clasica analiza tehnica) nu mai merge astazi.

     

    Recomand Evidence Based Technical Analysis carte din care de altfel e luat cam tot ce am scris aici si pe care asa cum am mai facut-o prin alte postari o recomand cu avertizarea de rigoare ca daca nu ati incercat niciodata sa cuantificati rezultatele unei analize tehnice s-ar putea sa nu va placa absolut de loc. A se vedea review-urile de o stea de pe amazon scrise in ALL CAPS LOCK.

     

    PS: strategia de pe EURUSD care am folosit-o in exemplele de mai sus a scos un profit total de 30% in vreo 6 luni cu drawdown de 25% fara sa treaca vreodata pe minus. Astfel de rezultate ar putea parea impresionante la prima vedere testul nostru riguros ne-a aratat ca nu e deloc asa - ceea ce e si corect caci rezultatele strategiei erau pur si simplu random   ;) E adevarat ca nu le-am facut detrending caci ar fi disparut profitul. Am lasat rezultatele asa cum era tocmai pentru a scoate in evidenta cat de usor pot aparentele sa insele.

    • Upvote 1
  9. Evaluarea rezultatelor obtinute de o strategie

     

    Sa zicem ca avem o strategie de trade care scoate ceva profit. Cum ne dam seama daca profitul asta este intradevar relevant sau nu? Adica cum ne dam seama ca profitul nu a fost castigat pur si simplu la noroc? Retineti ca piata merge in sus si in jos si ca in orice moment exista cel putin un numar de strategii random care vor face profit. Pe termen lung toate strategiile random pierd insa pe termen scurt e posibil sa castige. Trebuie neaaparat sa avem girja ca strategia noastra sa nu fie una dinasta random care pur si simplu a scos profit pe termen scurt la noroc.

     

    Detrending

     

    Inainte de a evalua daca rezultatele noastre sunt relevante sau nu trebuie sa stabilim mai intai ce rezultate vrem defapt sa testam. E important sa luam trend-ul pietei in considerare si sa il scoatem din rezultatele noastre pentru a putea testa si compara stratgii cu bias-uri long/short diferite. In sensul acesta avem doua optiuni in functie de cum e strategia noastra:

     

    1. Benchmarking

     

    Aceasta metoda poate fi aplicata foarte usor atunci cand strategia noastra este tranzactionata pe un singur instrument.

     

    Ideea e in felul urmator. Daca pe un trend de crestere medie zilnica de 2% strategia noastra a scos 4% cu un procent de 80% tranzactii long si 20% tranzactii short, o strategie absolut random, dar cu acelasi bias ca strategia noastra ar fi scos

     

    \[ E(r_{rndm}) = p(long) \cdot d - p(short) \cdot d = 0.8 \cdot 0.02 - 0.2 \cdot 0.02 = 0.012 = 1.2\% \]

     

    Cand vom rula mai jos un test de relevanta pentru strategia noastra va trebui sa il comaparam cu medie random de 0%. Daca random-ul insa scoate 1.2% trebuie sa ajustam rezultatele noastre pentru a le putea compara cu zero.

     

    Ajustarea e simpla. Din profitul nostru de 4% zilnic scadem 1.2% si apoi cand testam cat de semnificative sunt rezultatele noastre folosim nu 4% ci 4%-1.2% = 2.8%. Astea sunt practic profiturile noastre in excess de s-ar fi putut scoate jucand pur si implu la noroc. La modul general, profiturile noastre, in excess fata de ce se putea scoate la  noroc sunt date de 

     

    \[\bar r_{excess} = \bar r_{normal} - E(r_{rndm})\]

     

    unde \(E(r_{rndm})\) e dat de formula de mai sus unde \(d\) e miscarea medie zilnica a pietei. Numai daca \(r_{excess}\) este semnificativ putem trage concluzia ca strategia e buna.

     

    2. Detrending

     

    Benchmarking-ul de mai sus e foarte usor de aplicat daca strategia se aplica numai pe un singur instrument. Daca strategia noastra insa include mult mai multe instrumente e mai greu de stabilit care-i exact \(E(r_{rndm})\) si atunci trebuie sa folosim detrending. 

     

    a. Pentru fiecare instrument se iau toate zilele pe care testul s-a facut si se calculeaza miscarea medie zilnica

    b. Se ia fiecare zi in parte si din cat s-a miscat piata in ziua aia se scade cifra de mai sus.

    c. Profitul tranzactiilor noastre se masoara apoi folosind aceste cifre modificate (detrended data) 

     

    Procedura la nivel de tranzactie functioneaza in felul urmator: se ia fiecare tranzactie, se calculeaza numarul de zile pentru care a fost deschisa (n), si din procentul facut de tranzactie se scade n inmultit cu media zilnica facuta de piata.

    \[r_{detrend} = r_{normal} - n \cdot \bar r_{mkt}\]

     

    Unde \(r_{detrend}\) e profitul facut de tranzactie pe datele modificate (detrended), \(r_{normal}\) e procentul facut de strategie pe datele nemodificate, \(n\) e numarul de zile pentru care tranzactia a fost deschisa, iar \(\bar r_{mkt}\) e miscarea zilnica facuta de piata.

     

    Sa zicem ca piata face o miscare medie de 2% pe zi. Daca intr-o zi piata s-a miscat 3% si noi am stat long intocmai o zi, procentul nostru detrended pentru tranzactia respectiva va fi \(r_{detrend} = 3\% - 1 \cdot 2\% = 1\%\). Daca intr-o zi piata s-a miscat -3% iar noi am stat short intocmai o zi si am prins cei 3% pe datele obisnuite, profitul nostru detrended pentru tranzactia respectiva va fi \(r_{detrended} = -(-3\% - 1 \cdot 2\%) = 5\%\).

     

    Metoda penalizeaza tranzactiile ce au mers intocmai cu trendul spre a scoate efectul bias-ului strategiei noastre. Profiturile short sunt insa amplificate. Pare un pic contraintuitiv la inceput. Adica de ce sa imi taxez tranzactiile long intr-un trend long? Pai trebuiesc taxate pentru ca o strategie random care ar fi avut acelasi procentaj de tranzactii long ca strategia noastra nu ar fi scos doar 0% ci ar fi facut profit - asa random cum este, dar profit. Trebuie sa luam deci acest lucru in considerare pentru ca pe noi ne intereseaza sa batem profitul unei strategii random. Facand detrending strategiei noastre facem in acelasi timp si detrending strategiei random. Adica daca inainte de detrending strategia noastra a scos 4% pe zi iar randomul 1.2%, dupa detrending strategia noastra va scoate 2.8% pe zi iar randomul 0%. Astfel putem testa cat de relevante sunt rezultatele noastre in comparatie cu zero.

     

    Evaluarea rezultatelor

     

    Dupa ce am facut detrending si am calculat datele de mai sus putem sa testam daca rezultatele noastre sunt in tradevar semnificative. Prin semnificative ne referim la niste rezultate atat de diferite de zero incat probabilitatea ca ele sa fi fost obtinute la noroc sa fie foarte mica. In acest sens avem doua optiuni:

     

    1. t-test

    2. bootstrapping

     

    In prima metoda presupunem o distributie parametrica a mediei profitului obtinut zilnic de strategie iar in a doua generam noi o distrubtie relevanta folosind un procedeu de resampling. Le vom discuta pe amandoua.

     

    t-test

     

    Un t-test este un test de locatie. Testul masoara la cate deviatii standard de zero se afla media calculata presupunand ca distributia mediilor este una de tipul Student's t distribution cu n-1 degrees of freedom unde n este numarul de observatii. Daca media calculata este destul de departe de media zero concludem ca profiturile obtinute sunt relevante din punct de vedere statistic.

     

    Acest "destul de departe" este un paramentru pe care fiecare este liber sa si-l aleaga. Valori folosite des sunt 1% si 5%. Pentru ca profiturile sa fie semnificative la nivelul de 1% e nevoie ca mai putin de unul la suta din observatiile descrise de distributia lui t sa fie mai mari decat scorul t al mediei noastre de profit.

     

    Scorul t al strategiei noastre este dat de formula 

     

    \[t = \frac{\bar X - \mu}{s/\sqrt n} \]

     

    unde \(\bar X\) este media zilnica de profit a strategiei, \(\mu\) este media pe care vrem sa o batem, in cazul nostru zero, \(s = \sqrt{\frac{\sum_i^n(X_i - \bar X)}{n-1}}\) este sample standard deviation al profiturilor noastre iar \(n\) numarul de observatii (zile, tranzactii, etc, in functie de cum calculam). Astea le puteti calcula si in excel. Aveti acolo =AVERAGE() si =STDEV.

     

    Sa luam exemplul unei strategii care am testat-o rapid pe 136 zile de EURUSD. Strategia a facut 0.24% pe zi cu un sample standard deviation de 1.8%. Scorul t ar fi

     

    \[t = \frac{0.24\% - 0}{1.8\%/\sqrt{136}} = 1.56 \]

     

    Pe graficul distributiei lui t, scorul calculat de noi e reprezentat de linia rosie. Pentru a fi putut declara ca strategia produce intradevar profituri semnificative ar fi trebuit ca linia rosie sa fie la dreapta liniei albastre. Cum nu este nu putem respinge ipoteza ca strategia noastra face profit la noroc.

     

    post-3657-0-00501000-1375979867_thumb.png

     

    Fiecare t-statistic are o valoare \(p\) asociata. Valoarea lui p reprezinta aria de sub linia neagra de la linia rosie la dreapta. Aceasta valoare se poate gasi pentru fiecare t in tabelele distributiei lui t. Gasiti de asemena calculatoare online. Gasiti un astfel de calculator AICI. Bagati in calculator ce t ati obtinut dupa fomula de mai sus si numarul de n-1 observatii si vedeti care-i valoarea lui p. Daca aceasta valoare p este mai mica ca 0.01 (1%) atunci profiturile sunt relevante.

     

    In cazul nostru, pentru t = 1.56 si degrees of freedom = 135, valoarea lui p e 0.06055 ceea ce ne indica ca rezultatele nu sunt relevante. Mai simpla decat calcularea lui p este pur si simplu compararea scorului t obtinut cu 2.3 (valoarea aproximativa a lui t pentru nivelul cheie de 1% atunci cand n este destul de mare n>100). Daca scorul obtinut de noi este mai mare ca 2.3 atunci profiturile strategiei probabil ca nu sunt obtinute la noroc.

     

    Bootstrapping

     

    In loc sa presupunem aceasta distributie t putem sa ne facem singuri o distributie folosind sample-ul de profituri daily care il avem. Asa arata procentele zilnice ale strategie discutate in exemplul de mai sus

     

    post-3657-0-78842800-1375979857_thumb.png

     

    Asta e un singur sample pentru care putem construi o singura medie. Pentru a putea construi o distributie a mediilor avem nevoie de mai multe samples. Cum nu avem de unde sa luam altele, o folosim pe cea de mai sus, si prin bootstrapping generam atatea sample-uri cate avem nevoie.

     

    Ca sa intelegeti cum functioneaza bootstrapping-ul imaginativa ca avem 50 de bile puse intr-o ordine aleatorie si numerotate cu cifre alese la nimereala intre 1 si 1000. Adica ceva de genul 1,20,900,13, 86,22,180,760 si tot asa pana la a 50-a bila. Seria asta e practic un sample cu o medie \(x_1\). Bootrsapping-ul functioneaza in felul urmator:

     

    1. Bagam toate bilele in sac si le amestecam bine.

    2. Scoatem o bila, notam ce numar e pe ea si ii dam drumul inapoi in sac.

    3. Continuam pasul 2 pana cand am extras 50 de bile si am notat 50 de numere. In momentul asta am obtinut practic inca un sample cu o medie \(x_2\)

    4. Reluam pasii 1-3 de \(n\) ori. La sfarsit vom avea \(n\) samples si o colectie de medii \(x_1, x_2, x_3, ..., x_n\) Mediile astea impreuna vor forma o distributie pe care apoi o putem folosi pentru a calcula daca rezultatele noastre sunt relevante sau nu.

     

    Hai sa aplicam pasii astia pe seria de venituri zilnice ale strategiei de mai sus intr-un limbaj de programare precum R. Pentru un sample de procente de profit daily ret[] de marime 136, putem genera un set ret.bootstrapped[] care contine mediile a 1000 de sample-uri obtinute prin bootrsapping in felul urmator:

    for(i in 1:1000) {
        ret.bootstrapped[i] <- mean(ret[sample(136,136,replace=TRUE)])
    }

    ret[sample(136,136,replace=TRUE)] baga cele 136 de bile pe care sunt scrise profiturile noastre daily intr-un sac si dupa ce le amesteca bine scoate o bila din sac de 136 de ori spre a genera un nou sample. mean() ne ofera apoi media. Toate astea le salvam in ret.bootstrapped[] pe care apoi il putem desena in felul urmator:

     

    post-3657-0-90844200-1375979834_thumb.png

     

    In loc sa folosim deci distributia aia a lui t de care vorbeam mai sus folosim distributia asta. Inainte insa de a o folosi trebuie sa o centram pe zero. Calculam media distributiei de mai sus, o scadem apoi din toate valorile distributiei, si dupa ce avem o distributie centrata pe zero, trasam o linie pe verticala acolo unde se afla media noastra de venituri daily. Graficul arata cam asa:

     

    post-3657-0-62520400-1375979847_thumb.png

     

    Valoarea lui p-value este egala cu numarul de observatii la dreapta liniei verticala supra numarul total de observatii. Observatii in ret.boostrapped[] mai mari ca media zilnica de profit de 0.24% sunt vreo 73 (la dreapta liniei negre). Asta ne da un \(p = 73/1000 = 0.07\). Cum \(p > 0.01\) tragem concluzia ca rezultatele noastre nu sunt relevante.

  10. Am facut un hobby in ultima vreme din a modifica replici din filme, citate celebre, etc, si a le face relevante trading-ului. Un astfel de citat, care surprinde intocmai spiritul acestui topic, este:

     

    The path of the trader is beset on all sides by the pitfalls of strategy development and the tyranny of misleading models. Blessed is he who in the name of science and profit will shepherd the trader through dark market valleys, for he is truly a beacon of objectivity and the finder of winning strategies. - Jules Winnfield (Pulp Fiction)

     

    Hai sa vedem deci ce trebuie sa facem pentru a produce strategii intr-un mod cat mai obiectiv si a evalua rezultatele lor intr-un mod cat mai corect.

     

    Greseli frecvente facute in faza de conceptie si backtesting

     

    Inainte de a evalua rezultatele unei strategii trebuie sa ne asiguram ca am obtinut rezultatele alea intr-un mod cat mai obiectiv. Trebuie sa avem mai intai grija la urmatoarele:

     

    Acuratetea datelor

     

    Sunt datele noastre istorice corecte? Avem cumva un chart plin de gap-uri spike-uri si alte astfel de nebunii? Cu cat piata cu care lucram este mai decentralizata cu atat sansele ca un sigur sir de date sa nu fie o reprezentare fidela a istoriei sunt mai mari. E adevarat ca in lumea lui mt4 lucrul cu mai multe serii de date nu prea este usor de facut. Se pot lua insa mai multe siruri de date, compara in afara mt4, scoate orice fel de balarii, si apoi transformate intr-un fisier istoric compatibil mt4. Cat de problematic este acest aspect depinde evident de strategia noastra. Una care tranzactionaza rar s-ar putea sa nu fie afectata prea tare.

     

    Presupuneri despre executie

     

    Am presupus corect slippage-ul cu care ne vom intalni in realitate? Spread-ul? Backtesting-ul in mt4 nu contine spread-ul istoric. Se ia nivelul de bid si i se adauga nivelul de spread curent. Asta n-are insa nicio treaba cu realitatea istorica. Ce sa mai zicem de slippage. In backtester nu exista asa ceva. Numai astea doua combinate pacalesc adesea foarte multi traderi care castiga pe istoric dar o dau in bara in timp real.

     

    Half-life

     

    Half-life, nu jocul pe calculator, ci celalalt Half-Life reprezinta durata de timp in care o cantitate se reduce la jumate din valoarea initiala. In trading ne referm practic la perioada de timp in care strategia ajunge din profitabila, neprofitabila. Nicio strategie nu tine la infinit. Nicio strategie nu tine nici macar prea mult timp. Nu trebuie sa estimam deci un half-life prea mare. Daca facem astfel de presupuneri s-ar putea sa ne para rau mai tarziu cand strategia incepe sa scartaie.

     

    E adevarat ca e greu de estimat cat timp va fi o strategie profitabila de la bun inceput. Ideea insa este sa fim mereu atenti la conditiile din piata si sa ne reevaluam constant rezultatele obtinute spre a decide daca mai merge treaba sau nu.

     

    Supra estimarea profitului

     

    Cam orice strategie va produce in timp real numai o fractie din profitul produs in backtesting. Asta nu-i vreo teorie stiintifica insa este o prespunure de bun simt. Viitorul este imprevizibil. Nu sti ce volatilitate va fi, ce costuri de trading vor fi, ce evenimente vor misca piata. Oricat de bine ai mers pe trecut e greu de crezut ca vei merge cel putin la fel de bine si in viitor. 

     

    Perioada de istoric pe care se fac testele

     

    Am testat cumva un trend-following strategy intr-o perioada de trend si apoi ne-am minunat de cat de tare e strategia noastra? Am testat cumva o strategie buna in range intr-o perioada de range? Daca am facut-o s-ar putea sa o patim urat in timp real cand conditiile se schimba. Perioada pe care testele se fac trebuie sa fie reprezentativa pentru un set cat mai amplu de conditii. Chiar si testarea aia facuta in timp real nu poate fi luata in serios daca a fost facuta intr-o perioada tocmai potrivita strategiei. E foarte usor sa ne pacalim singuri testand numai pe perioadele care ne convin noua.

     

    Look-ahead bias

     

    Cand lucram cu date istorice stim exact ce se va intampla pe urmatoarea candela. Daca cumva aceasta informatie se strecoara in strategia noastra inseamna ca inducem un look-ahead bias strategiei care face ca rezultatele noastre sa nu aiba niciun fel de relvanta statistica. Trebuie deci sa avem grija ca fiecare tranzactie pusa pe istoric nu foloseste decat date aflate la stanga punctului de intrare. Alea aflate la dreapta sunt date care nu ar fi fost cunoscute in acel moment.

     

    Out-of-sample testing

     

    Testarea pe perioade out-of-sample inseamna testarea pe o portiune de istoric pe care n-am folosit-o in optimizarea si dezvoltarea strategiei noastre. Adica daca avem 10 ani de istoric, impartim datele in doua, cautam pattern-uri, optimizam, testam, etc pe primii cinci ani si apoi dupa ce am obtinut o strategie multumitoare o testam din nou pe ceilalti cinci ani. Doar rezultatele obtinute pe acesti cinci ani pot fi folosite pentru a evalua daca strategia noastra este intradevar buna de ceva sau nu. Vom discuta mai jos cum se evalueaza rezultatele unei strategii de trade. E obligatoriu ca acele metode sa se foloseasca numai pe rezultate obtinute pe perioade out-of-sample.

     

    Si apropo. Daca strategia aia optimizata nu merge pe out-of-sample nu va apucati sa o optimizati iar pe out-of-sample ca n-ati rezolvat nimic. Si nici sa nu luati a doua cea mai buna strategie de pe primii cinci ani si sa o testati pe acesti cinci ani out of sample. Daca faceti asa ceva inseamna ca faceti data snooping.

     

    Data snooping

     

    Daca luati o perioada de istoric si testati strategii pe ea pana cand gasiti ceva care merge e foarte posibil ca aceste rezultate sa fi aparut pur si simplu la noroc. Cand evaluam deci aceste strategii multiple pe aceasi perioada de timp va trebui sa aplicam teste mult mai stringente pentru a fi siguri ca nu ne pacalim singuri. Voi dedica o intreaga postare mai jos acestui element caci este extraordinar de important.

  11. Pai ce, pana acum te-ai tot chiorat sa vezi care-s preturile? :) Valorile OHLC ale fiecarei candele se vad in coltul din dreapta jos al platformei atunci cand duci mouse-ul pe candela. Mai le poti vedea si in fereastra Data Window (click pe tinta aia din toolbar, sau view -> data window)

    • Upvote 1
  12. Nu stiu care-i treaba cu fractalii tai si nici ce vrei sa spui prin eficienta. Ne intoarcem iar in ezoteric? O strategie nu trebuie sa fie "eficienta" ci profitabila (la un nivel relevant din punct de vedere statistic). Daca eu fac 5 pips per trade cu standard deviation mic si t-statistic mare (adica profiturile mele sunt relevante din punct de vedere statistic si nu pot fi explicate de noroc) atunci nu doar ca sunt eficient ci ma si imobgatesc facand asta. Ce-mi pasa mie ce spune un fractal sau altul despre cati pips ar trebui eu sa fac?

     

    Daca prin eficienta vroiai intradevar sa spui "profituri relevante din punct de vedere statistic" atunci ai luat-o pe aratura rau de tot. Cum sa nu fie relevant numarul de tranzactii? Adica un sample de 30 de tranzactii e la fel de relevant ca un sample de 3000 de tranzactii? Pe bune? Sper ca nu la asta te-ai referit.

    • Upvote 1
  13. Vad multe opinii, cu care de altfel sunt mai mult sau mai putin de acrod, dar o incercare de calcul statistic mai serios nu vad sa fi incercat nimeni. theSeer a avut o tentativa dar se poate mai mult.

     

    Sunt curios cati dintre voi ati citit macar Evidence Based Technical Analysis de David Aronson. Daca nu ati facut-o v-o recomand din toata inima. Va avertizez totusi ca s-ar putea sa nu va placa. Critica dur metodele tehnice de trading de duzina (adica cam tot ce se gaseste pe forumurile populare) si apoi discuta ceva statistica care desi e de baza, daca n-ati avut niciodata de a face cu ea s-ar putea sa va plictiseasca. A se vedea review-urile de o stea de pe amazon scrise in caps lock de catre indivizi care probabil n-au testat niciodata corect o strategie in viata lor (sau nici macar n-au incercat). Nu e litera de lege cartea asta insa e un punct bun de intrare in studiul si evaluarea strategiilor de tranzactionare.

     

    Trebuie spus mai intai ca relevanta profiturilor obtinute de orice strategie depinde in primul rand de variatia lor. Adica daca ai scos 6 pips per trade cu un standard deviation de vreo 60 de pips e mult mai posibil ca media ta de 6 pips sa fie obtinuta pur si simplu la noroc decat daca ai fi scos 6 pips per trade cu un sd de 20 de pips. Testul final va depinde oricum de numarul de tranzactii pe care ti-ai facut calculele. De exemplu pentru a putea avea o oarecare incredere in strategia cu sd de 60 ai nevoie de vreo patru sute de tranzactii.

     

    Si daca tot vorbim de numarul de tranzactii necesar e important de stiut ca numarul magic nu e 33 cum spunea theSeer mai sus. Treizeci e numarul magic in central limit theorem care spune ceva gen daca n > 30 distributia lui sample mean e aprox normala. Daca ai mai putin de 30 de obs de exemplu e mai bine sa folosesti distributia lui t. Ideea e ca numarul de tranzactii necesar depinde de standard deviationul masurat si de intervalul de incredere pe care vrei sa il construiesti. 

     

    Daca ai scos de exemplu 6 pips per trade si vrei sa construiesti un interval de incredere 10 pips in jurul acestei medii (adica de la 1 pip pana la 11 pips) la un procentaj de incredere de 95% o sa ai nevoie de

     

    n = ((2 * sd * alpha) / delta)^2

     

    unde sd e standard deviation, alpha in cazul lui 95% si a presupunerii distributiei normale e 1.96, iar delta e 10 pips.

     

    Revenind insa la relevanta profitului, cum trebuie sa facem mai exact ca sa determinam cei relevant si ce nu. Pai o idee foarte simpla e t-testul. Luam din nou media de profit per trade, deviatia standard, si sample size-ul n si il calculam pe t

     

    t = (medie - 0)/(sd/radical(n))

     

    (Medie - 0) pentru ca vrem sa vedem daca media noastra de profit e mai mare ca zero. Impartim la standard error-ul sample-ului nostru (sd/radical(n)) si in functie de ce t ne iese tragem concluzii. Pentru un n suficient de mare si un interval de incredere de 95% avem nevoie de un t mai mare ca 1.96 (cifra asta nu-i defapt corecta, dar merge ca aproximatie pentru n mai mare). Daca ne iese deci t mai mare putem spune cu o oarecare incredere ca rezultatele noastre sunt relevante. 

     

    E important insa cum interpretam t-ul asta alaturi de acel 95%. Tot ce ne spune t-ul in cazul asta e ca daca strategia ar fi fost defapt una random am fi observat profiturile medii care le-am observat in mai putin de 5% din cazuri. Ramane deci posibil ca profitul nostru sa fi fost doar la noroc.

     

    Mai sunt apoi alte chestii de luat in calcul. Daca piata a mers in sus 10% in perioada asta iar noi am scos 5% suntem chiar atat de destepti? Nu prea nu? E posibil ca profitul nostru sa fi fost un noroc dat de bias-ul strategiei noastre. Daca mergeam invers ne-o luam in freza. Trebuie deci luat in calcul si bias-ul strategiei. Intr-o piata care a crescut 10% o strategie random cu bias catre partea de long ar fi scos mai mult de zero. Daca n-o batem p-asta pai degeaba ne mai chinuim. Trebuie sa ne ajustam deci profiturile la treaba asta. Procedeul se cheama detreneding. Gasiti mai multe detalii in cartea de care ziceam la inceput. 

     

    E discutabila apoi si treaba cu presupulsul distributiei lui t dar asta o lasam pentru alta data.

     

    Pana la a lua insa strategia in considerare pentru trading real mai sunt o mie si una de alte probleme de luat in calcul. Daca profitul masurat a fost facut pe backtesting trebuie sa ne gandim macar la urmatoarele:

     

    1. Am avut date relevante pentru perioada istorica testata? Nu merge cu gapuri, spike-uri si alte astfel de nebunii.

    2. Am facut presupuneri false despre executia tranzactiilor noastre? De ex, am luat in considerare slippage?

    3. Am facut testul pe un sample relevant mai multor conditii de piata sau am ales ce ne-a convenit noua? 

    4. Daca am optimizat strategia pe o parte din istoric, am avut grija sa testam pe o alta parte separata din istoric?

    5. Atunci cand ne-am optimizat strategia, am testat mai multe strategii pe acelasi data sample? Daca da, atunci trebuie sa luam in considerare bias-ul indus de efecut de data snooping. Ideea e ca daca te apuci de testat suficiente strategii pe acelasi data sample ai sa gasesti in cele din urma una relevanta pur si simplu la noroc. Trebuie ajustat deci testul t de mai sus pentru valori mai stricte.

     

    Cam astea ar fi cateva subiecte de studiat si aprofundat in ceea ce priveste evaluarea strategiilor tehnice. Eu cu ocazia asta am gasit motiv sa mai scriu pe blogul personal - site pe care se cam asezase praful (nu ca nu se va aseza oricum din nou. nu prea mai am eu chef de scris pe net). Daca va intereseaza am pus zilele astea vreo doua articole peste care puteti arunca un ochi (inspirate de topicul ast). Unul e The pitfalls of trading strategy development iar altul The evaluation of trading strategies. Primul e despre greselile comise in backtesting si mai ales despre data snooping si cum poate fi evitat iar al doilea e despre metodele numerice/statistice de evaluare a unei strategii. E cam ce-am scris si aici dar in varianta ceva mai lung si cu formule mai aratoase scrise in LaTeX. Ideile nu-s tocmai originale (se gasesc si in cartea mentionata sau pe alte site-uri de specialitate) si sunt tratate mai degraba superficial insa v-ar putea oferi idei pentru material de studiu in viitor.

     

    In cazul nostru raspunsul simplu era ca nu avem suficente date pentru a face o estimare cat de cat relevanta. Avem vreo 7 luni de trading. Un t-test cu n-1 = 6 degrees of freedom pentru venitul mediu lunar de pips si standard deviation-ul calculat nu produce un t suficient de mare. Sunt insa mult prea putine date. Am avea nevoie de un daily return sau per trade return. Avantajul datelor prezentate e ca sunt obtinute in timp real ceea ce elimina din start orice fel de eroare statistica posibila - n-avem de unde sa avem data snooping, look-ahead bias, etc etc. Ne trebuie insa mai multe informatii.

    • Upvote 1
  14. Le-am trimis eu pana una alta. Vroiam oricum sa mai zic si ca pe tot restul verii voi fi si mai putin activ (deloc). Am inceput de ceva vreme sa ma joc cu fel de fel de chestii statistico-fantastice ceva mai complicate decat analiza tehnica obisnuita si voi fi ocupat implementand strategii si alte nebunii. Mai vin eu pe la sfarsitul verii si va spun ce-am facut - daca mi-am distrus contul sau daca m-am mutat in Insulele Cayman.

     

    Nu mai imi trimiteti mie deci PM-uri daca aveti vreo problema de discutat ca probabil n-am sa raspund la timp. Redirectionati tot traficul catre Stefan. Sorry :D

     

    sincu_viorel si magicianul nu uitati ca ati intrat in fondul ALPHA. Adica ala cu reguli draconice in care nu vi se permite sa va distrugeti contul in mai putin de vreo 3 saptamani. Respectati regulamentul. Daca nu va convin regulile spuneti si puteti fi foarte usor trecuti in fondul Beta. Acolo nu aveti niciun fel de constrangere. Magicianule, tu ai mai trecut prin asta. Pe bune, daca ai o strategie care merge, pai ai sa faci tata bani si cu 2% per trade. Daca vrei sa faci si mai mult pai fa-o pe contul tau real sau muta-te in fondul beta.

  15. Dupa ce de curand Ben Elicopterul si-a prezentat mandru planul de zbor evident ca toti ceilalti mari piloti de banci centrale s-au grabit sa isi dea si ei pe fata propriul jurnal de zbor.

     

    Astia la est sau dovedit insa ceva mai evazivi si mai dovish caci deh, nivelul rahatului pe batranul continent e mai degraba in crestere si nu in scadere. Draghi cica va tine ratele la nivelul actual sau mai jos "for an extended period of time" iar aia de la BOE cica vor avea si ei grija sa prezinte un plan de zbor (forward guidance) la intalnirea din august. Noul tovaras Carney foarte dovish si el. Ca urmare, lira si euroiul si-au luat-o urat in freza astazi. Sper ca n-ati prins miscarile astea cu pantalonii in vine. Macar long sa nu fi fost daca short n-ati prins.

     

    Alphaville are niste articole pe tema. Pe  parte de euro http://ftalphaville.ft.com/2013/07/04/1557332/forward-guidance-is-contagious-and-the-ecb-has-caught-it/ iar pe parte de lira http://ftalphaville.ft.com/2013/07/04/1557212/krona-post-the-first-carney-val/

  16. Prima carte se gaseste in sub 60 de secunde la o cautare google. A doua n-am gasit-o la fel de repede si imi fu lene sa scormonesc mai adanc. Ma gandesc ca se poate gasi si a doua daca chiar aveti timp. N-am aruncat decat un ochi rapid peste prima si nu mi se pare cine stie ce. Pare o combinatie de Gann si Elliott wave. Mai ezoteric de atat deci nu cred ca se poate. A doua discuta indicatorul Fibonacci VertexTM. Asta e un fel de spirala MISA a ioghinilor care se imprastie pe chart ca o caracatita si care cica tot asa iti permite sa prevezi topuri/bottomuri. Ce n-am vazut insa in prima carte si ma indoiesc sa existe in a doua e o discutie statistica despre puterea explicativa a acestor patternuri. Nu avem decat anecdote, povesti personale, charturi alese astfel incat sa se potriveasca ideile lui, si tot asa. Bullshit tipic.

  17. Acum vreo 3 ani cand ma jucam pentru prima data in mql4 incercam diverse formule pentru indicatori spre a avea pe ce face practica si invata limbajul de programare. Unul dintre indicatorii care i-am 'inventat' atunci a fost stochasticul. Mi-am dat seama un pic mai tarziu ca eu aveam acolo exact formula stochasticului.

     

    De ce povestesc treaba asta? Pai daca un trader inca la inceput a putut concepe ideea din spatele stochasticului, asa, mai mult la misto, fara niciun fel de cunostinte speciale, pai atunci ma indoiesc ca exista vreun fel de edge in spatele acestui indicator.

     

    In orice caz, daca doresti sa studiezi cu adevarat indicatorii trebuie in primul si primul rand sa studiezi formulele din spatele lor. Doua link-uri care explica foarte bine formulele sunt http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:relative_strength_in si http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:stochastic_oscillato

     

    RSI-ul modeleza o relatie intre cresterea medie pe ultimele bare si scaderea medie pe ultimele bare. Daca iti poti imagina 3/3 ca fiind 100% poti sa iti imaginezi apoi usor cam cum merg si numerele RSI: cand cresterea medie per bara reprezinta 2/3 din crestere medie+scadere medie iar scaderea medie reprezinta 1/3 RSI-ul va arata 66% (2/3) Cand cresterea medie reprezinta 1/3 din crestere medie+scadere medie RSI = 33%. Cand crestere = scadere RSI = 50%.

     

    Stochasticul apoi iti arata unde e close-ul actual in canalul descris de cel mai mare high si cel mai mic low al ultimelor bare (acel 14 din 14,3,3). Suna bine la prima vedere. Cu cat close-ul este mai aproape de high-ul maxim cu atat perechea e mai supra cumaparata. Cu cat e mai aproape de low, cu atat e mai vanduta. E cam simplu totusi ca sa fie adevarat nu? Problemele sunt clare. Una la mana, faptul ca pretul curent de close e foarte jos acum nu inseamna nimic. Doar low-urile trebuie sa sa stabileasca si ele cumva nu? Iar a doua la mana, fiindca barele sunt in continua miscare uneori nivelele de high sau low care erau relevante pe bara trecuta nu mai sunt relevante pe bara curenta. Luand asta in considerare iti poti deci seta stochasticul cam pe orice bara in asa fel incat sa iti arate exact ce rezultat doresti tu. Eu nu mi-as pune banii pe un astfel de indicator.

     

    Luate combinate, iarasi nu prea vad smecheria. Avantajul insa e ca te poti convinge foarte repede de ce nu tin. E usor sa faci un morman de backteste pe cei doi indicatori. Nu cred sa fi rulat vreodata ceva de genul insa sunt convins ca nu gresesc daca spun ca iti va trebui un morman de rulari spre a gasi o combinatie care sa scoata profit. Dupa atatea rulari insa varianta aia probabil ca era oricum obligatoriu sa existe macar la noroc.

     

    Ce faci deci apoi? Pai optimizezi pe o perioada din istoric si apoi rulezi pe o alta. Out of sample testing, no? Aici deja ma indoiesc ca vei mai fi capabil sa gasesti o combinatie norocoasa. Daca gasesti insa ceva ca scoate profit chiar si pe acest out of sample testing tot nu ai o strategie sigura pe mana caci daca nu intelegi relatia de cauzalitate degeaba ai gasit tu corelatia profitabila pe istoric intre indicator si charturi.

     

    Oricuma ai da-o deci eu zic ca iti va fi aproape imposibil sa gasesti ceva profitabil pe real si pe termen cat de cat lung folosindu-te numai de indicatorii astia. Si daca mai adaugi inca cateva chestii tehnice relativ standard la cei doi indicatori tot nu cred ca vei scoate cine stie ce. Pentru a capata un edge ai nevoie de o analiza cat mai deosebita si mai riguroasa - nu dupa forumuri inspirata - si eventual de ceva concepte discretionare pe care apoi sa le folosesti ori pentru a complementa strategia ori pentru a o corecta atunci cand incepe sa o ia catre groapa.

    • Upvote 1
  18. Perfromanta contului dupa 4 saptamani de trading in formatie completa (03.06->28.06)

     

    post-3657-0-38721000-1372508645_thumb.png

     

    Bogdan_rex a fost scos din fond

     

    Pe motiv de nerespectare a limitelor de risc si de atingere a drawdown-ului maxim permis Bogdan_rex, metaforic vorbind, a fost concediat. Performanta lui in cadrul contului este luata in calcul in graficul de mai sus si va fi luata in calcul si in postarile viitoare. Sper sa gasesc timp sa modific formula de calcul pentru a lua in considerare si acest 'withdraw' al lui Bogdan. Am salvat performanta contului sau in format JSON si o atasez aici pentru referinte ulterioare. Tehnic vorbind contul inca este conectat la myfxbook si inca este vizibil mie si lui Stefan. Nu cred ca se pune problema reactivarii lui. L-am lasat insa acolo pentru referinte ulterioare.

     

    bogdan_rex.txt

     

    livium si slg sunt acum traderi seniori

     

    La propunerea lui johnbull traderii cu cea mai buna performanta in fond isi castiga acest titlu. Cu el vine libertatea mai mare de alegere a riscului si puterea de a forma directia in care fondul se indreapta prin propuneri de excluderi de useri sau schimbari de regulament.

     

    dirzuandreiovidiu si oltciter nu mai sunt traderi seniori

     

    Tot la propunerea lui johnbull traderii seniori cu performante slabe sunt scosi din acea lista. Sper sa nu fie cu suparare, insa cred ca omul avea dreptate cand spunea ca nu poti sa ai pretentia de a le atrage celorlalti atentia la greseli cand tu insusi nu ai un cont tocmai verde. Va rog de asemnea sa aveti grija la risc conform regulamentului.

     

    Note

     

    Sunt constient ca probabil eu sunt cam singurul de pe aici care stie exact ce scrie in regulamentul ala si ca probabil tot eu sunt singurul care are habar de treaba cu ierarhia si traderii seniori. Poate insa ca odata cu trecerea timpului si reciclarea anumitor pozitii sau roluri in fond (mai ales cea de trader obisnuit, pe masura ce conturile merg in jos) cei care vor ramane pe pozitii vor fi ceva mai dedicati cauzei.

     

    Eu n-am timp sa fac toata ziua pe politistul.pe aici. Voi intra si mult mai rar pe timpul verii pe vamist. Pot sa vin in weekend-uri sa mai postez un chart, sa mai fac o modificare tehnica, insa in rest fondul ar trebui sa se autoguverneze.

     

    Cei care aveti profit sau care sunteti in pozitii de trader senior va rog sa va implicati atat cat puteti in organizarea fondului. Daca apar incalcari de regulament supuneti la vot excluderea traderului. Daca se doresc schimbari de regulament purtati o discutie pe tema asta. Daca o majoritate se iveste regulile vor fi ajustate.

     

    Cumva nu ma surprinde, insa in mod cert ma dezamageste acest nivel general de apatie si lipsa de implicare. In primele zile era bucurie mare, posta lumea analize, nu-mi venea sa cred ca treaba asta chiar se pune in miscare. Acum dupa vreo luna, numai cativa au profit, cativa sunt cam inactivi, iar restul merg cam in graba catre faliment. N-am vazut initiative de a reduce riscul la un nivel cat mai mic spre a proteja contul, n-am vazut postari pe forum in care sa se discute greselile facute, n-am vazut cam nimic productiv. E chiar pacat. Daca o tinem tot asa unde vom fi pe la sfarsitul verii? Vom mai fi?

    • Upvote 1
  19. Cand scriam pe aici mai mult imi placea sa ma leg tare de psihologie. Era problema cu care ma confruntam la vremea aia si mi se parea ca daca reusesc sa imi stapanesc emotiile si sa devin cat mai rece atunci profitul va urma si el. Am scapat insa pana la urma de treaba cu emotiile si am invatat sa ma detasez si ce sa vezi indiferent de cat de emotiv sau rece am fost profitul tot pe acolo a ramas.

     

    Risk management? Auto control al emotiilor? Importante, nu zic nu, insa odata capatata ceva experienta astea se rezolva imediat. Ce iti trebuie mai departe e o strategie ori metoda de trade care sa mearga. Un sociopat cu doctorat in matematica nu va face profit daca nu stie cum se va misca piata pe o oarecare perioada de timp in viitor si daca nu stie cum sa profite de miscare.

     

    Sunt intr-o oarecare masura de acord cu ce zice EdisonFx. Un incepator trebuie sa o ia usor usor ca sa inteleaga mai intai cum merge treaba, sa inteleaga de ce pierde sau castiga bani, sa inteleaga cum sa se autocontroleze si asa mai departe. Odata trecute insa aceste hopuri scopul trebuie sa fie in mod obligatoriu dezvoltarea si/sau mentinerea unei strategii profitabile. De aici incolo nu mai sunt de acord cu ce zice EdisonFx. De aici incolo profitul poate veni de oriunde. Poate veni din analiza fundamentala smechera si tranzactii pe termen lung si poate veni din scalping pe termen scurt cu profituri de cativa pipsi. Daca unul nu intelege cum poate face altul profit printr-o metoda aparent diametral opusa asta nu inseamna ca unul e mai destept sau idiot ca altul. Smecheria e sa ai profit la sfarsitul zilei.

     

    Cu toate acestea insa, eu unul tot as zice ca mai degraba faci profit pe termen scurt decat pe termen lung. Argumentele vin atat pe parte de matematica cat si pe parte de anecdote. Tin minte ca citeam acum ceva timp o carte de introducere in high frequency trading. Acolo erau citate cateva research papers in ceea ce priveste ipoteza pietelor eficiente si a random walk-urilor si ce sa vezi, pe graficul daily aproape toate instrumentele testate atingeau acea definitie de eficienta, pe cand pe graficele de frecventa mai mare gen M15 sau H1 piata era mult mai putin eficienta. Cu alte cuvinte concluziile sunt ca pe frecventa mica (D1) nu exista oportunitati de profit insa pe frecventa mare (M15) da.

     

    Pe parte de anecdote iarasi zic eu ca e usor de vazut de ce profitul pe tf-uri mici e mai usor de obtinut. Cel mai simplu si relevant exemplu il reprezinta miscarile fundamentale surprinzatoare care au loc tot timpul. De fiecare data cand vorbeste cate un Ben sau un Draghi piata o ia razna. Uneori trendul se schimba. Apoi din cand in cand mai vine cate un weekend precum cel in care cipru aproape ca a intrat in faliment si indiferent de analiza facuta nu stiu cand si nu stiu cum piata se schimba. Ei, cum naiba poate cineva prezice cu doua trei saptamani inainte ce va fi sau cand va fi cate un astfel de eveniment. Nu poti si orice analiza - mai ales tehnica - o da in bara cand astfel de black swan-uri micute apar de nicaieri. Te poti evident apara de astfel de evenimente prin sl-uri super largi si target-uri pe termen lung foarte mari. Cati insa au conturi pentru astfel de pozitii? Si cati au cu adevarat puterea de a prezice unde va fii piata peste 6-12 luni? Iti dai seama cate evenimente trebuiesc luate in calcul si prezise? Se chinuie economistii de cand se stiu sa prezica ratele de schimb pe termen lung si n-a reusit nimeni pana acum ceva serios. O reusi vreun trader cu leverage mare si cont de cateva cifre sa reuseasca?

    • Upvote 2
  20. Din The Economist, niste link-uri catre comentarii economice legate de Ben Elicopterul si planul lui de zbor. TODAY'S recommended economics writing:

     

    Trans-Atlantic trade and its discontents (New York Times)

    Bernanke and markets (Alphaville)

    A potentially tragic taper (Paul Krugman)

    Global monetary policy and the Fed (Stephanie Flanders)

     

    Offtopic

    Livium, imi pare rau ca ai luat mesajul meu ca pe o insulta, chiar nu era asta scopul meu.

     

    PRO TIP: Data viitoare cand ti se pare ca ceea ce un trader iti explica sunt chestii pe care le cunosti deja si care sunt mult sub tine, nu te simti ofensat, ci simte-te avantajat. Vei tranzactiona la un moment dat impotriva acelui trader si fiind mult mai informat ca el tu vei fi cel care va iesi pe profit si ii vei lua banii. (asta bineinteles daca nu cumva ti-ai supraestimat initial abilitatile)

  21. Pai nu se bate nimic cap in cap...

     

    Daca tu vrei sa cumperi ceva care stii sigur ca va costa mai mult peste 72 ore si 30 de minute si nu doar tu ci toata lumea stie ca va costa mai mult decat costa azi, ce ai sa faci? Ai sa astepti 72 de ore si 29 de  minute inainte de a cumpara obiectul spre al vinde un minut mai tarziu sau vei cauta sa intri in posesia obiectului cat mai repede spre a te asigura ca nu vei fi lasat la urma? Chestii de clasa intai pe bune. Daca toata lumea e sigura ca ceva va fi mai scump maine pretul va fi mai scump azi si maine va stagna (in ceea ce priveste instrumentele speculative cel putin). Deci e normal ca nimeni sa nu astepte un an cat crezi tu ca ar trebui asteptat.

     

    Apoi QE nu va disparea peste un an. Va disparea in trepte urmand sa fie redus total pe la jumatatea anului urmator. Asta depinde insa si de alte date economice. Daca economia sta pe loc s-ar putea sa vedem QE pentru ceva mai mult timp. Daca economia merge qe-ul va disparea treptat. Ce va fi insa peste o luna, doua, trei etc nu stiu sa iti zic si aproape nimeni nu stie. Ideea e ca am avut un fomc asa cum l-am avut si pretul nu a reactionat deloc surprinzator. Daca peste o saptamana pretul va fi in ala directie, vom discuta atunci care-i treaba. Decomadata asta avem.

     

    Si apropo reactiile astea exista in piata inca decat a inceput Ben misiunea de salvare. E cum spunea cineva una dintre marile ironii ale politicii monetare americane. Cand Ben zice ca economia creste bursa scade. Cand Ben zice ca economia sta prost bursa creste. Asta se intampla inca de prin 2009-2010. S-au distrat alde Zerohedge cu glume pe seama asta pana n-au mai putut.

  22. In legatura cu tranzactiile luate in masa pe AUDUSD, chiar nu a luat nimeni in considerare statementul FOMC si discursul lui Ben? Astea nu-s niste anunturi de duzina peste care sa va aruncati ochii in forexfactory si apoi sa va intoarceti pe grafic la linia de trend si nivelul de suport. Astea-s genul de evenimente care fac trendul. Trendul ala pe care il prinde apoi vreun indicator sau altul cand deja vreo 50-60% din el s-a consumat.

     

    In cazul AUDUSD erau doua posibilitati. Ori mesajul din partea fed atat pe parte de economie cat si pe parte de reducere QE era ceva mai neutru/ambiguu caz in care dolarul ori scadea ori statea pe loc si deci nu va lua ordinul pending (evident analiza putea ramane valida in sensul ca pretul se putea intoarce la pending)  ori daca mesajul era asa cum a si fost defapt si anume ceva mai putin pesimist si cu mentionare de reducede QE era evident ca dolarul se va aprecia masiv.

     

    Decizia cea mai sigura aici era evident de a anula ordine buy limit ori sell limit deasupra sau sub pretul de dinainte de QE spre a nu va trezi dezbracati in fata uraganului. Un joc speculativ simplu ar fi fost plasarea de ordine buy/sell stop deasupra si dedesupt spre a face surf pe uragan atunci cand miscarea s-ar fi produs. Nu zic ca de ce n-ati pus ordine stop. Stiu ca jocul speculativ arata mereu bine dupa fapt. Dar macar asigurarea capitalului prin anularea ordinelor limit tot s-ar fi putut face.

     

    Va recomand sa participati ceva mai mult in topicul celalalt despre fundamente: http://forum.vamist.ro/topic/3950-news-wire-research-house/ Puneti intrebari dati-va cu parerea etc. Ma surprinde sa vad ca nimeni nu participa cu comentarii pe parte de stiri si evenimente importante. In afara de wolf cu ~2% nimeni nu e peste zero in momentul de fata. Ceva lipseste, no?

×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.