欢迎光临散文网 会员登陆 & 注册

聚类分析 + 时间序列模型,助力股票预测

2021-12-07 14:24 作者:JMP数据分析  | 我要投稿

在前两篇中,我们介绍了股票评价常用的三大指标,MA、MACD与BOLL。本篇将介绍可以应用于股票筛选和趋势估计的分析模型:聚类与时间序列,这也是此系列文章的第三篇。

仍然需要说明的是:本文以上证指数为例,行业划分与代码来自于上证官网,历史数据来自yahoo finance。文章只提供分析方法,不提供任何投资建议。股市有风险,入市需谨慎!


#01  运用聚类分析,选择符合心理预期的股票

小编我是个对股票一窍不通的萌(小)新(白)。那么,我该怎样选择想要投资的股票呢?

首先,从试水的角度考虑,最好选择一个势头良好的行业,而后在该行业中选择一支回报率不错且相对稳定的股票。

上证提供了笼统和细分的行业指数,我们先从行业指数入手分析。


在这里,我们将使用聚类分析的方法。

Tips:简单解释一下聚类分析。聚类(Clustering)是一种常用的无监督学习(unsupervised learning)方法,用于将相似的数据分入不同的集群之中。最终生成的各个聚类或子集中,将包含具备某些相似特征的观察值。

最常见的数据聚类方法有K-means 和层次聚类。其中,层次聚类需要将样本按照距离相近程度依次聚类,这意味着它将花费大量计算时间,因此适用于较小数据集。而K-means则可以处理大量数据。二者都可以自定义聚类数目。

我们以开盘/收盘价、单日波动、交易量、股票数目与初始股本为变量,在JMP软件中运行层次聚类(JMP操作:分析 -> 聚类 -> 层次聚类)。以下为设定cluster=6时的结果。

通过“拟合-单因子分析“,可知聚类1相对而言有更高的评价交易量与初始股本(行业内股票数目count相对较少),且单日波动(当日最高价与当日最低价之差)相对较小。

因为在聚类1中“上证能源”拥有比 “上证工业”更高的单日回报率,所以此处选择能源行业。接下来的目标,就是在以下股票中选择一支。


在气泡图中,我们可以较为直观地比较行业内股票收盘价的走势。其中比较有代表性的有以下两支股票:600188八月底以来有较强的涨幅;而603353在六月以来有最高的收盘价,却呈现出涨势停滞甚至下降的趋势。

虽然从可视化图表中就能获得丰富的信息,但作为萌新,我觉得还是对数据分析一下比较稳妥。接下来,我们将针对收益率(return)与波动幅度(spread)进行聚类分析。这里将选择K-means方法。

TIPS:K-means使用迭代算法对观测值进行划分来构造指定数量的聚类,其原理是通过最小化观测值到聚类中心的距离来确定最优组别。具体计算逻辑如下图所示。

基于对日均交易量volume、日均波动幅度spread、从6月1日至今的投资回报率return rate运行K-means聚类(JMP操作:分析 -> 聚类 -> 层次聚类),我们将cluster设定为3,可以得到如下结果。


基于聚类进行拟合,我们可以看到:600188这支股票不能说是“表现良好”,简直是“一枝独秀”(如图中高亮部分,可以看到这支股票拥有最高的回报率)。就是它了!


选择好股票后,我们来进一步评估下股票,并尝试预测它的价格走势。


#02  评估股票,并预测价格走势

“涨,还是跌?”这显然是最引人关注的问题。但首先,我们可以根据所关心的维度构建新变量,从而分析当下是否值得投资、自己的小心脏能否承担即将到来的大风大浪。


例如,作为萌新的我一心求稳,关注单日收益率但也长线如30天的收益率。那么可以构建如下变量。

return_daily:

(收盘价-开盘价)/开盘价

return_30days:

此外,萌新往往追求稳稳的幸福——“可以波动,但只能波动一点点”。这时,可以应用诸如variance on return、VaR等投资决策中常用的指标帮助分析。


那么,这些常用指标如何应用呢?下面我们来逐一解析。


基于投资回报率计算方差  Variance on Return

方差可以衡量股票在不同时期的回报率与其平均回报之间的差异。投资者使可以用方差来查看投资的风险有多大,以及它是否会盈利。

一般而言,方差较小的股票通常会产生更接近其平均值的回报,具有较高方差的股票可能会产生远高于或低于预期的回报,这会增加不确定性并增加亏损风险。当然,这需要具体情况具体分析。比如当股价在长短线趋势中均涨势喜人时方差也可能增大,而投资者只要出门放鞭炮就行了。

当我们按月计算回报率的方差(JMP操作:表 -> 汇总 -> 在统计量中选择方差),可以得到以下结果。

由此可见,该股票年初波动较为平稳,自七月以来方差稳步增大。而本年整体的variance为0.03. 考虑到近日(数据调取日期为2021年9月)该股票涨势喜人,我们可以保持“谨慎乐观”的态度。


风险价值  Value at Risk, VaR

风险价值是一种评估投资风险的财务指标。它利用统计技术计算在给定投资组合中损失超过给定金额的可能性,从而衡量在特定时间段内投资组合中可能发生的潜在损失金额。

了解概念后,我们可以直接利用JMP平台的“分布->连续拟合->正态拟合”功能直接进行分析评估。

以日收益率为例。假设你是保守派,最多只能承受5%的损失率。那么,当置信区间为95%时,将return_daily设置为-0.05可以得到概率的估计值为0.0695。这意味着此时损失5%的可能性大约在4%-10%左右、最可能的概率是7%。

这样的风险是否在可承受范围之内?这便是投资者需要回答的问题了。


利用时间序列预测股价趋势 Time Series


接下来我们将利用时间序列模型预测价格走势。为了简化“多次建模并筛选”的流程,我们可以使用“ARIMA模型组”功能。

已知该股票收盘价有自相关性、无周期性、差分阶数<=1,我们可以设置如下范围:

由此可以得到2*2*6=24个模型。

由于ARIMA(1,1,3)中各项预测值的p-value较小、预测能力更为可靠,我们选择该模型。

基于该模型进行股价预测,可以得到如下稳健上升的趋势。是不是该出门放鞭炮了?


以上所有的分析,都基于JMP软件。除了文中涉及到的分布、聚类分析、时间序列,线性回归与K最近邻等功能也可以用于股价预测与投资策略分析。想要自己练练手的JMPer们,欢迎下载最新的JMP 16免费试用:

https://www.jmp.com/zh_cn/download-jmp-free-trial.html?utm_campaign=td7013Z000002sEGsQAM&utm_source=bilibili&utm_medium=social





聚类分析 + 时间序列模型,助力股票预测的评论 (共 条)

分享到微博请遵守国家法律