【《深入浅出python量化交易交易实战》Python复现(第二章:(三)海龟策略+小结)】

第二章 回测与经典策略

2.3 海龟策略

       海龟策略的完整描述还是推荐柯蒂斯·费思的《海龟交易法则》,这是一个趋势交易法则,本章只是介绍了其入市和退出指标,其还有包括ATR,仓位控制,止损的一整套完整的交易逻辑值得去学习
       海龟策略的其核心要点是:在股价超过过去N个交易日的股价最高点时买入,在股价低于过去N个交易日的股价最低点时卖出。上述的若干个最高点和最低点会组成一个通道,称为“唐奇安通道”

2.3.1 使用海龟策略生成交易信号

       海龟策略的一个重点是,使用过去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=</
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python量化交易是利用Python编程语言和相关的金融库来进行交易策略的开发和执行。在这里,我将介绍一些深入浅出Python量化交易实战的步骤和技巧。 1. 数据获取:首先,你需要获取市场数据,包括股票、期货或其他金融产品的历史价格数据。你可以使用第三方库如pandas、tushare、quandl等来获取数据。 2. 数据处理:对获取到的数据进行处理和清洗,包括数据的缺失值处理、数据格式转换等。pandas库是一个非常强大且方便的用于数据处理的工具。 3. 策略开发:根据你的交易理念和策略,使用Python编写量化交易策略。这可能涉及到技术指标的计算、信号的生成等。你可以使用一些常用的库如numpy、talib来帮助你进行技术指标的计算。 4. 回测:使用历史数据对你编写的策略进行回测,评估其表。通过回测可以了解策略在不同市场环境下的盈亏情况,并进行优化和改进。 5. 执行交易:当你满意于自己的策略时,你可以选择使用API连接到实际的交易平台,通过Python自动执行你的交易策略。 6. 风险管理:在量化交易中,风险管理是非常重要的一环。你需要考虑风险控制、资金管理等方面,确保你的策略能够长期有效。 以上是一个简要的Python量化交易实战的流程,希望对你有所帮助。如果你有更具体的问题或需要了解更多细节,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值