Automatisoi sijoitustesi seuranta - Graafit kuntoon!
27.11.2010 | Kohti taloudellista riippumattomuutta
(Esimerkki automaattisesti päivittyvästä graafista)
Automaattisesti päivittyvän graafin rakentaminen
Aiemmassa kirjoituksessa kerroin kuinka omien sijoitusten seurannan voi automatisoida käyttämällä Google Spreadsheetsiä. Kyseisillä ohjeilla saa pidettyä omaan portfolioon kuuluvien osakkeiden hinnat ajan tasalla ilman manuaalista näpyttelyä. Nyt annan ohjeet kuinka tämän pohjalta on mahdollista rakentaa automaattisesti päivittyvä graafi oman portfolion kehittymisestä.
Halusit sitten seurata oman sijoitusomaisuuden suhteellista tai absoluuttisen määrän kehittymistä, verrata tuottoa indeksiin tai johonkin muuhun tuotteeseen, niin tämä neuvo tulee sinulle tarpeeseen!
Päästäksesi alkuun tarvitset ensin Google Spreadsheets taulukon, jossa seuraat portfoliosi arvoa. Lue aiempi ohjeistukseni sijoitusten seurannan automatisoinnista, jos et ole tehnyt sitä aikaisemmin. Esimerkiksi oma taulukkoni näyttää seuraavalta.
Osakkeiden hinnat päivittyvät automaattisesti D sarakkeessa oleville riveille, EUR/USD kurssi soluun B12 ja näiden perusteella taulukko laskee mm. koko portfolion arvon soluun H11. Nyt rakennamme automaattisesti päivittyvän graafin seuraamaan portfolion euromääräistä kehitystä, joten keskitymme solun H11 antamaan tietoon, joka siis päivittyy automaattisesti.
Saadaksesi automaattisesti päivittyvän graafin, joka seuraa salkun arvoa tarvitsee vain tehdä seuraavat asiat:
1. Luo uusi välilehti
Aivan ensimmäiseksi luo uusi välilehti, jolle taltioida salkun arvo ja päivämäärä. Tämä tapahtuu oikealla alakulmassa olevan + -merkin kautta. Anna uudelle välilehdelle nimeksi historia ja nimeä salkkua ylläpitävä välilehti Portfolio:ksi.
Uuden välilehden A sarakkeeseen tullaan kirjoittamaan päivämäärä ja B sarakkeeseen euromääräinen arvo. Niinpä sarakkeiden tyypit kannattaa asettaa tässä vaiheessa.
2. ja 3. Salkun arvon luku ja kirjoitus
Salkun arvon lukeminen solusta, sekä sen ja päivämäärän kirjoittaminen historia -välilehdelle tapahtuu käyttämällä Google Spreadhseets skriptausta. Ymmärrän hyvin, että isolle osalle blogin lukijoista skriptaaminen tai ohjelmointi on puhdasta hepreaa, joten pyrin pitämään tämän artikkelin mahdollisimman maanläheisenä.
Tätä varten on tehtävä uusi skripti. Mene valikossa kohtaan Työkalut -> Ohjelmat -> Ohjelman muokkaustyökalu...
Ohjelman muokkaustyökalun valitsemisen jälkeen ponnahtaa erillinen koodieditori, joka näyttää seuraavalta.
Korvaa editorissa oleva koodi alla olevalla kirjoittamallani skriptillä ja tallenna se.
getRange funktion ensimmäinen parametri kertoo rivinumeron, mistä tieto luetaan. Solu H11 on rivillä numero 11. Toinen parametri kertoo puolestaan sarakkeen järjestysnumeron. Sarake A on 1, B on 2 jne. joten H sarake on arvoltaan 8. Kolmas parametri kertoo montako riviä luetaan ja neljäs montako saraketta. Nyt on tarpeen lukea vain yhden solun arvo, joten arvoksi käy molempiin 1.
Muutapa sinun ei tarvitse skriptistä ymmärtääkään. Se lukee siis arvon solusta ja kirjoittaa sen toiselle välilehdelle B sarakkeeseen. A sarakkeeseen kirjaantuu päivämäärä ja kellonaika.
Skriptin toiminnan voit varmistaa painamalla editorissa olevaa "play" näppäintä, joka ajaa sen. Ajamisen seurauksena pitäisi välilehdelle ilmestyä tarpeelliset tiedot. Jos tiedot eivät ilmesty ovat todennäköisesti välilehtien nimet väärin tai yrität lukea salkun arvoa väärästä solusta.
4. Suorita kohdat 2 ja 3 joka arkipäivä
Nyt sinulla on olemassa skripti, joka lukee salkun arvon ja kirjoittaa sen toiselle välilehdelle. Seuraavaksi automatisoidaan sen käyttö.
Skriptien automattinen ajaminen tapahtuu käyttäen ns. triggereitä eli käynnistimiä. Triggerit voi asettaa skriptieditorin Käynnistimet valikon alta valitsemalla Current script's triggers...
Esiin pompsahtaa ylläoleva kehotus, koska yhtäkään käynnistintä ei ole luotu. Klikkaa No triggers set up. Click here to add one now. -linkkiä päästäksesi asettamaan skriptin käynnistimet.
Pörssit ovat auki ainoastaan arkipäivisin, joten valitse käynnistimen tyypiksi Time-driven ja ajastimeksi Week timer. Aseta viikonpäiviksi jokainen arkipäivä yksitellen ja paina lopuksi Save tallentaaksesi käynnistimet.
Nyt sinulla on skripti, joka ajetaan automaattisesti joka arkipäivä ja se kirjaa ylös salkun arvon erilliselle välilehdelle. Ilman, että sinun tarvitsee tehdä jatkossa yhtään mitään. Nyt puuttuu enää automaattisesti piirtyvä graafi.
5. Luo graafi, joka lukee salkun arvot ja päivämäärät välilehdeltä
Salkun arvoa seuraavan graafin lisääminen on helppoa. Maalaa päivämäärä (A) ja euromäärä (B) sarakkeet uudelta välilehdeltä ja paina oikeassa laidassa olevaa Lisää kaavio... painiketta. Voit valita useista eri vaihtoehdoista itsellesi sopivan. Yksi omista suosikeistani on aikajana, josta on esimerkki artikkelin alussa. Sitä käyttäen on mahdollista rajata näkyville itseä kiinnostava ajanjakso salkusta. Lisäksi kyseiseen graafiin on mahdollista lisätä huomautuksia itselle esimerkiksi muutoksista salkussa.
Viimeistele lopuksi graafin ulkonäkö asettamalla sopivat minimi- ja maksimiarvot, piirtoviivan paksuus jne. kohdalleen (aikajana graafin kohdalla tosin ei minimiarvon asettaminen tällä hetkellä jostain syystä toimi).
Grande finale
Onneksi olkoon! Nyt sinulla on automaattisesti päivittyvä kuvaaja, joka pitää kirjaa salkkusi arvosta. Se päivittyy automaattisesti joka ikinen arkipäivä ilman, että sinun tarvitsee tehdä yhtään mitään.
Nyt käyty esimerkki automaattisesti päivittyvästä graafista on vain jäävuoren huippu siitä kaikesta mihin omien sijoitusten automatisoinnin voi viedä. Tarkoitukseni ei ole tarjota erilaisia ratkaisuja hopealautasella vaan herättää jokaisen oma mielenkiinto asiaan tavalla, jota on helppo soveltaa omaan käyttöön. Yllä olevaa ohjeistusta on helppo muokata vaikka siten, että seuraakin salkun absoluuttisen euromääräisen kehityksen sijaan sen suhteellista kehitystä. Välilehden kolmanteen sarakkeeseen voi kirjoittaa vaikka haluamansa indeksin pisteluvun samassa yhteydessä jolloin samaan kuvaajaan piirtyy myös indeksi, johon tuottoa on helppo verrata. Nämä ovat vain muutamia esimerkkejä siitä mihin automaattisesti päivittyvää graafia voi käyttää.
Hyödyntämällä skriptausta ja yhdistämällä niihin erilaisia triggereitä on mahdollista toteuttaa hyvinkin monimutkaisia toimintoja. Voit vaikka laittaa taulukon lähettämään sinulle varoitusmailin, jos osakkeen arvo tippuu nopeasti tai ilmoittamaan syntyneistä ostotilaisuuksista hamuamistasi osakkeista.
Vapauta luovuutesi! Millaisen automatisoinnin sinä haluat?
(Oma Google Spreadsheets taulukkoni)
Osakkeiden hinnat päivittyvät automaattisesti D sarakkeessa oleville riveille, EUR/USD kurssi soluun B12 ja näiden perusteella taulukko laskee mm. koko portfolion arvon soluun H11. Nyt rakennamme automaattisesti päivittyvän graafin seuraamaan portfolion euromääräistä kehitystä, joten keskitymme solun H11 antamaan tietoon, joka siis päivittyy automaattisesti.
Saadaksesi automaattisesti päivittyvän graafin, joka seuraa salkun arvoa tarvitsee vain tehdä seuraavat asiat:
- Luo uusi välilehti.
- Lue salkun arvo solusta H11.
- Kirjoita luettu arvo ja päivämäärä toiselle välilehdelle.
- Suorita kohdat 2 ja 3 joka arkipäivä.
- Luo graafi, joka lukee salkun arvot ja päivämäärät välilehdeltä.
1. Luo uusi välilehti
Aivan ensimmäiseksi luo uusi välilehti, jolle taltioida salkun arvo ja päivämäärä. Tämä tapahtuu oikealla alakulmassa olevan + -merkin kautta. Anna uudelle välilehdelle nimeksi historia ja nimeä salkkua ylläpitävä välilehti Portfolio:ksi.
(Luo uusi välilehti + -painikkeella)
Uuden välilehden A sarakkeeseen tullaan kirjoittamaan päivämäärä ja B sarakkeeseen euromääräinen arvo. Niinpä sarakkeiden tyypit kannattaa asettaa tässä vaiheessa.
(Sarakkeen tyypin asettaminen)
2. ja 3. Salkun arvon luku ja kirjoitus
Salkun arvon lukeminen solusta, sekä sen ja päivämäärän kirjoittaminen historia -välilehdelle tapahtuu käyttämällä Google Spreadhseets skriptausta. Ymmärrän hyvin, että isolle osalle blogin lukijoista skriptaaminen tai ohjelmointi on puhdasta hepreaa, joten pyrin pitämään tämän artikkelin mahdollisimman maanläheisenä.
Tätä varten on tehtävä uusi skripti. Mene valikossa kohtaan Työkalut -> Ohjelmat -> Ohjelman muokkaustyökalu...
(Ohjelman muokkaustyökalun sijainti valikossa)
Ohjelman muokkaustyökalun valitsemisen jälkeen ponnahtaa erillinen koodieditori, joka näyttää seuraavalta.
(Editori)
Korvaa editorissa oleva koodi alla olevalla kirjoittamallani skriptillä ja tallenna se.
function addResult() {Jos käytät jonkun muun nimisiä välilehtiä kuin Portfolio ja historia, niin vaihda ne vastaavasti riveille 3 ja 4. Rivillä 7 luetaan salkun arvo solusta H11 käyttämällä getRange funktiota hyväksi. Jos alkun arvo on jossakin muussa solussa tulee getRange funktiolle annettavia parametrejä muuttaa.
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var portfolioSheet = spreadsheet.getSheetByName("Portfolio");
var historySheet = spreadsheet.getSheetByName("historia");
// Fetch date and portfolio value
var value = portfolioSheet.getRange(11, 8, 1, 1).getValue();
var date = new Date();
// Calculate where to write new information
var lastRow = historySheet.getLastRow();
var dateCell = historySheet.getRange(lastRow+1, 1);
var valueCell = historySheet.getRange(lastRow+1, 2);
// Store values
dateCell.setValue(date);
valueCell.setValue(value);
}
getRange funktion ensimmäinen parametri kertoo rivinumeron, mistä tieto luetaan. Solu H11 on rivillä numero 11. Toinen parametri kertoo puolestaan sarakkeen järjestysnumeron. Sarake A on 1, B on 2 jne. joten H sarake on arvoltaan 8. Kolmas parametri kertoo montako riviä luetaan ja neljäs montako saraketta. Nyt on tarpeen lukea vain yhden solun arvo, joten arvoksi käy molempiin 1.
Muutapa sinun ei tarvitse skriptistä ymmärtääkään. Se lukee siis arvon solusta ja kirjoittaa sen toiselle välilehdelle B sarakkeeseen. A sarakkeeseen kirjaantuu päivämäärä ja kellonaika.
Skriptin toiminnan voit varmistaa painamalla editorissa olevaa "play" näppäintä, joka ajaa sen. Ajamisen seurauksena pitäisi välilehdelle ilmestyä tarpeelliset tiedot. Jos tiedot eivät ilmesty ovat todennäköisesti välilehtien nimet väärin tai yrität lukea salkun arvoa väärästä solusta.
4. Suorita kohdat 2 ja 3 joka arkipäivä
Nyt sinulla on olemassa skripti, joka lukee salkun arvon ja kirjoittaa sen toiselle välilehdelle. Seuraavaksi automatisoidaan sen käyttö.
Skriptien automattinen ajaminen tapahtuu käyttäen ns. triggereitä eli käynnistimiä. Triggerit voi asettaa skriptieditorin Käynnistimet valikon alta valitsemalla Current script's triggers...
(Klikkaa No triggers set up. Click here to add one now.)
Esiin pompsahtaa ylläoleva kehotus, koska yhtäkään käynnistintä ei ole luotu. Klikkaa No triggers set up. Click here to add one now. -linkkiä päästäksesi asettamaan skriptin käynnistimet.
Pörssit ovat auki ainoastaan arkipäivisin, joten valitse käynnistimen tyypiksi Time-driven ja ajastimeksi Week timer. Aseta viikonpäiviksi jokainen arkipäivä yksitellen ja paina lopuksi Save tallentaaksesi käynnistimet.
(Käyttämäni käynnistimet)
Nyt sinulla on skripti, joka ajetaan automaattisesti joka arkipäivä ja se kirjaa ylös salkun arvon erilliselle välilehdelle. Ilman, että sinun tarvitsee tehdä jatkossa yhtään mitään. Nyt puuttuu enää automaattisesti piirtyvä graafi.
5. Luo graafi, joka lukee salkun arvot ja päivämäärät välilehdeltä
Salkun arvoa seuraavan graafin lisääminen on helppoa. Maalaa päivämäärä (A) ja euromäärä (B) sarakkeet uudelta välilehdeltä ja paina oikeassa laidassa olevaa Lisää kaavio... painiketta. Voit valita useista eri vaihtoehdoista itsellesi sopivan. Yksi omista suosikeistani on aikajana, josta on esimerkki artikkelin alussa. Sitä käyttäen on mahdollista rajata näkyville itseä kiinnostava ajanjakso salkusta. Lisäksi kyseiseen graafiin on mahdollista lisätä huomautuksia itselle esimerkiksi muutoksista salkussa.
Viimeistele lopuksi graafin ulkonäkö asettamalla sopivat minimi- ja maksimiarvot, piirtoviivan paksuus jne. kohdalleen (aikajana graafin kohdalla tosin ei minimiarvon asettaminen tällä hetkellä jostain syystä toimi).
Grande finale
Onneksi olkoon! Nyt sinulla on automaattisesti päivittyvä kuvaaja, joka pitää kirjaa salkkusi arvosta. Se päivittyy automaattisesti joka ikinen arkipäivä ilman, että sinun tarvitsee tehdä yhtään mitään.
Nyt käyty esimerkki automaattisesti päivittyvästä graafista on vain jäävuoren huippu siitä kaikesta mihin omien sijoitusten automatisoinnin voi viedä. Tarkoitukseni ei ole tarjota erilaisia ratkaisuja hopealautasella vaan herättää jokaisen oma mielenkiinto asiaan tavalla, jota on helppo soveltaa omaan käyttöön. Yllä olevaa ohjeistusta on helppo muokata vaikka siten, että seuraakin salkun absoluuttisen euromääräisen kehityksen sijaan sen suhteellista kehitystä. Välilehden kolmanteen sarakkeeseen voi kirjoittaa vaikka haluamansa indeksin pisteluvun samassa yhteydessä jolloin samaan kuvaajaan piirtyy myös indeksi, johon tuottoa on helppo verrata. Nämä ovat vain muutamia esimerkkejä siitä mihin automaattisesti päivittyvää graafia voi käyttää.
Hyödyntämällä skriptausta ja yhdistämällä niihin erilaisia triggereitä on mahdollista toteuttaa hyvinkin monimutkaisia toimintoja. Voit vaikka laittaa taulukon lähettämään sinulle varoitusmailin, jos osakkeen arvo tippuu nopeasti tai ilmoittamaan syntyneistä ostotilaisuuksista hamuamistasi osakkeista.
Vapauta luovuutesi! Millaisen automatisoinnin sinä haluat?