【Python】绘制股票K线图(烛状图)并增加成交量和移动平均线(详细简单)

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=‘成交量(股)’

# 绘制股价走势日k线图
import pandas as pd
import mplfinance as mpf
data = pd.read_csv('XXX.csv')  # 传入数据
# 01. 构建数据集
data_Kline0 = pd.DataFrame(
    {
        'date': data['时间'],
        'open': data['开盘'],
        'high': data['最高'],
        'low': data['最低'],
        'close': data['收盘'],
        'volume': data['总手']
    }
)
data_Kline = data_Kline0.set_index('date')  # 以日期为索引

# 02. 设置K线样式
my_color = mpf.make_marketcolors(
    up='red',
    down='green',
    edge='inherit',
    wick='i',  # wick:上下影线颜色,i表示继承up和down的颜色
    volume={'up': 'red', 'down': 'green'},  # 成交量直方图颜色,也可用i继承up和down的颜色
    ohlc='i'
)
my_style = mpf.make_mpf_style(
    marketcolors=my_color,  # 设置图表显示配色 mpf.available_styles() 可以查看所有样式
    gridaxis='both',  # 设置网格位置
    gridstyle='-.',  # 设置网格线线型
    rc={'font.family': 'STSong'}  # 设置中文兼容
)

# 03. 绘图
mpf.plot(
    data_Kline,
    type='candle',  # 设置显示样式 选项['ohlc','candle','line','renko','pnf']
    title='股价走势K线图',  # 设置图标题
    ylabel='股价(元)',  # 设置y轴标题
    style=my_style,  # 应用上面命令设置的样式
    show_nontrading=False,  # 是否显示非交易日,默认为False:显示
    volume=True,  # 下方是否显示成交量,默认为False
    ylabel_lower='成交量(股)',  # 成交量图的Y轴标题
    datetime_format='%Y年%m月%d日',  # x轴的时间显示格式
    xrotation=45,  # x轴的时间坐标旋转角度
    linecolor='#00ff00',  # 若type='line'设置线条颜色
    tight_layout=False  # 是否紧密显示
)

笔者绘制的恒瑞医药公司上市以来的K线图(附带成交量)如下:
【Python】绘制股票K线图(烛状图)并增加成交量和移动平均线(详细简单)_第1张图片
**

添加移动平均线

**
在03.绘图步骤中
代码mpf.plot()中添加命令:mav(5,10,30) # 添加5,10,30日移动平均线
即可
也可修改为自己想要的任意日移动平均线

以下是笔者绘制的K线图:
【Python】绘制股票K线图(烛状图)并增加成交量和移动平均线(详细简单)_第2张图片

你可能感兴趣的:(【Python】数据可视化,python,开发语言,数据可视化)