波動率
如何按波動率對共同基金進行分組?
我想按波動性對共同基金進行分組。
理想情況下,我想最終得到附屬於不同群體的共同基金:
- 高波動性
- 中等波動性
- 低波動性
我的問題是:什麼數字可以被認為是低、中、高波動性?
也許有一些區間:0 -5 % 是低 5 - 15% 是中等,高是高……
我對如何解決這個問題有點困惑……
您正在尋找的是一種非監督式學習算法算法:即一種能夠自行確定數據集中最合理的 3 個組的算法。此方法將允許您根據您提供的數據集而不是通過選擇某些給定的固定值來選擇組的邊界。
我建議您使用的算法是K-means算法。您向其提供數據和編號 $ k $ 您想要擁有的集群(組)。然後算法將數據拆分為 $ k $ 你想要的組。請注意,此算法可以處理具有多個特徵的點,而您將只使用一個(易失性)。
以下是它在 Matlab 中的工作原理:
test=[0 1 2 3 100 105 98 1000 1001 997]'; [idx,C] = kmeans(test,3);
返回的值
idx
是一個向量,其中每個點test
都歸屬於一個群號(代表其組):idx = 2 2 2 2 3 3 3 1 1 1
然後,您可以查看
C
包含每個集群的平均值的變數,該變數可能無法理解為“每個集群的完美點”c = 999.3333 1.5000 101.0000
所以它發現了三個組,
test
一組在 999.33 左右,一組在 1.5 左右,一組在 101 左右。這應該夠了吧。