股票
如何下載具有月度價格的股票指數的歷史構成
對於資產管理中的量化項目,我需要在很長一段時間(20 年)中獲得每年給定股票指數(標準普爾 500 或 CAC 40)的不同歷史成分及其價格。我應該如何進行?我曾嘗試使用彭博社,但由於我沒有完全訪問權限,所以這是不可能的。我確實可以訪問 Datastream,但我只能每月獲得指數目前成分的歷史價格。
提前謝謝了!
這是非常困難的。標準普爾實際上希望您為目前存在的權重付費——他們在 8 年前左右開始對權重收費——過去是免費的。
歷史成分似乎是您必須為標準普爾支付的費用——尤其是對於所有喜歡此類資訊的量化交易員。
如果有人證明我錯了,很高興刪除這個答案,但我希望你必須為此付費。
您可以獲取標準普爾500歷史成分股 https://en.wikipedia.org/wiki/List_of_S%26P_500_companies 獲取添加和刪除日期,您可以使用python系統地從雅虎中提取列表。大多數雅虎數據可以追溯到 1970 年。
import pandas_datareader.data as web import pandas as pd pd.set_option('display.max_columns', None) data = web.get_data_yahoo('SPY', '01/01/1997', interval='m') print(data)
對於學校項目,您可以考慮使用 SPY。SPY 非常緊跟標準普爾 500 指數。
您可能需要注意以下幾點:
- 由於不同的金融事件,一些基礎程式碼可能會更改名稱。
- 某些程式碼的首次添加日期可能不可用。
以下是程式碼的輸出。
High Low Open Close Volume Adj Close Date 1997-01-01 79.687500 72.750000 74.375000 78.406250 4.362370e+07 50.724728 1997-02-01 82.000000 77.125000 78.718750 79.156250 3.002880e+07 51.209930 1997-03-01 81.796875 75.250000 78.750000 75.375000 3.751430e+07 48.763680 1997-04-01 80.687500 73.312500 75.250000 80.093750 5.767930e+07 52.014885 1997-05-01 85.562500 79.312500 80.218750 85.156250 3.747340e+07 55.302582 ... ... ... ... ... ... ... 2021-02-01 394.170013 370.380005 373.720001 380.359985 1.307806e+09 379.118286 2021-03-01 398.119995 371.880005 385.589996 396.329987 2.401716e+09 395.036163 2021-04-01 420.720001 398.179993 398.399994 417.299988 1.462028e+09 417.299988 2021-05-01 422.820007 404.000000 419.429993 416.579987 8.737502e+08 416.579987 2021-05-14 417.489990 413.179993 413.209991 416.579987 8.220163e+07 416.579987 [294 rows x 6 columns]