回归分析

回归分析

这里只是用SP500指数和VIX,指数波动率在隐含波动率的基础上计算得到一定程度上反映了,未来波动率的发展情况.
由于国内的波动率指数刚发布不到一年,tushrae现在不能获取它的数据,所以需要从雅虎财经获取标普500和标普波动率指数.
 

# 获取美国数据,需要倒入新的模块
import pandas_datareader.data as web
import fix_yahoo_finance as yf    # 配合pandas_datareader 获取雅虎财经数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
yf.pdr_override()
# 标普500
df_spy = web.get_data_yahoo('SPY',start='2010-01-01')
df_vix = web.get_data_yahoo('^VIX',start='2010-01-01')
[*********************100%***********************]  1 of 1 downloaded
df_spy.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 1899 entries, 2010-01-04 to 2017-07-19
Data columns (total 6 columns):
Open         1899 non-null float64
High         1899 non-null float64
Low          1899 non-null float64
Close        1899 non-null float64
Adj Close    1899 non-null float64
Volume       1899 non-null int64
dtypes: float64(5), int64(1)
memory usage: 103.9 KB
# 提取两个数据中的收盘价格,组成一个新的数据列表
data = pd.DataFrame({'SPY':df_spy['Close']})
data = data.join(pd.DataFrame({'VIX':df_vix['Close']}))
print data.tail()
                   SPY   VIX
Date                        
2017-07-13  244.419998  9.90
2017-07-14  245.559998  9.51
2017-07-17  245.529999  9.82
2017-07-18  245.660004  9.89
2017-07-19  246.990005  9.79
%matplotlib inline
data.plot(subplots=True, figsize=(12,7), grid=True)

                    SPY和VIX
这里写图片描述

再次验证了杠杆效应,标普出现下跌的时候,波动率指数就会上升.
 

# 对两列时间序列计算对数收益率
d_res = np.log(data / data.shift(1))
print d_res.head()
                 SPY       VIX
Date                          
2010-01-04       NaN       NaN
2010-01-05  0.002644 -0.035038
2010-01-06  0.000704 -0.009868
2010-01-07  0.004212 -0.005233
2010-01-08  0.003322 -0.050024
%matplotlib inline
d_res.plot(subplots=True, grid=True, figsize=(12,7))

 
                    对数收益率
这里写图片描述

# 回归分析
# S&P500作为自变量,VIX作为因变量
x = d_res['SPY'][1:]
y = d_res['VIX'][1:]
# 用一次多项式去拟合数据
poly_1 = np.polyfit(x, y, 1)
print poly_1
[ -6.36571378e+00   2.23540666e-03]

斜率为-6.365,截距为2.235,表现出强烈的负相关(杠杆效应)

# 对数收益率的散点图和拟合直线
%matplotlib inline
plt.plot(x, y, '.')
ax = plt.axis()   #x轴的取值范围
lx = np.linspace(ax[0], ax[1] + 0.01)
plt.plot(lx, np.polyval(poly_1, lx),'r', lw=2.0)
plt.grid(True)
plt.xlabel('SPY')
plt.ylabel('VIX')

这里写图片描述

# 标普指数和指数波动率之间的相关性
print d_res.corr()
          SPY       VIX
SPY  1.000000 -0.810071
VIX -0.810071  1.000000 

也反映除了强烈的负相关,但是相关性会伴随时间周期发生变化

# 计算窗口期为一年的,滑动相关系数
# Series.rolling(window=252).corr(other=<Series>)
mov_corr = d_res['SPY'].rolling(window=252).corr(d_res['VIX'])
%matplotlib inline
mov_corr.plot(grid=True, figsize=(12,7))

这里写图片描述

尽管相关性随着时间变化,但是仍是呈现出强烈的负相关

已标记关键词 清除标记
相关推荐
<p> <span> </span> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <span style="color:#E53333;">92讲视频课+16大项目实战+课件源</span><span style="color:#E53333;">码+讲师社群闭门分享会</span> </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-14 ql-author-32569780"><span style="color:#337FE5;font-size:14px;">为什么学习数据分析?</span></strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-14 ql-author-32569780"><span style="color:#337FE5;"><br /> </span></strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;">       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <br /> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;">       从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 </p> <p style="font-size:11pt;color:#494949;">  <span style="font-size:11pt;"> </span> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <span style="color:#337FE5;"><strong>本课程共包含五大模块:</strong></span> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-14 ql-author-32569780"><span style="color:#337FE5;"><br /> </span></strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-12 ql-author-32569780">一、先导篇:</strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <span class="ql-author-32569780">通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。</span> </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-12 ql-author-32569780">二、基础篇:</strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-12 ql-author-32569780">三、数据采集篇:</strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <span class="ql-author-32569780">通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。</span> </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-12 ql-author-32569780">四、分析工具篇:</strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <span class="ql-author-32569780">讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。</span> </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <strong class="ql-size-12 ql-author-32569780">五、算法篇:</strong> </p> <p class="ql-long-32569780" style="font-size:11pt;color:#494949;"> <span class="ql-author-32569780">算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。</span> </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202006110958102443.jpg" /> </p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页