tisdag 22 oktober 2024

Länka fonder, aktier och valutor från FT

Finns många olika websidor man kan länka in kurser ifrån. Problemet är att ibland slutar de fungera och ibland tas innehåll bort. Ju fler man har tillgång till desto bättre. Här är en variant som hämtar data från FT. Här stöds vanliga fonder, norska aktier, ETF:er från Xetra med mera som kan vara lurigt att hitta på andra ställen.

I Google Sheets välj Apps Script under Extensions:




 

Kopiera in följande:



function fintime1(symbol) {

  symbol = symbol || "IE00BF20L762:SGD";
 
  symbol = encodeURI(symbol);
  Utilities.sleep(Math.floor(Math.random() * 5000));
 
  var url = 'https://markets.ft.com/data/etfs/tearsheet/summary?s=' + symbol;
  Logger.log(url);

  // Fetch the URL
  var response = UrlFetchApp.fetch(url, {muteHttpExceptions: true});
  var responseCode = response.getResponseCode();
 
  if (responseCode === 200) {
    var html = response.getContentText();

    // Use a regex that captures numbers, including commas and periods.
    var match = html.match(/<span class="mod-ui-data-list__value">([\d,\.]+).*?<\/span>/);
   
    if (match && match[1]) {
      var content = match[1];  // The captured group with the number string
      var finContent = content.toString().replace(/,/g, '');  // Remove commas from the number
      Logger.log(finContent);  // Log the cleaned-up number
     
      return Number(finContent);  // Convert the cleaned-up string to a number and return
    } else {
      Logger.log("No match found for the number.");
      return null;
    }
  } else {
    Logger.log("Failed to fetch data. Response Code: " + responseCode);
    return null;
  }
}


Klicka den blåa Deploysymbolen och välj New deployment. Ange något i Description om du vill och välj Deploy.

Du måste tillåta scripts att köra. Här är en video som beskriver hur man gör:


Du bör nu via kommandot =fintime1("SE0002793943:SEK")

kunna länka in data från FTs markets sidor:

https://markets.ft.com/data/etfs/tearsheet/summary?s=SPY5:FRA:EUR
Sök upp vad du vill länka och byt ut koden inom citationstecken ovan.

Googles valutakurser tycker jag brukar vara missvisande ibland på helger de kan man också länka,

tex =fintime1("USDSEK")

Lycka till.

Inga kommentarer:

Skicka en kommentar