1. 程式人生 > >python用線性迴歸預測股票價格

python用線性迴歸預測股票價格

線性迴歸在整個財務中廣泛應用於眾多應用程式中。在之前的教程中,我們使用普通最小二乘法(OLS)計算了公司的beta與相對索引的比較。現在,我們將使用線性迴歸來估計股票價格。

線性迴歸是一種用於模擬因變數(y)和自變數(x)之間關係的方法。通過簡單的線性迴歸,只有一個自變數x。可能有許多獨立變數屬於多元線性迴歸的範疇。在這種情況下,我們只有一個自變數即日期。對於第一個日期上升到日期向量長度的整數,該日期將由1開始的整數表示,該日期可以根據時間序列資料而變化。當然,我們的因變數將是股票的價格。為了理解線性迴歸,您必須瞭解您可能在學校早期學到的相當基本的等式。

y = a + bx

  • Y =預測值或因變數
  • b =線的斜率
  • x =係數或自變數
  • a = y截距

從本質上講,這將構成我們對資料的最佳擬合。在OLS過程中通過資料集繪製了大量線條。該過程的目標是找到最佳擬合線,最小化平方誤差和(SSE)與股票價格(y)的實際值以及我們在資料集中所有點的預測股票價格。這由下圖表示。對於繪製的每條線,資料集中的每個點與模型輸出的相應預測值之間存在差異。將這些差異中的每一個加起來並平方以產生平方和。從列表中,我們採用最小值導致我們的最佳匹配線。考慮下圖:

第一部分:獲取資料:

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)

輸出:

預測日期輸入價格:

建立訓練/測試集

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()

輸出:

測試集:

▍關注我們

大資料部落       -中國專業的第三方資料服務提供商,提供定製化的一站式資料探勘和

統計分析和資料探勘諮詢服務:y0.cn/teradat(諮詢服務請聯絡官網客服

點選這裡給我發訊息QQ:3025393450

【服務場景】        

 科研專案; 公司專案外包;線上線下一對一培訓;學術研究。

【大資料部落】提供定製化的一站式資料探勘和統計分析諮詢服務

 

分享最新的大資料資訊,每天學習一點資料分析,讓我們一起做有態度的資料人【大資料部落】大資料部落提供定製化的一站式資料探勘和統計分析諮詢服務

微信客服號:lico_9e

QQ交流群:186388004  

歡迎關注微信公眾號,瞭解更多資料乾貨資訊!