深入浅出Python量化交易实战
上QQ阅读APP看书,第一时间看更新

2.1.1 下载数据并创建交易信号

我们继续使用第1章中的股票数据,并根据小瓦的交易策略,创建交易信号。先导入一些必要的库,输入代码如下:

#导入必要的库
from pandas_datareader import data as dt
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

注意:在本书的写作过程中,每一章对应单独的notebook文件。因此在每章,我们都会导入所需要的库,且已经导入的库在本章内不会重复导入。如果读者朋友不是按章建立notebook文件进行练习的话,请注意库的加载情况,以免程序报错。

运行代码,如果程序没有报错,就说明导入成功。接下来进行数据的下载,输入代码如下:

运行代码,可以得到如表2.1所示的结果。

表2.1 使用datareader下载的股票数据

【结果分析】和第1章中相同,程序给我们返回了股票数据的前5行。如果读者朋友也看到了表2.1所示的结果,说明数据下载成功。

下面我们就使用新下载的数据来创建交易信号,并根据交易信号的变化进行下单操作。和第1章不同的是,为了更能体现出股票的真实价值,我们选取股票调整后的收盘价Adj Close作为股票的真实价格。同时,为了便于计算下单的数量,我们用0替换掉数据表中第一行的空值NaN,并且用0标记股价上涨或无变化,用1标记股价下跌。输入代码如下:

运行代码,会得到如表2.2所示的结果。

表2.2 创建交易信号并下单

【结果分析】从表2.2中可以清晰地看到,在2020年1月6日这一天,股价下跌了大约6角,程序给出交易信号“1”,这时下单买入100股;而到了1月7日,股价上涨了约5角5分,程序给出交易信号“0”,此时交易信号的变化为0 –1= –1,因此下单卖出100股。经过这一买一卖的交易,小瓦可以赚到大约55元,看起来还不错。