问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

雪球App推荐:小韭菜量投的KDJ指标分析法

创作时间:
作者:
@小白创作中心

雪球App推荐:小韭菜量投的KDJ指标分析法

引用
腾讯
7
来源
1.
https://weread.qq.com/web/search/books?keyword=%E8%89%BE%E7%95%A5%E7%89%B9%E6%B3%A2%E6%B5%AA%E7%90%86%E8%AE%BA
2.
http://quote.eastmoney.com/concept/sh600331.html?jump_to_web=true
3.
https://xueqiu.com/1430404797/303347804
4.
https://www.wattpad.com/list/1659173699
5.
https://xueqiu.com/S/CSI930949
6.
https://www.binance.com/zh-CN/square/post/11330550807850
7.
https://www.goodreads.com/questions/5416566-spa-6411439

在雪球App上,一位名为“小韭菜量投”的投资者分享了他使用Python实现KDJ指标计算的方法,详细介绍了KDJ指标的使用方法、计算过程及代码实现。通过这些技术手段,投资者能够更精准地进行股票市场趋势分析,从而提高投资决策的准确性。此外,小韭菜还提供了具体的案例分析,如中国联通和龙芯中科的KDJ曲线图解读,帮助读者更好地理解和运用这一技术工具。

01

KDJ指标的基础知识

KDJ指标,即随机指标,是一种常用的技术分析指标,主要用于股票、期货等金融市场的中短期趋势分析。它由乔治·莱恩(George Lane)首创,最早应用于期货市场。KDJ指标通过研究最高价、最低价和收盘价之间的关系,结合动量观念、强弱指标和移动平均线的优点,能够迅速、直观地研判行情。

02

KDJ指标的计算方法

KDJ指标由三条线组成:K线、D线和J线。它们的计算基于未成熟随机值(RSV),然后通过特定的公式计算得出。KDJ指标的计算过程如下,以KDJ(9, 3, 3)的计算为例:

  1. 计算RSV
    RSV = (当日收盘价 - 9日内最低价) / (9日内最高价 - 9日内最低价) * 100
    RSV反映了当前价格在最近价格区间的位置

  2. 计算K值
    K值 = (2 * 前一日的K值 + 当日的RSV) / 3
    K值是对RSV进行平滑后的结果,通常采用一定周期的移动平均来计算

  3. 计算D值
    D值 = (2 * 前一日的D值 + 当日的K值) / 3
    D值是K值的移动平均,它比K值更平滑,更稳定

  4. 计算J值
    J值 = 3 * 当日的K值 - 2 * 当日的D值
    J值是K值和D值之间的差值的3倍,它能够更敏感地反映K曲线和D曲线的交叉情况

03

KDJ指标的实战应用

使用方法

KDJ指标的区间主要分为三部分:20以下、20-80之间和80以上。一般认为:

  • 20以下为超卖区
  • 80以上为超买区
  • 20-80之间为买卖平衡区

在设计交易指标提示时,采用的判断标准如下:

  • 当K值或D值大于80,并且J值大于100时,为超强买
  • 当J值大于100时,为超买
  • 当K值或D值小于20,并且J值小于0时,为超强卖
  • 当J值小于0时,为超卖

交叉信号

当K线从下方上穿D线时,形成金叉,通常视为买入信号;当K线从上方下穿D线,形成死叉,通常视为卖出信号。

背离现象

当股价创新高(或新低),而KDJ指标未能同步创新高(或新低),形成背离现象。顶背离可能预示着即将到来的下跌趋势,而底背离可能预示着即将到来的上升趋势。

结合其他指标

KDJ指标可以与其他技术指标结合使用,以提高分析的准确性。例如:

  • 价格形态:KDJ指标可以与价格形态(如头肩顶、双顶、双底等)结合使用,以识别潜在的反转点。
  • 均线系统:KDJ指标可以与移动平均线结合使用,以识别趋势的强度和可能的支撑/阻力水平。
  • 成交量:将KDJ指标与成交量分析结合,可以提高信号的可靠性。
  • 基本面:将KDJ指标与公司的基本面分析结合,以在技术分析与基本面分析之间找到平衡。
04

Python实现KDJ指标计算

在代码实现时,有些细节需要考虑:

  • 指标计算用到了收盘价、最高价、最低价三个价格数据,在图形上我们是前复权价格,在量化计算时我们需要使用后复权价格,以正确的计算最终的策略收益。
  • 另外,计算RSV时,采用的是近9个交易日的最高最低价,而K值、D值的计算又依赖之前交易日计算结果,所以我们需要确定标准和值的初始化。

以下是具体的Python代码实现:

import akshare as ak
import pandas as pd
import matplotlib.pyplot as plt
from pprint import pprint

# 龙芯中科是在2024年6月24日上市,我们从上市开始加载全量的交易数据
# 为了方便与我们的截图作比较,我们用加载的是前复权价格
df_kline = ak.stock_zh_a_hist(symbol='688047', period='daily', start_date='20220624', adjust='qfq')
df_kline['h'] = df_kline['最高'].astype('float64')
df_kline['l'] = df_kline['最低'].astype('float64')
df_kline['c'] = df_kline['收盘'].astype('float64')

# 使用 pandas dataframe 的rolling方法获得过去9个交易日最高价和最低价(最低可以取一个交易日)
df_kline['min9_l'] = df_kline['l'].rolling(window=9, min_periods=1).min()
df_kline['max9_h'] = df_kline['h'].rolling(window=9, min_periods=1).max()
df_kline['rsv'] = (df_kline['c'] - df_kline['min9_l']) / (df_kline['max9_h'] - df_kline['min9_l']) * 100.0

# 如果将方法套用到全A全历史上的公司,会有上市当日没交易的情况
if pd.isna(df_kline.at[0, 'rsv']):
    df_kline.at[0, 'rsv'] = 0.0

# k/d/j 初始值直接使用 rsv 的值
df_kline['kdj_k'] = df_kline['rsv'][0]
df_kline['kdj_d'] = df_kline['rsv'][0]
df_kline['kdj_j'] = df_kline['rsv'][0]

# 从第2个交易日开始计算后续的kdj
for i in range(1, len(df_kline)):
    df_kline.at[i, 'kdj_k'] = 2.0 / 3.0 * df_kline.at[i - 1, 'kdj_k'] + 1.0 / 3.0 * df_kline.at[i, 'rsv']
    df_kline.at[i, 'kdj_d'] = 2.0 / 3.0 * df_kline.at[i - 1, 'kdj_d'] + 1.0 / 3.0 * df_kline.at[i, 'kdj_k']
    df_kline.at[i, 'kdj_j'] = 3 * df_kline.at[i, 'kdj_k'] - 2 * df_kline.at[i, 'kdj_d']

# 绘制KDJ指标曲线
plt.figure(figsize=(14, 7))
plt.plot(df_kline.index, df_kline['kdj_k'], label='K line')
plt.plot(df_kline.index, df_kline['kdj_d'], label='D line')
plt.plot(df_kline.index, df_kline['kdj_j'], label='J line')
plt.legend()
plt.show()

通过上述代码,我们可以计算出KDJ指标的值,并绘制出相应的曲线图。这为投资者提供了一个直观的工具,帮助其在实际交易中做出更明智的决策。

05

总结

KDJ指标作为一种重要的技术分析工具,其在股市投资中的应用价值不容忽视。通过掌握KDJ指标的计算方法和实战技巧,投资者能够更准确地把握市场趋势,识别买卖时机。然而,值得注意的是,KDJ指标并非万能的预测工具,其信号需要结合其他技术指标和基本面分析进行综合判断,以提高决策的准确性。在实际操作中,投资者应始终保持谨慎,理性对待市场波动,合理控制风险。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号