0 引言
KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare、Baostock等平台能够获取到个股及指数的Open、High、Low、Close、Volume等数据,KDJ、MACD等技术指标虽然同花顺等财经网站都算好了,但是这写指标确没有接口给“量化宽客”们使用。
1 计算公式
KDJ计算主要有4步:
(1)计算RSV:RSV=(Close(当日值)-Low(9日最低值)) / (High(9日最高值)-Low(9日最低值))
(2)计算K:K=ema(RSV, com=2),ema为指数移动平均,参数com取2;
(3)计算D:D=ema(K, com=2),ema为指数移动平均,参数com取2;
(4)计算J:J=3.0*K-2.0*D
2 Python计算实现
Python实现KDJ指标的计算,主要基于Pandas库实现计算:
2.1 获取数据:
通过Baostock、Tushare、YahooFinance获取数据,这里以Baostock为例:
import baostock as bs
import pandas as pd
code = 'sh.600036'
start_date = '2021-01-01'
end_date = '2021-10-01'
#Step1: 获取数据
lg = bs.login()
rs = bs.query_history_k_data_plus(code,
"date,code,open,high,low,close,volume",
start_date=start_da