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 七种邮件内容发送方法实例
Apr 22 Python
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
Python打包可执行文件的方法详解
Sep 19 Python
pandas值替换方法
Jul 10 Python
opencv与numpy的图像基本操作
Mar 08 Python
python简单实现AES加密和解密
Mar 28 Python
Python爬虫 bilibili视频弹幕提取过程详解
Jul 31 Python
Python:type、object、class与内置类型实例
Dec 25 Python
基于python监控程序是否关闭
Jan 14 Python
利用python生成照片墙的示例代码
Apr 09 Python
python实现与redis交互操作详解
Apr 21 Python
python下对hsv颜色空间进行量化操作
Jun 04 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
建立动态的WML站点(三)
2006/10/09 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
解析php取整的几种方式
2013/06/25 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP开发之用微信远程遥控服务器
2018/01/25 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
JavaScript中的闭包原理分析
2010/03/08 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
Python base64编码解码实例
2015/06/21 Python
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
Python中单例模式总结
2018/02/20 Python
python tornado微信开发入门代码
2018/08/24 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
python分布式编程实现过程解析
2019/11/08 Python
Python for i in range ()用法详解
2020/09/18 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
工作会议方案
2014/05/21 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android