Salkkujen seuranta: excel-taulukot

Tähän en taida osata auttaa. Ainoa mitä tuli mieleeni on kokeilla että onko se “muisti” sheetsin päässä, vai sinun selaimen päässä, eli jos avaisikin sen taulukon incognito-ikkunassa. Silloin jos ongelma pysyy, niin se on google sheets joka sitä tietoa muistaa ja siihen ei ehkä sitten itse pysty vaikuttamaan, jos sheetsissä ei ole mitään virkistys-toimintoa.

Käytän itse Pythonilla ainoastaan tuota irtoamispäivää ja se vaihtuu niin harvoin, ettei ongelmaa ole. Saan onneksi nuo kurssit joita itse tarvitsen ihan google financesta.

1 tykkäys

Ikävä tilanne, kun tällä hetkellä ei näytä olevan mitään tapaa, mikä toimisi. Google Financekaan ei riitä, kun ei sieltä löydy kaikkia lappuja. Sitten noiden Morningstarien ym. scraping kaikkea varten menee aika sekavaksi. Vielä on tutustumatta Exceliin ja Applen Numbersiin, enkä tiedä löytääkö niilläkään kaikkea tarvittavaa, eikä noitakaan appeja löydy kuin puhelimesta.

1 tykkäys

Noin viikon kokemuksella Nordnetista haku vaikuttaa toimivalta ja sisältää melko kattavan määrän lappuja.

Viikonlopun aikana alkoi ilmetä oiretta että välillä sivusto palauttaa vanhan ( 29.10. ) kurssin lapulle. Toistaiseksi kurssi näyttää päivittyvän useimmiten uudelleenlatauksella. Saa nähdä miten jatkossa, väliaikaista kaikki on vaan, ainakin tällaiset web-scraping skriptit.

Python/Neptyne vaikuttaa olevan ainoa, missä saa edes joitain arvoja tulemaan ja suht näppärästi. Alkoi vaan itseäkin häiritsemään tuo tietojen luovuttaminen. Onko turha pelko?

Hostattu Neptyne päättyy 1.3.2025. Koodi open sorsattu eli omaa serveriä pystyyn muutaman kuukauden päästä jos halutaan tällä jatkaa. Tietokoneella Google sheetsiä käyttäessä voi varmaan ajaa lokaalisti Neptyneä, mutta puhelin hommelit vaatii sitten jonkun julkisen serverin. Sais Google ottaa tästä kopin ja integroida suoraan Sheetsiin, mutta en henkeäni pidätteli sen puolesta.

1 tykkäys

Yahoo finance toimii taas hinnan hakuun.

Tässä vielä skripti jolla korvata piste pilkulla
image

2 tykkäystä

Toimii ja toimii. ETF kanssa ei näytä kyllä ainakaan toimivan.

Katsotaan, jos tämä olisi oikea paikka / löytyisi innokas henkilö.

Olen yrittänyt rakentaa Excel-taulukkoa, jolla voisi mallintaa sijoitusten riittävyyttä (varhais)eläkkeellä. Muuten taulukko on jotakuinkin dynaaminen (useita erilaisia varioitavia parametreja), mutta en ole keksinyt, että miten saisin dynaamisesti otettua huomioon pääomatuloverotuksen nostojen yhteydessä. Osaisiko joku auttaa?

Työkalu muodostuu Excel-sheeteistä (lähtötiedot simulointia varten) sekä VBA-koodista, joka hoitaa varsinaisen simuloinnin. Mutta simulointi ei tällä hetkellä tosiaan ota huomioon tuota pääomatuloverotusta ja en keksi, että miten sen saisin toimimaan. Olen ChatGPT:ltä myös kysynyt ja kokeillut erilaisia ehdotuksia, mutta eivät tosiaan toimi.

Jos joku on innokas perehtymään tähän lisää, voin jakaa työkalun ja voidaan vaikka yhdessä ihmetellä. Tai jos muuten haluaa saada työkalun itselleen käyttöön (ja jatkojalostaa).

Ja jos Excel ei ole oikea alusta tällaisen työkalun rakentamiseen, saa vinkata myös muista alustoista.

Mikähän kumma tuossa on? Keksiikö kukaan miksi ei ETF kanssa toimi tuo Yahoo-skripti? Sama periaate kuitenkin, kuin muidenkin tikkereiden kanssa. Vai toimiiko joillain?

Mitä ihmettä, pelkällä solunumerolla vielä. Mitähän teen väärin :tired_face:

Mulla rupesi toimimaan myös ETF kanssa. Näyttäisi toimivan kummatkin komennot =yahoofinance(B1) tai =yahoofinance(B1,“price”), en ole muuta kuin hintaa hakenut.

Mulla googlesheetsissä osakkeiden osalta kurssiseuranta hoitunut viime vuodet hyvin google financen kautta. Nyt hankin Norjan pörssistä Aker BPtä, enkä saa mitään tikkeriä toimimaan Google financen haulla. Löytyisikö täältä apuja?

Oslon pörssin osakkeita ei käsittääkseni löydy Google Financesta. Aker näyttäisi olevan listattuna ainakin Münchenin ja Stuttgartin pörsseissä ja sitä kautta pystyisi seuraamaan kurssia.

1 tykkäys

Näyttää siltä että yahoofinance funktio on lakannut toimimasta, ainakin itselläni. Toimiiko muilla vielä? Vai onko omassa päädyssä jotain vikaa…

1 tykkäys

Itsellänikään ei näytä toimivan yahoofinancella jostain syystä

Minulla toimii. Viimeksi kun päivittelin taulukkoon lauantaina määrättyjä tietoja, niin silloinkin toimi ja nyt kun tsekkaisin, niin päivitti osakkeiden hinnat eilisillä päätöskursseilla, kun avasin taulukon ruudulle.

Mullakaan ei ole toiminut viikonlopun jälkeen.

Onneksti hätä ei ole tämän näköinen. Nuo ketjussa aiemmin mainitut YahooFinancen skriptit eivät tosiaan enää toimi, mutta onneksi netistä (Redditistä tarkalleen) löytyi toimiva funktio kurssitietojen hakemiseksi. Ainakin mulla tuo alla oleva skripti pelittää ainakin toistaiseksi.

Aiemman =YahooFinance -funktion sijasta käytetään funktiota =YahooF tähän tapaan:

=YahooF("AAPL")

joka hakee esim. Applen kurssin.

function yahooF(symbol) {
  const baseUrl = "https://query1.finance.yahoo.com/v8/finance/chart/";
  const maxRetries = 5; // Maximum number of retry attempts
  let attempt = 0;

  while (attempt < maxRetries) {
    try {
      // Construct the URL for the Yahoo Finance API
      const url = `${baseUrl}${encodeURIComponent(symbol)}?interval=1d&range=1d`;

      // Fetch the data from Yahoo Finance
      const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
      const responseCode = response.getResponseCode();

      // Check if the response code is 200 (OK)
      if (responseCode === 200) {
        // Parse the JSON response
        const json = JSON.parse(response.getContentText());
        const chartData = json.chart;

        // Check if the response contains valid chart data
        if (!chartData || chartData.error) {
          throw new Error("Error in fetching chart data: " + (chartData.error?.description || "Unknown error"));
        }

        const result = chartData.result;
        if (!result || result.length === 0) {
          throw new Error("No valid data found for the symbol.");
        }

        // Extract the closing price from the latest trading day
        const closePrices = result[0].indicators.quote[0].close;
        let latestPrice = closePrices ? closePrices[closePrices.length - 1] : null;

        // If no closing price is available, try to get the current price
        if (latestPrice === null || latestPrice === undefined) {
          const meta = result[0].meta;
          latestPrice = meta.regularMarketPrice;
        }

        // Return the latest price if available, otherwise show an error
        return latestPrice !== null ? latestPrice : "No price available";
      } else if (responseCode === 404) {
        // Increment the attempt counter and retry
        attempt++;
        Utilities.sleep(1000); // Wait for 1 second before retrying
      } else {
        // For other HTTP errors, throw an error
        throw new Error(`Yahoo Finance API returned status code ${responseCode}`);
      }
    } catch (error) {
      // If we've reached the maximum number of retries, return an error
      if (attempt >= maxRetries - 1) {
        return `Error: ${error.message}`;
      }
      attempt++;
      Utilities.sleep(500); // Wait for 1/2 second before retrying
    }
  }
}
1 tykkäys

Kiitti scriptistä! Otin käyttöön myös, riittää omaan tarkoitukseen mainiosti.

1 tykkäys

Mulla ei ole toiminut pariin kuukauteen noi Yahoot. Pitäisikö sen siis toimia ETF kanssa myös? Ja mikä toimii tarkalleen?

Jee, tämä näyttää toimivan taas myös ETF:lle, kiitos. Pääsin koneelle vihdoin ja riitti usko kokeilla vielä tuota.

Tässä menikin muutama kuukausi ilman mitään ja salkun seuranta ehti mennä kuralle ja viime vuoden tuloksesta ei käsitystä. Vaikka kaippa sen jotenkin saisi jälkikäteen selvitettyä, ehkä.