主页 > imtoken安全下载 > python数据分析-绘制股票K线数据
python数据分析-绘制股票K线数据
“这是我参加2022第一次更新挑战的第19天,活动详情请看:2022第一次更新挑战”
天地之感,万物皆化;圣人感人,天下太平。
前言
上一篇文章介绍了如何根据K线数据绘制图表和创建价格支撑模型。今天结合talib类库强大的金融计算功能,介绍常用技术指标计算方法,最后使用matplotlib进行绘制。
talib api
绘制前需要先计算数据,k线数据已经用于移动平均计算。本文使用k线数据计算macd、kdj、rsi、boll数据,以下仅作为数据绘图说明,后续建模将根据相关指标进行选股。
K线图
k线图使用mplfinance绘制股票数据的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
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.
# 计算 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线图,可以与股票软件的图形进行对比,其形状和数据指标有很好的契合。
最终的显示效果如下图所示:
总结
本文结合了talib和matplotlib类库实现了股票走势图的数据计算和图形展示,学习了plot函数的使用和图形的布局。在后续文章中黄金k线图基础知识及k线图,我们将介绍如何使用macd和kdj指标来选择金叉和死叉的股票。相关图形展示代码已上传至github,欢迎大家继续关注。