继上篇教程,现在我们已经拥有了300日的行情数据,那么如何用这个数据来制作一个K线图。题主使用matplotlib作为画图工具。
matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。
安装matplotlib
pip install matplotlib
导入行情数据
#读取AAPL.csv
df = pd.read_csv('AAPL-demo.csv')
display(df.head())
制作日K线图
我们在图像中增加10日均线和15日均线
#加上10日和30日均线,一起画出来
sma_10 = talib.SMA(np.array(df['Close']),10)
sma_30 = talib.SMA(np.array(df['Close']),15)
输出图像
完整代码放出来
#drawing.py
import talib
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import mpl_finance as mpf
#读取AAPL.csv
df = pd.read_csv('AAPL-demo.csv')
display(df.head())
#加上10日和30日均线,一起画出来
sma_10 = talib.SMA(np.array(df['Close']),10)
sma_30 = talib.SMA(np.array(df['Close']),15)
fig = plt.figure(figsize=(24, 8))
ax = fig.add_subplot(1, 1, 1)
ax.set_xticks(range(0, len(df['Date']), 10))
ax.set_xticklabels(df['Date'][::10])
ax.plot(sma_10, label='10 day line')
ax.plot(sma_30, label='30 day line')
ax.legend(loc='upper left')
mpf.candlestick2_ochl(ax, df['Open'], df['Close'], df['High'], df['Low'],
width=0.5, colorup='r', colordown='green',
alpha=0.6)
plt.grid()