Python绘制股票K线图(烛状图)并增加成交量和移动平均线:
准备工作:
1.这里需要使用到pandas和mplfinance工具库(自行安装好)。
2.下载好股票数据,需要包括:时间、开盘价、最高价、最低价、收盘价,五列数据,另外,如果还需要在K线图中显示总手(成交量),则需要下载总手(成交量)数据。
3.保存为csv格式,同时检查下载的数据,是否符合要求(格式,数据,缺失值,异常值都提前处理好)。
准备工作完成后就可以开始绘制K线图了,下面的程序绘制的K线图附带成交量(总手),如果不需要,则将程序中的以下三条命令删除即可:
01.构建数据集中的 ‘volume’: data[‘总手’]
02.设置K线样式中的 volume={‘up’: ‘red’, ‘down’: ‘green’}
03.绘图中的 volume=True,
ylabel_lower=’成交量(股)’
import pandas as pd
import mplfinance as mpf
data = pd.read_csv('XXX.csv')
data_Kline0 = pd.DataFrame(
{
'date': data['时间'],
'open': data['开盘'],
'high': data['最高'],
'low': data['最低'],
'close': data['收盘'],
'volume': data['总手']
}
)
data_Kline = data_Kline0.set_index('date')
my_color = mpf.make_marketcolors(
up='red',
down='green',
edge='inherit',
wick='i',
volume={'up': 'red', 'down': 'green'},
ohlc='i'
)
my_style = mpf.make_mpf_style(
marketcolors=my_color,
gridaxis='both',
gridstyle='-.',
rc={'font.family': 'STSong'}
)
mpf.plot(
data_Kline,
type='candle',
title='股价走势K线图',
ylabel='股价(元)',
style=my_style,
show_nontrading=False,
volume=True,
ylabel_lower='成交量(股)',
datetime_format='%Y年%m月%d日',
xrotation=45,
linecolor='#00ff00',
tight_layout=False
)
笔者绘制的恒瑞医药公司上市以来的K线图(附带成交量)如下:
**
添加移动平均线
**
在03.绘图步骤中
代码mpf.plot()中添加命令:mav(5,10,30) # 添加5,10,30日移动平均线
即可
也可修改为自己想要的任意日移动平均线
以下是笔者绘制的K线图:
Original: https://blog.csdn.net/qq_43215869/article/details/123136988
Author: Imp_北溟
Title: 【Python】绘制股票K线图(烛状图)并增加成交量和移动平均线(详细简单)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/675221/
转载文章受原作者版权保护。转载请注明原作者出处!