股票

如何下載具有月度價格的股票指數的歷史構成

  • May 17, 2021

對於資產管理中的量化項目,我需要在很長一段時間(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 指數。

您可能需要注意以下幾點:

  1. 由於不同的金融事件,一些基礎程式碼可能會更改名稱。
  2. 某些程式碼的首次添加日期可能不可用。

以下是程式碼的輸出。

                 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]
                

引用自:https://quant.stackexchange.com/questions/33081