Salkkujen seuranta: excel-taulukot

Mikä olisi kattavin palvelu vanhojen rahasto-omistusten historiallisten nav-hintojen hakemiseen? Yritän laskea takautuvasti salkkuni twr-tuottoja, mutta historiatietojen hakeminen ei olekaan täysin yksinkertaista kaikille vanhoille omistuksille.

Mikäköhän siinä on, että sheetsin yahoofinance -funktio näyttäisikin hakevan modella “price” moden “change”. Onko nuo yahoo financen sivut muuttuneet jotenkin?

Esim. RAIVV.HE ja EXXXpisteDE tekevät näin.

Sama ongelma. Ilmeisesti on muuttunut. En ainakaan vielä osannut itse korjata koodia.

Vaihdoin yahoofinancen googlefinance-funktioksi niin lähti toimimaan normaalisti.

Niin näyttää olevan. @Prophier ?

Tässä jonkinlainen fiksaus. Toimii ainakin minulla nyt.

if (mode === "price") return Number($('fin-streamer[data-field="regularMarketPrice"]').attr('value')) || 0;
  else if (mode === "name") return nameArr[0].split(" (")[0] || "N/A";
  else if (mode === "change") return Number($('fin-streamer[data-field="regularMarketChange"]').attr('value')) || 0;
  else if (mode === "changepct") return Number($('fin-streamer[data-field="regularMarketChangePercent"]').attr('value')) || 0;
  else if (mode === "high") return Number(summaryArr[4].split(" ")[3].replace(/\,/g, "")) || "N/A";
  else if (mode === "low") return Number(summaryArr[4].split("e")[1].split(" ")[0].replace(/\,/g, "")) || "N/A";
  else if (mode === "high52") return Number(summaryArr[5].split(" ")[4].replace(/\,/g, "")) || "N/A";
  else if (mode === "low52") return Number(summaryArr[5].split("ge")[1].split(" ")[0].replace(/\,/g, "")) || "N/A";
  else if (mode === "open") return Number(summaryArr[1].split("n")[1].replace(/\,/g, "")) || "N/A";
  else if (mode === "volume") return Number(summaryArr[6].split("e")[1].replace(/\,/g, "")) || "N/A";
  else if (mode === "volumeavg") return Number(summaryArr[7].split("e")[1].replace(/\,/g, "")) || "N/A";
  else if (mode === "beta") return Number(summaryArr[9].split(")")[1]) || "N/A";
  else if (mode === "pe") return Number(summaryArr[10].split(")")[1].replace(/\,/g, "")) || "N/A";
  else if (mode === "eps") return Number(summaryArr[11].split(")")[1].replace(/\,/g, "")) || "N/A";
  else if (mode === "edate") return summaryArr[12].split("Date")[1] || "N/A";
  else if (mode === "divdate") return summaryArr[14].split("Date")[1] || "N/A";
  else if (mode === "target") return Number(summaryArr[15].split("st")[1].replace(/\,/g, "")) || "N/A";
  else if (mode === "div") return Number(summaryArr[13].split("ld")[1].split(" ")[0].replace(/\,/g, "")) || "N/A";
  else if (mode === "yield") return Number(summaryArr[13].split("(")[1].split("%")[0]) || "N/A";
  else return Number($('fin-streamer[data-field="regularMarketPrice"]').attr('value')) || 0;
}
9 tykkäystä

Myöhäiset propsit tälle kaavalle… Tein pienen modauksen. " , " vs. " ; " riippunee kaavassa siitä millä “kielellä” googlesheettiä käyttää. Ja yhtälailla oma tulos korvaa . → ,

SUBSTITUTE(INDEX(IMPORTXML("https://markets.ft.com/data/funds/tearsheet/summary?s=SE0005993102:EUR";"//span[@class='mod-ui-data-list__value']");1;1);".";","

Näin esmes. Nordnet indeksisuomi ESG, joka päätyi hetki sitten omiin rahastoihin :+1:

1 tykkäys

Alla oleva @Prophier :in scripti toimii muuten paitsi osakkeen hintaa en saa näkyviin. Näyttää osakkeen päiväkohtaisen hinnanmuutoksen prosentteina sen sijaan. Onko muilla ollut samoja ongelmia?

2 viestiä ylempää löytyy tällä hetkellä toimiva koodi.

1 tykkäys

Aivan, kiitoksia! En ollut huomannutkaan tuota.

Oli tuo marketscreenerin sivu muuttunut. Tällä muutoksella sain toimimaan:

  //const arr = $("table.Bord").children().children().children().toArray().map((element) => { return $(element).text()});
  //arr.shift();
  const arr = $('#consensusdetail').find('.grid').find('div').toArray().map((element) => { return $(element).text()});

Pari rivä siis pois ja yksi uusi tilalle. @Prophier varmaan katselmoi kelpaako muutos yleiseen jakeluun? :grin:

1 tykkäys

Hyvä vaan, kun joku pitää näitä ajan tasalla. Ei mulla ole valittamista :grin:

3 tykkäystä

Kirjoittelin jokin aika sitten kahvihuoneelle mutta laitanpa tännekkin ihan infona mikäli jotakuta kiinnostaa testailla selainpohjaista salkun seuranta-alustaa Stockle (Beta versio). Näitähän toki on tehty aiemminkin mutta uskoisin että testatessa huomaa eroavaisuudet moneen muuhun. Tällä hetkellä ollaan kehittämässä softaan allokaatiosivua, parannusta mobiiliin ja positiotauluihin osinkokolumnia josta näkee saadut osingot kullekkin avoimelle/suljetulle positiolle. Ilmaisessa versiossa rajoitetut määrät portfolioita/transaktioita.

4 tykkäystä

Olisiko PP:n käyttäjillä vinkkejä kuinka yhtiöiden yhdistymiset/jakautumiset ja nimenmuutokset voisi merkitä fiksusti ja informatiivisesti? Olen toistaiseksi vaihtanut nimen ISIN-koodia vasten, mutta tämä hiukan haittaa vanhojen salkkutapahtumien luettavuutta, kun nimi valuu vanhoihin tapahtumiin. Käytännön ongelmakeissinä mulla on nyt Metso/Valmet/Outotec/Neles, joissa on käänteitä riittänyt viime vuosina.

Toimiiko tuo ihan kunnolla? Ainakaan itse en pääse kirjautumaan sisään. Kertakäyttöinen koodi kyllä tulee (roskapostikansioon), mutta koodin syöttämisen jälkeen ei tapahdu mitään. Tai tiimalasi pyörähtää kerran, mutta muuten ei mitään. Kokeilin eri selaimiakin, mutta silti sama juttu. @Vanhalla

Morjens! parilla käyttäjällä ilmaantunut samaa ongelmaa. Laitoin sinulle viestiä täällä jotta päästään pureutumaan tuohon bugiin.

1 tykkäys

Google Sheetsin Yahoo-kikkula antaa itselleni aika metkoja arvoja arvopapereiden hinnoille. Oletteko tehneet samanlaisia havaintoja?

2 tykkäystä

Valmistauduin jo henkisesti korjaushommiin, mutta näkyy kyllä toimivan ihan normaalisti.

Tuolla sinun alkuperäisellä näyttäisi osakkeet toimivan, mutta esimerkiksi rahastot =yahoofinance("0P000134K9.F";"price") ja =yahoofinance("iusq.de";"price") antavat vääriä arvoja.

Tällä korjauksella hintadata näyttää olevan väärin kaikilla.

1 tykkäys

Uudempi yahoofinance koodi hakee itselle ~4500 lähes kaiken arvoksi, kun taas vanhan kanssa osa osakkeista ja osa ETF antaa 0 tai jopa negatiivisia arvoja.

Pari tuntia yahoofinancen sivua yritin tutkia ja lisäillä ehtoja koodiin, mutta kun korjasi jonkun arvon hajosi samalla monta muuta.

Jos joku saa toimimaan tuon palikan niin kertokaa miten onnistui :slight_smile:

3 tykkäystä