个股与指数的回归分析(自带python ols 参数解读)

摘要:
Python信用评分卡建模(附代码,由博主记录)https://study.163.com/course/introduction.htm?courseId=1005214003&utm_campaign=commission&utm_source=cp-40000000398149&utm_中等=sharehttp://blog.csdn.net/csqazwsxedc/article/

 

python信用评分卡建模(附代码,博主录制)

 

https://study.163.com/course/introduction.htm?courseId=1005214003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

 

个股与指数的回归分析(自带python ols 参数解读)第1张

 

http://blog.csdn.net/csqazwsxedc/article/details/51336322(转)

# 一 个股与指数的回归分析 ## 1.1 数据加载 加载分析所需的Python库

import statsmodels.api as sm
import statsmodels.formula.api as smf
import statsmodels.graphics.api as smg
import patsy
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from scipy import stats
import seaborn as sns

确定起止时间为2015年1月1日至2015年12月31日

import datetime
start = datetime.datetime(2015,1,1)
end = datetime.datetime(2015,12,31)
  • 1
  • 2
  • 3

获取”上证综指”2015年股价数据,记为datasz; 获取”机器人”公司2015年股价数据,记为datajqr。

from pandas.io.data import DataReader
datass = DataReader("000001.SS","yahoo",start,end)
datajqr = DataReader("300024.SZ","yahoo",start,end)
  • 1
  • 2
  • 3

D:software新建文件夹 (4)libsite-packagespandasiodata.py:33: FutureWarning: The pandas.io.data module is moved to a separate package (pandas-datareader) and will be removed from pandas in a future version. After installing the pandas-datareader package (https://github.com/pydata/pandas-datareader), you can change the import “from pandas.io import data, wb“ to “from pandas_datareader import data, wb“. FutureWarning)

datass.head()
 OpenHighLowCloseVolumeAdj Close
Date      
2015-01-053350.523350.523350.523350.5203350.52
2015-01-063351.453351.453351.453351.4503351.45
2015-01-073373.953373.953373.953373.9503373.95
2015-01-083293.463293.463293.463293.4603293.46
2015-01-093285.413285.413285.413285.4103285.41
datajqr.head()
 OpenHighLowCloseVolumeAdj Close
Date      
2015-01-0139.3939.3939.3939.39039.37083
2015-01-0239.3939.3939.3939.39039.37083
2015-01-0538.8339.3337.3039.012075010038.99101
2015-01-0638.7641.2938.5041.222435760041.19994
2015-01-0741.2141.6040.0540.181636470040.16044

## 1.2 个股与上证指数数据探索性分析

close_ss = datass["Close"]
close_jqr = datajqr["Close"]

得到上证综指2015年各交易日收盘价的简单统计结果,如下所示。共有233个上证综指的股价数据,指数的平均值为3739.79,最小值为2927.29,最大值为5166.35。

close_ss.describe()

count 233.000000 mean 3739.794893 std 538.105387 min 2927.290000 25% 3320.680000 50% 3617.060000 75% 4034.310000 max 5166.350000 Name: Close, dtype: float64 得到机器人公司2015年各交易日收盘价的简单统计结果,如下所示。共有261个上证综指的股价数据,股价的平均值67.31,最小值为39.01,最大值为128.00。

close_jqr.describe()

count 261.000000 mean 67.317433 std 20.643055 min 39.010000 25% 51.800000 50% 68.500000 75% 82.550000 max 128.000000 Name: Close, dtype: float64 观察上证综指和机器人公司的股价波动图,如下所示,可以看到,上证综指与机器人公司的股价波动有着相对一致的趋势,机器人公司股价波动较上证综指更大。

fig,ax = plt.subplots(nrows=1,ncols=2,figsize=(15,6))
close_ss.plot(ax=ax[0])
ax[0].set_title("SZZZ")
close_jqr.plot(ax=ax[1])
ax[1].set_title("JQR")
stock = pd.merge(datass,datajqr,left_index = True, right_index = True)
stock = stock[["Close_x","Close_y"]]
stock.columns = ["SZZZ","JQR"]
stock.head()
 SZZZJQR
Date  
2015-01-053350.5239.01
2015-01-063351.4541.22
2015-01-073373.9540.18
2015-01-083293.4640.15
2015-01-093285.4139.36

根据股价得到上证综指和机器人公司的日收益率序列,如下所示。

daily_return = (stock.diff()/stock.shift(periods = 1)).dropna()
daily_return.head()
 SZZZJQR
Date  
2015-01-060.0002780.056652
2015-01-070.006714-0.025230
2015-01-08-0.023856-0.000747
2015-01-09-0.002444-0.019676
2015-01-12-0.0170720.004827

观察日收益率序列的简单统计值,如下所示。上证综指日收益率平均值为0.000556,最小值为-0.0849,最大值为0.0769.机器人公司股价的平均值为0.003665,最小值为-10.00,最大值数据为异常值。

daily_return.describe()
 SZZZJQR
count232.000000232.000000
mean0.0005560.003665
std0.0251940.050061
min-0.084907-0.100017
25%-0.011398-0.021297
50%0.002583-0.000724
75%0.0167200.026968
max0.0769400.209524

观察异常值数据

daily_return[daily_return["JQR"] > 0.105]
 SZZZJQR
Date  
2015-10-120.076940.209524

经分析,该日股价数据异常的原因主要是10月8日和10月9日两个交易日的股价数据缺失,导致该日收益率的计算基数为2015年9月30日。

画出上证综指和机器人公司日收益率波动图

fig,ax = plt.subplots(nrows=1,ncols=2,figsize=(15,6))
daily_return["SZZZ"].plot(ax=ax[0])
ax[0].set_title("SZZZ")
daily_return["JQR"].plot(ax=ax[1])
ax[1].set_title("JQR")
<matplotlib.text.Text at 0x7671a40dd8>

png

画出上证综指和机器人公司日收益率直方图和密度图,如下所示,可以发现,总体上,上证综指和机器人公司日收益率服从正态分布。相对而言,机器人公司的日收益率较上证综指偏低。

fig,ax = plt.subplots(nrows=1,ncols=2,figsize=(15,6))
sns.distplot(daily_return["SZZZ"],ax=ax[0])
ax[0].set_title("SZZZ")
sns.distplot(daily_return["JQR"],ax=ax[1])
ax[1].set_title("JQR")
<matplotlib.text.Text at 0x76725906a0>

png

画出上证综指和机器人公司股价日收益率散点图,如下所示。

fig,ax = plt.subplots(nrows=1,ncols=1,figsize=(12,6))
plt.scatter(daily_return["JQR"],daily_return["SZZZ"])
plt.title("Scatter Plot of daily return between JQR and SZZZ")
<matplotlib.text.Text at 0x76726657b8>

png

散点图表明,上证综指和机器人公司的股价可能存在线性的正相关关系。

1.3 个股与上证综指回归分析

import statsmodels.api as sm

加入截距项。

daily_return["intercept"]=1.0

以个股为自变量,上证综指为因变量,对个股和上证综指进行回归分析。得到回归结果,如下所示。

model = sm.OLS(daily_return["JQR"],daily_return[["SZZZ","intercept"]])
results = model.fit()
results.summary()
OLS Regression Results
Dep. Variable:JQRR-squared:0.382
Model:OLSAdj. R-squared:0.379
Method:Least SquaresF-statistic:142.0
Date:Fri, 18 Mar 2016Prob (F-statistic):8.29e-26
Time:22:16:56Log-Likelihood:421.79
No. Observations:232AIC:-839.6
Df Residuals:230BIC:-832.7
Df Model:1  
Covariance Type:nonrobust  
 coefstd errtP>|t|[95.0% Conf. Int.]
SZZZ1.22750.10311.9150.0001.025 1.431
intercept0.00300.0031.1510.251-0.002 0.008
Omnibus:8.703Durbin-Watson:1.824
Prob(Omnibus):0.013Jarque-Bera (JB):9.653
Skew:0.350Prob(JB):0.00801
Kurtosis:3.714Cond. No.39.8

一元最小二乘法回归结果表明,机器人公司的股票日收益率与上证综指日收益率之间存在显著的正相关关系。其中,可决系数为0.382,表明上证综指日收益率变量对机器人日收益率变量有较强的解释力,模型拟合结果较好,F统计量和Omnibus统计量的P值都接近于0,自变量的作用显著。t统计量的P值接近于0,表明上证综指变量显著。自变量系数为1.2275,表明机器人公司股票的日收益率波动比上证综指大,该个股的风险更大,可能获得的收益和损失也更大。平均上证综指日收益率波动1%,个股日收益率波动1.2275%。Durbin-Waston检验的值为1.824,表明收益率数据不存在序列相关性。Jarque-Bera的P值接近于0,表明日收益率数据服从正态分布。

 

 https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149( 欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章)

 


个股与指数的回归分析(自带python ols 参数解读)第5张

 

免责声明:文章转载自《个股与指数的回归分析(自带python ols 参数解读)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇20 个让你效率更高的 CSS 代码技巧HTTP,URL,FS 模块搭建一个静态WEB服务器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

创建telegram 机器人 并发送消息

telegram是国外常用的聊天功能,功能很强大,除了聊天还可以玩游戏,传文件,视频,声音,投票,群组。当然,这些跟qq,微信都很类似了。但是它毕竟是国外最常用的IM之一。telegram有个聊天机器人可以自动发消息,也是挺有意思的。它还开放了api,可以自己创建bot,通过api发送消息,视频,声音,文件等功能。下面,我简单介绍下怎么新建一个bottel...

ABB机器人功能程序(FUNC)

定义:功能程序能够返回一个特定数据类型的值,在其他程序中当做功能来调用。 功能程序的使用范围非常的广,熟练者可以根据不同的需求创建相对应的功能程序,功能程序固定格式:以FUNC开始,return结束。在ABB学习中很多同学都对功能程序一知半解,甚至在真正使用的时候无从下手。 在学习ABB期间,遇到过几种使用情况,特把它们整理归纳在一起,以便加深理解。  ...

PHP 微信机器人 Vbot 结合 Laravel 基础入门及实例

新来了项目,需要能监听指定微信群的消息并进行转发。基于 PHP 7 的 web 微信机器人 Vbot 可以满足需求。Vbot 本质上就是实现了登录网页版微信来进行自动回复、群管理等等操作。 github 地址:https://github.com/hanson/vbot,官网地址:http://create.hanc.cc/vbot/。 安装 环境要求:...

2022年可用QQ机器人框架

以下框架信息均来源网络,排名不分前后,若需更新或新增,请私聊我。 1、Drea Robot 官网:https://drea.cc 测评:框架高效稳定,支持多种协议,多账号登录,界面清爽,社区完善,SDK简洁,包含酷Q Pro全部功能协议甚至更多,更重要的是,它基于GO-CQHTTP开源协议,因此完全免费! 2、Mirai机器人 官网:https://git...

关于ROS(Robot OS 机器人操作系统)

关于ROS(Robot OS 机器人操作系统) 对于ROS的安装,在它的官方网站: http://wiki.ros.org/ROS/Installation 中也有详细说明。但是对于像博主这样先天英语发育不全的人来说,直接看官网还是有点困难的。 所以博主痛定思痛,经过一番呕心沥血与含辛茹苦的调研后(其实就是看了几篇相关博客),终于在博主的电脑上成功安装了R...

Akka简介与Actor模型(一)

Akka是一个构建在JVM上,基于Actor模型的的并发框架,为构建伸缩性强,有弹性的响应式并发应用提高更好的平台。本文主要是个人对Akka的学习和应用中的一些理解。 Actor模型 Akka的核心就是Actor,所以不得不说Actor,Actor模型我通俗的举个例子,假定现实中的两个人,他们只知道对方的地址,他们想要交流,给对方传递信息,但是又没有手机,...