利用Python分析股票(六):使用matplotlib绘合成图(KDJ)
接 利用Python分析股票(四):使用matplotlib绘合成图(K线,均线,成交量)
#19
首先要了解KDJ指标的计算方式
KDJ中的KD是随机指标,随机指标(Stochastic Oscillator,KD),原名 %K and %D(%K&%D)又称为KD指标,是技术分析中的一种动量分析方法,采用超买和超卖的概念,由乔治·莱恩(George C. Lane)在1950年代推广使用。指标借由比较收盘价格和价格的波动范围,预测价格趋势何时逆转。“随机”一词是指价格在一段时间内相对于其波动范围的位置。
当股价趋势上涨时,当日收盘价会倾向接近当日价格波动的最高价;
当股价趋势下跌时,当日收盘价会倾向接近当日价格波动的最低价。公式:参考Wiki 随机指标
J指標的計算公式為:J = 3×K – 2×D。從使用角度來看,J的實質是反映K值和D值的乖離程度,它的範圍上可超過100,下可低於0。
最早的KDJ指標只有K線和D線兩條線,那個時候也被稱為KD指標,隨着分析技術的發展,KD指標逐漸演變成KDJ指標,引入J指標後,能提高KDJ指標預判行情的能力。
计算RSV,这里学习到DataFrame如何填充Nan字段
1 | df['MinLow'] = df['Low'].rolling(9, min_periods=9).min() |
计算D和K值,这里通过历遍循环来计算K和D,这个方法之前MACD图中没有使用。
1 |
|
绘图… 这个参考前面的文章。
1 | graph_KDJ.plot(df.index, df['K'], 'blue', label='K') |
最后,我们修改X轴的显示
- 将坐标轴修改为时间
- 适当倾斜
- 小号字体
1 | graph_KAV.set_xticklabels([df["Date"][index] for index in graph_KAV.get_xticks()]) # 标签设置为日期 |