主页 > imtoken安全下载 > python数据分析-绘制股票K线数据

python数据分析-绘制股票K线数据

imtoken安全下载 2023-09-26 05:07:25

“这是我参加2022第一次更新挑战的第19天,活动详情请看:2022第一次更新挑战”

天地之感,万物皆化;圣人感人,天下太平。

前言

上一篇文章介绍了如何根据K线数据绘制图表和创建价格支撑模型。今天结合talib类库强大的金融计算功能,介绍常用技术指标计算方法,最后使用matplotlib进行绘制。

talib api

黄金k线图基础知识及k线图

绘制前需要先计算数据,k线数据已经用于移动平均计算。本文使用k线数据计算macd、kdj、rsi、boll数据,以下仅作为数据绘图说明,后续建模将根据相关指标进行选股。

K线图

k线图使用mplfinance绘制股票数据的k线图:

黄金k线图基础知识及k线图

macd

macd是股票技术分析中常用的方法,在买卖股票时具有参考意义。 macd传入的数据是股票的收盘价数据,快、中、慢线的参数数据分别为9、12、26天。

# 计算 macd 数据,分别传入快中慢三个周期数据
# talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
data["macd"], data["macd_signal"], data["macd_hist"] =
talib.MACD(data['Close'], fastperiod=12, slowperiod=26,signalperiod=9)
复制代码

kdj

黄金k线图基础知识及k线图

kdj 也是股票技术分析的常用手段,但 kdj 比 macd 更敏感。 kdj传入的数据也是收盘价数据,其参数数据为9,3、3.

# KDJ 值对应的函数是 STOCH
data['slowk'], data['slowd'] = talib.STOCH(
data['High'].values,data['Low'].values,data['Close'].values,
fastk_period=9,slowk_period=3,slowk_matype=0,slowd_period=3,slowd_matype=0)
# 求出J值,J = (3*K)-(2*D)
data['slowj'] = list(map(lambda x, y: 3 * x - 2 * y, data['slowk'], data['slowd']))
复制代码

rsi 和 boll

强弱指标rsi和boll Bollinger Bands的传入参数均为收盘价,强弱指标数据的计算周期为14天,Bollinger Bands的传入周期为5、2、 2.

黄金k线图基础知识及k线图

# 计算 rsi 相对强弱指数
data["rsi"] = talib.RSI(data["Close"], timeperiod=14)
# 计算 boll 线数据
upper, middle, lower = talib.BBANDS(data["Close"], timeperiod=5, nbdevup=2, nbdevdn=2, matype=0)
复制代码

数据绘制

在数据绘制部分,分为蜡烛图部分、成交量数据、K线技术分析图,需要将数据合并为一张图进行展示,使用图片的合并展示,并使用add_axes进行合并显示:

黄金k线图基础知识及k线图

绘制指标代码如下图所示黄金k线图基础知识及k线图,可以与股票软件的图形进行对比,其形状和数据指标有很好的契合。

最终的显示效果如下图所示:

总结

本文结合了talib和matplotlib类库实现了股票走势图的数据计算和图形展示,学习了plot函数的使用和图形的布局。在后续文章中黄金k线图基础知识及k线图,我们将介绍如何使用macd和kdj指标来选择金叉和死叉的股票。相关图形展示代码已上传至github,欢迎大家继续关注。