Python金融數(shù)據分析與挖掘(微課版) 課件 10-3.量化投資策略設計與實現(xiàn)_第1頁
Python金融數(shù)據分析與挖掘(微課版) 課件 10-3.量化投資策略設計與實現(xiàn)_第2頁
Python金融數(shù)據分析與挖掘(微課版) 課件 10-3.量化投資策略設計與實現(xiàn)_第3頁
Python金融數(shù)據分析與挖掘(微課版) 課件 10-3.量化投資策略設計與實現(xiàn)_第4頁
Python金融數(shù)據分析與挖掘(微課版) 課件 10-3.量化投資策略設計與實現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第10章

股票價格形態(tài)聚類與收益分析函數(shù)定義及使用方法訓練樣本與預測樣本的構建量化投資策略設計函數(shù)定義及使用方法第10章

將以上介紹的股票價格形態(tài)特征提取定義為函數(shù)FR1defFR1(DA,t_trd1,t_trd2,num):

#輸入:

#DA--2017年股票交易數(shù)據

#t_trd1--聚類數(shù)據區(qū)間開始日期

#t_trd2--聚類數(shù)據區(qū)間結束日期

#num--基于總體規(guī)模與投資效率指標的綜合評價方法提取樣本個數(shù)

#輸出:

#Data--形態(tài)特征數(shù)據

#KeyData--關鍵價格點數(shù)據

#KeyData_index--關鍵價格點對應序號函數(shù)定義及使用方法第10章

將以上介紹的形態(tài)特征聚類與收益率計算定義為函數(shù)FR2defFR2(DA,Data,KeyData,KeyData_index,s_trd1,s_trd2,class_num):

#輸入:

#DA--2017年股票交易數(shù)據

#Data--形態(tài)特征數(shù)據

#KeyData--關鍵價格點數(shù)據

#KeyData_index--關鍵價格點對應序號

#s_trd1--收益率計算持有期開始日期

#s_trd2--收益率計算持有期結束日期

#class_num--聚類個數(shù)

#輸出:

#Data_c--形態(tài)特征數(shù)據+聚類結果列

#KeyData_c--關鍵價格點數(shù)據+聚類結果列

#KeyData_index_c--關鍵價格點對應序號+聚類結果列

#D--每只股票代碼、所屬聚類類別、收益率組成的數(shù)據框

#list_cr--每類股票的總收益訓練樣本與預測樣本的構建第10章

選用2017年5月1日—2017年7月31日和2017年6月1日—2017年8月31日兩個計算周期的交易數(shù)據提取股票價格形態(tài)特征進行聚類,并分別以2017年8月1日—2017年8月31日和2017年9月1日—2017年9月30日兩個持有期計算每個類別的平均收益率,如果類平均收益率排名前5,則該類中所有股票記為+1類,否則記為?1類,并以此構建訓練樣本。importpandasaspdDA=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日的股票價格形態(tài)特征數(shù)據+聚類結果列cr1=pd.Series(R2[4])#對應每類的平均收益率crr=cr1.sort_values(ascending=False)#對類平均收益率序列cr1按降序排序cr=list(crr.index)

#取對應的類編號(排序后的數(shù)據)foriinrange(len(crr)):

#類平均收益率排名前5的類中所有股票標記為1

ifi<5:

dt1[dt1[:,len(dt1[0,:])-1]==cr[i],len(dt1[0,:])-1]=1

#(聚類結果列變?yōu)橐蜃兞?1)dt1[dt1[:,len(dt1[0,:])-1]!=1,len(dt1[0,:])-1]=-1

#(聚類結果列變?yōu)橐蜃兞?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日的股票價格形態(tài)特征數(shù)據+聚類結果列cr2=pd.Series(R2[4])crr=cr2.sort_values(ascending=False)cr=list(crr.index)foriinrange(len(crr)):ifi<5:dt2[dt2[:,len(dt2[0,:])-1]==cr[i],len(dt2[0,:])-1]=1

#(聚類結果列變?yōu)橐蜃兞?1)dt2[dt2[:,len(dt2[0,:])-1]!=1,len(dt2[0,:])-1]=-1

#(聚類結果列變?yōu)橐蜃兞?1)#構造訓練樣本importnumpyasnpdt=np.vstack((dt2,dt1))x=dt[:,1:-1]#訓練樣本的Xy=dt[:,len(dt[0,:])-1]#訓練樣本的Y訓練樣本與預測樣本的構建第10章

對于預測樣本,選用的是2017年7月1日—2017年9月30日的交易數(shù)據計算形態(tài)特征,這里調用前面定義的FR1函數(shù)來實現(xiàn)。#預測樣本的構建R1=FR1(DA,'2017-07-01','2017-09-30',400)dt3=R1[0]x1=dt3[:,1:]#交易數(shù)據為2017年7月1日~2017年9月30日的股票價格形態(tài)特征數(shù)據量化投資策略設計第10章

根據前面構建的訓練樣本和預測樣本,利用支持向量機模型進行訓練和預測,如果預測結果為+1,表示該只股票在未來一個月內可能獲得比較好的收益,對該只股票以持有期為2017年10月1日—2017年10月31日進行計算投資收益率(期初收盤價買入,期末收盤價賣出),最終將所有預測結果為+1的股票收益率求和,即得到投資策略的總收益率,并以同期的滬深300指數(shù)收益率作為基準進行比較。fromsklearnimportsvmclf=svm.SVC()clf.fit(x,y)res=clf.predict(x1)#支持向量機預測結果code=dt3[res==1,0]list_r=[]#預定義列表,用于存放預測結果為+1的股票收益率list_code=[]#預定義列表,用于存放預測結果為+1的股票代碼foriinrange(len(code)):

I1=DA['Trddt'].values>='2017-10-01'

I2=DA['Trddt'].values<='2017-10-31'

I3=DA['Stkcd'].values==code[i]

I=I1&I2&I3

dta=DA.iloc[I,[2]]['Clsprc'].values

iflen(dta)>1:

r=(dta[len(dta)-1]-dta[0])/dta[0]

list_r.append(r)

list_code.append(code[i])result={'code':list_code,'r':list_r}result=pd.DataFrame(result)#結果整理total_r=sum(list_r)

#總收益率####滬深300指數(shù)同期收益率的計算indx300=pd.read_excel('index300.xlsx')I1=indx300['Idxtrd01'].values>='2017-10-01'I2=indx300['Idxtrd01'].values<='2017-10-31'In=I1&I2da=indx300.loc[In,'Idxtrd05'].valuesindex300_r=(da[len(da)-1]-da[0])/da[0]量化投資策略設計第10章

其中dt3為待預測的形態(tài)特征數(shù)據集,res為支持向量機的預測結果。例如,行序號為10、13的股票代碼000333和002517的股票預測結果為+1,表示未來持有期為1個月可能獲得較好的收益。事實result已

溫馨提示

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

評論

0/150

提交評論