@Author: Runsen
什么是股票指数
股票价格指数为度量和反映股票市场总体价格水平及其变动趋势而编制的股价统计相对数。通常是报告期的股票平均价格或股票市值与选定的基期股票平均价格或股票市值相比,并将两者的比值乘以基期的指数值,即为该报告期的股票价格指数。当股票价格指数上升时,表明股票的平均价格水平上涨;当股票价格指数下跌时,表明股票的平均价格水平下降;是灵敏反映市场所在国(或地区)社会、政治、经济变化状况的晴雨表。
有名的股票指数
美国
- 标准普尔500指数 (500家最大的上市公司)
- 道琼斯工业平均指数 (30支在美国市场交易的大型公共股票股价的平均值,但是不能代表美国股市)
- 纳斯达克指数 (指一些在纳斯达克证券交易上市的证券组成的指数,代表了科技股的收益率)
外国
- 英国富时100指数
- 德国的DAX
- 日本的日经255指数
- 中国的上证综合指数
- 摩根士丹利资本国际(MSCI)
代码
下面,我们使用pandas_datareader读取外国有名的股票指数
import numpy as npfrom pandas_datareader import data as wbimport matplotlib.pyplot as plt import pandas as pd%matplotlib inline
这里出现小插曲,想读取英国富时100指数^FTSE读取不到
tickers = ['^GSPC','^IXIC','^GDAXI']ind_data = pd.DataFrame()for t in tickers: ind_data[t] = wb.DataReader(t,data_source='iex',start='1997-1-1')['Adj Close']
ind_data.head()
(ind_data/ind_data.iloc[0]*100).plot(figsize=(15,6))
在这里插入图片描述
wb.DataReader('^GSPC',data_source='yahoo',start='1997-1-1').head()
ind_returns = (ind_data/ind_data.shift(1))-1ind_returns.head()
annual_ind_returns = ind_returns.mean()*250annual_ind_returns
^GSPC 0.078329^IXIC 0.111502^GDAXI 0.078216dtype: float64
# 美国tickers = ['PG','^GSPC','^DJI']data_2 = pd.DataFrame()for t in tickers: data_2[t] = wb.DataReader(t,data_source='yahoo',start='2001-1-1')['Adj Close']
data_2.tail()
(data_2/data_2.iloc[0]*100).plot(figsize=(15,6))