第2章 回测与经典策略(上)
在第1章中,小瓦提出了一个交易策略:如果某日的股价较前一 个交易日下跌,就下单买入;反之,如果股价较前一个交易日上涨, 就下单卖出。这个策略也可以称为“低买高卖”策略。我们认为这个策 略其实并不高明,甚至有点“简单粗暴”。然而,小瓦不这么认为,她 觉得既然每次都在相对低点买入,并且在相对高点卖出,没有理由不 赚钱啊!为了帮助小瓦找到真相,本章会帮助她学习交易策略的回测 (backtesting)及一些目前经典的交易策略。本章的主要内容如下。
- 什么是回测。
- 使用Python实现简单回测。
- 双移动平均策略的Python实现与回测。
- 海龟策略的Python实现与回测。
2.1 对小瓦的策略进行简单回测
这里我们先不讲理论,直接进入实践部分。要想验证小瓦的策略是 否可以赚到钱,我们就用代码来模拟她的交易过程——使用“低买高 卖”策略生成交易信号,并根据交易信号来下单,再计算小瓦的总资产 是增加了还是减少了。说干就干,读者朋友可以和我们一起来进行操 作。
我们继续使用第1章中的股票数据,并根据小瓦的交易策略,创建 交易信号。先导入一些必要的库,输入代码如下:
#导入必要的库
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
pd.set_option('expand_frame_repr', False) # True就是可以换行显示。设置成False的时候不允许换行
pd.set_option('display.max_columns', None) # 显示所有列
pd.set_option('display.max_rows', None) # 显示所有行
pd.set_option('colheader_justify', 'centre') # 显示居中
注意: