基本因子挖掘 -機(jī)器學(xué)習(xí)1 Kmeans

總體思路
  • 對(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)公式如下:
    \begin{array}{l} RankIC(n) = \frac {Cov(x,r)} {n} \\note: \\x: \quad value\; of\; factor \\r: \quad rank\; of\; factor \\n: \quad amount\; of\; the\; cross\; sectional\; datas \end{array}
    \begin{array}{l} NormalIC(n) = \frac {Cov(x,v)} {n} \\note: \\x: \quad value\; of\; factor \\v: \quad change\; of\; stock \\n: \quad amount\; of\; the\; cross\; sectional\; datas \end{array}
alphalens模塊的使用
  • alphalens 是一個(gè)輔助進(jìn)行IC有效性因子檢測的模塊,具體使用方法在此不加以闡述。IC分析流程:

    1數(shù)據(jù)處理后需要的數(shù)據(jù)格式
    data.png

    2 部分分組后收益數(shù)據(jù)可視化部分截圖
    pic1.png

    3 IC數(shù)值圖表
    table.png
    pic2.png
有效性因子的刷選與數(shù)據(jù)挖掘
  • 通過IC進(jìn)行有效性因子進(jìn)行刷選后,注意?。?!對(duì)于選擇出來的基本面多因子,很多存在高度相關(guān)的因子,因此在進(jìn)行數(shù)據(jù)挖掘挖掘之間,需要對(duì)因子的相關(guān)性進(jìn)行檢測。因子相關(guān)性table
    table2.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ā)生變化,誤差平方和局部最小。

  • \color{red}{idea\; start}

  • 從闡述中,不難發(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)的刷選過程。

  • \color{red}{idea\; end}

  • 在此附上某一性質(zhì)下刷選出的分組結(jié)果截圖,其標(biāo)的均為滬深300成分股。


    pic3.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

  • 以下本文筆記,僅供參考: 很全的面經(jīng),供參考 一、常見設(shè)計(jì)測試用例參考 1、在線支付,第三方支付寶支付的測試點(diǎn) 事...
    燦爛的GL閱讀 1,453評(píng)論 0 3
  • 1.需求分析:分析需求點(diǎn)。 2.制定測試計(jì)劃:包括人力,軟硬件資源,測試點(diǎn),集成順序,進(jìn)度和風(fēng)險(xiǎn)識(shí)別等內(nèi)容。 3....
    享受健身和閱讀閱讀 17,294評(píng)論 0 15
  • 華泰價(jià)值選股系列之相對(duì)市盈率 市盈率(PE): 上市公司每股股價(jià)除以每股盈利 (EPS) 它把公司的股價(jià)與每股盈...
    Kean_L_C閱讀 2,351評(píng)論 0 0
  • ##首先,作為測試人員需要學(xué)習(xí)并了解業(yè)務(wù),分析需求點(diǎn) ###為什么測試人員要參加需求分析?也就是進(jìn)行測試需求分析的...
    蔬菜妞閱讀 969評(píng)論 0 7
  • 1、問:你在測試中發(fā)現(xiàn)了一個(gè)bug,但是開發(fā)經(jīng)理認(rèn)為這不是一個(gè)bug,你應(yīng)該怎樣解決? 首先,將問題提交到缺陷管理...
    小灰輝先生閱讀 1,404評(píng)論 0 3

友情鏈接更多精彩內(nèi)容