- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第9章股票价格涨跌趋势预测训练集和测试集的划分、数据标准化处理和模型求解预测结果分析
训练集和测试集的划分第9章以2017年1月1日—2017年11月31日之间的数据作为训练集,余下的数据(2017年12月1日—2017年12月31日,周期为1个月)为测试集,进行分类预测建模。x1=Data[交易日期]=2017-01-01x2=Data[交易日期]=2017-11-30xx=x1x2index=xx.values==Trueindex1=xx.values==Falsex_train=Data.iloc[index,1:15]y_train=Data.iloc[index,[15]]x_test=Data.iloc[index1,1:15]y_test=Data.iloc[index1,[15]]部分结果
数据标准化处理第9章#数据标准化fromsklearn.preprocessingimportStandardScalerscaler=StandardScaler()scaler.fit(x_train)x_train=scaler.transform(x_train)x_test=scaler.transform(x_test)
模型求解第9章1.支持向量机模型fromsklearnimportsvmclf=svm.SVC()clf.fit(x_train,y_train)result=clf.predict(x_test)sc=clf.score(x_train,y_train)2.神经网络模型fromsklearn.neural_networkimportMLPClassifierclf=MLPClassifier(solver=lbfgs,alpha=1e-5,hidden_layer_sizes=8,random_state=1)clf.fit(x_train,y_train)result=clf.predict(x_test)sc=clf.score(x_train,y_train)3.逻辑回归模型fromsklearn.linear_modelimportLogisticRegressionasLRclf=LR()clf.fit(x_train,y_train)result=clf.predict(x_test)sc=clf.score(x_train,y_train)
预测结果分析第9章result=pd.DataFrame(result)#提取预测样本的交易日期ff=Data.iloc[index1,0]#将预测结果与实际结果整合在一起,进行比较pm1={交易日期:ff.values,预测结果:result.iloc[:,0].values,实际结果:y_test.iloc[:,0].values}result1=pd.DataFrame(pm1)z=result1[预测结果].values-result1[实际结果].valuesR=len(z[z==0])/len(z)模型准确率sc=0.7450980392156863预测准确率R=0.7142857142857143这里以逻辑回归为例进行说明。部分结果
预测结果分析第9章根据模型的预测情况设计一个投资策略,即如果预测结果为1,表示下一个交易日股票价格会上涨,则以当天的收盘价买入,下一个交易日的收盘价卖出,从而获得投资收益率r_list=[]#存放收益率r_trd=[]#存放交易日期fortinrange(len(result1)-1):#如果预测结果为1,执行投资策略ifresult1[预测结果].values[t]==1:p1=data.loc[data[Trddt].values==result1[交易日期].values[t],Clsprc].valuesdt=data.loc[data[Trddt].valuesresult1[交易日期].values[t],[Trddt,Clsprc]]dt=dt.sort_values(Trddt)p2=dt[Clsprc].values[0]r=(p2-p1)/p1r_list.append(r)r_trd.append(result1[交易日期].values[t])r_total=sum(r_list)trd_r={交易日期:r_trd,收益率:r_list}trd_r=pd.DataFrame(trd_r)
预测结果分析第9章根据模型的预测情况设计一个投资策略
您可能关注的文档
- Python金融数据分析与挖掘(微课版) 课件 1-1. Python基本数据类型与基本数据结构.pptx
- Python金融数据分析与挖掘(微课版) 课件 1-2. Python公有方法.pptx
- Python金融数据分析与挖掘(微课版) 课件 1-3. Python基本数据结构方法.pptx
- Python金融数据分析与挖掘(微课版) 课件 2-1. 数组创建与操作.pptx
- Python金融数据分析与挖掘(微课版) 课件 2-2. 矩阵与线性代数运算.pptx
- Python金融数据分析与挖掘(微课版) 课件 3-1.序列.pptx
- Python金融数据分析与挖掘(微课版) 课件 3-2.数据框.pptx
- Python金融数据分析与挖掘(微课版) 课件 3-3.外部文件读取.pptx
- Python金融数据分析与挖掘(微课版) 课件 3-4.常用函数.pptx
- Python金融数据分析与挖掘(微课版) 课件 3-5.常用计算任务.pptx
文档评论(0)