利用tushare获取股票数据进行一元线性回归-基于Python

Tushare ID:493711

连载用Python进行量化分析和机器学习。

先讲一下最简单的量化分析和机器学习中的一元线性回归附源码。

回归分析(Regression analysis)

回归分析(Regression analysis),是研究因变量与自变量之间相关性的一种数学方法,并将相关性量化,即得到回归方程。

我们可以通过回归方程(回归预测模型)来预测因变量的变化。

回归分析的分类:

1) 按自变量的个数,可以分为一元回归,多元回归

2)按变量相关性的形状(回归线)是否为直线型,可分为线性回归,非线性回归。

一元线性回归

顾名思义,就是只包含一个自变量,且与因变量的关系是呈线性的回归分析,其回归方程(回归模型)可用下面的方程表示:

y=bx+a (其中:y为因变量,x为自变量,b为回归系数或斜率,a为截距

下面,我们将通过python工具来理解最简单的回归分析,即一元线性回归,并了解回归分析的步骤。

# 导入包
import tushare as ts 
pro = ts.pro_api('自己的token')
# 获取华夏银行日线数据,在备用行情里面
df1 = pro.bak_daily(ts_code='600015.SH', start_date='20180701', end_date='20220318',fields='')
df1.head()
# 增加一列,股票的涨跌幅
df1['zd_close'] = round((df1['close']-df1['close'].shift(1))/df1['close'].shift(1),2)
# 导入所需要的模块
import pandas as pd
import statsmodels.formula.api as smf
# 查看数据
dir(df1)
# 考察数据框的情况
df1.info()
df1.describe()
# 先将涨跌幅对换手率进行一元回归
model = smf.ols('pct_change ~ turn_over',data= df1)
results = model.fit()
results.summary()
# 利用.join()方法把数据的列放在一起,减少工作量
all_col = "+".join(df1.columns)
all_col
# 定义一个回归公式
formula = 'zd_close~' + all_col + "-zd_close"
formula
# 查看参数
results1 = smf.ols(formula,data=df1).fit()
results1.params
results1.summary()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值