使用pandas的内置方法ewm计算KDJ指标

在量化交易中,我们一般会用到一些常用的指标,比如移动平均线(ma), MACD,KDJ,EMA,EXPMA等等。一般计算kdj等指标会用到talib金融库。但是如果用pandas的dataframe来存放数据的话,实际上只用Pandas的内置方法也是可以很容易的计算一些常用指标的。本文就介绍只用10来行代码就能计算出KDJ的方法。

KDJ指标的计算公式比较复杂,首先要选择周期(n日、n周等),再计算当RSV值,最后用RSV值来计算K值、D值、J值。

具体的计算公式大家可以自行百度。

下面给出具体代码,参数这里用的是最常用的9,3,3。

 

代码不多,就是这几行。应该不是很难看懂。参数df就是一个日k线的dataframe,需要有最基本的ohlc这个价格和量能volume。

这段代码中最核心的、最主要的就是ewm这个函数,这是指数加权滑动。

​从Pandas的文档上面可以看到

当adjust = False的时候,是这么计算的。

 

而KDJ的K的计算公式是:

 

那么当ewm的参数com=2的时候,alpha就等于1/(1+com) = 1/3, 那么1-alpha就是2/3。

所以ewm的参数要选择com=2,adjust=False。

 

posted @ 2022-02-03 21:10  锐洋智能  阅读(492)  评论(0编辑  收藏  举报