【點寬量化專欄】聚類演算法、神經網路及其在量化選股中的實踐

文章來源:點寬量化專欄

文章傳送門:聚類演算法、神經網路及其在量化選股中的實踐

文章:對外經貿大學·QuantFactory量化投資俱樂部

作者:唐哲

什麼是機器學習?

通過計算的手段,利用經驗來改善 系統自身的性能

機器學習演算法的分類

有監督學習

線性回歸

決策樹

邏輯回歸

神經網路

支持向量機

……

無監督學習

聚類

降維演算法

……

半監督學習

半監督 SVM

……

聚類

將數據集中的樣本劃分為若干個通常是不相交子,每個 子集稱為一「簇」(cluster) 。

典型應用:用戶分類

目標:簇內相似度高,簇間似度低。

如何去度量 「相似度 」?

兩個樣本點之間的 「距離 」

最常用的距離 —— 歐氏距離

原型聚類

k均值演算法(k-means)

高斯混合聚類

密度聚類

層次聚類

k-means演算法

總樣本數為 m,聚類簇數為 k

1、從樣本集中隨機選擇 k個樣本作為初始均值向量;

2、對於所有剩餘樣本,計算每個與 k個均值向量的距離,之後將該樣 本劃入與它距離最近的簇中;

3、得到新的均值向量;

4、重複第 2步和第 3步,直到均值向量不再變化;

5、得到最終的聚類結果。

k-means 函數

 [IDX,C,sumd,D]=kmeans(X,k)

X:樣本集, n	imes ×p 矩陣、n為樣本個數

k:要聚類的簇數

IDX:分類結果 n	imes ×1 矩陣

C:最終得到的均值向量, k	imes ×p 矩陣

sumd:每個樣本點到其對應的均值向量距離之和

D:每個樣本點到均值向量的距離, n	imes ×k 矩陣

二分k-means 函數

為克服 k-means means演算法收斂於局部最小值的問題

具體步驟:

1、將所有點看成一個簇;

2、當簇數目小於 k時:

對於每一個簇,計算總誤差,在給定的簇上進行 k-means 聚類( k=2 ),計算將該簇一分為二之後的總誤差,選擇使得誤差最小的那個簇進行劃分操作。

高斯混合聚類

原理:

1、假設樣本的生成過程遵循高斯混合分布;

2、將k個高斯分布 模型混合在一起,每樣本點出現的概率是所有高斯分布混合結果。

理論上,足夠複雜的高斯混合分布模型可以擬任意形態概率。

p_{m}(x)=sum_{i=1}^{k}a_{i}	imes p(x|u_{i},sum_{i})

sum_{i=1}^{k}a_{i}=1

根據貝葉斯公式,可得樣本點屬於某個簇的後驗概率。

具體步驟:

1、初始化高斯混合分布的模型參數;

2、計算各個樣本點由混合成分生的後驗概率;

3、更新模型參數:均值向量協方差矩陣混合系;

4、重複第 2步和第 3步,直到滿足停止條件;

5、得到最終的聚類結果。

MATLAB中使用的函數:

fitgmdist

cluster

層次聚類

AGNES演算法

一種採用自底向上聚合策略的層次類演算法,它先將數據集中每個樣本看作一個初始聚類簇,然後在演算法運行的每步中找出距離最近兩進行合併,該過程不斷重複直至達到預設的聚類簇個數。

神經網路

M-P神經元模型

y=f(sum_{i=1}^{n}w_{i}x_{i}-	heta )

多層神經網路

初始設置:網路層數 、每層神經元個數、神經元激活函

計算:連接權、神經元閾值

基於神經網路的多因子選股模型

因子:

總市值

22 日換手率

22 日漲跌幅

PE

ROE 同比增長率

1、因子值按秩打分 —— 歸一化;

2、股票按當期收益率排序,前30%設為1,最後30%設為-1,其餘作為雜訊刪去;

3、構建神經網路,兩個隱含層 [8 8];

4、選取輸出值最大的前100支股票。

1、月度調倉;

2、交易成本:千分之一,雙邊收取;

3、漲停、牌無法買入;

4、跌停、牌無法賣出。

文章來源:點寬量化專欄

文章傳送門:聚類演算法、神經網路及其在量化選股中的實踐


推薦閱讀:

深度學習(2)——感受野
用深度學習玩圖像的七重關卡
Coursera吳恩達《卷積神經網路》課程筆記(1)-- 卷積神經網路基礎

TAG:量化交易 | 量化 | 机器学习 |