股票量化分析(13)

您所在的位置:网站首页 股价如何预测收盘价格的方法 股票量化分析(13)

股票量化分析(13)

2024-07-16 00:04| 来源: 网络整理| 查看: 265

这里直线拟合需要用到statsmodels这个库; 曲线拟合需要用到np.polynomial.Chebyshev.fit()这个函数; 方差计算需要用到sklearn这个库。

首先来看直线拟合,这里拟合’600848’这只股票一年的收市的股价。

import tushare as ts import pandas as pd import matplotlib.pyplot as plt import numpy as np import talib df=ts.get_hist_data('600848',start='2015-01-01',end='2015-12-31') df=df.sort_index() df.index=pd.to_datetime(df.index,format='%Y-%m-%d') #收市股价 close= df.close x=np.arange(0,len(close)) y=close.values import statsmodels.api as sm from statsmodels import regression def regress_y(y): x=np.arange(0,len(y)) x=sm.add_constant(x) model=regression.linear_model.OLS(y,x).fit() return model model=regress_y(close) b=model.params[0] k=model.params[1] y_fit=k*x+b plt.plot(x,y) plt.plot(x,y_fit,'r')

这里写图片描述

接着来看一下用sklearn计算偏差绝对值之和(MAE),偏差平方(MSE),偏差平方和开平方(RMSE)

from sklearn import metrics MAE=metrics.mean_absolute_error(y,y_fit) MSE=metrics.mean_squared_error(y,y_fit) RMSE=np.sqrt(MSE)

最后来看一下多项式拟合,这里取得是9项:

#多项式拟合 p=np.polynomial.Chebyshev.fit(x,y,9) y_fit_n=p(x) plt.plot(x,y,'',x,y_fit_n,'r')

这里写图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3