Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 7-6.基于主成分聚類的上市公司盈利能力分析_第1頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 7-6.基于主成分聚類的上市公司盈利能力分析_第2頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 7-6.基于主成分聚類的上市公司盈利能力分析_第3頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 7-6.基于主成分聚類的上市公司盈利能力分析_第4頁
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 7-6.基于主成分聚類的上市公司盈利能力分析_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第7章

基礎(chǔ)案例案例介紹案例分析及計算案例介紹第7章

以申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司2015年的盈利能力指標(biāo)數(shù)據(jù)為基礎(chǔ)字段名稱指標(biāo)名稱說明F050502B凈資產(chǎn)收益率B凈利潤/股東權(quán)益平均余額(X1)F050102B資產(chǎn)報酬率B(利潤總額+財務(wù)費用)/平均資產(chǎn)總額(X2)F050202B總資產(chǎn)凈利潤率B凈利潤/總資產(chǎn)平均余額(X3)F051201B投入資本回報率(凈利潤+財務(wù)費用)/(資產(chǎn)總計?流動負(fù)債+應(yīng)付票據(jù)+短期借款+一年內(nèi)到期的非流動負(fù)債)(X4)F051501B營業(yè)凈利率凈利潤/營業(yè)收入(X5)F053301B營業(yè)毛利率(營業(yè)收入?營業(yè)成本)/營業(yè)收入(X6)F051401B營業(yè)利潤率營業(yè)利潤/營業(yè)收入(X7)F052101B成本費用利潤率(利潤總額)/(營業(yè)成本+銷售費用+管理費用+財務(wù)費用)(X8)采用K-均值聚類算法,將上市公司分為5類,并計算每類公司當(dāng)年的總利潤平均增長率每類公司當(dāng)年的總利潤平均增長率=(該類公司當(dāng)年的總利潤平均值-該類公司上年的總利潤平均值)/該類公司上年的總利潤平均值。每類公司當(dāng)年的總利潤平均值=(該類別中所有公司當(dāng)年利潤之和)/該類別的公司數(shù)量案例分析及計算第7章

1.獲取2015年所有公司股票的財務(wù)指標(biāo)數(shù)據(jù)importpandasaspdimportnumpyasnpdata=pd.read_excel('財務(wù)指標(biāo)數(shù)據(jù).xlsx')data2=data.iloc[:,[0,2,3,4,5,6,7,8,9]]案例分析及計算第7章

2.對財務(wù)指標(biāo)數(shù)據(jù)進(jìn)行清洗#去掉小于0的指標(biāo)值和nan值data2=data2[data2>0]data2=data2.dropna()3.對財務(wù)指標(biāo)數(shù)據(jù)進(jìn)行異常值處理#數(shù)據(jù)轉(zhuǎn)化為Numpy數(shù)組的形式,同時每個大于其均值8倍的指標(biāo)視為異常值,并刪掉data2=data2.valuesforiinrange(1,9):data2=data2[data2[:,i]<8*np.mean(data2[:,i]),:]案例分析及計算第7章

4.選擇“計算機”行業(yè)所有上市公司的數(shù)據(jù)(本步驟可以通過內(nèi)連接關(guān)聯(lián)獲?。念A(yù)處理過的財務(wù)指標(biāo)數(shù)據(jù)中選擇申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司的數(shù)據(jù)。其處理過程分兩步。(1)獲取申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司的股票代碼。

dta=pd.read_excel('申萬行業(yè)分類.xlsx')

#申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司股票代碼

stkcd=dta.loc[dta['行業(yè)名稱'].values=='計算機','股票代碼'].values案例分析及計算第7章

4.選擇“計算機”行業(yè)所有上市公司的數(shù)據(jù)執(zhí)行算法如下:Step1:獲取預(yù)處理過的財務(wù)指標(biāo)數(shù)據(jù)data2中的所有代碼,s=data2[:,0]。Step2:s循環(huán)地與申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司股票代碼stkcd做存在性判斷。Step3:得到滿足判斷條件的邏輯數(shù)組I,以I作為邏輯索引,取data2表中的元素即可。s=data2[:,0]I=s==stkcd[0]foriinrange(1,len(stkcd)):I1=s==stkcd[i]I=I|I1ddata=data2[I,:]#申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司股票代碼對應(yīng)的財務(wù)數(shù)據(jù)#提取申萬行業(yè)分類表中“計算機”行業(yè)所有上市公司股票碼對應(yīng)的財務(wù)指標(biāo)數(shù)據(jù)X,用來做主成分分析。X=ddata[:,1:](2)從預(yù)處理過的財務(wù)指標(biāo)數(shù)據(jù)中選擇滿足條件的數(shù)據(jù)。案例分析及計算第7章

5.對指標(biāo)數(shù)據(jù)X做標(biāo)準(zhǔn)化處理#這里采用極差法進(jìn)行標(biāo)準(zhǔn)化。fromsklearn.preprocessingimportMinMaxScalerscaler=MinMaxScaler()scaler.fit(X)X=scaler.transform(X)6.對標(biāo)準(zhǔn)化后的X做主成分分析fromsklearn.decompositionimportPCApca=PCA(n_components=0.95)#累計貢獻(xiàn)率為95%Y=pca.fit_transform(X)#提取的主成分tzxl=ponents_#返回特征向量gxl=pca.explained_variance_ratio_#返回主成分方差百分比(貢獻(xiàn)率)#對主成分Y做標(biāo)準(zhǔn)化處理(極差法)scaler=MinMaxScaler()scaler.fit(Y)Y=scaler.transform(Y)案例分析及計算第7章

Y1=0.3583×X1+0.3777×X2+0.4025×X3+0.4337×X4+0.375×X5+0.2696×X6+0.3205×X7+0.2508×X8Y2=0.3593×X1+0.1897×X2+0.1434×X4+0.4053×X4?0.3458×X5?0.658×X6?0.2331×X7?0.2076×X8Y3=0.0673×X1+0.0213×X2?0.0006×X3+0.32×X4?0.3328×X5+0.6801×X6?0.4713×X7?0.3118×X8Y1-綜合盈利能力因子;Y2-產(chǎn)品競爭力因子;Y3-管理能力因子案例分析及計算第7章

7.K-均值聚類分析fromsklearn.clusterimportKMeansmodel=KMeans(n_clusters=5,random_state=0,max_iter=1000)model.fit(Y)c=model.labels_#類標(biāo)簽center=model.cluster_centers_#聚類中心center=pd.DataFrame(center)center.columns=['Y1','Y2','Y3']案例分析及計算第7章

7.K-均值聚類分析Fs=pd.Series(c,index=ddata[:,0])Fs=Fs.sort_values()co=pd.read_excel('公司基本信息表.xlsx')co1=pd.Series(co['Stknme'].values,index=co['Stkcd'].values)foriinrange(5):

q=co1[Fs[Fs==i].index]

q=pd.DataFrame(q)

q.to_excel('c'+str(i)+'.xlsx')類別股票代碼0科遠(yuǎn)股份、合眾思壯、易聯(lián)眾、初靈信息、數(shù)碼科技、御銀股份、長亮科技、新國都、安碩信息、匯金股份、北信源、創(chuàng)業(yè)軟件、華平股份、久其軟件、華力創(chuàng)通、銀之杰、方直科技、美亞柏科、榕基軟件、東方通、英飛拓、新北洋、旋極信息、中威電子、科大訊飛、迪威迅、威創(chuàng)股份、新開普、立思辰、任子行、輝煌科技、天璣科技、遠(yuǎn)光軟件1運達(dá)科技、朗瑪信息、華銘智能、東方國信、捷成股份、兆日科技、二三四五、康拓紅外、聯(lián)絡(luò)互動、思維列控、拓爾思、東方網(wǎng)力、世紀(jì)瑞爾2深科技、中科金財、太極股份、常山北明、浩豐科技、潤和軟件、航天長峰、高偉達(dá)、證通電子、川大智勝、寶信軟件、南天信息、皖通科技、金財互聯(lián)、四方精創(chuàng)、神州泰岳、萬達(dá)信息、云賽智聯(lián)、索菱股份、飛利信、方正科技、京天利、同有科技、漢鼎宇佑、創(chuàng)意信息、達(dá)實智能、數(shù)字政通、達(dá)華智能、千方科技、紫光股份、漢邦高科、易華錄、石基信息、榮之聯(lián)、中遠(yuǎn)??啤⑻煸吹峡?、華勝天成、海蘭信、朗科科技、東軟集團(tuán)、榮科科技、同方股份、賽為智能、南威軟件、*ST中安3博彥科技、中科創(chuàng)達(dá)、久遠(yuǎn)銀海、金橋信息、華東電腦、華宇軟件、藍(lán)盾股份、浙大網(wǎng)新、浪潮軟件、真視通、捷順科技、航天信息、金證股份、銀信科技、浪潮信息、信息發(fā)展、飛天誠信、佳都科技、聚龍股份、衛(wèi)士通、信雅達(dá)、神州信息、廣電運通、浩云科技、新大陸、中科曙光、東華軟件、神思電子、衛(wèi)寧健康、恒華科技、漢得信息4贏時勝、廣聯(lián)達(dá)、超圖軟件、用友網(wǎng)絡(luò)、恒生電子、綠盟科技、四維圖新、啟明星辰案例分析及計算第7章

8.計算每類公司2015年總利潤平均值增長率rd=pd.read_excel('利潤數(shù)據(jù).xlsx')r_c=[]#預(yù)定義每個類別總利潤平均增長率forninrange(5):#獲得第n類股票代碼列表cn=list(Fs[Fs==n].index)#預(yù)定義第n類股票2014年和2015年的總利潤值r1_n=0r2_n=0#循環(huán)地對第n類中的每個股票進(jìn)行計算fortincn:#第n類股票中第t只股票I1=rd['Accper'].values=='2014-12-31'I2=rd['Accper'].values=='2015-12-31'I3=rd['Stkcd'].values==tindex1=I1&I3index2=I2&I3

#第n類股票中第t只股票2014年的利潤值r1=rd.loc[index1,'B002000101'].values#第n類股票中第t只股票2015年的利潤值r2=rd.loc[index2,'B002000101'].valuesiflen(r1)>0:r1_n=r1_n+r1iflen(r2)>0:r2_n=r2_n+r2#第n類股票2015年的總利潤平均值p2=r2_n/len(cn)#第n類股票2014年的總利潤平均值p1=r1_n/len(cn)#將總利潤平均增長率添加到r_c中r_c.append((p2-p1)/p1)#將每個類別的總利潤平均增長率添加到聚類中心后面列r_c=np.arr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論