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实现的ini文件操作类分享
Nov 20 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
Feb 13 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
python变量命名的7条建议
Jul 04 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
Python找出列表中出现次数最多的元素三种方式
Feb 24 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
Python Selenium自动化获取页面信息的方法
Aug 31 Python
如何使用Python调整图像大小
Sep 26 Python
Python 语言实现六大查找算法
Jun 30 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php面向对象的方法重载两种版本比较
2008/09/08 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
jQuery Study Notes学习笔记 (二)
2010/08/04 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
使用JS动态显示文本
2017/09/09 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
Python中format()格式输出全解
2019/04/12 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
Python操作Jira库常用方法解析
2020/04/10 Python
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
社区禁毒工作方案
2014/06/02 职场文书
机关保密承诺书
2014/06/03 职场文书
创卫工作总结2015
2015/04/22 职场文书
SQL Server Agent 服务无法启动
2022/04/20 SQL Server