2016-01-10

Google sheet + Yahoo finance = sant

Google Sheets, är inte direkt något nytt för de flesta. Vi tar det ändå kort från grunden då kanske inte alla läsare använt det. Vad är det? Enkelt sagt är det en Excel-liknande online-applikation som Google tillhandahåller. Kraftfull formularedigering för fält med många funktioner, skapa grafer, exportera till excel m.m. Alltså Excel, fast ändå inte. Arken går att dela med flera användare samtidigt och kan embeddas till webbsidor (t.ex. en blogg).



Google Sheet används också flitigt av många bloggkollegor. Många använder deras finance-funktioner som gör det möjligt att hämta intressant data om en aktie. Men för en sån data-nörd som mig så vill jag alltid ha mer data, men Google erbjuder ju inget mer? Här kommer Yahoo Finance in i bilden som faktiskt går att anropa via Google Sheet. Här finns data för i princip hela världens aktier, det ska dock nämnas att bäst data finns det för USAs aktier.

Jag har skapat ett Google Sheet som visar på allt data du kan hämta från Yahoo Finance. Arket är låst men du kan skapa en egen kopia som du kan använda för att testa. Hemligheten för att hämta datat visar sig om du klickar på Verktyg -> Skriptredigerare. Här är det inlagt Javascript som använder funktionen UrlFetchApp för att hämta data från Yahoo. Om du vill använda hämtningen av data från Yahoo i ett redan skapat ark så måste Javascripten som finns i GoogleSheet<3YahooFinance läggas över. Det är möjligt att skapa specifika funktion som kan användas för att hämta t.ex. direktavkastning. Exempel på det visas i början av arket "Dividend med anrop via getYFDividend".



För att lösa problematiken att symboler ska krocka så har Yahoo lagt till prefix för vilken börs aktien hör till. T.ex. för symbolen HM som vi oftast använder så heter den HM-B.ST hos Yahoo. Här hittar du HMs aktie hos Yahoo, notera symbolen efter värdepappersnamnet HENNES&MAURITZ -B- (HM-B.ST). För att hitta rätt symbol så är det enklast att söka fram aktien via Yahoo Finance.

Google Sheet arket kan du öppna med klick HÄR

Hoppas det blir till nytta för någon aktienörd :-)


19 kommentarer:

  1. Jag följer mina aktieplaceringar med hjälp av med Google spreadsheet och hämtar automatiska kursuppdateringar och annan relevant information en gång per minut från Google Finance. Det fungerar alldeles utmärkt för bolag på huvudlistorna (Sverige) men jag har också några aktier på First North och där fungerar det inte för mig - då försöker jag att använda Yahoo Finance men dels är uppdateringsfrekvensen dålig och dels så måste jag multiplicera kursen som jag får med cirka 23,96 ( konstig siffra men då blir det ungefär rätt på de flesta aktierna, men inte alla).

    Tacksam för info om hur du gör med aktier som inte är på de svenska huvudlistorna.

    SvaraRadera
  2. Så här ser min formel ut för just HM som du har i ditt exempel och ger svaret 283,50 - vilket stämmer relativt väl med verklig kurs.
    =round(importdata("http://finance.yahoo.com/d/quotes.csv?s=hm-b.ST&f=l1")*23,96;1)
    Eftersom du verkar vara grym på detta så vore jag väldigt tacksam om du kan ge tips på hur jag ska göra för att få detta att fungera på aktier i First North - ex vis Starbreeze eller Advenica
    Tack på förhand
    olle

    SvaraRadera
    Svar
    1. Tjenare Olle,

      Det där med att multiplicera kursen låter inte pålitligt.

      Jag har kikat och verkar få rätt pris på t.ex. Starbreeze. Kika på kolumnen l1 (Last trade Price only). Exempelarket är uppdaterat med Starbreeze. Ta en kopia så kan du labba vidare, kika under Verktyg - Skriptredigerare så ser du det JavaScript som anropas för att hämta datat.



      Radera
    2. Tackar för hjälpen - jag har nu lagt in scriptet som jag kopierade från ditt dokument och jag verkar få rätt "svar" MEN jag har två problem kvar -
      1. svaret levereras som text = 14.80 och inte 14,80 och därför kan jag inte använda svaret för att exvis multipliceras med antalet aktier. Finns det någon lösning på det?
      2. Uppdateringsfrekvens - det förefaller inte uppdateras en gång i minuten som jag har inställt på mitt ark - och koderna för realtidspris verkar inte fungera ens på ditt exempelark. Några ideer?

      Återigen - tack för din hjälp som jag uppskattar mycket.
      Olle

      Radera
    3. Snyggt! Alltid kul att hjälpa.

      1. Har lagt in för l1: =substitute(trim(getYFValueByTag(A2; G18)); TECKENKOD(46); ",")
      Som ersätter . med , då ska det gå bra att multiplicera med antal.

      2. Det här verkar inte helt enkelt, tyvärr. Bör ju gå, får återkomma om den :-)

      Radera
    4. Underbart - fungerar nu som ett värde och jag kan multiplicera med mitt antal aktier etc... funkar bra också på andra parametrar. Stort steg framåt. Kan du klura ut en lösning även på uppdateringsfrekvensen så vet kommer jag jubla riktigt HÖGT!!!

      olle

      Radera
    5. :-) ligger på plats en ändring nu som uppdaterar varje minut.

      Kika på skripten igen. getYFValueLastTradeUpdateScript är det som körs för hämtningen. Dock hårdkodat mot den cell jag har symbolvärdet. Du kan sno det och bygga vidare för dina innehav.

      Radera
    6. Det är ju dock så att det är en fördröjning på kurserna så varje minut kommer den inte kunna uppdatera.

      http://finance.yahoo.com/exchanges

      Radera
    7. Länge sedan - MEN nu har jag fått scriptet att fungera - tyvärr får jag inte inställningen om att köra scriptet varje minut att fungera men inställningen att köra vid ändring fungerar - så rätt nöjd ändå. Stort tack för dina tips.
      olle

      Radera
    8. Aha - problemet löst - Jag flyttade det "blad" som jag vill ha uppdaterat längst till vänster av alla blad. Häpp så fungerar uppdateringen varje minut!!!!/olle

      Radera
  3. Går det att få det till att fungera med utdelningar på svenska aktier? På yahoo finance verkar den infon inte finnas, men på google finance så finns den ju, men den verkar inte gå att "anropa"?

    //L

    SvaraRadera
    Svar
    1. Hej L,

      Jo, det går. Finns inlagt i arket för svenska utdelningsaktier. Ta en kopia av den och kika på formeln för direktavkastning. Har dock märkt att det är lite varierande när den ger värde.

      https://docs.google.com/spreadsheets/d/1ieeDZ9SFsrNQyn60w9tVv1Eh4Pngq1csXPoIuv-wCRs/edit#gid=1774049214

      Radera
    2. Jo, du verkar ha samma problem som jag. Verkar inte som att nån av aktierna du har där ger nått värde för direktavkastning väl? Eller blir det bara nått fel när jag öppnar upp det?

      //L

      Radera
    3. Nä får samma, utdelningen fungerar verkligen dåligt, sporadiskt avbrott. Jag har uppdaterat och kör på 2014 års värde nu. Får korrigera när värden för 2015 kommer in. Då fungerar det utan problem.

      Radera
  4. Hej,

    Jag har googlat runt för att hitta ett sätt att läsa in kurser från First north och landade här. Fick ingen riktig hjälp, men hittade sedan en formel i ett google sheet hos bloggaren z2036.

    Såhär:
    =IMPORTXML("http://www.bloomberg.com/quote/"&J59&"","//div[@class='price']")

    Då ligger tickern i cellen J59 och har formatet:
    NILB:SS
    för Nilörngruppen serie B.

    Lycka till nu!

    SvaraRadera
  5. Hittade din sida med hjälp av Aktieingenjören. Detta var verkligen användbart. Tack!

    SvaraRadera
  6. Instämmer i att detta var mycket användbart, eftersom varken Aktietorget eller First North finns hos Google. Men nu saknar jag Nordic MTF hos Yahoo Finance. Nåväl, man kan ju inte få allt... :)

    SvaraRadera
  7. Hej tro jag hittat rätt ställa att lösa mitt problem:) jag vill kunna få in data i Excel/kalkylark på aktie, som sparar i ny kolumn med öppning, stängning,högsta,lägsta kurs. Dags kurser eller den tids upplösning man nu vill sätta! Någon som har någon lösning?
    Mvh John

    SvaraRadera
    Svar
    1. Hej,

      Du kan ladda ner historiska kurser för svenska aktier här:
      http://www.nasdaqomxnordic.com/aktier/historiskakurser/?languageId=3

      Notera att datat inte är helt kvalitetssäkrat, bland annat förekommer längre bak i tiden att det saknas öppningskurser. Dessutom verkar principen för beräkning av justerat pris (som tar hänsyn till splittar etc) ibland ändras, vilket man märker i att det är olika många värdesiffror under olika tidsperioder.

      NASDAQ:s export är gratis och sträcker sig rätt långt bakåt i tiden.

      Denna info kan jämföras med export som du kan göra som premiumkund hos Börsdata.
      https://borsdata.se/

      Sök fram ett bolag, och du har en "Aktiekurs till Excel"-länk uppe till höger.

      Från Google Finance kan du hämta data genom att skriva in följande i en cell (i det här fallet tickern för Dedicare):

      =GOOGLEFINANCE("STO:DEDI" ; "all"; "1990-01-01"; TODAY())

      Radera