![深入浅出Python量化交易实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/106/44510106/b_44510106.jpg)
上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文件进行练习的话,请注意库的加载情况,以免程序报错。
运行代码,如果程序没有报错,就说明导入成功。接下来进行数据的下载,输入代码如下:
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-P31_139371.jpg?sign=1739276946-X9lcCyxvO4UHCrYoWDxq2l1DKGKN3bol-0-6051eab275a10abd1aef724fca42939b)
运行代码,可以得到如表2.1所示的结果。
表2.1 使用datareader下载的股票数据
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-T31_139211.jpg?sign=1739276946-UzMkDLLTvRZfUijLZhKAs9fvE1xW9v9Z-0-31a34467708bf13c261649f161dad5fa)
【结果分析】和第1章中相同,程序给我们返回了股票数据的前5行。如果读者朋友也看到了表2.1所示的结果,说明数据下载成功。
下面我们就使用新下载的数据来创建交易信号,并根据交易信号的变化进行下单操作。和第1章不同的是,为了更能体现出股票的真实价值,我们选取股票调整后的收盘价Adj Close作为股票的真实价格。同时,为了便于计算下单的数量,我们用0替换掉数据表中第一行的空值NaN,并且用0标记股价上涨或无变化,用1标记股价下跌。输入代码如下:
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-P32_139372.jpg?sign=1739276946-1fyfmYdSbjsJGqcwUABToBvMlqmE4ahL-0-5d4130b89f47b4a6145c802c6c08e75c)
运行代码,会得到如表2.2所示的结果。
表2.2 创建交易信号并下单
![](https://epubservercos.yuewen.com/BB339E/23721615909510506/epubprivate/OEBPS/Images/Figure-T32_139213.jpg?sign=1739276946-HUYoYse0pMvb8HnMJSVbxjeTu6f6a1Ox-0-3ce7f615ab0fb8e6e741e0b9337fe084)
【结果分析】从表2.2中可以清晰地看到,在2020年1月6日这一天,股价下跌了大约6角,程序给出交易信号“1”,这时下单买入100股;而到了1月7日,股价上涨了约5角5分,程序给出交易信号“0”,此时交易信号的变化为0 –1= –1,因此下单卖出100股。经过这一买一卖的交易,小瓦可以赚到大约55元,看起来还不错。