期货市场中,许多品种有较强的相关性,想了解各个品种变化趋势的协同性, 原来的常用方法是利用协相关矩阵来分析。
下面用AI 机器学习的方法,探讨和分析期货市场的结构,以及各品种的协同变化。为下一步建立自己量化分析的实时板块结构,提供依据。具体办法是:
1. 聚类方法
使用无监督学习技术和聚类方法,将不同期货品种的变化行为,相类似的组合在一起。在scikit-learn中的各种聚类技术中,选择使用Affinity Propagation。它的优点是自动从数据中选择聚类的数量,不强制执行size大小相等的聚类。聚集在一起的品种,可以被认为具有类似的协同变化。
scikit-learn上用的是美国股市案例。
而我用国内期货市场的真实实时数据(2020-07-01 到2021-11-10 的所有品种的日行情数据),进行聚类。时间段可以自由选取,比如通过最近一年的变化情况。
方法中略微不同的是:
scikit-learn案例用 :variation = close_prices - open_prices
我用:variation =( today_close_prices -previouse_close_prices)/previouse_close_prices
得到以下聚类:
round: 0 start:2020-07-01 end:2021-11-08 period:329 days
Cluster 1: 白银, 黄金
Cluster 2: 苹果
Cluster 3: 胶合板
Cluster 4: 棉花, 棉纱, 白糖
Cluster 5: 红枣
Cluster 6: 玉米, 玉米淀粉
Cluster 7: 铝, 铜, 镍, 铅, 锡, 不锈钢, 锌
Cluster 8: 纤维板
Cluster 9: 鸡蛋
Cluster 10: 焦炭, 焦煤, 尿素, 动力煤
Cluster 11: 粳稻谷
Cluster 12: 晚籼稻
Cluster 13: 豆二, 豆粕, 菜籽粕
Cluster 14: 20号胶, 天然橡胶, 纸浆
Cluster 15: 普麦
Cluster 16: 苯乙烯, 乙二醇, 聚乙烯, 甲醇, 聚丙烯, 纯碱, 聚氯乙烯
Cluster 17: 玻璃, 热轧卷板, 铁矿石, 螺纹钢, 线材
Cluster 18: 早籼稻
Cluster 19: 粳米
Cluster 20: 油菜籽
Cluster 21: 石油沥青, 燃料油, 低硫燃料油, 液化石油气, 原油, PTA
Cluster 22: 硅铁, 锰硅
Cluster 23: 强麦
Cluster 24: 豆一, 菜籽油, 棕榈油, 豆油
这里还看不清聚类中,各品种的远近和稀疏关系,下面用2D 图来可视化。
2. 可视化
在2D图上显示,使用Manifold learning技术检索2D嵌入。
聚类标签用于定义节点的颜色。
用稀疏协方差模型表示边缘的强度。
参考:股市结构可视化 scikit-learn