利用Pandas进行KDJ指标分析

KDJ 指标的原理

随机指标KDJ 一般是根据统计学的原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及 这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值RSV,然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图。

随机指标KDJ 是以最高价、最低价及收盘价为基本数据进行计算,得出的K值、D值和J值分别在指标的坐标上形成的一个点,连接无数个这样的点位,就形成一个完整的、能反映价格波动趋势的KDJ指标。它主要是利用价格波动的真实波幅来反映价格走势的强弱和超买超卖现象,在价格尚未上升或下降之前发出买卖信号的一种技术工具。它在设计过程中主要是研究最高价、最低价和收盘价之间的关系,同时也融合了动量观念、强弱指标和移动平均线的一些优点,因此,能够比较迅速、快捷、直观地研判行情。

随机指标KDJ 最早是以KD指标的形式出现,而KD指标是在威廉指标的基础上发展起来的。不过威廉指标只判断股票的超买超卖的现象,在KDJ指标中则融合了移动平均线速度上的观念,形成比较准确的买卖信号依据。在实践中,K线与D线配合J线组成KDJ指标来使用。由于KDJ线本质上是一个随机波动的观念,故其对于掌握中短期行情走势比较准确。

KDJ指标的计算方法

指标KDJ的计算比较复杂,首先要计算周期(n日、n周等)的RSV值,即未成熟随机指标值,然后再计算K值、D值、J值等。以日KDJ数值的计算为例,其计算公式为 :

$$ nDayRSV = (C_n - L_n) \div (H_n - L_n) \times 100 $$

式中,$C_n$为第n日收盘价;$L_n$为n日内的最低价;$H_n$为n日内的最高价。RSV值始终在1—100间波动。

其次,计算K值与D值:

当日K值=2/3×前一日K值+1/3×当日RSV

当日D值=2/3×前一日D值+1/3×当日K值

若无前一日K 值与D值,则可分别用50来代替。

以9日为周期的KD线为例。首先须计算出最近9日的RSV值,即未成熟随机值,计算公式为

9日RSV=(C-L9)÷(H9-L9)×100
式中,C为第9日的收盘价;L9为9日内的最低价;H9为9日内的最高价。

K值=2/3×前一日K值+1/3×当日RSV

D值=2/3×前一日D值+1/3×当日RSV

若无前一日K值与D值,则可以分别用50代替。

需要说明的是,式中的平滑因子1/3和2/3是可以人为选定的,不过目前已经约定俗成,固定为1/3和2/3。在大多数股市分析软件中,平滑因子已经被设定为1/3和2/3,不需要作改动。另外,一般在介绍KD时,往往还附带一个J指标。

J指标的计算公式为:

$$ J=3 \times D - 2 \times K $$

实际上,J的实质是反映K值和D值的乖离程度,从而领先KD值找出头部或底部。J值范围可超过100。

J 指标是个辅助指标,最早的KDJ指标只有两条线,即K线和D线,指标也被称为KD指标,随着股市分析技术的发展,KD指标逐渐演变成KDJ指标,从而提高了KDJ指标分析行情的能力。另外,在一些股市重要的分析软件上,KDJ指标的K、D、J参数已经被简化成仅仅一个,即周期数(如日、周、月等),而且,随着股市软件分析技术的发展,投资者只需掌握KDJ形成的基本原理和计算方法,无须去计算K、D、J的值,更为重要的是利用KDJ指标去分析、研判股票行情。

和其他指标的计算一样,由于选用的计算周期的不同,KDJ指标也包括日KDJ指标、周KDJ指标、月KDJ指标年KDJ指标以及分钟KDJ指标等各种类型。经常被用于股市研判的是日KDJ指标和周KDJ指标。虽然它们的计算时的取值有所不同,但基本的计算方法一样。

KDJ 指标的一般研判标准

随机指标KDJ 主要是通过K、D和J这三条曲线的所构成的图形关系来分析股市上的超买超卖,走势背离及K线、D线和J线相互交叉突破等现象。

从而预测股价中、短期及长期趋势。KDJ是市场上绝大多数投资者熟知的分析工具,但具体运用时,投资者可能会发现KDJ的分析结果和实际走势存在着特别大的差别,有时还会得出相反的结论,这其中原因主要是绝大多数投资者只知道KDJ的一般分析原理和方法,而对KDJ分析指标的一些内涵和特定的分析技巧知之甚少。本节在介绍股市分析中市场上流行的KDJ的一般研判技巧和分析方法上,重点挖掘KDJ指标的内在规律,详细分析KDJ的一些特殊研判功能。

KDJ指标是三条曲线,在应用时KDJ指标的一般研判标准主要是从KDJ三个参数的取值、KDJ曲线的形态、KDJ曲线的交叉、KDJ曲线的背离和K线、D线、J线的运行状态以及KDJ曲线同股价曲线的配合等六个方面来考虑。

量化KDJ

KDJ指标是最常用的技术指标之一,它的作用是判断股票未来短期的走势。很多书店里卖的炒股类书籍都会推荐这个指标,并认为KDJ指标低位金叉是一个非常好的买点,还会给出几个很漂亮的K线图形来印证他们的观点。少数的几个例子不能让人信服,KDJ指标低位金叉选股效果到底好不好,一定要用大样本说话。

本篇文章将找出历史上所有股票的全部低位金叉情况,并且统计这些股票在金叉之后若干个交易日内的涨幅,看是否有显著的正收益。通过这个案例将着重向大家介绍pandas的如下功能:

  • 使用pandas导入股票数据
  • 如何计算KDJ指标
  • 如何计算KDJ指标金叉
  • shift()函数的用法
  • append()函数的用法