市场行情分段算法

大盘很少直上直下。即使在牛气冲天的2006-2007行情中,也会有530暴跌接近20%的情况。即使是大势已去的2007年年底和2008年,大跌之前市场又一次冲击了一次6000点。所以,该如何判断过去历史上,连续上涨(大牛市)和连续下跌(大牛市)有哪些时段呢?

定性地看,连续上涨行情和下跌行情应该有下述特征:

  • 所谓连续上涨,必定是整体向上,虽然会有调整,但调整幅度不能超过起始点。连续下跌类似。
  • 一段连续走势,是属于一个大行情中的调整,还是独立的一段行情,主要看两个:持续时间和涨跌幅。持续时间越长,表示越可能是一段独立的行情。涨跌幅越大,越可能分为独立的行情。

根据上面的原则,可以采取分步贪心法分解市场行情。对于算法过程中得到的任何一个阶段,定义其评价值 = 100×abs(收益率) + 持续时间。再以以下步骤分解和合并行情:

  1. 首先将市场分为完全连续上涨和下跌的阶段。
  2. 查找评价值最低的阶段。在决定将该阶段合并到左边还是右边时,选择使得总评价函数更大的合并方法。
  3. 重复第二步的过程,直到所有阶段的评价值都不低于预先设定的阀值。

这里面,评价函数是可自定义的,而最后的阀值决定于结果行情的细致程度,阀值越小,结果越细致。下图为上面的评价函数,100为阀值的分段结果:



详细数据显示,上证指数刚建立的时候,在半年内上涨了4倍,而期间最大跌幅只有4%。

起始日期 持续时间 收益率 最大调整 调整持续时间
1991-12-19 158 407% -4% 3
1992-5-25 176 -72% 22% 2
1992-11-17 90 291% -23% 5
1993-2-15 529 -78% 48% 20
1994-7-29 46 209% -13% 1
1994-9-13 147 -48% 28% 5
1995-2-7 104 69% -16% 22
1995-5-22 245 -42% 27% 30
1996-1-22 476 191% -31% 11
1997-5-12 462 -29% 36% 165
1998-8-17 316 62% -18% 116
1999-6-29 181 -23% 13% 38
1999-12-27 534 67% -11% 25
2001-6-13 223 -39% 16% 31
2002-1-22 167 28% -13% 49
2002-7-8 498 -24% 24% 65
2003-11-18 140 35% -5% 12
2004-4-6 461 -43% 16% 8
2005-7-11 827 502% -17% 27
2007-10-16 385 -72% 22% 9
2008-11-4 273 103% -13% 11
2009-8-4 335 -32% 25% 54
2010-7-5 126 34% -4% 9
2010-11-8 204 -13% 14% 52

再给一张美国道琼斯指数的图(阀值为150):

详细数据:

起始日期 持续时间 收益率 最大调整 调整持续时间
1977-12-29 321 -5% 22% 134
1978-11-15 862 29% -16% 30
1981-3-26 505 -23% 9% 43
1982-8-13 474 66% -7% 30
1983-11-30 238 -16% 5% 18
1984-7-25 5,655 979% -36% 38
2000-1-18 996 -38% 29% 124
2002-10-10 490 47% -16% 69
2004-2-12 257 -9% 6% 25
2004-10-26 1,079 45% -9% 32
2007-10-10 517 -54% 20% 28
2009-3-10 822 85% -14% 49

从图中看,道琼斯34年的运行可以分解为12个阶段,中间一段长达15年的大牛市真是叹为观止。

【注】《我国A股市场系统风险预警指标体系研究》(作者(杨维华、王伟、张志强、温渤、黄德龙))用该算法选取系统风险爆发点。文章最后获证券业协会2010年科研课题研究成果一等奖

Q.E.D., ©zhiqiang, 2011.06.14。请参考右边的相关文章列表。


  1. 阀值。。。呵呵,绝对应该是阈值。
    另外,如果能用数学模型完全描述资本市场的波动和未来,那你就是真正的神了。表面上的统计结果尽管说明了很多本质问题,但是未来总是不确定的,就好像大多数人总认为中国经济会一直增长,可这又是谁能保证的呢?对于市场的认识不能毕其功于一役,单一的工具只能部分说明问题,距离真正的本质还太远。化繁为简,先要能认识到“繁”,适应并能承受“繁”带来的“烦”,下一步才是化简。就像以前“跳出题海”的说法,不“跳入题海”如何能“跳出题海”。个人认为对资本市场做模型不是个很现实的方法,往往这些个模型成为报告卖方的卖点,成为买方忽悠投资人的利器,至于是否有效,只有天知道。拿来做做基础研究还是挺好的,离实用还太远。

    以上不是批评,个人看法而已。

  2. 你说的“对于市场的认识不能毕其功于一役,单一的工具只能部分说明问题,距离真正的本质还太远。”,我很赞同。事实上,我们的“预警”模型也很粗糙,有很多需要改进的地方,而且有些地方还是致命伤,效果也并不太好。

    但就本文里这个算法,属于事后分解,不存在对未来进行判断的企图。旨在提供一个较为客观的划分依据,当然也不是完全客观,比如阀值对结果的影响很大。

    在使用了上述算法的那篇《预警》文章里,我们用这种方法分割市场,从而试图对我们提出的预警算法进行验证,就是想用客观事实,实现“知道”是否有效。

  3. 的确应该是阈值,但是绝大多数人都用错了,就跟空穴来风这个成语一样。绝大多数人用错了,所以对错似乎已经不重要了。

  4. 我想知道你是怎么吃什么长大的?这么会学习呢?

  • 支持使用微薄、人人网和QQ的账户登陆进行评论。由各自网站直接认证,不会泄露你的密码。
  • 登陆后可选择分享评论到所绑定的社交网络,如微薄、人人和QQ空间。
  • 评论提交后无法修改。如需修改,请删除原评论再重新提交。
  • 评论支持LaTeX代码,行内公式请用\(a+b=c\),行间公式请用\[a+b=c\]。公式只支持英文字符。
Loading...
Loading...
Loading...