在股票市场中股票的价格是随时间变化而变化的随机变量,其变化过程是一个随机过程。本文选取上证A股“浦发银行(SH600000)”104个交易日的数据,在检验该过程具有Markov性的基础上,建立相应的Markov模型对股票价格进行了分析与预测,得到了较为理想的结果。模型的建立和应用对我们了解股价运行周期及预测股价走势有一定的指导作用。 In the stock market, the stock price is a random variable which changes with time, and its chang-ing process is a random process. In this paper, the data of 104 trading days of A-share “Shanghai Pudong Development Bank (SH600,000)” from Shanghai Stock Exchange is selected. After check-ing that this process has Markov property, the corresponding Markov model is established to analyze and predict the stock price, and a relatively reasonable result is obtained. The establishment and application of the model can help us to understand the running cycle of stock price, and predict the trend of stock price.
许文多,卞海通,范爱华*
安徽工业大学数理科学与工程学院,安徽 马鞍山
收稿日期:2020年2月26日;录用日期:2020年3月18日;发布日期:2020年3月25日
在股票市场中股票的价格是随时间变化而变化的随机变量,其变化过程是一个随机过程。本文选取上证A股“浦发银行(SH600000)”104个交易日的数据,在检验该过程具有Markov性的基础上,建立相应的Markov模型对股票价格进行了分析与预测,得到了较为理想的结果。模型的建立和应用对我们了解股价运行周期及预测股价走势有一定的指导作用。
关键词 :Markov过程,转移概率,股票价格
Copyright © 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
近年来,随着政府对股票市场的大力支持和推动,股票市场的管理机制逐渐完善。与此同时,随着机构、私募以及广大散户投资者的参与逐渐增加,对于股票价格走势的分析与预测变得十分重要。文献 [
定义1 [
P { X n + 1 = j | X 0 = i 0 , X 1 = i 1 , ⋯ , X n − 1 = i n − 1 , X n = i } = P { X n + 1 = j | X n = i }
它表示系统未来所处的状态只与系统现在所处的状态有关,与过去的状态无关,这个性质称为Markov性或无后效性。
定义2 [
P = ( p i j ) = [ p 00 p 0 1 p 0 2 p 0 3 ⋯ p 1 0 p 11 p 12 p 13 ⋯ p 2 0 p 21 p 22 p 23 ⋯ p 3 0 p 31 p 32 p 33 ⋯ ⋮ ⋮ ⋮ ⋮ ⋱ ]
称P为转移概率矩阵,一般简称转移矩阵。 p i j ( i , j ∈ S ) 有性质
1) p i j ≥ 0 , i , j ∈ S ;
2) ∑ j ∈ S p i j = 1 , ∀ i ∈ S 。
定义3 [
定理1 [
1) p i j ( m + n ) = ∑ k ∈ S p i k ( m ) p k j ( n ) ;
2) P ( n ) = P ⋅ P ( n − 1 ) = P ⋅ P ⋅ P ( n − 2 ) = ⋯ = P n 。
要应用马尔可夫链模型分析和解决实际问题,必须检验随机变量序列是否具有“马氏性”。目前绝大多数科技工作者应用各种马尔可夫链预测方法去解决实际问题时忽视了检验“马氏性”这一步骤这是不科学的也是不严谨的。下面给出马氏性检验定理。
定理2 [
设 X n 是某股票在第 n ( n = 0 , 1 , 2 , ⋯ ) 天的收盘价格,其变化只与前一天的股票收盘价格有关, X n ∈ [ 0 , + ∞ ) 。在 [ 0 , + ∞ ) 插入 m − 1 个分点 0 < x 1 < x 2 < ⋯ < x m − 1 ,分别记 x 0 和 x m 为 0, ∞ ,规定 X n ∈ [ x i − 1 , x i ) 时出现状态i。记 f i j 为股票价格从状态i经过一个时间间隔转移到状态j的频数,记 p i j 为股票价格从状态
i经过一个时间间隔转移到状态j的概率, p i j = f i j / ∑ j = 1 m f i j , p i j ( n ) 表示从状态i经过n步转移到状态j的概率。
得到转移频数和转移概率分别为
F = [ f 11 f 12 ⋯ f 1 m f 21 p 22 ⋯ f m 2 ⋮ ⋮ ⋱ ⋮ f m 1 f m 2 ⋯ f m m ]
P = [ p 11 p 12 ⋯ p 1 m p 21 p 22 ⋯ p m 2 ⋮ ⋮ ⋱ ⋮ p m 1 p m 2 ⋯ p m m ]
股票的价格是随时间变化而变化的随机变量,其变化过程是一个随机过程,股票价格在时刻t下一刻所处的状态只与时刻t所处的状态有关,与时刻t之前所处的状态无关,即具有马氏性。为保证研究数据的严谨,接下来对股价随机变量序列是否具有马氏性做检验,将转移频数矩阵的第j列之和除以各行各列的总和所得的值称为“边际概率”记为 p • j ,即 p • j = ∑ i = 1 m f i j / ∑ i = 1 m ∑ j = 1 m f i j 。则统计量 χ 2 = 2 ∑ i = 1 m ∑ j = 1 m f i j | log p i j p • j | 以自由度为 ( m − 1 ) 2 的 χ 2 分布为极限分布。且给定显著性水平 α ,查 χ 2 分布临界值表,若 χ 2 > χ α 2 ( m − 1 ) 2 则认为股票价格符合马氏性,否则不能用Markov过程对股票价格进行预测。
若股票价格符合马氏性,根据C-K方程可知 P ( n ) = P n ,P描述了股价从一个状态向另一个状态转移的概率分布状况,故我们可以通过计算 P ( n ) 预测n个交易日后的股价。即通过比较 P ( n ) 中第i (i为当前股价所处状态)行各值的大小就可以判断n个时间间隔后股价的运行趋势。
设 π i 是系统位于状态i的平稳概率, π = ( π 1 , π 2 , ⋯ , π m ) 为系统的平稳分布,若已知一步转移概率矩阵,则
{ π = π P π 1 + π 2 + π 3 + ⋯ + π m = 1 π i ≥ 0
解方程组就可以求出Markov链的平稳分布。
记 T i j 为股票价格由状态i转移到状态j所需的时间,则可推导出公式 T i j = 1 + ∑ i ≠ j p i k T k j ,再通过软件求解方程组得到相应的 T i j ,进而求得股价的运行周期为 T 1 m + T m 1 。
本文收集上证A股“浦发银行(SH600000)”从2019年4月1日到2019年8月30日共105个交易日的收盘价,将股票划分为5个状态区间,即:
状态1:(11.00, 11.24];2:(11.24, 11.48];3:(11.48, 11.72];4:(11.72, 11.96];5:(11.96, 12.20]。
整理数据得出一步转移频数(表1)。
状态 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
1 | 7 | 8 | 0 | 0 | 0 |
2 | 7 | 22 | 8 | 1 | 1 |
3 | 1 | 9 | 19 | 2 | 0 |
4 | 0 | 0 | 2 | 10 | 2 |
5 | 0 | 0 | 2 | 1 | 2 |
表1. 一步转移频数表
则
F = [ 7 8 0 0 0 7 22 8 1 1 1 9 19 2 0 0 0 2 10 2 0 0 2 1 2 ]
进一步求出一步转移概率矩阵:
P = [ 7 15 8 15 0 0 0 7 39 22 39 8 39 1 39 1 39 1 31 9 31 19 31 2 31 0 0 0 2 14 10 14 2 14 0 0 2 5 1 5 2 5 ]
由 p • j = ∑ i = 1 m f i j / ∑ i = 1 m ∑ j = 1 m f i j 可求得边际概率见表2。
状态 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
p • j | 15/104 | 39/104 | 31/104 | 14/104 | 5/104 |
表2. 边际概率表
计算极限分布 χ 2 = 2 ∑ i = 1 m ∑ j = 1 m f i j | log p i j p • j | 见表3。
状态 | f i 1 | log p i 1 p • 1 | | f i 2 | log p i 2 p • 2 | | f i 3 | log p i 3 p • 3 | | f i 4 | log p i 4 p • 4 | | f i 5 | log p i 5 p • 5 | | 合计 |
---|---|---|---|---|---|---|
1 | 8.2194 | 2.8178 | 0 | 0 | 0 | 11.0372 |
2 | 1.5308 | 8.9828 | 2.9897 | 1.6582 | 0.6286 | 15.7901 |
3 | 1.4976 | 2.3034 | 13.6963 | 1.4710 | 0 | 18.9683 |
4 | 0 | 0 | 1.4710 | 16.6886 | 2.1781 | 20.3377 |
5 | 0 | 0 | 0.5882 | 0.3959 | 4.2373 | 5.2214 |
合计 | 11.2478 | 14.104 | 18.7452 | 20.2137 | 7.044 | 142.7094 |
表3. 极限分布计算表
给定显著水平 α = 0 .05 ,查 χ 2 分布临界值表,得 χ α 2 ( m − 1 ) 2 = χ 0.05 2 ( 16 ) = 26.296 ,由于 χ 2 = 142 .7094 > χ α 2 ( m − 1 ) 2 ,根据定理可知股票价格序列满足马氏性。
根据公式 π P = π 可以计算出各状态的平稳分布
π = [ 15 / 104 , 3 / 8 , 31 / 104 , 7 / 52 , 5 / 104 ]
股价预测:根据一步转移概率矩阵和C-K方程在我们可以选取9月某一天的股价预测后面的股价,例如,选取9月16日的股价11.93预测后面5天的股价(表4)。
日期 | 实际股价 | 预测股价 |
---|---|---|
2019/9/17 | 11.81 | (11.72,11.96] |
2019/9/18 | 11.93 | (11.72,11.96] |
2019/9/19 | 11.94 | (11.72,11.96] |
2019/9/20 | 11.95 | (11.72,11.96] |
2019/9/23 | 11.75 | (11.48,11.72] |
表4. 股价预测表
讨论股价从状态i首次到达状态j所需的平均交易时间 T i j ,由 T i j = 1 + ∑ i ≠ j p i k T k j
{ T 15 = 1 + 7 15 T 15 + 8 15 T 25 T 25 = 1 + 7 39 T 15 + 22 39 T 25 + 8 39 T 35 + 1 39 T 45 T 35 = 1 + 1 31 T 15 + 9 31 T 25 + 19 31 T 35 + 2 31 T 45 T 45 = 1 + 2 14 T 35 + 10 14 T 45 T 55 = 1 + 2 5 T 35 + 1 5 T 45
计算可得
T 15 = 39.9 , T 25 = 38.0 , T 35 = 38.2 , T 45 = 22.6 , T 55 = 20.8
同理可得
T 11 = 6.9 , T 21 = 11.1 , T 31 = 14.2 , T 41 = 19.4 , T 51 = 17.6
由上述结果,可推断浦发银行在这104个交易日时间内,状态1到状态5需要39.9个交易日,状态5到状态1需要17.6交易日,即大跌到大涨需要39.9个交易日,大涨到大跌需要17.6个交易日,股价完成一个运行周期平均需要 T 15 + T 51 = 57.5 个工作日。
研究股票价格走势的方法有很多,比如主成分分析法、时间序列法、逐步回归法、神经网络法等等。本文利用马尔科夫链,在对股票收盘价格作连续观察的基础上,建立了动态数学模型,在检验该过程具有Markov性的基础上,对股票价格走势及股价运行周期进行了分析和预测,并将部分预测结果和实际收盘价格进行了对比,与实际结果吻合度较好,为投资者选择股票买卖点提供了选择依据。在股票市场受外界因素影响较小的情况下,该模型还是相当有效的。本文的预测方法最方便的一点就是对于初始状态矢量和状态概率转移矩阵的确定,他们在分析预测的过程中保持稳定不变,要注意的是,进行多次或者长期的预测,可能会产生一定误差,如果想解决这个问题,需要依据市场变化及时的调整状态概率转移矩阵,这样才能提高预测结果的可信度。另外,股票价格有时还受到一些外界随机因素的影响,所以模型的结果也只能作为投资者选择的一种参考,股市有风险,投资需谨慎!
安徽省教学研究项目资助(2016jyxm0136)。
许文多,卞海通,范爱华. Markov过程对股票价格走势的分析与预测 Analysis and Forecast of Stock Price Trend Using Markov Process[J]. 统计学与应用, 2020, 09(02): 128-140. https://doi.org/10.12677/SA.2020.92015