iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
永豐金融APIs

理財達人Mx. Ada系列 第 23

[第23天]理財達人Mx. Ada-KDJ指標

  • 分享至 

  • twitterImage
  •  

前言

本文說明KDJ技術指標。

KDJ指標

KDJ指標運用一段期間內的收盤價、最高價和最低價三個元素,來衡量股價與正常範圍的變異程度KD,藉此可以判斷是否要進場、退場。
介於20~80 K>D多頭可以進場;J<0 底部;J>100頭部。

程式實作

import pandas as pd
import yfinance as yf
import datetime as dt

def kdj(df):
  low_list = df["Close"].rolling(9, min_periods=1).min()
  high_list = df["High"].rolling(9, min_periods=1).max()
  #RSV=(第n天的收盤價-最近n天內的最低價)÷(最近n天內的最高價-最近n天內的最低價)*100
  rsv = (df["Close"] - low_list) / (high_list - low_list) * 100
  #2/3*前一天的K值+1/3*當日RSV
  df["K"] = rsv.ewm(com=2, adjust=False).mean()
  #2/3*前一天的D值+1/3*當日的K值
  df["D"] = df["K"].ewm(com=2, adjust=False).mean()
  #3D-2K
  df["J"] = 3 * df["K"] - 2 * df["D"]
  return df

# 開始時間
start=dt.datetime.today()-dt.timedelta(9)
# 結束時間
end=dt.datetime.today()
# 台股
df_2603=pd.DataFrame(yf.download("2603.TW", start=start, end=end))
print("df_2603:\n",df_2603)
kdj_df = kdj(df_2603)
print("kdj_df:\n" ,kdj_df)

程式執行結果

https://ithelp.ithome.com.tw/upload/images/20211008/20107143JO1tZ2at3k.png

小結

使用yfinance取得個股歷史資料及進行KDJ指標計算。


上一篇
[第22天]理財達人Mx. Ada-MACD 指標
下一篇
[第24天]理財達人Mx. Ada-RSI指標
系列文
理財達人Mx. Ada30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言