网站大量收购闲置独家精品文档,联系QQ:2885784924

Python金融数据分析与挖掘(微课版) 课件 10-3.量化投资策略设计与实现.pptx

Python金融数据分析与挖掘(微课版) 课件 10-3.量化投资策略设计与实现.pptx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第10章股票价格形态聚类与收益分析

函数定义及使用方法

训练样本与预测样本的构建

量化投资策略设计

函数定义及使用方法

第10章

将以上介绍的股票价格形态特征提取定义为函数FR1

defFR1(DA,t_trd1,t_trd2,num):

#输入:

#DA--2017年股票交易数据

#t_trd1--聚类数据区间开始日期

#t_trd2--聚类数据区间结束日期

#num--基于总体规模与投资效率指标的综合评价方法提取样本个数

#输出:

#Data--形态特征数据

#KeyData--关键价格点数据

#KeyData_index--关键价格点对应序号

函数定义及使用方法

第10章

将以上介绍的形态特征聚类与收益率计算定义为函数FR2

defFR2(DA,Data,KeyData,KeyData_index,s_trd1,s_trd2,class_num):

#输入:

#DA--2017年股票交易数据

#Data--形态特征数据

#KeyData--关键价格点数据

#KeyData_index--关键价格点对应序号

#s_trd1--收益率计算持有期开始日期

#s_trd2--收益率计算持有期结束日期

#class_num--聚类个数

#输出:

#Data_c--形态特征数据+聚类结果列

#KeyData_c--关键价格点数据+聚类结果列

#KeyData_index_c--关键价格点对应序号+聚类结果列

#D--每只股票代码、所属聚类类别、收益率组成的数据框

#list_cr--每类股票的总收益

训练样本与预测样本的构建

第10章

选用2017年5月1日—2017年7月31日和2017年6月1日—2017年8月31日两个计算周期的交易数据提取股票价格形态特征进行聚类,并分别以2017年8月1日—2017年8月31日和2017年9月1日—2017年9月30日两个持有期计算每个类别的平均收益率,如果类平均收益率排名前5,则该类中所有股票记为+1类,否则记为−1类,并以此构建训练样本。

importpandasaspd

DA=pd.read_excel(DA.xlsx)

R1=FR1(DA,2017-05-01,2017-07-31,400)

R2=FR2(DA,R1[0],R1[1],R1[2],2017-08-01,2017-08-31,20)

dt1=R2[0]#2017年5月1日至2017年7月31日的股票价格形态特征数据+聚类结果列

cr1=pd.Series(R2[4])#对应每类的平均收益率

crr=cr1.sort_values(ascending=False)#对类平均收益率序列cr1按降序排序

cr=list(crr.index)#取对应的类编号(排序后的数据)

foriinrange(len(crr)):

#类平均收益率排名前5的类中所有股票标记为1

ifi5:

dt1[dt1[:,len(dt1[0,:])-1]==cr[i],len(dt1[0,:])-1]=1#(聚类结果列变为因变量+1)

dt1[dt1[:,len(dt1[0,:])-1]!=1,len(dt1[0,:])-1]=-1#(聚类结果列变为因变量-1)

训练样本与预测样本的构建

第10章

R1=FR1(DA,2017-06-01,2017-08-31,400)

R2=FR2(DA,R1[0],R1[1],R1[2],2017-09-01,2017-09-30,20)

dt2=R2[0]#2017年6月1日至2017年8月31日的股票价格形态特征数据+聚类结果列

cr2=pd.Series(R2[4])

crr=cr2.sort_values(ascending=False)

cr=list(crr.index)

foriinrange(len(crr)):

ifi5:

dt2[dt2[:,len(dt2[0,:])-1]==cr[i],len(dt2[0,:])-1]=1#(聚类结果列变为因变量+1)

dt2[dt2[:,len(dt2

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档