Koodinimi Alpha
6.10.2012 | Kohti taloudellista riippumattomuutta
Olen kaikessa hiljaisuudessa työstänyt yhdessä Toni Karhun kanssa sijoitustyökalua, joka tukee käyttämäni sijoitusstrategian toteutusta. Työkalu on yhä keskeneräinen, mutta kaikkein tärkeimmät toiminnot ovat jo täysin käytettäviä ja siten uskallankin nyt julkisesti näyttää ensimmäisen version siitä mitä olemme saaneet aikaiseksi.
(Screenshot työkalusta. Klikkaa suuremmaksi.)
Työkalu rakentuu osakkeiden fundamentti- ja hintatietojen päälle. Käyttämämme tietokanta kattaa tällä hetkellä noin 10.000 osakkeen tiedot Euroopan ja Pohjois-Amerikan markkinoilta. Tietoa on useiden vuosien ajalta ja koostamamme tietokanta onkin varsin massiivinen. Sen hallinnointiin olemme puolestaan kehittäneet eri työkalun, jonka avulla voimme helposti päivittää osakkeiden tiedot sitä mukaa kun kvartaalituloksia jne. raportoidaan. Hintatietokanta pitää puolestaan sisällään osakkeiden hinnat päivätasolla.
Näin massiivinen tietomäärä antaa itse asiassa lukuisia erilaisia mahdollisuuksia. Tässä vaiheessa olemme keskittyneet työkalun toteutuksessa omien tarpeidemme täyttämiseen. Omalla kohdallani yksi tärkeimmistä onkin ollut saada aikaiseksi henkilökohtainen "testilaboratorio", missä pystyn backtestaamaan erilaisia sijoitusstrategioita, sekä tutkimaan eri tutkimuksissa tunnistettujen ylituottoa antavien menetelmien toteuttamista yhdistettynä muihin strategioihin. Saattaa kuulostaa monen korvaan monimutkaiselta, mutta erilaisten strategioiden tutkiminen on lähellä sydäntäni. Se on kieltämättä haastavaa, mutta myös hyvin mielenkiintoista.
Toteuttamamme backtestaustyökalu laskee strategian tuoton annetulta ajalta, piirtää siitä graafin, näyttää salkkuun kuuluneet osakkeet ja laskee erilaiset tunnusluvut, kuten annualisoidun tuoton, keskihajonnan ja betan. Toki myös jokin indeksi olisi mahdollista piirtää graafin viereen vertailun vuoksi.
(Screenshot ajetusta backtestauksen tuloksista. Klikkaa suuremmaksi.)
Tässä vaiheessa olemme jakaneet työkalun toiminnot kahteen osaan, joista ensimmäinen on tarkoitettu käytetyn strategian mukaisten osakkeiden haarukointiin ja toinen strategioiden tutkimustyöhön backtestaustyökalun muodossa. Alla oleva tietokanta mahdollistaa jatkossa vaikka oman portfolion luonnin palveluun, jolloin se voisi automaattisesti pitää kirjaa salkun tuotosta, laskea sille erilaisia tunnuslukuja (esim. keskihajonta, beta, TWR) jne. Vain mielikuvitus on rajana.
Työkalussa on useita eri tapoja hakea osakkeita. Yksi näppärä keino on käyttää hakua osakkeen nimellä silloin kun on vaikka tarvetta tarkastella mielenkiintoisen osakkeen tilinpäätöstietoja. Työkalu osaa automaattisesti ehdottaa sellaisia osakkeita joiden nimestä löytyvät syötetyt kirjaimet. Alla esimerkkinä listaa niistä osakkeista joiden nimestä löytyy sana auto.
(Esimerkki työkalun hausta osakkeen nimen perusteella.)
Osakkeen valinnan jälkeen tärkeimmät fundamenttitiedot ilmestyvät suoraan ruudulle ja niistä on mahdollista porautua tonkimaan tietoja vielä syvällisemmin. Tuplaklikkaus listalla aukaisee ikkunan, jossa yhtiön fundamenttitietoja on mahdollista tarkastalla vielä tarkemmin. Tiedot pitävät sisällään kuvauksen yhtiöstä, sen taloustilanteesta, analyytikoiden EPS ennusteen seuraavasta tuloksesta, taseen, tuloslaskelman ja kassavirtalaskelman. Tietoja on mahdollista tarkastella vuosi ja kvartaalitasolla.
(Osakkeen tarkempien fundamenttitiedojen katsominen. Klikkaa suuremmaksi.)
Osakkeita on toki mahdollista haarukoida myös muilla tavoilla. Yleisin on valita omaa mieltymystä vastaava strategia (esim. Piotroski) ja asettaa raja-arvot (minimi market-cap, maanosa tai pörssi, haluttujen yhtiöiden toimiala jne). Esiin valikoituvat suoraan osakkeet, jotka täyttävät annetut ehdot. Listalla myös näkyvät osakkeiden tärkeimmät fundamenttitiedot kuten Piotroski F-score, P/B, P/E, ROI, ROE, ROA, Earnings yield, P/S, P/CF, osinkotuotto, liikevaihdon kasvuprosentti, current ratio, quick ratio ja monia, monia muita.
Hakuja voi toki tehdä myös ilman strategiavalintaa käyttämällä muita raja-arvoja, esim. hakea kaikki USA:ssa listatut lentoyhtiöt joiden markkina-arvo on yli miljardi. Kaikki listauksessa tulevat fundamenttitiedot on mahdollista lajitella ja sarakkeet voi myös järjestellä uudelleen.
Oikein käytettynä tämä työkalu on hyvin tehokas ja se helpottaa sijoitusstrategian toteuttamista. Se vaatii kuitenkin sen, että käyttäjä todella tietää mitä on tekemässä. Kokemattoman sijoittajan käsissä työkalulla on mahdollista saada aikaan nopeaa taloudellista tuhoa.
Työkalun toteuttaminen on vaatinut enemmän työtä ja vaivaa kuin alunperin ajattelin. Osittain tämä johtuu datan tarjoajasta jota käytän, mutta suurimmaksi osaksi siitä, että tällaisen järjestelmän rakentaminen vaatii yllättävän monia sellaisten ongelmien ratkaisemista, joita ei tule aluksi edes ajatelleeksi. Muutamana esimerkkinä mainittakoon vaikka osakkeiden splittien huomioiminen ja se, että yhtiön fundamenttien raportointivaluutta voi olla eri kuin se millä osake noteerataan.
Koska toteutus on tosiaan vaatinut sievoisen summan verta ja hikeä olemme Tonin kanssa yhdessä miettineet voisiko tällaiselle työkalulle olla kysyntää myös muilla sijoittajilla. Työkalua kun on mahdollista viedä moneen eri suuntaan. Nyt se lähinnä täyttää vain omat tarpeeni. Tämän johdosta olemmekin miettineet pienimuotoista maksullista beta versiota hyvin rajatulle käyttäjäryhmälle, jonka pohjalta kehittäisimme sitä eteenpäin. Samalla myös selviäisi se olisiko tällaiselle palvelulle oikeasti sellaista kysyntää, että sitä kannattaisi ylipäätänsä pyörittää muuhun kuin omiin tarpeisiin.
Mikäli olet valmis antamaan kehitysideoita, sietämään alkuvaiheen bugeja, erityisesti käyttämään palvelua paljon ja maksamaan siitä vielä parikymmentä euroa kuukaudessa, niin ole yhteydessä sähköpostitse. Käyttäjämäärä rajataan tässä vaiheessa pieneksi (enintään 10 henkilöä) ja työkalun tulevaisuus katsotaan palautteen perusteella. Jo pelkästään se jollei kovin montaa halukasta käyttäjää löydy kertoo yleisestä tarpeesta paljon.
Teknologiafriikeille kerrottakoon, että front-end on toteutettu HTML5 + JavaScript (mm. jQuery) yhdistelmällä ja back-end Java + JPA + MySQL ratkaisulla. Kommunikointi tapahtuu REST rajapinnan lävitse ja front-end saa back-endiltä tiedot JSON:ina.
Lopuksi haluan vielä kiittää Helsinki Capital Partnersin poikia, joiden kanssa käymäni keskustelun pohjalta työkalu sai lopullisen pikku tönäisyn ja koko projekti lähti liikkeelle.
Alla vielä lyhyt nauhoittamani video screenaustyökalun toiminnasta käytännössä.