美股量化交易回测学习笔记01-制K图篇

《美股量化交易回测学习笔记01-制K图篇》 图片来自网络

继上篇教程,现在我们已经拥有了300日的行情数据,那么如何用这个数据来制作一个K线图。题主使用matplotlib作为画图工具。

matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。

安装matplotlib
pip install matplotlib
导入行情数据
#读取AAPL.csv
df = pd.read_csv('AAPL-demo.csv')
display(df.head())

《美股量化交易回测学习笔记01-制K图篇》 AAPL-demo.csv部分数据

制作日K线图

我们在图像中增加10日均线和15日均线

#加上10日和30日均线,一起画出来
sma_10 = talib.SMA(np.array(df['Close']),10)
sma_30 = talib.SMA(np.array(df['Close']),15)
输出图像

《美股量化交易回测学习笔记01-制K图篇》 AAPL日K线图

完整代码放出来

#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()

python 安装talib模块解决办法

点赞