Archive for quant

Keičiasi indeksų sudėtis

http://vz.lt/rss/straipsnis/2009/12/18/Birza_keicia_indeksu_OMX_Baltic_Benchmark_ir_OMX_Bal2

Įtariu, kad niekas nebandė aiškintis, kaip akcijos grąžą ir apyvartą įtakoja akcijos įtaukimas į OMX indeksus. Tuo tarpu JAV gerai žinomas faktas, kad įtraukus akciją į S&P500 indeksą, apyvarta, kainos svyravimai? ir kaina išauga. Priežastis paprasta – indeksą atkartojantys fondai, pensijų fondai ir pan., privalo užsipirkti naujokų akcijų, o nurašytas-parduoti.

Klausimas – o kaip su OMX indeksais? Atsakymas – logiškiausiai būtų palaukti dar 10 metų, nes indekso gyvavimo istorija per trumpa, nėra išvestinių instrumentų, kurie atkartotų indeksą (nepasant to, kad prieš porą metų, su fanfarais buvo pristatyti tiek ateities sandoriai tiek pasirinkimo sandoriai, kurie mažmeninėje prekyboje tikriausiai neegzistuoja). Taip pat neturime nei vieno pasyvaus investicinio fondo, kuris atkartotų indekso grąžą (Lietuvoje tikriausiai visi yra finansų specialistai ir visi gali uždirbti didesnę grąžą nei pasyvus investicinis fondas…).

Comments (4)

Kaip elgiasi Baltijos biržos?

Pirmi du grafikai rodo kokia suminė grąža būtų, jei investuojama būtų tik tam tikrom savaitės dienom.
Parodžiau šiuos grafikus kaimelio investuotojams – nušvilpė. Klausia jie manęs – tai ką šitie grafikai rodo? Tikrai ne daug:)

OMXV

Photobucket

OMXT

Photobucket

Kadangi darbuojuosi “mean reverting” strategijų, nutariau pažiūrėti, o kaip elgiasi indeksas, jei tris dienas iš eilės kilo? Grąža yra paskaičiuota, jei būtų investuojama į indeksą nuo vienos iki penkių dienų.
OMXV

Photobucket

OMXT

Photobucket

Upst, rezultatai tikrai nustebino, nes tikėjausi, kad suminė grąža bus neigiama arba atsitiktinė.

Pastaba geek’ams – grąžą “nutrendinau” su log() paskutiniuose dviejuose grafikuose, kad trendas neįtakotų  rezultatų;)

Comments (6)

Go long on close and sell on open

I found a description of supposed to be profitable strategy on Bloomberg. The strategy is simple – buy S&P500 index on close and sell it on next day open.

So, I tested this claim and got nice P/L curve:

Photobucket

Yes, since 1993 this strategy has generated the profit >300%. But, neither commissions or slippage are included:)

Let’s consider 0.0007% commissions+slippage(7$ per 10000 trade). There we go:

Photobucket

Is it good? I will look for somethig better…

Comments

Ar egzistuoja koreliacija tarp S&P500 ir Batijos biržų?

Man to nustatyti nepavyko, nes OMXBB indeksas turi tik dienos uždarymo kainas. Uždarymo kainos netinka, nes OMXBB biržos užsidaro dar prieš JAV biržų atidarymą.
Sprendimas – pažiūrėti kaip į S&P500 indeksą reaguoja Lietuvos Telekomas. Naudojau TEO1L dienos atidarymo kainas, kurias vėliau, viena diena pavėlinau (lag(Open,-1)), S&P500 dienos uždarymo kainos.

Kagi, turi ganėtinai didelę koreliaciją, svyruojančią tarp 0.7 ir 0.9. Koreliacijos grafikas:

Photobucket

Comments (8)

Strategija: akcijos su dideliu vid. nuokrypiu (SD) prieš akcijas su mažu SD

Pirmas klausimas, kurį reikėjo išsiaiškiti – kokios akcijos OMX Baltic biržoje svyruoja labiausiai?
Reikalingus duomenis galima rasti kurmis.org – tikiuosi, rastos klaidos TKM ir ZMP akcijų kotiruotėse jau pataisytos. Apačioje pateikiu lentelę, kurioje yra kiekvienos akcijos vertės svyravimai nuo 2005 metų. Dėmesio, skaičiuojant vidutinį nuokrypį (SD) naudojau 150 dienų langą. T.y. nuo 2005 sausio 1d. atskaičiavau 150 dienų į priekį ir paskaičiavau SD. Tada, nuo sausio 2d. atskaičiavau 150 dienų į priekį ir vėl paskaičiavau SD. Vėliau, visus SD sudėjau ir gavau SD vidurkį su slenkančiu 150 dienų langu.

SAN1L 3.13
TKM1T 2.17
IVL1L 1.75
APG1L 1.61
ZMP1L 1.3
SAF1R 1.11
MRK1T 0.86
TVEAT 0.83
BLT1T 0.72
RSU1L 0.71
VLP1L 0.69
GRD1R 0.64
HAE1T 0.6
SFGAT 0.56
OEG1T 0.54
SRS1L 0.46
PZV1L 0.43
UKB1L 0.43
NRM1T 0.42
ETLAT 0.41
RST1L 0.4
LME1R 0.37
SAB1L 0.37
GRG1L 0.27
VNF1R 0.26
ARC1T 0.18
TEO1L 0.18
TAL1T 0.13
LSC1R 0.13
KNF1L 0.07
LJL1L 0.05

Kaip kurių akcijų svyravimų vidurkis nustebino – tikėjausi, kad bankinis sektorius svyruoja labiau. Reiktų atminti, kad kai kurių akcijų SD labai mažas, nes jų likvidumas irgi labai mažas, todėl prieš panaudojant gautus rezultatus, truputi “apvaliau”.

Taigi, sudariau du indeksus – akcijų, kurių vertės labai svyruoja:
‘TKM1T’, ‘IVL1L’,'APG1L’, ‘SAN1L’
ir akcijų, kurių vertės svyruoja mažai:
‘TEO1L’,'ETLAT’,'RST1L’,'SAB1L’
Vėliau sukonstravau du paprastus indeksus (labai svyruojančių ir nelabai svyruojančių verčių). Remiausi tokiais parametrais: visų akcijų svoris indekse yra vienodas, periodas nuo 2005m. Jei akcija kurią nors dieną nesikotiravo, grąžą tai dienai prilyginau nuliui.

Strategija: pirkti akcijas su dideliu SD, jei šių akcijų grąža per paskutines 10 savaičių buvo didesnė už grąžą, akcijų su mažu SD. Parduoti akcijas kai grąža, akcijų turinčių didelį SD,  per paskutines 10 savaičių yra mažesnė už gražą, akcijų su mažu SD.

Rezultatas
Raudona linija – akcijų, turinčių didelį SD, graža nuo 2005m. iki 2009 spalio mėn. Nupirkos ir išlaikytos.
Juoda linija – tai grąža aprašytos stategijos.
Photobucket

Rezultatas nėra džiuginantis – ši strategija didesnės grąžos neduoda. Bet vienas idomus faktas – galutinė grąža yra panaši, bet rezultatų svyravimai yra skirtingi. Jei investuotojas laikytų šias akcijas savo portfelyje, tai generuotų 20 % svyravimus, tuo tarpu jei investuotojas naudotų aprašytą strategiją – grąžos svyravimai sumažėtų iki 12,4%.  Jei investuotojas turi rinktis tarp dviejų produktų, kurių grąža yra panaši, racionalus sprendimas būtų rinktis tą produktą, kurio svyravimai yra mažesni.

p.s. Komisiniai į skaičiavimus neįtraukti.

Comments

Oil vs gas

Recently, friend of my, got investment advise from his broker – long gas, because the price of gas is very low compared to oil. The broker didn’t indicate neither profit target or stop loss…
I got hooked on the idea.

First of all, I ran linear regression on monthly prices of oil and gas from 01-12-1993 to 01-09-2009. I was skeptical about ‘oil vs gas’ idea, but after seeing this graph it became interesting. R-Square is high 0.7385. Check this out: (the prices are adjusted with log())

Photobucket

The spread between oil and gas indicates, that it was very high back in September.

Photobucket

Finally, I took two funds: USO (oil’s ETF) and UNG (gas’s ETF) to see how does it look on real time (ok ok daily) data. As we can see, in late September the spread reached a new high. The problem is, that data set is very limited and we can see only ~3 years.
Photobucket

And the last one – green stands for oil’s log(price) and blue one for gas’s log(price).

Photobucket

Comments (1)

High yield spread

Last week I had opportunity to participate at NYU, where one of the lecturers was Z-score man’s. He spent same time talking about the high yield spread as measure of the macro economy. Then spread is high (junk bonds become very cheap and Treasuries become ‘gold’) -  crisis is right here. Intuitively, it is similar to VIX index, but the way of building it is different.
To build this indicator I took Barclays Capital High Yield Bond ETF and subtracted SPDR Barclays Capital International Treasury Bond ETF to get spread. Keep in mind, that maturities of two ETF are not the same…

The result is:

Photobucket

It is useful to keep eye on it, together with VIX indicator.

Comments

First 15 min. volatility impact on the day’s volatility

One night I was hooked on this post at elitetrader. I spent couple of hours to find, that a guy is cheating a bit and he didn’t reveal his strategy. Not big deal – free lunch is rear. So, I googled about that guy and one thing catch my attention. In one of his post he mentioned about a stock volatility in the first 15-30 min. and its persistent over whole session. By the way, his new strategy relies on some magic numbers, with I suspect is kind of volatility measurement.Let’s test it.

The rules:
Get volatility of the first 15 or 30 min (1 min. bars used)
Get volatility of the day. (5 min. bars used)
Regress two results and check the correlation.

At the beginning to get volatility I used standard deviation between closing prices. The result was bizarre. So, I used a few neurons in my brain and understood, that time series are definitely non-stationary and I need something else. I decided to use a spread between high of the bar and low of the bar and standard deviation to get volatility.

Results:

Stock1
Correlation 0.798184
Residual Standard Error=0.0474
R-Square=0.6371
F-statistic (df=1, 241)=423.0905
p-value=0

Estimate Std.Err t-value Pr(>|t|)
Intercept   0.0042  0.0064  0.6606   0.5095
X           0.9452  0.0460 20.5692   0.0000

Photobucket

Stock2
Correlation 0.8830484
Residual Standard Error=0.0707
R-Square=0.7798
F-statistic (df=1, 262)=927.6893
p-value=0

Estimate Std.Err t-value Pr(>|t|)
Intercept   0.0292  0.0086  3.3704    9e-04
X           0.6868  0.0225 30.4580    0e+00

Photobucket

Summary
The correlation between first 15 min. volatility of the day and daily volatility is high.

Comments (3)

Kaip palyginti – kas geresnis? II dalis

Pirma dalis čia

Information ratio
(IR) – visai neblogas rodiklis. Veikimo principas labai panašus į Sharpe ratio. Skirtimas tas, kad skaičiuojant Sharpe ratio naudojam visą riziką ir visą gautą grąžą, o skaičiuojant IR naudojam tik tą rizikos ir grąžos dalį, kuri buvo didesnė nei pasirinktas indeksas. Šis rodiklis naudojamas norit išsiaiškinti ar fondas, investuotojas sugeba uždirbti daugiau lyginant jų darbo vaisius su pasyviu investavimu (indeksu).
Pirma problema, kurią reiks išspręsti naudojant šį rodiklį – indekso pasirinkimas. Jei investuotojas, kuris investuoja Lietuvoje arba Baltijos šalyse, norėtų pasitikrinti kaip gerai jis investuoja, nepaisant teigiamo rezultato, tada jis turėtų pasirinkti arba OMX Baltic arba OMXV (jei tik Lietuvoje) indeksus. So far so good. Sunkumų gali iškilti jei fondas ar investuotojas turi platų regionų ar strategijų spektrą. Jei pasyvaus indekso nėra, teks susikurti pačiam.
Prisimenat, kai rašiau apie Sharp ratio, minėjau, kad pagrindinė problema yra grąžos normalusis skirstinys? Naudojant IR ratio problema padvigubėja – kontroliuoti reikia ne tik lyginamo fondo ar investuotojo grąžos skirstinį, o taip pat ir indekso. Dėl pastarojo dažniausiai nekyla didelių problemų, išskyrus tuos atvejus, kai naudojama specifinė investavimo strategija. Pvz. gali būti naudojami pasirinkimo sandėriai – daug mažų praradimų, bet keli, labai didelį, pelningį sandoriai.

Jau parašius pirmą įrašą apie investavimo rodiklius, net keli skaitytojai užsiminė, kad nepaminėjau pagrindinių – Jensen’s alfos ir betos. Pastarasis tikriausiai pats populiariausias rodiklis portfelių valdymo pasaulyje, nors naudos iš jo mažai.
Paremtas šis rodiklis dviejų kintamųjų tiesine regresija. Beta rodiklis nurodo, kaip X kinta priklausomai nuo Y. Tarkime, jei S&P 500 indekso vertė padidėja 1 proc, tai Microsoft vertė padidės 1.5 proc. Taip, aš žinau, kad tai labai svarbus parametras portfelio optimizavimui, efficient frontier nustatymui ir t.t. Problema yra ta, kad beta nėra konstanta ir ji kinta kiekvieną dieną, mėnesį ir t.t. Pvz. koreliacija tarp S&P 500 ir Microsofto nuo 2003 iki 2004 buvo 0.68, nuo 2005 m. iki 2006 m. 0.75, o nuo 2008 m. iki 2009 m. 0.92. Jei beta yra maža, tai reiškia, kad akcijos judėjimas nėra paaiškinamas pasirinko indekso judėjimu ir turime ieškoti kito indekso. Kaip spręsti šią problemą? Visų pirmą užmiršti apie paprasta tiesinę regresiją ir naudoti multi-regresiją…
O kai beta yra pasirinkta, gaunama mistinė alfa. Pagrindinė idėja yra ta, kad alfa turėtų parodyti kiek fondo valdytojas ar investuotojas uždirbo daugiau prisiimdamas papildomą arba mažesnę riziką, nei pasyvus portfelis (pvz. indeksas). Vat čia ir prasideda skaičiukų žaidimas, nes alfa keičiasi priklausomai nuo betos, kuri keičiasi priklausomai nuo koreliacijos su indeksu. Alfa gali sumažėti ar padidėti dėl koreliacijos pokyčio tarp indekso (pasyvaus portfelio) ir investicinio porfelio.
Kita problema – ar investuotojas/fondo valdytojas gali išlaikyti tą pačią alfą? Tada tai būtų įrodymas, kad tikrai jis sugeba geriau investuoti, nei pasyvaus portfelio savininkas. Bet turiu tokį mažą mažą įtarimą, kad niekada taip nebuvo… dėl tų pačių skaičiukų variacijos…

Comments (1)

Kvantiniai ypatumai

Su sąlyga, kad geriausias duomenų saitas opentick užsilenkė, radau kitą: tradingphysics.com. Šitas nėra toks superinis, nes leidžia nemokamai parsisiųsti tik 10 dienų tick info.Sumokėjus 39 $ galima gauti dar 100 siuntimų, bet man tai reikia mažiausiai METŲ!

So, naudoju aš Interactive Brokers duomenų srautą. Galima parsisiųsti vienerių metų 5 sekundžių intervalo bid/ask duomenis. Bet atradau nemažai anomalijų – kartais bid būna didesnis nei ask :[    ]


Grafike pavaizduotas skirtumas tarp ask (kuris turėtų būti visada didesnis) ir bid. Taigi, viskas kas yra žemiau 0 atrodo įtartinai… Pvz. 2008 rugsėjo pabaigoje, pasak IB, galima buvo pirkti ir iš kart parduoti akciją, taip uždirbant 3 žalius…

Pirma mintis buvo – pataisysiu blogus duomenis prilygindamas ask=bid arba bid=ask. Taip panaikinamas neigiamas skirtumas, bet kaip žinoti, kada bid rodo nesamones, o kada ask? Beje, taip pataisius, testavimo rezultatai buvo truputį geresni :D

Comments (3)

« Previous Page« Previous entries « Previous Page · Next Page » Next entries »Next Page »