Python金融数据分析与挖掘(微课版) 课件 8-2.基于成长与价值指标的综合评价.pptx

Python金融数据分析与挖掘(微课版) 课件 8-2.基于成长与价值指标的综合评价.pptx

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

第8章上市公司综合评价指标选择、数据处理主成分分析与综合排名投资组合收益率计算与量化投资策略设计

基于成长与价值指标的综合评价(指标选择)第8章选取的价值指标包括市盈率、市现率、市净率、市盈率增长率,选取的成长指标包括净利润增长率、营业收入增长率、营业利润率、净资产收益率,共8个指标包括2013年—2017年的数据,综合评价按年进行,本案例以2014年为例。字段名称字段中文名称字段说明Stkcd股票代码Accper会计年度2013-12-31、2014-12-31、2015-12-31、2016-12-31、2017-12-31F100101B市盈率今收盘价当期值/(净利润上年报值/实收资本期末值)F100301B市现率今收盘价当期值/(经营活动产生的现金流量净额上年报值/实收资本期末值)F100401A市净率今收盘价当期值/(所有者权益合计期末值/实收资本期末值)F081001B净利润增长率(净利润本年期单季度金额?净利润上一个单季度金额)/净利润上一个单季度金额F081601B营业收入增长率(营业收入本年期单季度金额?营业收入上一个单季度金额)/营业收入上一个单季度金额F051501B营业净利率净利润/营业收入F050501B净资产收益率净利润/股东权益余额PEG市盈率增长率(当前市盈率?上期市盈率)/上期市盈率

基于成长与价值指标的综合评价(数据处理)第8章1.读取2014年的财务指标数据importpandasaspddata=pd.read_excel(data1.xlsx)data2=data.iloc[data[Accper].values==2014-12-31,[0,2,3,4,5,6,7,8,9]]2.对最后一个指标PEG进行处理da=da[(da[:,8]4)(da[:,8]-4),:]#消除异常值da[:,8]=1-(da[:,8]-min(da[:,8]))/(max(da[:,8])-min(da[:,8]))#反极差化处理3.对剩下的7个指标均要求大于0,且将8倍均值作为异常值进行剔除处理foriinnp.arange(1,8):da=da[da[:,i]0,:]#要求指标值大于0da=da[da[:,i]8*np.mean(da[:,i]),:]#剔除异常值(8倍均值)

基于成长与价值指标的综合评价(数据处理)第8章4.要求净资产收益率大于0.06da=da[da[:,6]=0.06,:]5.数据标准化处理fromsklearn.preprocessingimportMinMaxScalerX=da[:,1:]scaler=MinMaxScaler()scaler.fit(X)X=scaler.transform(X)6.对市盈率、市现率、市净率指标也做反极差化处理#主要目的是实现指标度量的统一,即值越大越好X[:,2]=1-X[:,2]X[:,3]=1-X[:,3]X[:,4]=1-X[:,4]

基于成长与价值指标的综合评价(主成分分析)第8章对标准化之后的指标数据X做主成分分析,提取其主成分,要求累计贡献率在95%以上。fromsklearn.decompositionimportPCApca=PCA(n_components=0.95)#累计贡献率为95%Y=pca.fit_transform(X)#满足累计贡献率为95%的主成分数据gxl=pca.explained_variance_ratio_#贡献率

基于成长与价值指标的综合评价(综合排名)第8章1.计算综合得分importnumpyasnpF=np.zeros((len(Y)))foriinrange(len(gxl)):f=Y[:,i]*gxl[i]F=F+f2.整理排名结果#第1种方式如下:Fs1=pd.Series(F,index=da[:,0])Fscore1=Fs1.sort_values(ascending=False)#False为降序,True为升序第2种方式如下:co=pd.read_excel(TRD_Co.xlsx)Co=pd.Series(co[Stknme].values,index=co[Stkcd].values)Co1=Co[da[:,0]]Fs2=pd.Series(F,index=Co1.values)Fscore2=Fs2.sort_values(ascending=Fal

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档