Poweria salkun seurantaan – Osa 1 data

poweria-salkun-seurantaanOlen varmasti yksi laiskimmista sijoitussalkun seuraajista maan kamaralla. Tai ainakin olisin, jos en blogia varten kävisi katsomassa kerran kuukaudessa, että mitä salkussani on tapahtunut. Monissa blogeissa on rakennettu näppärän näköinen salkun seuranta Google Sheetsin avulla. Esimerkiksi Kinskin (salkku) ja Osinkokuninkaan (salkku) portfoliot löydät kätevästi selaimella. Oma versioni on sen sijaan antanut odottaa itseään.

Toistaiseksi olen päivittänyt salkkuni arvon kuukausittain Exceliin, josta napsin kuvat kuukausikatsauksiin. Olen kerännyt tiedot käsin ja koska sijoituksia on neljässä eri paikassa, on tämä tarkoittanut kirjautumista neljälle sivustolle. Laiskan pulskeana possuna olen kuitenkin aina ajatellut, että on pakko olla olemassa helpompi ja automaattisempi tapa hoitaa seuranta.

Tämä on artikkelin ensimmäinen osa ja se keskittyy enemmän datan noutamiseen sekä siihen miten salkku on toteutettu. Yksinkertaistettuna esimerkkinä käytän omaa osinkosalkkuani. Artikkelista tuli suhteellisen pitkä ja yksityiskohtainen, mutta toivottavasti sen avulla voit halutessasi tehdä oman versiosi seurannasta. Varoituksena voin sanoa, että artikkeli sisältää paljon teknistä näpertelyä. Lisäksi jos aihe on jo entuudestaan tuttu, niin osa tarinasta menee varmasti kertauksen puolelle.

Artikkelin toisessa osassa salkku muutetaan taulukosta graafeiksi ja kolmannessa osassa on tarkoitus viedä salkun seuranta vielä askeleen pidemmälle.

Sijoitussalkkun seuranta

Kaikki löytämäni salkut oli toteutettu Google Sheetsin (jatkossa GS) avulla. GS:n kautta toteutetuissa salkuissa on muutama asia mistä en itse pidä.

  1. GS salkut ohjaavat lukijan pois blogin sivulta ja vievät linkitettyyn sivustoon, josta taulukko löytyy
  2. GS salkut on usein toteutettu pelkästään datariveinä ja itse tykkään katsoa kuvia
  3. En keksinyt kolmatta kohtaa, mutta täytyyhän jotain uusia mausteitakin tuoda mukaan joten oma toteutukseni on tästä johtuen hieman erilainen

Edellä mainitut ovat tietysti makuasioita, mutta halusin toteuttaa salkun seurannan omaan makuuni sopivaksi. Oma ratkaisuni on käyttää Google Sheetsiä vain datan lähteenä. Lisämausteena päätin muuttaa datan kuviksi Power BI:n  (ilmaisen version) avulla. Lisäksi Power BI mahdollistaa datan käsittelyn tavalla, johon GS ei ainakaan omilla taidoillani taivu.

Jos kaikkien yksityiskohtien lukeminen ei nappaa, niin alla oikopolut suoraan lopputuloksiin:

Salkun seurannan rakentaminen

Tutkimusretki salkun seurannan ihmeelliseen maailmaan eteni pääpiirteissään näin:

  1. Manuaalisesti osakkeiden tickerien ja kpl määrien syöttäminen GS-taulukkoon
  2. GoogleFinance -funktion avulla datan hakeminen
  3. GoogleFinance -funktion avulla valuuttojen muuttaminen euroiksi
  4. Datan täydentäminen import -funktioilla
  5. Power BI raportin rakentaminen käyttämällä GS -taulukkoa datalähteenä
  6. Raportin julkaiseminen ja päivityksen ajastus

Datan hakeminen GoogleFinance -funktiolla

Ensimmäisenä piti ratkaista se, että miten saan automaattisesti päivittyvää dataa Google Sheetsiin. Pienen selvittelyn jälkeen totesin, että helpointa on käyttää Googlefinance funktiota.

Googlefinance -funktio näyttää tältä:

GOOGLEFINANCE(ticker, [attribute], [start_date], [num_days|end_date], [interval]).

Tämä voi alkuun näyttää pelottavalta, mutta lopulta käyttö yksinkertaisimmillaan todella helppoa. Vaaditaan vain osakkeen tunniste ja päätetään mikä arvo/tieto halutaan tuoda. Valitaan vaikkapa Bank of Nova Scotia eli BNS. Jos tälle halutaan tuoda tämän hetkinen osakkeen kurssi, niin syntaksi näyttää tältä:

=GoogleFinance(”BNS”,”PRICE”).

Selkeyden vuoksi olen kirjoittanut kaavat auki, mutta varsinaisessa taulukossa kaikki on tehty soluviittauksilla, jotta kaavojen kopioiminen on yksinkertaisempaa.

Kenttien erotin riippuu siitä, minkä maan asetuksilla GS on käytössä. Itse totesin helpoimmaksi vaihtoehdoksi muuttaa käyttöön jenkkiasetukset (file -> spreadsheet settings -> locale : United States) jolloin erotin on kaavoissa pilkku ja numeraalisissa luvuissa piste. Kannattaa huomata, että esimerkin osakkeelle voidaan tuoda arvo myös Kanadan dollareissa (TSE:BNS).

GoogleFinance taipuu kurssin lisäksi esimerkiksi näihin:

  • EPS (osakekohtainen tulos)
  • PE (hinnan ja tuloksen suhde)
  • Täydellinen lista

Aloitin rakentamisen täyttämällä GS:n taulukkoon käsin osinkosalkkuni osakkeiden tunnisteet sekä omistamani kappale määrän. Sen jälkeen hain Googlefinance -funktiolla arvot taulukkoon, jolloin lopputulos näyttää tältä.

automaattinen-salkku-google-eival

Valuuttakurssit

Seuraava haaste oli valuuttakurssien käsittely. Onneksi GoogleFinance tukee myös valuuttoja. Koska olen kiinnostunut pääasiassa euroista, hain osakkeen tunnisteiden avulla valuutan koodin, jossa osake on listattu. Sen jälkeen muutin osakkeen kurssin kyseisen valuuttakurssin avulla euroiksi. Jaoin toiminnon kahteen osaan:

  1. Valuuttakoodin hakeminen
    =GoogleFinance(”TSE:BNS”,”Currency”) -> CAD
  2. Arvon laskeminen euroina
    =GoogleFinance(”CURRENCY:CADEUR”) -> 0,6764 (kirjoitushetkellä) * kurssi Kanadan dollareina

automaattinen-salkku-google

Datan täydentäminen

Oma tiedonnälkäni on tyydytetty siinä vaiheessa, kun saan määrät päivitettyä manuaalisesti ja tuotua kurssit automaattisesti taulukkoon. Tiedän, että monille tämä ei riitä alkuunkaan. Onneksi tietoja on mahdollista täydentää mistä tahansa verkkosivulta. Vaikkapa osinkotuottoprosentti voi olla mielenkiintoinen lisä ja esimerkiksi alla luetelluilla funktioilla voit hakea dataa täydentämään GoogleFinance -funktion puutteita:

  • IMPORTHTML
    (=INDEX(IMPORTHTML(”https://finance.yahoo.com/q/ks?s=BNS+Key+Statistics”, ”table”, 32),3,2))
  • IMPORTDATA
    =importData(concatenate(”http://finance.yahoo.com/d/quotes.csv?s=BNS&f=y”))
  • IMPORTXML
    ( =ImportXML(concatenate(”http://finance.google.com/finance?q=”,”BNS”), ”//td[@data-snapfield=’latest_dividend-dividend_yield’]/following-sibling::*”) )

IMPORTHTML:n avulla voidaan tuoda GS -taulukkoon kokonaisia taulukoita tai yksittäisiä tietueita. Tietue saadaan eriteltyä taulukosta index -funktion avulla kertomalla, että mikä rivi ja sarake on kyseessä. Esimerkiksi täältä löytyi lista Yahoo Financen taulukoista, joista tietoa voi hakea. Yahoon sivut ovat muuttuneet sen jälkeen, kun Quoran artikkeli taulukoista on kirjoitettu, mutta myös vanhat linkit näyttivät vielä toimivan datan haussa.

Toinen vaihtoehto tietojen hakuun Yahoosta on IMPORTDATA. Täältä löytyi lista tageista, joita sen kautta voi hakea. Käytännössä viimeisen merkin tilalle (esimerkissä y) vaihdetaan toinen kirjain esimerkiksi e, jolloin lopputuloksena on osingon sijaan osakekohtainen tulos.

En valitettavasti löytänyt tietoa siitä miten Yahoon data päivittyy, mutta jos joku on näitä enemmän käyttänyt, niin saa täydentää. Tämän testauksen perusteella en ihan täysin uskaltaisi dataan luottaa ja epävarmuutta lisäsi se, että Google Financen ja Yahoon luvuissa on pieniä heittoja. Jotain viitteitä oli siitä, että tiedoissa saattaa olla epätarkkuuksia.

IMPORTXML:n avulla voidaan hakea suoraan yksittäinen tietue. Funktiolle pitää kertoa, että miltä sivulta haetaan ja mistä kohdasta sivua. Itselleni funktion käyttö tuotti ensin hieman harmaita hiuksia, koska funktion käyttämä xpath_query ei ollut lainkaan tuttu.

Google Financen sivuilta voidaan tarkistaa, että mikä kohta sivua on kyseessä viemällä hiiri halutun kohdan päälle, klikkaamalla hiiren oikealla ja valitsemalla tarkista. Esimerkiksi osakekohtainen tulos näyttäisi löytyvän tunnisteella eps.

automaattinen-salkku-snapfield-eps

Näin Bank of Nova Scotian osakekohtainen tulos voitaisiin hakea Google Financesta (arvo löytyy tunnistetta seuraavasta kentästä):

=ImportXML(concatenate(”http://finance.google.com/finance?q=”,”NYSE:BNS”)”//td[@data-snapfield=’eps’]/following-sibling::*”)

Myös IMPORTXML:stä löytyy netistä mukavasti artikkeleita ja tässä yksi, missä oli rakennettu GS-taulukko osinko-osakkeiden seurantaan. 

Yhteenveto

Kaiken tämän jumpan jälkeen lopputulos näyttää tältä (+sarakkeet, jotka eivät mahtuneet kuvaan). Taulukon saat itsellesi liittymällä sisäpiiriin.

automaattinen-salkku-lopputulos2

En ole vielä täysin sinut kaikkien kaavojen kanssa ja jokainen import -funktio tuotti jossain vaiheessa päänvaivaa. Sama kaava saattoi tuottaa virheen yhtenä hetkenä, mutta toisena se toimi moitteettomasti. GoogleFinance -funktio oli ainoa, joka toimi koko ajan ilman virheitä. Tutkimus jatkuu ja tässä kohtaa lopputulemana on perusta jolle rakentaa – Ei Roomakaan rakennettu päivässä.

Salkun sisältö saattaa herättää intohimoja ja voin jo nyt myöntää, että valintametodit menevät kategoriaan ”ÄLÄ TEE NÄIN”. NOV ei ole enää lähelläkään osinko-osaketta eikä RDS-A myöskään vakuuta. Näistä ja muusta sijoittamisessa enemmän joskus tulevaisuudessa, mutta seuraava osa salkun seurannasta ja ohjeet graafien tekemiseen tulossa ensi viikolla.

Antoisia hetkiä askartelun parissa!

Kuulisin mielelläni mielipiteesi artikkelista esimerkiksi kommenttien kautta. Mikäli koit artikkelin hyödylliseksi, ilahtuisin jos autat jakamalla sen eteenpäin ja tykkäät sivustani P.Ohatta myös Facebookissa. Twitteristä löydät minut kätevästi nimimerkillä @RahaPohatta. Voit myös tilata tulevat artikkelit sähköpostiisi liittymällä sisäpiiriin.

14 vastausta artikkeliin “Poweria salkun seurantaan – Osa 1 data”

  1. Kiitos maininnasta! Itse olen huomannut Yahoota käyttäessä saman; data on epätarkkaa varsinkin osinko yieldin kanssa ja monesti tiedot eivät päivity. Tästä syystä käytänkin enää google financea ja siitäkin vain osakehinta ja valuutta ominaisuuksia. Loput joudun päivittämään käsin mutta sitten data on ainakin luotettavaa. Itseään saa syyttää jos menee möhlimään =)

    Meillä meni päivitykset vähän ristiin =D Vaihdoin eilen nimittäin salkun eri google tilille joten osoitekin meni uusiksi. Avasin myös kaikille nähtäväksi kaavat mitä käytän salkussani niin kaikki halukkaat voivat kopioida salkkuni ominaisuuksia. Pelkkä salkku nettisivuna (pubhtml) ja avattuna google spreadsheet ohjelmaan löytyy salkku sivultani http://www.osinkokuningas.com/p/salkku.html

    Kiitos artikkelista, siitä oli itsellekin hyötyä vaikka salkkuni alkaa olla jo aika pitkälti haluamassani mallissa. Näistä aiheesta ei ole liiemmälti näkynyt suomenkielisiä artikkeleita.

    1. Niinhän se on, mutta ihan mukava harrastus kun sille päälle sattuu. Suottaapi matkan varrella oppia jotain mitä voi sitten hyödyntää taas jossain muualla.

  2. Kyllähän noiden väsääminen ihan kivaa on 🙂 Kannattaa tutustua myös scripti mahdollisuuksiin. Esimerkiksi itse tein karvalakkimallin scriptin joka ottaa joka arki-ilta talteen salkun arvon ja tallettaa sen Historia-välilehdelle automaattisesti.

    1. Kiitos vinkistä! Itseasiassa katselin jo mitä Pasi Havia oli aikoinaan taloudelliseen riippumattomuuteen aiheesta kirjoitellut. Ehkäpä tosiaan voisi, jonkun tuollaisen värkätä, joka poimii salkun arvon talteen automaattsesti.

    2. Itsekin tein äskettäin Havian ohjeiden pohjalta automaattisesti päivittyvän graafin Google Sheetsiin. Tuntuu, että omien sijoitusten seuranta alkaa painottumaan enemmän Googlen puolelle, Excelin kustannuksella. Google Sheetsiin on paljon näppärämpi rakennella kaikenlaisia automaattisesti päivittyviä härpäkkeitä.

  3. wget:lla vain parsaa esim. Google Financen kautta osakekurssin hinnan ja redirectaa siitä tuloksen tekstifileen.

  4. Itsekin olen aina hetkittäin innostunut tästä ”automatisointi” -suunnasta. Se on kivaa sitten kun kaiken virittää, ja melko helppoa myös. Oman verkossa näkyvän portfolioni olen viritellyt ihan Googlen Sheetsin pohjalta, vielä kun laittaa taulukoihin mukaan värejä (nousua tai laskua yli 20 % jne.) ja graafeja, niin on elämä raiteillaan.

    Yksi asia mihin en ole vielä lähtenyt, on tuo säännöllinen historian talteenotto. Olisi aika kätevää jos saisi tyyliin välikatsaukset automatisoituna itselle kuukauden välein. Kiitoksia siis vinkeistä.

    Oma kokemukseni Googlesta on, että likimain kaikki onnistuu, mutta ohjeet ovat ylimalkaisia. Eli auttaa jos joku muu on postaillut miten asiaa kannattaa lähestyä.

    1. Täytyy yrittää ehtiä tutkia tuota historian talteenottamisen automatisointia. Se olisi kyllä itsellenikin mainio lisä. Kuukausittainen rahastojen ostaminen tosin hieman hankaloittaa tuota. Mutta katsotaan miten käy! Tosin yritän ensin saada tämän postauksen jälkimmäisen osan tuotettua valmiiksi.

  5. Hei! Pitää tulla kiittämään myös tästä kirjoituksesta. Sain idean itsekkin tehdä PowerBi:llä salkuseuranan ja sen perusteella löysin sivusi ja ohjeesi. Myös minun salkku on seurattavissa sivuillani.

Vastaa

Sähköpostiosoitettasi ei julkaista.