本文说明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)
使用yfinance取得个股历史资料及进行KDJ指标计算。
>>: [C 语言笔记--Day27] 6.S081 Lab syscall: Sysinfo ( I )
在 Day 05 ML 专案生命周期介绍分为 4 个阶段与 7 大主题,第 1 个阶段为「定义范畴...
一、前言 承上一篇的部门与工程团队间协作的技巧(上)已有稍微提到一些工程师间的协作软件工具,那如...
「欸!?阿按了这个按钮怎麽没反应阿?」 这是我妈最常问我的问题,大部分情况都是她遥控器忘记装电池。 ...
终於写完三十天,原本中途二十天就想放弃了,每天嚷嚷可不可以不要继续了。 原以为自己做的东西很多,很够...
终於来到最後一篇了!不经不觉已经写了三十篇文章。我们由 Ktor client 接驳 API 一直讲...