Zum Inhalt springen
lurklurk

Download von MSCI-Indexdaten via URL

Empfohlene Beiträge

lurklurk
· bearbeitet von lurklurk

MSCI bietet Indexdaten nur über die Webseite und ein spezielles Downloadmenü an, das man für jeden Download auf's Neue von Hand bedienen muss. Für sporadische Nutzer völlig okay. Aber schlecht, wenn man für Auswertungen aller Art öfter aktuelle Index-Zeitreihen haben möchte und/oder viele Indizes benötigt. Mit Automatisierung sieht es dann mau aus. Höchstens über Drittanbieter wie Onvista (Druckversionen der Webseite einlesen). Dort fehlen allerdings gerne die frühen Jahrzehnte der Indizes oder es geht gar überhaupt nur 5-10 Jahre zurück. Zufällig bin ich nun auf eine bequeme Alternative gestoßen - bequem zumindest nach einmaligem Heraussuchen der Index-ID.

 

Kurzfassung:

 

Diese URL

http://www.msci.com/webapp/indexperf/charts?indices=2591,C,36|73667,V,41|106,C,36|114,C,36|13,C,36|89303,C,36|73,C,30|104,C,30|98278,D,36|94632,R,36&startDate=29%20Jan,%201960&priceLevel=40currency=15&frequency=Y&scope=R&format=XLS&baseValue=true&site=gimi

liefert ganz ohne Webseitenbesuch diese Exceldatei, sogar mit mehr als 6 Indizes gleichzeitig (normalerweise das Limit der MSCI-Webseite):

 

6LyqwdH.png

Längere Fassung:

 

Beim Stöbern im Hilfebereich der Quandl.com-Seite bin ich auf ein Ruby-Skript gestoßen. Quandl läuft wohl intern (auch?) mit Ruby und man kann dort selbst Daten einpflegen (private oder öffentliche) und dann mit speziellen Quandl-Plugins/Libraries/Packages oder per API in diverse Programme einlesen. Statt händischem Einpflegen kann man auch solche Ruby-Skripte hochladen und von Quandl automatisch ausführen lassen. Jedenfalls liest besagtes Ruby-Skript die Daten des MSCI-Far-East-Index im XML-Format, konvertiert dann von XML in ein Zweispalten-Layout und gibt das Ganze am Bildschirm aus (bzw. STDOUT, Piping/Datei etc).

 

Die relevante Stelle im Skript lautet

index = 114 # Far East Index
frequency = 'M' # monthly
ccy = 15 # USD

url = "http://www.msci.com/webapp/indexperf/charts?indices=#{index},C,36&startDate=29%20Jan,%201960&endDate=29%20Jan,%202024&priceLevel=0&currency=#{ccy}&frequency=#{frequency}&scope=&format=XML&baseValue=false&site=gimi"

Wir sehen dort als URL-Basis

http://www.msci.com/webapp/indexperf/charts?

gefolgt von diversen Parametern der Form

name=X

die durch ein & voneinander getrennt sind.

 

Zuerst habe ich probiert, ob als Format XLS (Excel) statt XML möglich ist - ja, ebenso CSV. Das hat mich darauf gebracht zu schauen, was passiert, wenn man im MSCI-Downloadmenü diverse Optionen ändert (gross/net/price, Währung, Index X, ...) und auf "Download Data" klickt. Ich hatte dafür erst eine Chromeerweiterung genommen, dann aber die Browser-eignenen Entwicklertools bemerkt. Man kann dort einen Filterbegriff eingeben, so wird nur die gewünschte Aktion angezeigt. Beim Klick auf der MSCI-Webseite sieht man so die jeweiligen URLs, die auch genauso aufgebaut sind wie die URL aus dem Ruby-Skript:

 

O0AQeht.png

 

Bei mir wird in den Tools zuerst immer nichts angezeigt, erst nach einem Druck auf die Taste F5 (Reload) klappt es. Läuft bei anderen Browsern und Betriebssystemen sicher ähnlich ab. Bisher habe ich testweise ein paar Indizes durchprobiert. Weitere können wir ja bei Interesse hier im Thread mit der Zeit zusammentragen (die Codes). Die Parameter, soweit ich sie verstehe:

indices=

2591,C,36 für ACWI

73667,V,41 für ACWI IMI Value

114,C,36 für Far East

73,C,30 für Germany

98278,D,36 für BRIC GDP

94632,R,36 für BARRA Factor Europe Momentum

  • leider muss man diese Kennung für jeden einzelnen Index abfragen, den man haben will. Die erste Zahl (wie 2591 oder 73667) ist immer anders, auch für Subindizes wie MSCI World --> World Value oder World Small Growth. Der Aufbau scheint scheint zwar einem Schema zu folgen. Und zuerst dachte ich, man könnte z.B. einfach aus dem Far East Standardindex (114,V,36) einen Far East IMI Value (114,V,41) machen. Die Spaltenbeschriftung in der Exceldatei lautet dann auch wie gewünscht (Far East IMI Value, aber die Renditen bleiben die des Far East Standardindex. Funktioniert also nicht. Danke an User abseits für den Hinweis - schade. unsure.gif
  • mehrere Indizes gleichzeitig werden mit dem Zeichen | getrennt (Taste links unten auf der Tastatur, gleiche wie für <>)
  • die Reihenfolge der Spalten/Indizes in der Downloaddatei ist leider nicht diesselbe wie in der URL angegeben. Sie bleibt aber von Download zu Download gleich.

startDate=

31%20May,%202010

  • im US-Datums-Kurzformat, %20 steht für ein Leerzeichen
  • vor Ultimo 1969 gibt es bei keinem MSCI-Index Daten. Es bietet sich an, irgendein Datum aus den 1960ern als "Dummy" für das frühestmögliche Datum nehmen.

endDate=

  • wie vor, kann weggelassen werden, dann gibt's Daten bis heute. Parameter darf aber, wenn vorhanden, nach dem = nicht leer sein.

priceLevel=

0 für price return

41 für net return

40 für gross return

 

currency=

15 für USD

119 für Euro

0 für local currency

 

frequency=

D für daily

M für monthly

Y für yearly

 

scope=

R

  • ????

format=

XLS für eine Exceldatei

XML

CSV

 

baseValue=

true für Start bei 100 (ändert nur etwas, wenn Startdatum der angeforderten Zeitreihe nach Indexauflage)

false

 

site=

gimi

  • ????
  • darf aber nicht fehlen

Ein komplettes Beispiel zum Schluss. Wir wollen eine Exceldatei mit dem MSCI ACWI IMI und dem MSCI Germany. Das Ganze gross return in USD, mit Monatsrenditen, Start bei 100 und Zeitraum Ultimo 2010 bis Ultimo 2013. Ergibt

http://www.msci.com/webapp/indexperf/charts?indices=2591,C,36|73,C,30&startDate=31%20Dec,%202010&endDate=31%20Dec,%202013&priceLevel=40&currency=15&frequency=M&scope=R&format=XLS&baseValue=true&site=gimi

Besonders komfortabel ist es natürlich, sich die gewünschten URLs mit Excel-Formeln/-funktionen (wie "Verketten", ...) oder gleich mittels einer Programmiersprache zusammensetzen zu lassen.

Diesen Beitrag teilen


Link zum Beitrag
lurklurk
· bearbeitet von lurklurk

# Info hat sich als falsch herausgestellt #

Diesen Beitrag teilen


Link zum Beitrag
wertpapiertiger

Eine gute Nachricht zu den Indexkennungen. Das MSCI-Downloadmenü generiert zwar für jede Indexabart eine individuelle Kennung. Es funktioniert aber auch, für alle Abarten (GDP, Smallcap Growth, ...) einfach die ID des jeweiligen Mutter-/Hauptindex zu nehmen (Word, ACWI, Germany, ...). Und diese dann mit Angaben zur gewünschten Abart zu ergänzen. D.h. es reicht, sich einmalig die IDs dieser Hauptindizes (Regionen, Länder) zu holen. Ich habe das oben eingearbeitet.

 

 

wehe wenn er sich mal festgebissen hat ! Nice find lurklurk :thumbsup:

 

Hab mal die IndexIDs für EM, DM, CHINA und ALL CAPs aus dem Quelltext geschnappschusst und angehängt :)

post-18241-0-51998400-1410868021_thumb.jpg

post-18241-0-83129700-1410867524_thumb.jpg

post-18241-0-34708700-1410867690_thumb.jpg

post-18241-0-64599200-1410867725_thumb.jpg

 

Grüsse

Diesen Beitrag teilen


Link zum Beitrag
lurklurk
· bearbeitet von lurklurk
Hab mal die IndexIDs für EM, DM, CHINA und ALL CAPs aus dem Quelltext geschnappschusst und angehängt :)

Danke für die Mitarbeit. thumbsup.gif Leider klappt es doch nicht so einfach, wie ich nach einem dankenswerten Hinweis von User abseits gemerkt habe. Man muss die gesamte Kennung für jeden einzelnen Index abfragen, den man haben will. Die Spaltenbeschriftung in der Exceldatei lautet zwar nach "Standardindex + Schema" wie gewünscht (z.B. Far East IMI Value), aber die Renditen bleiben die des Far East Standardindex. sad.gif Naja, immerhin nur einmalig Arbeit.

Diesen Beitrag teilen


Link zum Beitrag
Maciej

Mittlerweile haben vermutlich ein paar Leute zuviel die Daten aus der oben genannten Quelle abgegriffen. Jedenfalls funktioniert der Abruf der täglichen Daten mittlerweile nicht mehr für längere Zeiträume, sondern nur noch (wie über das Web-Tool) für die letzten vier Jahre. Daten davor gibt es dann nur noch monatlich. :(

Diesen Beitrag teilen


Link zum Beitrag

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...