Ophalen aandelenkoersen De Tijd
TIP
Re: Ophalen aandelenkoersen De Tijd
Ondertussen heeft siskavdd mij volgende code toegestuurd:
Voor strURL is dit na de laatste schuine streep: SecuritySearchResults.aspx
Voor strURLID is dit: snapshot/snapshot.aspx
De functie kan gecopieerd worden in een VBA module. Het gebruik is eenvoudig: =MorningstarQuote($C3) waarbij in C3
de ISIN code van het effect genoteerd is, geeft de laatste koers.
Het is een typische webscraper die brutaal in de pagina op zoek gaat naar het resultaat. Vanzelfsprekend kan een wijziging door Morningstar aan deze pagina tot gevolg hebben dat de functie niet meer naar behoren werkt.
- De functie is enkel toepasselijk voor fondsen, niet voor ETFs. Een gelijkaardige functie kan hiervoor ontwikkeld worden.
- Er is slechts een partiële controle op de geldigheid van het ISIN number. Als je een onvolledig ISIN number ingeeft, bv. LU08379, dan zal de functie de koers geven van het eerste fonds waarvan de ISIN code met die cijfers begint. Dus altijd goed controleren.
- Afhangende van de instellingen van uw computer kan het gebeuren dat je het bekomen resultat nog door 100 moet delen (bv. als je US/UK als landsinstelling hebt)
Algemene Opmerking: Uit de Nederlandstalige gebruiksvoorwaarden van Morningstar kan ik niet afleiden of Web scraping toegelaten is. Sommige data sites verbieden dit expliciet. Dit is hier niet echt het geval.
De parser van deze website (Spaargids) is zo vervelend om een deel van de URL te interpreten en weg te laten.Public Function MorningstarQuote(ISIN As String) As Double
Dim strURL As String, strURLID As String, strCSV As String, strCSVID As String, _
strParts() As String, strParts2() As String, strBlocks() As String, ID As String, strQuote As Double
strURL = "http://www.morningstar.be/be/funds/Secu ... px?search=" & ISIN & "&type="
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "get", strURL, False
http.send
strCSV = http.responsetext
strParts() = Split(strCSV, "/snapshot.aspx?id=")
ID = Split(strParts(2), """>")(0)
strURLID = "http://www.morningstar.be/be/funds/snap ... t.aspx?id=" & ID
http.Open "get", strURLID, False
http.send
strCSVID = http.responsetext
strParts2() = Split(strCSVID, "line text"">")
strBlocks() = Split(strParts2(1), "</td>")
strQuote = Right(strBlocks(0), Len(strBlocks(0)) - 4) * 1
MorningstarQuote = strQuote
Set http = Nothing
End Function
Voor strURL is dit na de laatste schuine streep: SecuritySearchResults.aspx
Voor strURLID is dit: snapshot/snapshot.aspx
De functie kan gecopieerd worden in een VBA module. Het gebruik is eenvoudig: =MorningstarQuote($C3) waarbij in C3
de ISIN code van het effect genoteerd is, geeft de laatste koers.
Het is een typische webscraper die brutaal in de pagina op zoek gaat naar het resultaat. Vanzelfsprekend kan een wijziging door Morningstar aan deze pagina tot gevolg hebben dat de functie niet meer naar behoren werkt.
- De functie is enkel toepasselijk voor fondsen, niet voor ETFs. Een gelijkaardige functie kan hiervoor ontwikkeld worden.
- Er is slechts een partiële controle op de geldigheid van het ISIN number. Als je een onvolledig ISIN number ingeeft, bv. LU08379, dan zal de functie de koers geven van het eerste fonds waarvan de ISIN code met die cijfers begint. Dus altijd goed controleren.
- Afhangende van de instellingen van uw computer kan het gebeuren dat je het bekomen resultat nog door 100 moet delen (bv. als je US/UK als landsinstelling hebt)
Algemene Opmerking: Uit de Nederlandstalige gebruiksvoorwaarden van Morningstar kan ik niet afleiden of Web scraping toegelaten is. Sommige data sites verbieden dit expliciet. Dit is hier niet echt het geval.
...U heeft de toestemming om pagina's van de Site uit te printen, in de mate dat dit redelijkerwijs noodzakelijk is voor uw gebruik van de Site voor privédoeleinden...
Re: Ophalen aandelenkoersen De Tijd
Interessante formule!vortex schreef: ↑10 februari 2018, 11:12 Als een fonds op Morningstar te vinden is, kan je het met importhtml in Google sheets krijgen.Code: Selecteer alles
=INDEX(SPLIT(INDEX(IMPORTHTML("http://www.morningstar.be/be/funds/snapshot/snapshot.aspx?id=F0GBR068X6";"table";12);2; 3);"EUR");1;0)
Bij mij werkt dit wel totaal niet performant. Ik had een lijstje gemaakt van een twintigtal fondsen. Om van elk fonds de koers en een paar andere gegevens op te halen, daar doet hij minutenlang over. Een kolom invoegen, en hopla, alle cellen moeten worden herberekend. Jammer!
Re: Ophalen aandelenkoersen De Tijd
Het is vooral die IMPORTHTML functie die nogal time consuming is hier... En dit ligt volgens mij niet aan die methode, maar aan Morningstar! Snelheid van returnen van HTML page...
Ik heb iets soortgelijks opgezet vroeger voor de NIW's van m'n aandelenfondsen bij te houden en heb hier ook regelmatig "last" van. Swat... Als je't allemaal een beetje robuust implementeert lukt het wel hoor! Trouwens ik laat die jobs 's nachts runnen vanop m'n google drive. Dan steekt timing nu ook weer niet zo nauw hé...
Ik heb iets soortgelijks opgezet vroeger voor de NIW's van m'n aandelenfondsen bij te houden en heb hier ook regelmatig "last" van. Swat... Als je't allemaal een beetje robuust implementeert lukt het wel hoor! Trouwens ik laat die jobs 's nachts runnen vanop m'n google drive. Dan steekt timing nu ook weer niet zo nauw hé...
Re: Ophalen aandelenkoersen De Tijd
Interessant! Is dit iets wat je kunt delen?
Re: Ophalen aandelenkoersen De Tijd
Tuurlijk wel kan ik dat allemaal delen... Ik ga wel geen publieke toegang geven tot mijn Google Drive (of tenminste en gedeelte ervan) owv veiligheidsredenen. Hoop dat je dat begrijpt.
Wat ik wel zal doen is een beschrijving maken van hoe je je google sheet kan opzetten hiervoor + mijn google script toevoegen + uitleggen hoe je dit scriptje periodiek (bv. iedere nacht) kan laten lopen.
Dat zal je al een stapje vooruit helpen om het allemaal zelf eens te ontdekken, want hiermee leer je 't meest hé;-)
Dit zal wel een weekendwerkje worden dan denk ik... Je zal mijn post hier zien verschijnen ofwel maak ik er een apart topic voor. Ik zie wel wat het handigste is.
Mvg,
Wat ik wel zal doen is een beschrijving maken van hoe je je google sheet kan opzetten hiervoor + mijn google script toevoegen + uitleggen hoe je dit scriptje periodiek (bv. iedere nacht) kan laten lopen.
Dat zal je al een stapje vooruit helpen om het allemaal zelf eens te ontdekken, want hiermee leer je 't meest hé;-)
Dit zal wel een weekendwerkje worden dan denk ik... Je zal mijn post hier zien verschijnen ofwel maak ik er een apart topic voor. Ik zie wel wat het handigste is.
Mvg,
Re: Ophalen aandelenkoersen De Tijd
@Woete: Ik heb even snel een nieuw topic aangemaakt... Cfr. Dashboard voor Portfolio Beleggingsfondsen.
Re: Ophalen aandelenkoersen De Tijd
Ik haal de koers nu op van de website van Morningstar.
Alleen voor Befimmo wil dat niet lukken
Iemand een idee om dit ook voor dit aandeel terug aan de klap te krijgen ?
Alleen voor Befimmo wil dat niet lukken
Ophalen koersen ETFs van Morningstar
Ophalen van koersen van een ETF van de Morningstar site kan met volgende GoogleSheet : Morningstar
De enige input is de code die Morningstar aan de ETF geeft en die je in de adresbalk ziet als je het detail vraagt.
Er staan enkele voorbeeldjes onderaan, waarvan één (bovenaan) met alle opgevraagde gegevens.
Je kan natuurlijk naar hartelust ETFs toevoegen, maar bedenk wel dat de site relatief traag is. Ook kan de toegang geweigerd worden aan wie voortdurend via dit soort 'webscraping' informatie opvraagt. In die Beschränkung zeigt sich der Meister.
De enige input is de code die Morningstar aan de ETF geeft en die je in de adresbalk ziet als je het detail vraagt.
Er staan enkele voorbeeldjes onderaan, waarvan één (bovenaan) met alle opgevraagde gegevens.
Je kan natuurlijk naar hartelust ETFs toevoegen, maar bedenk wel dat de site relatief traag is. Ook kan de toegang geweigerd worden aan wie voortdurend via dit soort 'webscraping' informatie opvraagt. In die Beschränkung zeigt sich der Meister.
Re: Ophalen aandelenkoersen De Tijd
Probleem is op website M* zelf (toont daar ook geen gegevens). Ik heb een bericht gestuurd naar M*. Afwachten dus.
Re: Ophalen aandelenkoersen De Tijd
Google Finance heeft blijkbaar de beurscodes voor Brussel en Amsterdam afgeschaft, AMS en EBR aandelen zitten nu onder Euronext Parijs, bv Ahold Delhaize AMS:AD is nu EPA:AD.
Re: Ophalen aandelenkoersen De Tijd
Raar, want als je in google bijvoorbeeld EPA:AGS indrukt krijg je niets te zien, maar als je EBR:AGS indrukt wel. Maar bij het aandeel staat dan wel EPA
72% aandelen, 18% obligaties, 10% cash
Re: Ophalen aandelenkoersen De Tijd
Ja, Google (de zoekrobot) kent EPA:AGS niet terwijl de Google Finance functie (spreadsheet) geen data meer weergeeft met EBR:AGS. Geen idee of dit een tijdelijk probleem is of dat het wel degelijk om een verandering gaat.
Re: Ophalen aandelenkoersen De Tijd
Sinds vorige week geeft mijn google spreadsheet geen resultaten meer terug als ik de fondsen wil ophalen. Zijn er nog mensen die er problemen mee hebben ?
Volgende functie zou de ISIN-code moeten geven:
=INDEX(IMPORTHTML($B4;"table";12);5; 3)
$B4 staat dan een URL van het fonds dat ik wil opvolgen
Foutboodschap is volgende:
De waarde van Parameter 2 van functie INDEX is 5. Geldig waarden zijn 0 tot en met 1.
Aangezien ik er al maanden geen wijzigingen aan gedaan heb, en Morningstar vind ik totaal geen aanknopingspunt.
Volgende functie zou de ISIN-code moeten geven:
=INDEX(IMPORTHTML($B4;"table";12);5; 3)
$B4 staat dan een URL van het fonds dat ik wil opvolgen
Foutboodschap is volgende:
De waarde van Parameter 2 van functie INDEX is 5. Geldig waarden zijn 0 tot en met 1.
Aangezien ik er al maanden geen wijzigingen aan gedaan heb, en Morningstar vind ik totaal geen aanknopingspunt.
Re: Ophalen aandelenkoersen De Tijd
Ja, zelfde hier, blijkbaar is er iets veranderd aan de website, lijkt te werken met "table";11
Code: Selecteer alles
=INDEX(IMPORTHTML($B4;"table";11);5; 3)


