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使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
python实时分析日志的一个小脚本分享
May 07 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
Python实现批量执行同目录下的py文件方法
Jan 11 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Django 静态文件配置过程详解
Jul 23 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
python和php学习哪个更有发展
Jun 17 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
Jul 03 Python
运行Python编写的程序方法实例
Oct 21 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 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/09/30 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
Javascript string 扩展库代码
2010/04/09 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python深入学习之特殊方法与多范式
2014/08/31 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
PyTorch预训练的实现
2019/09/18 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
新学期红领巾广播稿
2014/01/14 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
工程安全生产协议书
2014/11/21 职场文书
2015年大学生实习评语
2015/03/25 职场文书
浅谈Python从全局与局部变量到装饰器的相关知识
2021/06/21 Python