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多线程threading.Lock锁用法实例
Nov 01 Python
python实现word 2007文档转换为pdf文件
Mar 15 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
python人民币小写转大写辅助工具
Jun 20 Python
celery4+django2定时任务的实现代码
Dec 23 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
PyQt5实现QLineEdit添加clicked信号的方法
Jun 25 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 Python
使用Bazel编译TensorBoard教程
Feb 15 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
Apr 07 Python
Pycharm的Available Packages为空的解决方法
Sep 18 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 max_execution_time执行时间问题
2011/07/17 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
yii添删改查实例
2015/11/16 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
seajs1.3.0源码解析之module依赖有序加载
2012/11/07 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
Python多线程实例教程
2014/09/06 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python对象属性自动更新操作示例
2018/06/15 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
django认证系统 Authentication使用详解
2019/07/22 Python
详解Django配置优化方法
2019/11/18 Python
NumPy中的维度Axis详解
2019/11/26 Python
python初步实现word2vec操作
2020/06/09 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
全球最大的游戏市场:G2A
2018/07/05 全球购物
HashMap和Hashtable的区别
2013/05/18 面试题
酒店办公室文员岗位职责
2013/12/18 职场文书
党员的自我评价范文
2014/01/02 职场文书
清明节演讲稿
2014/05/27 职场文书
承诺书范本大全
2015/05/04 职场文书
迎客户欢迎词三篇
2019/09/27 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript