Archive for July, 2008

Kaip Amibrokeryje sujungti skirtingu mėnesių ateities (futures) kontraktus?

Problema ta, kad ateities sandorių trukmė yra fiksuota, todėl kas kelis mėnesius reikia įvesti naują simbolį ir užsikrauti naujus duomenis. Problemos nėra jei pasirenkame 5 min. grafiką. Tačiau persimetus į vienos valandos ar vienos dienos peržiūrą iškyla problema, nes trūksta istorinių duomenų daugeliui indikatorių. Todėl turėjau dvi duomenų bazes – vieną naudojau 5 min. grafikams, kitą dieniniams grafikams formuoti.
Bet šiandien trenkė išganinga mintis – o kodėl nepasinaudoti Symbol->Merge funkcija ir neapjungti kelių mėnesių duomenų? Voila, turiu vienoje bazėje istorinius duomenis ir galiu elegantišku pelės mygtuku iš 1 min. grafiko persijungti į dieninį grafiką.

Comments

Gold/Oil ratio

Šį rytą beskaitinėdamas įvairius blogus, atradau tokį Gold/Oil koeficientą. Formulė labai paprasta:
Gold-Oil Ratio = Price of Gold (per oz.) / Price of Crude Oil (per barrel)
Teko nemažai sugaišti laiko, kol iškapsčiau istorinius aukso ir naftos duomenis ir sukompiliavau štai tokį grafiką:


Rekomenduojama pirkti auksą, kai koeficiento reikšmė mažiau nei 8 (apatinė raudona linija), o parduoti esant vertei > nei 20. Šiame grafike duomenys pateikti tik iki 2008-03. Pagal šios dienos kainas, koeficiento vertė lygi 7,46 = 921.6/123.42 (artimiausių mėnesių ateities sandorių kainos). Dar statistikos:
Min. = 6.7
Max. = 35.4
Mean = 15.24

Atradus tokį koeficientą, iškilo klausimas: o koks koreliacijos koeficientas, nes norint remtis Oil/Gold ratio reikia nemažos koreliacijos. Nustebino, nes koreliacija yra gan didelė: 0.82 (max yra 1, min yra -1 (negatyvi koreliacija)). Tada pasibraižiau tiesinės regresijos grafiką ir susiradau formulę, kaip kinta naftos ir aukso kainos, priklausomai nuo koreliacijos.



Intercept 138.5938 Std.Err: 7.4059 t-value: 18.7140
Slope 7.8591 Std.Err: 0.2499 t-value: 31.4443

Taigi, paprastai tariant galiam užrašyti:
Aukso kaina = 138.59+7.85*naftos kaina. Pagal naftos kaina, aukso vertė šiai dienai turėtų būti: 138.59+7.85*123.42 = 1107.43

Pirkti auksą vien remiantis šiais skaičiavimais nerekomenduoju. Antrame grafike matosi, kad kainos juda aplink raudoną liniją, todėl gali būti nukrypimų.
Bet šitie duomenys gali būti panaudoti arbitražui, bet apie tai kitą kartą, jei kam nors dar įdomu ;)

Comments

R Language, quantmod

Manau, kad šio blogo skaitytojų ratas yra labai ribotas, nes rašau pagrinde apie techninę analizę. Šis įrašas tikriausiai bus įdomus dar mažesniam skaitytojui ratui – kalba eis apie statistinį paketą R Language. Tai open source programinė įranga, skira statistiniams skaičiavimams ir grafiniams jų atvaizdavimams. Bet svarbiausia, kad šita programinė įranga turi labai daug papildomų paketų – pradedant nuo bio-pramonei iki portfelio optimizavimui skirtų paketų.
Bell Labaratories darbuotojai sukūrė “S Language” programavimo kalbą skirtą vien statistinėms problemoms spresti, o vėliau Ross Ihaka ir Robert Gentleman įgyvendino open-source “S Language” versiją. Įdomu tai, kad “R Language” yra komandinės eilutės produktas (visos užduotys įvedamos komandų pagalba, jokios visualizacijos), todėl jei dievinate Linux sistema – pamilsite ir “R Language”.

Šį kartą norėčiau pristatyti quantmod paketą, kuris skirtas treideriams. Šis paketas leidžia labai paprastai atsisiųsti akcijų duomenis iš yahoo, google, oanda arba juos užkrauti iš CSV tipo failų. Kai turime duomenis R aplinkoje, galime juos atvaizduoti, suskaičiuoti nuokrypį, koreliaciją su kitomis akcijomis ir t.t. Pvz.

> getSymbols(“CSIQ”,src=”yahoo”)
Nusiunčiam užklausą į Yahoo ir paprašom tokios kompanijos duomenų kaip Canadian Solar Inc.
[1] “CSIQ”
> barChart(CSIQ)
Paprašom grafinio kainos atvaizdavimo
> addRSI()
Plius pridedam RSI grafiką ir turim tokį rezultatą:


Jei reikia savaitinių kainų, rašom:

> barChart(to.weekly(CSIQ))
> addRSI()

Kokia buvo mėnesinė grąža:

> periodReturn(CSIQ)
monthly.returns
Sau 2007 0.06284153
Vas 2007 0.01551095
Kov 2007 -0.12398922
Bal 2007 0.09230769
Geg 2007 -0.10516432
Bir 2007 -0.01364113
Lie 2007 -0.04361702
Rgp 2007 -0.11123471
Rgs 2007 0.18147685
Spl 2007 0.17266949
Lap 2007 0.42005420
Grd 2007 0.79071247
Sau 2008 -0.34351687
Vas 2008 0.02543290
Kov 2008 0.10290237
Bal 2008 0.30956938
Geg 2008 0.45085860
Bir 2008 0.01208764
Lie 2008 -0.35158000

Ar reikia papildomo įrankio techinei analizei? Jei Jums užtenka to ką turite – ne. Mano problema buvo ta, kad mano TA paketas negali užsikrauti duomenų iš duomenų bazės, kurioje yra 3 metų duomenis, 5 min. tarpais, kurie skirti sistemų testavimui. Reikia nepamiršti, kad “R Language” programinė įranga skirta statistiniams skaičiavimams, o TA – tik papildas.
Pilnas quantmod funkcijų aprašymas čia.

Comments

Knyga – When Genius failed:The Rise and Fall of Long-Term Capital Management

When Genius failed:The Rise and Fall of Long-Term Capital Management by Roger Lowenstein
Buvau negatyviai nusiteikęs prieš pradedant skaityti šią knygą, nes maniau, kad tai daugiau popsinė knygutę apie finansus ir LTCM hedge fondą, kuriame darbavosi keli Nobelio premijos lauretai.
Dabar gi – nesigailiu perskaitęs.

Salomon Brothers arbitražo skyriaus vadovas priverstas palikti banką. Po kurio laiko jis įsteigia LTCM fondą ir pasikviečia geriausius Salomon Brothers arbitražo skyriaus darbuotojus. Pirmi mėnesiai buvo sunkūs dėl sunkumų ieškant investuotojų. Bet įvykus lūžiui, fondas pradėjo diktuoti savo sąlygas – bankai jam skolindavo pinigus labai palankiom sąlygom, o išvestiniams sandėriams net neprašydavo užstato. Tokiu būdu fondas galėjo pasididinti riziką arba petį (leverage) kiek norėjo.
Kelis metus iš eilės fondas net neturėjo nuostolingų mėnesių – tai paskatino fondo valdytojus dar labiau rizikuoti. Ironiška, bet krizės išvakarėse fondo valdytojai priverstinai investuotojams liepė atsiimti įnašus ir sumokėjo jiems uždirbtą pelno dalį. Tokiu būdu valdytojai pasididino valdomo kapitalo dalį fonde, o tuo pačiu petį (leverage). Jau krizės metu, nuosavo ir pasiskolinto kapitalo santykis buvo 1:100.

Beje, fondo valdytojai praradę krūvą pinigų, vėliau sėkmingai įkūrė kitą fondą ir net pritraukė kelis buvusius investuotojus.
Įvertinimas: 9/10

Comments (2)