同花顺Supermind量化交易 技术面分析专题(一)-- 相似k线的定量

导读:

“历史会重演”是技术分析的三大假设之一,市场行为与投资者心理有着千丝万缕的联系。比如价格形态,它们通过一些特定的价格图表形状表现出来,而这些图形表示了人们对某市场看好或看淡的心理。“历史会重演”,即:打开未来之门的钥匙隐藏在历史中。本文以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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值