type
Post
status
Published
date
Jul 30, 2022
slug
决策树一维回归分析股票涨跌幅度
summary
决策树一维回归分析股票涨跌幅度
tags
sklearn
算法
python
category
编程
icon
password
Property
Nov 3, 2022 02:17 AM
爬取杰瑞股份(002353)2750天的股价涨跌幅度,以前一天涨跌幅度为X轴,以后一天涨跌幅度为Y轴建立带有决策树的一维回归。
采用sklearn库,树的最大深度设置为2。
根据回归图,可以明显看出在一般情况下,后一天的涨跌幅度在同样前一天的涨跌幅度下具有对称性。
回归结果
回归结果
import numpy as np from sklearn.tree import DecisionTreeRegressor import matplotlib.pyplot as plt import requests hd = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/99.0.4844.82 Safari/537.36'} cn_code='002353' start_time='20100101' end_time='20220101' url = 'https://q.stock.sohu.com/hisHq?code=cn_'+cn_code+'&start='+start_time+'&end='+end_time response = requests.get(url, headers=hd) info = response.json() XY_date=[] for i in info[0]['hq']: XY_date.append([float(i[3])]) X=np.array(XY_date[0:len(XY_date)-1]) y=np.array(XY_date[1:len(XY_date)]) # Fit regression modelregr_1 = DecisionTreeRegressor(max_depth=2) regr_1.fit(X, y) # PredictX_test = np.arange(-10.0, 10.0, 0.01)[:, np.newaxis] y_1 = regr_1.predict(X_test) # Plot the resultsplt.figure() plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data") plt.plot(X_test, y_1, color="cornflowerblue", label="max_depth=2", linewidth=2) plt.xlabel("data") plt.ylabel("target") plt.title("Decision Tree Regression") plt.legend() plt.show()
深A所有股票历史信息爬取——共2667支、6217863条信息基于requests库统计B站观看记录

  • Waline
  • Giscus