總體思路
- 對(duì)于基本面因子的挖掘,總體來說,進(jìn)行數(shù)據(jù)清洗整理后,通過IC因子分析,來確定有效的因子。在通過選出的有效因子,運(yùn)用機(jī)器學(xué)習(xí)各類型算法或者其它常規(guī)的算法,來刷選出標(biāo)的。
IC算法
- 在此對(duì)于IC因子進(jìn)行一定的簡介。IC即信息系數(shù)(Information Coefficient),表示所選股票的因子值與股票下期收益率的截面相關(guān)系數(shù),通過 IC 值可以判斷因子值對(duì)下期收益率的預(yù)測能力。信息系數(shù)的絕對(duì)值越大,該因子越有效。IC為負(fù)表示因子值越小越好,IC為正表示因子值越大越好。 IC計(jì)算分為Rank IC 和 Normal IC 其存在的差異性為:Rank IC 是通過計(jì)算測試因子數(shù)值與排序的名次之間的相關(guān)性系數(shù),而Normal IC 則是計(jì)算因子數(shù)值與其漲跌幅之間的相關(guān)性系數(shù)。相關(guān)公式如下:
alphalens模塊的使用
-
alphalens 是一個(gè)輔助進(jìn)行IC有效性因子檢測的模塊,具體使用方法在此不加以闡述。IC分析流程:
1數(shù)據(jù)處理后需要的數(shù)據(jù)格式
data.png
2 部分分組后收益數(shù)據(jù)可視化部分截圖pic1.png
3 IC數(shù)值圖表table.pngpic2.png
有效性因子的刷選與數(shù)據(jù)挖掘
-
通過IC進(jìn)行有效性因子進(jìn)行刷選后,注意?。?!對(duì)于選擇出來的基本面多因子,很多存在高度相關(guān)的因子,因此在進(jìn)行數(shù)據(jù)挖掘挖掘之間,需要對(duì)因子的相關(guān)性進(jìn)行檢測。因子相關(guān)性tabletable2.png
剔除高度相關(guān)的因子后,便可以使用選出的因子進(jìn)行因子的挖掘,從而建立策略。在這里對(duì)于多種機(jī)器學(xué)習(xí)算法,例如Kmeans,隨機(jī)森林,SVM,邏輯回歸等。只對(duì)Kmeans算法的運(yùn)用進(jìn)行闡述,Kmeans算法的數(shù)學(xué)推導(dǎo)過程不做闡述。
Kmeans在此是一種探索性的運(yùn)用,只是基于一種想法進(jìn)行的數(shù)據(jù)驗(yàn)證。
在這里先對(duì)Kmeans算法的內(nèi)容做一個(gè)簡述,k均值聚類算法(k-means clustering algorithm)是一種迭代求解的聚類分析算法,其步驟是,預(yù)將數(shù)據(jù)分為K組,則隨機(jī)選取K個(gè)對(duì)象作為初始的聚類中心,然后計(jì)算每個(gè)對(duì)象與各個(gè)種子聚類中心之間的距離,把每個(gè)對(duì)象分配給距離它最近的聚類中心。聚類中心以及分配給它們的對(duì)象就代表一個(gè)聚類。每分配一個(gè)樣本,聚類的聚類中心會(huì)根據(jù)聚類中現(xiàn)有的對(duì)象被重新計(jì)算。這個(gè)過程將不斷重復(fù)直到滿足某個(gè)終止條件。終止條件可以是沒有(或最小數(shù)目)對(duì)象被重新分配給不同的聚類,沒有(或最小數(shù)目)聚類中心再發(fā)生變化,誤差平方和局部最小。從闡述中,不難發(fā)現(xiàn),Kmeans算法是一種發(fā)現(xiàn)多維度下,在幾何空間中具有鄰近關(guān)系的聚類算法。那么在知道有效因子的情況下,基于多因子下,使用Kmeans便可以發(fā)現(xiàn)在多因子下,哪一些股票具有高度的空間鄰近性,那么對(duì)于這些聚類分組后高關(guān)聯(lián)性的股票組合,對(duì)其漲跌幅或者其他性質(zhì)進(jìn)行研究,探索出在這些分組中是否具有在某一方面性質(zhì)很明顯的股票。例如:某一個(gè)分組的股票普遍隨機(jī)時(shí)間區(qū)間內(nèi)平均漲跌幅均有極大可能優(yōu)于其他分組。
在發(fā)現(xiàn)某種性質(zhì)后,便可以基于該性質(zhì)建立策略,進(jìn)行工程化并回測,驗(yàn)證策略的有效性。
這里說明一點(diǎn),由于Kmeans算法進(jìn)行分組時(shí)需要自己設(shè)定分組數(shù)量,這里需要進(jìn)行各種嘗試。同時(shí)由于分組時(shí)初始點(diǎn)數(shù)據(jù)選擇是隨機(jī)的,導(dǎo)致大概率下,進(jìn)行聚類時(shí),例如某一數(shù)據(jù)第一次分類可能在第一組,而第二次分類就在第二組。這里需要解決此問題。
解決辦法:無論分組在哪一組,具有高度空間鄰近性的數(shù)據(jù)點(diǎn)必定極高概率每一次分組都在同一組中,那么對(duì)于每一個(gè)數(shù)據(jù)的每一次數(shù)據(jù)分組結(jié)果均進(jìn)行分組數(shù)字化標(biāo)簽,而后進(jìn)行協(xié)方差計(jì)算,高度線性相關(guān)
的便是同一組的數(shù)據(jù)點(diǎn)。在此種方式下需要考慮一種比較細(xì)的問題,便是由于定義高度相關(guān)性是需要閾值的,而在設(shè)定閾值后,極有可能出現(xiàn)數(shù)據(jù)A與數(shù)據(jù)B高度相關(guān),數(shù)據(jù)B與數(shù)據(jù)C高度相關(guān),但數(shù)據(jù)A與數(shù)據(jù)C稍低于閾值,從而非高度相關(guān)。在此情況需要考慮是取交集還是并集的問題!??!同時(shí)需要設(shè)計(jì)算法來進(jìn)行高度相關(guān)的刷選過程。
-
在此附上某一性質(zhì)下刷選出的分組結(jié)果截圖,其標(biāo)的均為滬深300成分股。
pic3.png





