利用tushare实现海龟交易法则

本文介绍了如何利用tushare库来实现著名的海龟交易法则,详细阐述了从数据准备、交易逻辑实现、交易结果分析到提供完整代码的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

海龟交易法则是一种趋势跟踪的交易策略,在市场上非常受欢迎。它的本质是在长期趋势中,跟随市场的风向进行交易,加仓时机是关键。使用tushare可以非常方便的实现海龟交易法则。本文将介绍如何使用tushare实现海龟交易法则。

一、数据准备

首先我们需要准备数据。使用tushare,我们可以非常方便的获取交易日历,股票数据等。我们需要准备的数据有股票历史数据,真实波动幅度ATR(Average True Range)以及资金规模N(通常取20)。

获取历史数据:

import tushare as ts

# 获取股票历史数据
data = ts.get_k_data('600036', start='201-01-01', end='2022-01-01')

# 查看数据样例
print(data.head())

获取ATR和N(以20日为例)的值:

import talib

# 计算ATR
atr = talib.ATR(data['high'], data['low'], data['close'], timeperiod=14)

# 计算N值
n = 20
data['N'] = atr * n

# 查看数据样例
print(data.head())

二、交易逻辑实现

有了数据之后,我们可以开始实现交易逻辑了。海龟交易法则的交易逻辑非常简单:

  1. 根据20日N值计算出每个交易日的买入价格(以当日收盘价加上n倍N值为准)和卖出价格(以当日收盘价减去n倍N值为准)。
  2. 如果股票价格突破买入价格,则进行买入操作,并把买入价格记录在买入清单里;如果股票价格跌破卖出价格,则进行卖出操作,并把卖出价格记录在卖出清单里。
  3. 如果当前已有持仓,则每个交易日都计算一次股票价格是否跌破止损价格(以最后一个买入价格减去2倍N值为准),如果跌破了,则进行卖出操作。

根据上述交易逻辑,我们可以实现以下代码:

# 初始化
buy_list = []
sell_list = []
position = False
last_buy_price = 

# 遍历数据进行交易
for i in range(len(data)):
    high = data.loc[i, 'high']
    close = data.loc[i, 'close']
    N = data.loc[i, 'N']
    buy_price = close + N
    sell_price = close - N
    
    # 如果没有持仓
    if not position:
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值