导读:
“历史会重演”是技术分析的三大假设之一,市场行为与投资者心理有着千丝万缕的联系。比如价格形态,它们通过一些特定的价格图表形状表现出来,而这些图形表示了人们对某市场看好或看淡的心理。“历史会重演”,即:打开未来之门的钥匙隐藏在历史中。本文以K线图为基础,秉着“历史会重演”的理念,阐述了“相似K线”技术,并着重介绍该技术在“预测股价”、“分析市场”,“形态选股”三个方面的应用。
认识K线图:
传统的技术分析通过历史价格、成交量、资金流来预测股价涨跌,其中历史价格一般指的就是K线,某个周期内的K线由开盘价、最高价、最低价、收盘价构成。因为周期不同,会使得K线表现形式产生差异,因此我们往往在讲K线时,在K线前指明周期,比如:日级K线、60分钟K线、15分钟K线等等。
如何我们该定量“相似K线”?:
我们选取两只股票的历史K线图,分别为:浦发银行(600000.SH)和中国石化(600028.SH),时间轴为2017-11-13至2018-02-05,共计60根K线。我们需要做的事情是:采用一个标准的公式,来计算出两段K线的相似程度,即相似值:K
注意:K线的相似程度受到历史长度和时间周期的影响,本文一律采用了60根日级K线来计算相似值
两段K线的相似度K=(开盘价相关系数+收盘价相关系数+最低价相关系数+最高价相关系数)/4。
注意:相似度最高为1,即走势完全相同,相似度最低为-1,即走势完全相反,越接近0,则代表走势越不相关。
根据公式,我们计算出两段K线的相似度T=0.57
定性描述:两张K线图相似度并不是特别高
定量描述:两张K线图相似度为0.57
相似K线的定量
- 1.设置样本池,并获取股票代码
In [24]:
indexcode = '000016.SH'
startdate = '20140101'
enddate = '20190201'
stocklist = get_index_stocks(indexcode,enddate)
stocklist
Out[24]:
['600196.SH', '600519.SH', '600036.SH', '601857.SH', '600050.SH', '601186.SH', '600029.SH', '601989.SH', '601166.SH', '601939.SH', '600309.SH', '600703.SH', '600000.SH', '600048.SH', '601088.SH', '601398.SH', '600887.SH', '600585.SH', '600690.SH', '601318.SH', '600276.SH', '600028.SH', '601818.SH', '601688.SH', '601888.SH', '601766.SH', '603993.SH', '601229.SH', '600340.SH', '600606.SH', '601138.SH', '600030.SH', '601169.SH', '600019.SH', '601668.SH', '600547.SH', '601988.SH', '603259.SH', '601328.SH', '601336.SH', '601390.SH', '601800.SH', '601360.SH', '600016.SH', '601628.SH', '601211.SH', '601006.SH', '600104.SH', '601601.SH', '601288.SH']
- 2.获取样本池股票的近四年的开高低收成交量
In [25]:
data = get_price(stocklist,startdate,enddate,'1d',['open','high','low','close'],is_panel =1)
#收盘价
closedf = data['close'].fillna(0)
opendf = data['open'].fillna(0)
highdf = data['high'].fillna(0)
lowdf = data['low'].fillna(0)
lowdf
Out[25]:
600000.SH | 600016.SH | 600019.SH | 600028.SH | 600029.SH | 600030.SH | 600036.SH | 600048.SH | 600050.SH | 600104.SH | ... | 601766.SH | 601800.SH | 601818.SH | 601857.SH | 601888.SH | 601939.SH | 601988.SH | 601989.SH | 603259.SH | 603993.SH | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2014-01-02 | 4.88 | 4.47 | 3.00 | 3.03 | 2.36 | 10.80 | 7.11 | 3.94 | 3.00 | 6.45 | ... | 4.24 | 3.02 | 1.80 | 6.84 | 15.49 | 2.63 | 1.67 | 5.48 | 0.00 | 1.84 |
2014-01-03 | 4.74 | 4.39 | 2.99 | 2.94 | 2.31 | 10.52 | 6.84 | 3.88 | 2.95 | 5.96 | ... | 4.13 | 2.97 | 1.77 | 6.81 | 15.25 | 2.58 | 1.64 | 5.36 | 0.00 | 1.83 |
2014-01-06 | 4.78 | 4.26 | 2.79 | 2.89 | 2.23 | 10.18 | 6.76 | 3.60 | 2.87 | 5.64 | ... | 3.93 | 2.84 | 1.71 | 6.72 | 14.76 | 2.52 | 1.58 | 5.03 | 0.00 | 1.74 |
2014-01-07 | 4.69 | 4.18 | 2.86 | 2.98 | 2.22 | 10.29 | 6.72 | 3.55 | 2.87 | 5.57 | ... | 3.91 | 2.85 | 1.72 | 6.89 | 14.69 | 2.55 | 1.57 | 5.01 | 0.00 | 1.74 |
2014-01-08 | 4.76 | 4.19 | 2.72 | 2.95 | 2.22 | 10.28 | 6.90 | 3.48 | 2.82 | 5.80 | ... | 3.67 | 2.84 | 1.72 | 6.83 | 14.45 | 2.52 | 1.57 | 5.00 | 0.00 | 1.71 |
2014-01-09 | 4.79 | 4.21 | 2.77 | 2.95 | 2.21 | 10.13 | 7.05 | 3.56 | 2.82 | 5.66 | ... | 3.76 | 2.83 | 1.71 | 6.79 | 14.41 | 2.50 | 1.57 | 5.01 | 0.00 | 1.66 |
2014-01-10 | 4.85 | 4.19 | 2.73 | 2.98 | 2.19 | 9.82 | 7.05 | 3.58 | 2.78 | 5.55 | ... | 3.75 | 2.82 | 1.70 | 6.71 | 14.53 | 2.50 | 1.57 | 4.81 | 0.00 | 1.64 |
2014-01-13 | 4.92 | 4.19 | 2.76 | 2.98 | 2.19 | 9. |