mplfinance 可以画出好多常见的股票图表:线图,OHLC图,K线图,砖形图,点数图.
点数图,简称 P&F图,类似于 Renko图,它在不考虑时间流逝的情况下绘制股票的价格走势。
P&F 图表使用由堆叠的 X 或 O 组成的列,每个列代表一定数量的价格变动。X 代表价格上涨,而 O 代表价格下跌。当价格反转反转量时,会在 O 之后形成新的 X 列或在 X 之后形成新的 O 列。
mpf_chart.py
# coding: utf-8
import os, sys
import datetime
import matplotlib.pyplot as plt
import mplfinance as mpf
import pandas as pd
import tushare as ts
##绘制股票图表+移动平均线
if len(sys.argv) ==2:
code = sys.argv[1]
else:
print('usage: python mpf_chart.py stockcode ')
sys.exit(1)
if len(code) !=6:
print('stock code length: 6')
sys.exit(2)
# help(ts.get_k_data) 了解参数
df = ts.get_k_data(code)
df = df[ df['date'] >'2022-01-01']
#print(df.tail())
if len(df) <10:
print(" len(df) <10 ")
sys.exit(2)
df.index = pd.to_datetime(df.date)
#print(mpf.available_styles())
#mpf.plot(df, style='charles', mav=(10,20,60), volume=True, title=code)
# 线图
mpf.plot(df, type='line', mav=(5,10,20), title=code)
# OHLC图
#mpf.plot(df, type='ohlc', mav=(5,10,20), title=code)
# 烛台图, K线图
mpf.plot(df, type='candle',mav=(5,10,20),volume=True, title=code)
# 砖形图( Renko chart)是一种只使用价格变动构建的图表
mpf.plot(df, type='renko', mav=(5,10,20),volume=True, title=code)
# 点数图,简称 P&F图,它在不考虑时间流逝的情况下绘制资产的价格走势
mpf.plot(df, type='pnf', style='starsandstripes', title=code)
运行 python mpf_chart.py 000661