赞
踩
海龟策略的完整描述还是推荐柯蒂斯·费思的《海龟交易法则》,这是一个趋势交易法则,本章只是介绍了其入市和退出指标,其还有包括ATR,仓位控制,止损的一整套完整的交易逻辑值得去学习
海龟策略的其核心要点是:在股价超过过去N个交易日的股价最高点时买入,在股价低于过去N个交易日的股价最低点时卖出。上述的若干个最高点和最低点会组成一个通道,称为“唐奇安通道”
海龟策略的一个重点是,使用过去N天的股价最高点和过去N天的股价最低点生成唐奇安通道。一般来说,N会设置为20。不过因为我们下载的股票数据时间范围跨度比较小,所以选择了使用过去5日的股价最高点和最低点来进行演示
输入代码如下:
#codeing=utf-8 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import mplfinance as mpf from utils import wz_data def gen_turtle_strategy(data): # 创建一个turtle的数据表,使用原始数据的日期序列 turtle = pd.DataFrame(index=data.index) print("----------------turtle------------------") # 为什么要用shift(1)要向后移1? # 因为要让第六天才能用前5天最高点和最低点 turtle['price'] = data['Close'] # 唐其安通道上界=过去5日内的最高价 turtle['high'] = data['Close'].shift(1).rolling(5).max() # 唐其安通道下界=过去5日内的最低价 turtle['low'] = data['Close'].shift(1).rolling(5).min() # 中轨道=0.5*(通道上界+通道下界) turtle['mid'] = (turtle['high'] + turtle['low']) / 2 # 当股价突破下沿时卖出,发出卖出信号,反之买入 turtle['buy'] = turtle['price'] > turtle['high'] turtle['sell'] = turtle['price'] < turtle['low'] return turtle if __name__ == '__main__': #单独实现了去wz网获取数据的接口 wz = wz_data() #股票代码,起始日期,结束日期,这里走的是前复权 data = wz.get_stock_data_online('601318', '2020-01-01','2020-03-20') #返回的直接是一个DataFrame对象 data.rename(columns={ '交易时间': 'Date', '开盘价': 'Open', '最高价'
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。