python用线性回归预测股票价格的实现代码


Posted in Python onSeptember 04, 2019

线性回归在整个财务中广泛应用于众多应用程序中。在之前的教程中,我们使用普通最小二乘法(OLS)计算了公司的beta与相对索引的比较。现在,我们将使用线性回归来估计股票价格。

线性回归是一种用于模拟因变量(y)和自变量(x)之间关系的方法。通过简单的线性回归,只有一个自变量x。可能有许多独立变量属于多元线性回归的范畴。在这种情况下,我们只有一个自变量即日期。对于第一个日期上升到日期向量长度的整数,该日期将由1开始的整数表示,该日期可以根据时间序列数据而变化。当然,我们的因变量将是股票的价格。为了理解线性回归,您必须了解您可能在学校早期学到的相当基本的等式。

y = a + bx

  • Y =预测值或因变量
  • b =线的斜率
  • x =系数或自变量
  • a = y截距

从本质上讲,这将构成我们对数据的最佳拟合。在OLS过程中通过数据集绘制了大量线条。该过程的目标是找到最佳拟合线,最小化平方误差和(SSE)与股票价格(y)的实际值以及我们在数据集中所有点的预测股票价格。这由下图表示。对于绘制的每条线,数据集中的每个点与模型输出的相应预测值之间存在差异。将这些差异中的每一个加起来并平方以产生平方和。从列表中,我们采用最小值导致我们的最佳匹配线。考虑下图:

python用线性回归预测股票价格的实现代码

第一部分:获取数据:

from matplotlib import style
 
from sklearn.linear_model import LinearRegression
 
from sklearn.model_selection import train_test_split
 
import quandl
 
import datetime
 
style.use('ggplot')
 
#Dates
 
start_date = datetime.date(2017,1,3)
 
t_date=start_date, end_date=end_date, collapse="daily")
 
df = df.reset_index()
 
prices = np.reshape(prices, (len(prices), 1))

第二部分:创建一个回归对象:

', linewidth=3, label = 'Predicted Price') #plotting the line made by linear regression
 
plt.title('Linear Regression | Time vs. Price')
 
plt.legend()
 
predicted_price =regressor.predict(date)

输出:

python用线性回归预测股票价格的实现代码

预测日期输入价格:

创建训练/测试集

et
 
xtrain, x , ytrain)
 
#Train
 
plt.title('Linear Regression | Time vs. Price')
 
#Test Set Graph
 
plt.scatter(xtest, ytest, color='yellow', label= 'Actual Price') #plotting the initial datapoints
 
plt.plot(xtest, regressor.predict(xtest), color='blue', linewidth=3, label = 'Predicted Price') #plotting
 
plt.show()

输出:

python用线性回归预测股票价格的实现代码

测试集:

python用线性回归预测股票价格的实现代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用7z解压apk包的方法
Apr 18 Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
python把转列表为集合的方法
Jun 28 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
使用TensorFlow对图像进行随机旋转的实现示例
Jan 20 Python
Python逐行读取文件内容的方法总结
Feb 14 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
Python模拟登录requests.Session应用详解
Nov 17 Python
python多线程扫描端口(线程池)
Sep 04 #Python
Python数据分析模块pandas用法详解
Sep 04 #Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 #Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 #Python
Django框架 querySet功能解析
Sep 04 #Python
Django框架 查询Extra功能实现解析
Sep 04 #Python
Django框架 Pagination分页实现代码实例
Sep 04 #Python
You might like
深入PHP异步执行的详解
2013/06/03 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
JQuery获取浏览器窗口内容部分高度的代码
2012/02/24 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
python 计算文件的md5值实例
2017/01/13 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
django数据库自动重连的方法实例
2019/07/21 Python
什么是python类属性
2020/06/10 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
2020/10/15 Python
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
中学实习教师自我鉴定
2013/12/12 职场文书
校园餐饮创业计划书
2014/01/10 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
POST提交数据常见的四种方式
2022/01/18 HTML / CSS