【點寬量化專欄】聚類演算法、神經網路及其在量化選股中的實踐
文章來源:點寬量化專欄
文章傳送門:聚類演算法、神經網路及其在量化選股中的實踐
文章:對外經貿大學·QuantFactory量化投資俱樂部
作者:唐哲
什麼是機器學習?
通過計算的手段,利用經驗來改善 系統自身的性能
機器學習演算法的分類
有監督學習
線性回歸
決策樹邏輯回歸神經網路支持向量機……無監督學習
聚類
降維演算法
……半監督學習
半監督 SVM
……聚類
將數據集中的樣本劃分為若干個通常是不相交子,每個 子集稱為一「簇」(cluster) 。
典型應用:用戶分類
目標:簇內相似度高,簇間似度低。
如何去度量 「相似度 」?
兩個樣本點之間的 「距離 」
最常用的距離 —— 歐氏距離
原型聚類
k均值演算法(k-means)高斯混合聚類密度聚類
層次聚類
k-means演算法
總樣本數為 m,聚類簇數為 k
1、從樣本集中隨機選擇 k個樣本作為初始均值向量;
2、對於所有剩餘樣本,計算每個與 k個均值向量的距離,之後將該樣 本劃入與它距離最近的簇中;
3、得到新的均值向量;
4、重複第 2步和第 3步,直到均值向量不再變化;
5、得到最終的聚類結果。
k-means 函數
X:樣本集, 矩陣、n為樣本個數k:要聚類的簇數IDX:分類結果 矩陣C:最終得到的均值向量, 矩陣sumd:每個樣本點到其對應的均值向量距離之和
D:每個樣本點到均值向量的距離, 矩陣二分k-means 函數
為克服 k-means means演算法收斂於局部最小值的問題
具體步驟:
1、將所有點看成一個簇;2、當簇數目小於 k時:對於每一個簇,計算總誤差,在給定的簇上進行 k-means 聚類( k=2 ),計算將該簇一分為二之後的總誤差,選擇使得誤差最小的那個簇進行劃分操作。高斯混合聚類
原理:
1、假設樣本的生成過程遵循高斯混合分布;
2、將k個高斯分布 模型混合在一起,每樣本點出現的概率是所有高斯分布混合結果。理論上,足夠複雜的高斯混合分布模型可以擬任意形態概率。
根據貝葉斯公式,可得樣本點屬於某個簇的後驗概率。
具體步驟:
1、初始化高斯混合分布的模型參數;2、計算各個樣本點由混合成分生的後驗概率;3、更新模型參數:均值向量協方差矩陣混合系;4、重複第 2步和第 3步,直到滿足停止條件;
5、得到最終的聚類結果。MATLAB中使用的函數:
fitgmdistcluster層次聚類
AGNES演算法
一種採用自底向上聚合策略的層次類演算法,它先將數據集中每個樣本看作一個初始聚類簇,然後在演算法運行的每步中找出距離最近兩進行合併,該過程不斷重複直至達到預設的聚類簇個數。
神經網路
M-P神經元模型
多層神經網路
初始設置:網路層數 、每層神經元個數、神經元激活函
計算:連接權、神經元閾值
基於神經網路的多因子選股模型
因子:
總市值22 日換手率22 日漲跌幅PEROE 同比增長率1、因子值按秩打分 —— 歸一化;
2、股票按當期收益率排序,前30%設為1,最後30%設為-1,其餘作為雜訊刪去;
3、構建神經網路,兩個隱含層 [8 8];4、選取輸出值最大的前100支股票。1、月度調倉;
2、交易成本:千分之一,雙邊收取;3、漲停、牌無法買入;4、跌停、牌無法賣出。文章來源:點寬量化專欄
文章傳送門:聚類演算法、神經網路及其在量化選股中的實踐
推薦閱讀:
※深度學習(2)——感受野
※用深度學習玩圖像的七重關卡
※Coursera吳恩達《卷積神經網路》課程筆記(1)-- 卷積神經網路基礎