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.

(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:
  1. Luo uusi välilehti.
  2. Lue salkun arvo solusta H11.
  3. Kirjoita luettu arvo ja päivämäärä toiselle välilehdelle.
  4. Suorita kohdat 2 ja 3 joka arkipäivä.
  5. Luo graafi, joka lukee salkun arvot ja päivämäärät välilehdeltä.
Hyvin yksinkertaista!


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() {
  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);
}​
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.

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?

47 vastausta artikkeliin "Automatisoi sijoitustesi seuranta - Graafit kuntoon!"


Johannes Hidén kirjoittaa:

Hyvä vinkki kyllä tuo automatisointi! Vaikka kaikki sijoitukset olisi samalla välittäjällä samassa listassa ja välittäjä tarjoaisi hyvät seurantatyökalut, noin voi tehdä käppyröistä ja taulukoista sellaiset kuin haluaa.

Jos käy aktiivisesti kauppaa, tarvittaneen kuitenkin huomattavasti monimutkaisempi järjestelmä tuottojen seurantaan. Käytännössä silloin pitää itse käydä päivittämässä aina määrämuotoinen taulukko omista kaupoista, mutta mikäli välittäjä tarjoaa ne kätevässä muodossa, eipä se copy-pastea kummempi operaatio ole (FIM:ltä ainakin onnistuu näin). Euromääräisten tuottojen laatiminen per arvopaperilaji on silloin mahdollista, mutta arvopaperikohtaisten prosentuaalisten tuottojen listaaminen voi menettää helposti merkityksensä. Koko salkulle prosenttikohtaisen luvun laskennan voi toki määrittää.

Pitää kyllä harkita ton satunnaisen excel-säädön huomattavaa parannusta. Kyllähän exceliinkin taitaa periaatteessa saada noi arvot haettua reaaliajassa.

27.11.2010 klo 10.54.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Excelin käyttö vaatii, että muistat aukasta sen joka päivä. Google Spreadsheetsin kaltaisessa pilvipalvelussa on juuri se etu, että voit lähteä vaikka kuukauden mittaiselle lomamatkalle ja takaisin tullessa tarkistaa miten salkku on sen aikana kehittynyt - vaikkapa juuri graafista. Se kun käy päivittämässä tiedot taulukkoon vaikkei tietokoneella olisikaan.

Kaikki tällaiset pienet jutut tekevät sijoittamisesta ja säästämisestä aina piirun verran hauskempaa ja koukuttavampaa, mikä on positiivinen asia!

PS: Ei ne palveluntarjoajan omat graafitkaan aina ole ajan tasalla. Ainakin Nordnetin graafi on omalla kohdalla päin prinkkalaa. Se piirtää sitä oman logiikkansa mukaan mikä ei vastaa euromääräisiä muutoksia laisinkaan.

27.11.2010 klo 11.19.00

Johannes Hidén kirjoittaa:

"Excelin käyttö vaatii, että muistat aukasta sen joka päivä."

Eikö Exceliä (tai Google Spreadsheatsia) saa kaivamaan menneitä hintoja?

En ole tarkemmin lukenut ohjeitasi (koska tämä on vähän "tee samalla kuin luet"-tyyppistä materiaalia), mutta ideana lienee, että haetaan dynaamisesti tuoreimmat luvut ja talletetaan luvut staattisina. Jos menneitä hintoja voi hakea, voihan aina excelin avatessaan hakea uuden rimpsun lukuja ja tehdä niistä staattiset, jottei taulukkoon tule aikojen saatossa hirveätä kasaa netistä haettavia lukuja. Tuo voisi hoitua rutiinilla muutamassa sekunnissa. Onhan sekin pieni lisävaiva verrattuna pelkkään dokumentin avaamiseen, mutta aktiivisella kaupankäynnillä ne kaupat on joka tapauksessa pakko itse copy-pastettaa.

Kynnys google spreadsheatsin käyttöön vain on isompi kuin seuranta-excelin päivitys ihan uuteen kuosiin. ;)

27.11.2010 klo 11.53.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Eikö Exceliä (tai Google Spreadsheatsia) saa kaivamaan menneitä hintoja?

Osasta saa helpommin osasta vaikeammin. Ohjeet historiallisten kurssien hakemiseen automaattisesti löytyvät aiemmasta kirjoituksesta.

Ongelmallisemmaksi homma menee silloin, kun useassa eri valuutassa noteerattuja arvopapereita jolloin myös valuuttakurssien muutokset tulee ottaa huomioon. Samoin arvopaperit joiden hinnat joutuu hakemaan web sivulta parsien (eli esim. Google Finance ei tue) ovat ongelmallisia. Siksi ehdottamani tapa on parempi.

Jos kaikki omat sijoitukset ovat euroissa ja kaikkien niiden historialliset kurssit haettavissa helposti, niin toki silloin esittämäsi tapa voi olla helpompi. Väittäisin silti, että automaattinen seuranta on mukavempi tapa tehdä se.

PS: Voit viedä olemassaolevan Excel sheettisi suoraan Google Spreadsheetsiin exportoimalla. Se konvertoituu suoraan Google Spreadhseets taulukkoon. Siirtyminen on siis helppoa. Tarvittaessa voit myös importoida Google Spreadsheets taulukon Exceliin esim. omaa varmuuskopiointia varten.

27.11.2010 klo 14.40.00

TomaHawk kirjoittaa:

Hei,

Tämä kyllä täydensi loistavasti sitä eka automatisointi kirjoitustasi, kiitos!!

Nyt on skriptaustasi sovellettu omassa spreadsheetissä. Tein pienen lisäyksen omaan seurantaani, eli kirjoitan myös m.m. OMXH, S&P500 arvot samalla, niin ne ovat helposti saatavilla vaikkapa indeksivertailu graaffeja varten. Ei ihan heti onnistunut itseltäni, joten tässä on lisäykset jospa niistä olisi jollekulle hyötyä:

Eli luen 1 sarakkeen sijasta 11 peräkkäistä saraketta 'portfolio' sivulta 'historia' sivulle.

Rivillä 7 korvataan siis ...(x, y, 1, 1).getValue(); --> ...(x, y, 1, 11).getValues(); HUOM getValue + 's'!

Rivillä 13 korvataan samat numerot (--> x,y,1,11)

Rivillä 17 setvalue --> setvalues!

Nyt saa sitten ruveta laatimaan eri graafeja, kunhan eka saadaan historia-taulukkoon vähän arvoja.

28.11.2010 klo 16.31.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Vinkkinä muuten niille, jotka haluavat imuroida omiin taulukoihin skandinavisten osakkeiden historia ja indeksitietoja, että ne onnistuvat helposti OMXH Nordicin sivujen kautta.

Historialliset indeksitiedot

Historialliset osakekurssit

Kun historiatiedot on hakenut ilmestyy viereen "Excel" nappi, josta datan voi ladatan omalle koneelle ja siirtää vaikka Google Spreadsheetseihin.

28.11.2010 klo 17.14.00

heimo kirjoittaa:

Mistäköhän löytyisi Seligsonin rahastojen historialliset arvot? Heidän sivuilta löydän käppyrät ja käppyröistä näkee kyllä päivän kurssit, mutta etsin helpommin taulukkoon siirtyvää tietoa. Vinkkejä vastaanotetaan.

Kiitos erinomaisesta blogista! Tämä on toiminut yhtenä inspiraation lähteenä omalle säästösijoitussuunnitelulleni. Tulevana vuotena saan vuoden ensimmäisen puoliskon aikana maksettua pois loput velat ja tavoitteena on alkaa säästämään rahastoihin. Alustava suunnitelmani on että säästän Seligsonin passiivisiin indeksirahastoihin säästösalkun ydintä ja mahdollisuuksien mukaan teen lisäsijoituksia joko näihin tai muihin rahastoihin. Sijoitushorisontti on n. 25 vuoden päässä, vuodessa 2036.

Itsekin olen it-kuplan aikoihin käväissyt osakemarkkinoilla, mutta sittemmin käsitykseni hajauttamisesta on laajentunut... Nyt kun alkaa olla elämä jaloillaan, ajatus taloudellisesta riippumattomuudesta ja velan orjuudesta irtisanoutumisesta tuntuvat niin vapauttavilta, että uskon löytäneeni motivaationi pitkäjänteiselle säästämiselle. Riskiä haluan ottaa reilusti johtuen pitkästä horisontista ja nuoresta iästä, joten allokaation paino on vahvasti osakemarkkinoilla (hajautetusti rahastojen kautta).

Minulla on tavoite säästää 25% nettotuloista, mikä tuntui aluksi kovalta ajatukselta, mutta lainoja olen lyhentänyt (ja maksanut korkoja) jopa yli 40%:lla nettotuloista. Tulojen nousun myötä loppujen lopuksi säästöjenkin jälkeen on jäämässä käteen isompi summa kuin velkavuosina, joten ehkä tavoite on lopulta liian lepsu. En halua vetää itseäni liian tiukalle, koska senhän tietää miten käy jos ei ole rahavirroissa yhtään pelivaraa yllätyksille. Toivoisin että neljännesvuosisadan päässä odottelisi puoli miljoonaa tai enemmän (inflaatiokorjattuna) ja leppoisat eläkepäivät matkustelun ja harrastusten merkeissä.

Pitäisiköhän minunkin aloittaa oma blogi?

30.11.2010 klo 10.08.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Hei,

joku ystävällinen henkilö oli aiemmin laittanut linkin Seligsonin historiallisten kurssien saamiseksi valistunutsijoittaja.com:n keskustelupalstalle, joten lainaan ne tähän:
www.seligson.fi/graafit/aps.csv
www.seligson.fi/graafit/eurocorporate.csv
www.seligson.fi/graafit/euroobligaatio.csv
www.seligson.fi/graafit/eurooppa.csv
www.seligson.fi/graafit/global-brands.csv
www.seligson.fi/graafit/global-pharma.csv
www.seligson.fi/graafit/japani.csv
www.seligson.fi/graafit/pharos.csv
www.seligson.fi/graafit/phoenix.csv
www.seligson.fi/graafit/phoebus.csv
www.seligson.fi/graafit/pohjoisamerikka.csv
www.seligson.fi/graafit/rahamarkkina.csv
www.seligson.fi/graafit/russia.csv
www.seligson.fi/graafit/suomi.csv
www.seligson.fi/graafit/omxh25.csv (huom! OMXH25:n luvut tuotto-osuuskorjattuja)

Tavoitteesi kuulostaa hyvältä ja olen otettu, että olen vaikuttanut tämän positiivisen tavoitteen syntymiseksi. Tulet huomaamaan, että sitä mukaa kun saat velkoja maksettua myös säästämisasteesi nousee, kun rahaa jää enemmän käytettäväksi. Näin kävi myös itselläni. 25% nettotuloista voi nyt tuntua haasteelliselta, mutta sitten kun velat on kuitattu on tuo kertomasi 40% nettotuloista helppo käyttää sijoituksiin.

Suosittelen oman blogin perustamista kaikille. Se selkeyttää omaa ajattelua paljon, kun ajatukset tulee kirjattua ulos. Niihin on myös helppo palata myöhemmin.

Onnea matkalle vaurauteen!

30.11.2010 klo 10.18.00

Johannes Hidén kirjoittaa:

Kaikki omat sijoitukset on tosiaan euroissa, joten se ei aiheuta sekaannuksia.

Tuo on kyllä tullut itsekin huomattua, että blogin kirjoittaminen selkeyttää ajatuksia. Jos jostakin asiasta on muuten vähän hatarat ajatukset, ne ajatukset on pakko jäsentää, jotta ne voisi kirjoittaa blogiin.

Toisaalta on myönnettävä, että hankalammissa ja moniulotteisemmissa asioissa ajatukset ei välttämättä tule kristallinkirkkaaksi missään vaiheessa. Aika paljon ajatustenjäsentelyä vaati esim. nyt tämä Markkinoiden tehokkuutta käsittelevä juttusarja, josta otan mielelläni vastaan palautetta.

1.12.2010 klo 0.20.00

Kohti taloudellista riippumattomuutta kirjoittaa:

@Jefferson T.D.: Hyvää pohdintaa! Olet selvästi käyttänyt paljon aikaa markkinoiden tehokkuuden miettimiseksi. En ole kaikilta osin samoilla linjoilla, esimerkiksi ajatuksesi markkinoiden prosentuaalisesta tehokkuudesta on tällainen.

Linkkaisin blogisi tuonne laitaan, jos se vain olisi sijoittamiseen perehtynyt. Nythän se näyttää profiloituvan "vähän kaikkeen".

1.12.2010 klo 14.31.00

Anonyymi kirjoittaa:

Hei, osaatko sanoa miksi minulla tuo numeron kopiointi ei toimi? Päivämäärä menee oikein, mutta salkun arvon kohtaan tulee "#NA". Manuaalisesti ajettaessa scripti toimii oikein, mutta kun google ajaa sen itsekseen, ei arvo päivity. Mistä voisi johtua? Script triggerinä on: addResult, Time-driven, Week timer, Every Friday (jne päivät), 9am to 10am.

2.12.2010 klo 23.43.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Tuollaista ongelmaa ei ole aiemmin itsellä tullut vastaan. Mielenkiintoista tosiaan jos manuaalisesti ajettuna toimii OK, mutta triggeröitynä vain salkun arvon kirjaantuminen menee pieleen. Jotenkin tuo todennäköisesti liittyy spreadsheetin hakemiseen ja/tai solujen arvon lukemiseen.

Voit kokeilla avata spreadsheettiä myös jollakin toisella tapaa (kts. dokumentaatio). Debugatessa voit triggerin tiheydeksi muuttaa vaikkapa kerran minuutissa, niin ei tarvitse odottaa aina vuorokauden vaihtumista.

3.12.2010 klo 8.01.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Ensimmäiseksi voisi kokeilla avata spreadsheetin skriptissä getActiveSpreadsheet funktion sijaan openbyId funktiolla. Auttoiko asiaan?

3.12.2010 klo 8.30.00

Anonyymi kirjoittaa:

Kiitos vastauksesta!

Ei näytä toimivan. Jostain syystä herjaa "Document ### is missing (perhaps it was deleted?) (line 2)" (tuo ### viittaa URL:n loppuosaan).

3.12.2010 klo 11.19.00

Anonyymi kirjoittaa:

Näköjään minuuttifrekvenssillä tuo päivittyy itsestään ihan hyvin alkuperäisellä scriptillä. Testasin nyt vaihtaa vuorokauden ajan jolloin data päivittyy, katsotaan jos tuossa on jonkinlainen bugi tuolle 9am to 10am päivitykselle.

3.12.2010 klo 11.30.00

Kohti taloudellista riippumattomuutta kirjoittaa:

OK. Nyt minulla on aavistus mistä ongelmasi voisi johtua. Kokeileppa sulkea selain ja antaa tuon minuuttifrekvenssin juosta vaikka tunti pari. Alkaako se sitten kirjaamaan NA:ta?

Jos antaa, niin ongelma on siinä, että triggeri toimii ainoastaan kun dokumentti on selaimessa auki (getActiveSpreadsheet funktio). Jos dokumentti ei ole selaimessa auki tarvitsee sheet avata käyttäen openById:tä, mutta se on mahdollista ainoastaan, jos olet antanut riittävät oikeudet dokumentin lukemiseen ja kirjoittamiseen. Sen voisi estää vaikka se, että olet rajannut dokumenttiin pääsyn vain itsellesi.

Näistä löytynee mainintoja myös tuolta dokumentaatiosta.

Ilmoittele miten kävi.

3.12.2010 klo 11.57.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Jos et saa openById:llä dokumenttia auki käytät todennäköisesti väärää id:tä, kts:
http://www.google.com/support/forum/p/apps-script/thread?tid=0653a5b77ca61b16&hl=en

3.12.2010 klo 12.02.00

Anonyymi kirjoittaa:

Tuo minuuttifrekvenssi juoksi minulla tänään n. 4h (kijrauduttu ulos ja konekin kiinni), toimi niin kuin pitikin. On kyllä erikoinen ongelma.

Täytynee sallia tuon dokumentin jako ja koittaa sitten tuota openById:tä. Mielummin pitäisin dokumentin vain itselleni näkyvillä.

4.12.2010 klo 16.14.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Voit määrittää dokumentin piilotetuksi, jolloin siihen pääsee käsiksi vain tietämällä dokumentin URL:n.

Kyllä tuo nykyinenkin tapa avata dokumentti pitäisi toimia varsinkin, kun olit pitänyt konetta kiinni ja toimi.

4.12.2010 klo 16.21.00

Anonyymi kirjoittaa:

Vaihdoin ajan päivitykselle 1am to 2am, nyt kopiointi toimii. Kyse on siis ilmeisesti googlen jostakin bugista liittyen kellonaikoihin.

6.12.2010 klo 15.58.00

Heimo kirjoittaa:

Vinkkinä kaikille jotka haluavat Seligsonin tai jonkun muun koneluettavassa muodossa olevan datan suoraan verkosta Google Docsin taulukkolaskentaan. Siitä löytyy liuta import-alkuisia funktioita, kuten importdata, jolla voi ladata suoraan nuo ym. linkkien tiedostot taulukoksi, esim. Importdata("www.seligson.fi/graafit/suomi.csv")

Tuossa tapauksessa joutuu vielä käyttämään split-funktiota jolle antaa parametreiksi sen solun jossa päivämäärä ja kurssitieto on ja toisena parametrina erottimen ";" (puolipiste). Tämä jakaa solun sisällön kahdeksi erilliseksi. Kurssitiedosta voi vielä vaihtaa pisteen pilkuksi käyttämällä substitute funktiota, jolloin sillä tiedolla voi laskeakin.

Kiitos "Kohti taloudellista riippumattomuutta" rohkaisusta. Kokeilen siipiäni blogaajana. Linkki nimimerkissä. En tiedä jatkanko, mutta kokeilen omalla tyylilläni minkälaista olisi kirjoitella tästä sijoituskokemuksesta.

7.12.2010 klo 18.31.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Hienoa Heimo! Rupean seuraamaan blogiasi :)

7.12.2010 klo 18.36.00

Anonyymi kirjoittaa:

Ensinnäkin kiitokset loistavasta artikkelista! :)

Minulla on täsmälleen sama ongelma kuin edellisellä anonyymillä. Käytin kellonaikaa "Noon-1PM", jolloin osaan soluista tuli "Value N/A" tjsp. Aiemmin sama skripti oli kuitenkin toiminut "1PM-2PM"-aikamäärittelyllä.

Toivotaan, että korjaantuu takaisin tuolla yksinkertaisella ajan muutoksella.

t. H

8.12.2010 klo 1.34.00

Anonyymi kirjoittaa:

Jahas, tuokin 1am-2am kellonlyömä lakkasi toimimasta. Kokeilin lisäksi tuolla OpenById:lla, ja sama juttu, ei toimi. Luvun kohdalle tulee aina N/A.

8.12.2010 klo 19.29.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Mielenkiintoista. Itsellä toimii edelleen OK 1PM-2PM asetuksella, joka kirjaa tuoton klo 23-24 välillä Suomen aikaa.

8.12.2010 klo 19.33.00

Miksu kirjoittaa:

Itse olen tehnyt kolme vastaavaa taulukkolaskentadokkaria ja kaksi niistä toimii ok, kun taas yhdessä dokkarissa esiintyy juurikin tuo edellä mainittu ongelma. Itse scriptiä on hiukan modattu täällä esitetystä, mutta scripti on kaikissa dokkareissa lähes sama (ainoat erot siinä, että lähtöarvot eri soluissa).

Pitänee koittaa vaihtaa tuohon yhteen tuo ajoaika toiseksi jos se auttaisi asiaan...

9.12.2010 klo 20.38.00

Anonyymi kirjoittaa:

1P-2PM asetuksella tuntuu toimivan jälleen hienosti, mutta epäluottamus systeemiin on valitettavasti herännyt...

Harmillista ja epä-Googlemaista, että tuntuvat myös regoivan aika hitaasti käyttäjien korjausehdotuksiin. (esim trendigraafin skaalan minimiarvon asetus ei ole toiminut pitkiin aikoihin.)

t. H

9.12.2010 klo 23.32.00

Miksu kirjoittaa:

Nyt näyttäisi toimivan kunnolla tuo ongelmallinen dokkarikin kun vaihdoin ajoajan 1-2PM -> 1-2AM. Pitää seurata tilannetta jatkossa.

10.12.2010 klo 14.20.00

Miksu kirjoittaa:

Sama ongelma toistuu vieläkin tuossa yhdessä dokkarissa, missä on eniten eri osakkeita listattuna eli eniten eri paikoista haettavaa kurssidataa.

Nyt uskon, että ymmärrän mistä tässä ongelmassa on kyse. Eli olen huomannut, että muutaman kerran jotain osakakurssia ei voida jostain syystä noutaa (ongelmia kohdepalvelussa tms.) niin silloin ko osakkeen kurssin kohdalle tulee #N/A. Ja kun näin käy, tulee kokonaistuotoksi sama #N/A...

Tästä syystä tuo #N/A replikoituu sitten myös tuohon graafivälilehteen. Eli jos asia on näin, niin nämä ongelmat eivät mitenkään liity tuohon ajastamiseen.

15.12.2010 klo 11.53.00

Sami kirjoittaa:

Split -funktion käyttö johtaa nopeasti laskennallisesti vaativaan ongelmaan, jos hakee historiatietoa jatkuvasti.

Mielestäni parempi ratkaisu Seligsonin päiväkohtaisen kurssitiedon saamiseen on tuoda Seligsonin kotisivun taulukko suoraan Spreadsheetiin. Käsittelen aihetta täällä: http://yleinensijoitussuunnitelma.blogspot.com/2010/12/seligsonin-kurssiseuranta-kuntoon.html

15.12.2010 klo 12.25.00

Anonyymi kirjoittaa:

Oikea syy minulla ja Miksulla ilmenneeseen import-/skriptiongelmaan näyttää kuitenkin olevan Googlen päässä.

Tällä hetkellä taulukkoani katsellessa kaikki ImportHtml-funktiolla tehdyt kurssihaut ovat tilassa "Ladataan..." ja mitään ei saada oikeasti haettua. Kursseja haetaan eri sivustoilta, jotka kaikki toimivat normaalisti.

t. H

4.1.2011 klo 22.22.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Mielenkiintoista. Minulla nimittäin ImportHtml toimii vallan mainiosti edelleen. Joskus tuota "Ladataan..." ilmiötä tulee, mutta 99% ajasta ne latautuvat OK omalla kohdalla.

Pitää koputtaa puuta *kop* *kop* :)

4.1.2011 klo 23.06.00

Anonyymi kirjoittaa:

@Miksu, anonyymi ja KTR:

Miksun esittämä teoria #N/A -kentästä ei voi pitää paikkaansa, sillä (ainakin minulla) se #N/A tulee aina pelkästään tuohon summa-soluun, johon lasketaan näiden webistä haettujen lukujen summa.
Tallennan myös yksittäiset arvot, ja ne kyllä tallentuvat hienosti. Jos niiden kohdalla on ongelmia, tulee virheilmoitukseksi #VALUE. Välillä sitäkin tapahtuu.

Eli, #NA saattaa ilmestyä tuohon summa-soluun, vaikka kaikki yksittäiset luvut ovat onnistuneesti haettu.

Minun teoria tämän varjolla on, että solujen päivitys kestää "hetken" ja samalla kun solun päivitys on menossa, niin tuo summa-solu ei pidä sisällään validia tietoa, koska kaikki solut eivät sisällä numeroa. Tuon solun lukeminen on kuitenkin nopeampaa kuin webistä haettujen tietojen lukeminen, joten joskus historiaan tallentuu liian aikaisesti otettu summa (eli #N/A).

Veikkaan, että tuon voisi korjata siten, että summa-solu luettaisiin vasta pienen viipeen jälkeen, eikä heti samaan aikaan muiden solujen kanssa.
Tämä tosin ei auttaisi siihen #VALUE ongelmaan yksittäisille kursseille.

5.1.2011 klo 22.27.00

Anonyymi kirjoittaa:

Minulla kaikki skripteissä käytettävät luvut ovat samanlaisia sarakesummia, jotka muodostuvat useista soluista. Samallakin ajokerralla näkyy sekä #N/A että #VALUE -virheen tuottavia. Tuo viiveistys kävi itselläkin mielessä, mutta tuo edellisessä viestissäni mainitsema "Ladataan..." -ongelma oli varsin pitkäkestoinen (ainakin 30 min), joten kyse ei ollut kestoltaan sellainen ongelma, jonka voisi helposti poistaa koodaamalla pienen viiveen tallennukseen.

t. H

6.1.2011 klo 17.43.00

Anonyymi kirjoittaa:

Hei,

Kiitoksia erittäin paljon näistä ohjeista. Yksi juttu kuitenkin jäi vielä mietityttämään, eli miten sait tuollaisen TWR indeksoidun kokonaiskäyrän kuten tuolla "Sijoitusten tuotto" -sivulla on?

9.3.2011 klo 23.35.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Saat tehtyä samanlaisen TWR indeksoidun kokonaiskäyrän soveltamalla tämän artikkelin ohjeita. Lasken erillisessä TWR taulukossa salkun pohja-arvon. Jaan salkun nykyisen arvon tällä pohja-arvolla ja kerron tuloksen sadalla. Se on aina kyseisen päivän TWR pistemäärä, jonka kirjaan ylös välilehdelle, josta TWR graafi piirtyy.

TWR taulukossa pidän kirjaa portfolioni kassavirroista, jotta saan indeksoitua kehityksen.

10.3.2011 klo 9.31.00

Arto kirjoittaa:

Tuohon kun vielä saisi ohjeet, heh :)

11.3.2011 klo 11.26.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Kaikkea ei saa maailmassa tarjottimella. Pitää osata itsekin soveltaa ;)

11.3.2011 klo 11.31.00

Anonyymi kirjoittaa:

Moi,

Täytyypä laittaa tähänkin tietoa kun vuoden jälkeen sattumalta selvisi tuo ImportHtlm-funktion kanssa ollut #N/A ja #VALUE! -errorin syy.

Minulla on ollut sama ongelma kuin tuon uutisryhmän kaverilla, eli kurssitieto formatoituu väärin päivämääräksi Googlen serverin päässä.
http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/docs/formatting/CdBxRPt_zic

Harmillista, että ainakaan kovin helppoa keinoa tuon kuntoonsaamiseen ei tunnu olevan. Kun portfoliossa on useita osakkeita, niin harmittavan usein jonkin kohdalle osuu tuo virhe ja laskennat epäonnistuvat.

3.4.2012 klo 0.15.00

Anonyymi kirjoittaa:

Painin itsekin tämän tiedon päivittämisongelman kimpussa, eli öinen automaattipäivitys tuotti vain "#N/A"-merkinnän niihin kenttiin, joihin tieto käytännössä päivitetään kun taulukko aukeaa.

Kokeilen nyt tätä kikkaa, lisätään skriptiin ennen kohtaa, jossa arvot haetaan:
// Refresh until all N/A values disappear
var dataArrayRange = portfolioSheet.getRange(1,1,portfolioSheet.getLastRow(),portfolioSheet.getLastColumn());
var dataArray = dataArrayRange.getValues(); // necessary to refresh custom functions
var nanFound = true;
while(nanFound) {
for(var i = 0; i < dataArray.length; i++) {
if(dataArray[i].indexOf('#N/A') >= 0) {
nanFound = true;
dataArray = dataArrayRange.getValues();
break;
} // end if
else if(i == dataArray.length - 1) nanFound = false;
} // end for
} // end while

Vinkki löytyi täältä: http://stackoverflow.com/questions/16614895/cells-containing-custom-functions-return-nan-when-spreadsheet-is-not-open-a/17371490#17371490

11.7.2013 klo 9.34.00

Anonyymi kirjoittaa:

GoogleFinance-rajapinta on nykyään deprecated-tilassa, sen varaan on vähän uskaliasta koodata uutta.

Kysymys dataformaateista: suurin osa csv-tiedoista on jenkkinotaatiossa eli käytetään desimaalipistettä, kun taas ImportHtml-funktion palauttama tavara voi olla desimaalipisteellä tai desimaalipilkulla. Kuvakaappausten perusteella bloginpitäjän käyttää suomenkielisiä asetuksia (Google Spreadsheet: File -> Spreadsheet settings -> Locale: Finnish). Onko pilkku-piste-ongelmaan jokin näppärä ratkaisu vai täytyykö käyttää SUBSTITUTE-funktiota pisteen muuttamiseksi pilkuksi?

29.7.2013 klo 13.41.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Spreadsheetin maa-asetus on helppo vaihtaa Tiedosto -> Laskentataulukon asetukset kautta jolloin piste käy vallan mainiosti.

29.7.2013 klo 14.39.00

Anonyymi kirjoittaa:

Toki, mutta sitten pilkku ei enää käykään. Ongelma on se, että osa tietolähteistä tarjoaa pilkkua ja osa pistettä, joten jonkinlainen konversio on joka tapauksessa tehtävä, käytti sitten itse mitä tahansa eli onko valittava jompi kumpi ja sitten käytettävä toiselle SUBSTITUTE-funktiota?

29.7.2013 klo 14.48.00

Kohti taloudellista riippumattomuutta kirjoittaa:

Näin juuri. SUBSTITUTElle menee.

29.7.2013 klo 15.24.00

Unknown kirjoittaa:

Kuka osaisi kuitenkin neuvoa miten tämä saadaan tehtyä WIN7 / Exel 2013 ohjelmalle? Kun laitan hakemaan tietoja, ainut mahdollinen valinta on koko sivu esim. kauppalehdessä... Apuja keneltäkään taidokkaammalta

27.1.2016 klo 23.50.00

Dippainssisijoittaa kirjoittaa:

Ihan loistava ohje vielä näin vuonna 2017!

4.12.2017 klo 12.36.00

Jätä kommentti

« Vanhemmat tekstit Uudemmat tekstit »

Related Posts with Thumbnails