【量化小讲堂-Python&Pandas系列07】数据告诉你:惊人的海龟交易法则

引言:
本系列“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。

【必读文章】:《10年400倍策略分享-附视频逐行讲解代码》
【所有系列文章汇总】:【量化小讲堂 – Python、Pandas系列】目录汇总


数据告诉你:惊人的海龟交易法则

—策略简介—

海龟交易法则,起源并流行于八十年代的美国,是一套简单有效的交易法则。这个法则以及使用这个法则的人的故事被写成了一本书——《海龟交易法则》。这是一本很好的量化投资入门书(也是我当年的入门书)。在附件中我免费放上了这本书的电子版本,回复可见。

本篇文章使用Python和Pandas实现海龟交易法则,看看在中国市场效果怎么样。并希望通过这个案例,让大家学到pandas的如下功能:

  1. 导入导出数据
  2. rolling_max() 和 expanding_max()的区别
  3. 空值处理函数fillna()的使用方法
  4. 资金指数的计算方法
  5. resample()的使用方法

海龟交易的具体规则是:

  1. 当今天的收盘价,大于过去20个交易日中的最高价时,以收盘价买入;
  2. 买入后,当收盘价小于过去10个交易日中的最低价时,以收盘价卖出。

对规则的一些说明:

  1. 规则基本上就是这么简单,还有一些具体的止损以及仓位控制规则,这几就不介绍了,具体可以看书。
  2. 这套交易规则主要是运用于期货市场,所以还可以有卖空,比如当今天的收盘价小于过去20个交易日中的最低价时,以收盘价开空单,以此类推。
  3. 上述规则针对日线,实际使用中更多的是使用分钟K线,比如5分钟K线的收盘价大于过去20根5分钟线的最高价时买入,以此类推。

在这篇文章中,我以上证指数作为案例,假设可以买卖上证指数,来试验海龟交易法则,看看效果具体如何。


—程序—

要在上证指数上实验海龟交易法则,首先需要上证指数的数据。在这里 可以下载到上证指数从1990年至今的数据,如下图所示,每一行是每一天的数据:

这个日线数据有以下的字段:

【index_code】指数的代码
【date】 交易日期
【open】 开盘价
【high】 最高价
【low】 最低价
【close】 收盘价
【volume】 成交量
【money】 成交额
【change】 涨跌幅


有了原始数据之后就是代码。我本以为用pandas实现这个策略还是稍微有点复杂,结果发现非常的简单,再次赞叹下pandas的方便。下面是代码的截图,里面有详细的注释,有问题可以留言。附件中附上了程序的源码,回复即可免费下载。

把数据下载下来,运行代码,就可以看到输出的结果了。下面这张图展示了从1993年1月1日开始,使用海龟交易法则交易上涨指数的资金曲线与原指数的对比,由图中可见,指数从800多点涨到了现在的400点,而海龟交易法则的资金曲线,从同样的800多点,涨到了14000点。

下面这张图展示了每年上证指数和海龟交易法则资金曲线的收益,左边是上证指数的收益,可以自行把玩

思考题:

海龟交易法则的默认参数是20,10,可以试试看其他的参数,看看会不会有更好的效果。感兴趣的,可以查看完整版本的海龟交易法则(包含atr止损),并实现它。

猜你喜欢

转载自blog.csdn.net/xingbuxing_py/article/details/78509231