admin 管理员组文章数量: 1086019
2024年4月30日发(作者:网页设计教程自学网)
海龟交易法则
1. 简介
海龟交易法则(Turtle Trading System)是由著名的商品交易大师理查德·丹尼
斯(Richard Dennis)和威廉·艾克哈特(William Eckhardt)所提出的一种交易
策略。这个交易系统以其简单、可执行和高度规则化而著称,被广泛应用于期货和
股票市场。
海龟交易法则的核心思想是趋势跟踪,即在趋势开始时进场,趋势结束时退出。这
个策略的基本原理是,市场走势是有规律可循的,而且趋势会延续一段时间。通过
捕捉到趋势的起点,利用适当的止损和止盈策略,可以获得较高的盈利概率。
2. 策略规则
海龟交易法则的策略规则非常简单明了,主要包括以下几个方面:
2.1 入场规则
• 以20日突破为基础的短期入场规则:当价格突破过去20日的最高价时,买
入;当价格突破过去20日的最低价时,卖空。
• 以55日突破为基础的长期入场规则:当价格突破过去55日的最高价时,买
入;当价格突破过去55日的最低价时,卖空。
2.2 止损规则
• 短期止损:当价格跌破过去10日的最低价时,卖出;当价格涨破过去10日
的最高价时,买入。
• 长期止损:当价格跌破过去20日的最低价时,卖出;当价格涨破过去20日
的最高价时,买入。
2.3 止盈规则
• 短期止盈:当价格跌破过去10日的最低价的2倍时,卖出;当价格涨破过
去10日的最高价的2倍时,买入。
• 长期止盈:当价格跌破过去20日的最低价的2倍时,卖出;当价格涨破过
去20日的最高价的2倍时,买入。
3. Python代码实现
下面是使用Python实现海龟交易法则的示例代码:
import numpy as np
def turtle_trading_strategy(data, short_period=20, long_period=55, stop_loss_s
hort=10, stop_loss_long=20, take_profit_short=2, take_profit_long=2):
# 计算最高价和最低价的移动平均线
data['highest_short'] = data['high'].rolling(window=short_period).max()
data['lowest_short'] = data['low'].rolling(window=short_period).min()
data['highest_long'] = data['high'].rolling(window=long_period).max()
data['lowest_long'] = data['low'].rolling(window=long_period).min()
# 短期入场规则
data['short_entry'] = (data['close'] > data['highest_short'].shift
(1), 1, 0)
data['short_exit'] = (data['close'] < data['lowest_short'].shift
(1), -1, 0)
# 长期入场规则
data['long_entry'] = (data['close'] > data['highest_long'].shift
(1), 1, 0)
data['long_exit'] = (data['close'] < data['lowest_long'].shift(1),
-1, 0)
# 止损规则
data['short_stop_loss'] = data['lowest_short'].rolling(window=stop_loss_sh
ort).min()
data['long_stop_loss'] = data['lowest_long'].rolling(window=stop_loss_lon
g).min()
# 止盈规则
data['short_take_profit'] = data['highest_short'].rolling(window=stop_loss
_short).max()
data['long_take_profit'] = data['highest_long'].rolling(window=stop_loss_l
ong).max()
# 生成交易信号
data['signal'] = 0
[data['short_entry'] == 1, 'signal'] = 1
[data['short_exit'] == -1, 'signal'] = -1
[data['long_entry'] == 1, 'signal'] = 1
[data['long_exit'] == -1, 'signal'] = -1
# 计算持仓情况
data['position'] = data['signal'].cumsum()
return data
4. 示例应用
下面是一个使用海龟交易法则的示例应用:
import pandas as pd
import as plt
# 读取数据
data = _csv('')
# 调用海龟交易法则策略函数
result = turtle_trading_strategy(data)
# 绘制持仓情况图
(result['position'])
('Date')
('Position')
('Turtle Trading Strategy')
()
在上述示例中,我们首先读取了包含股票数据的CSV文件,然后调用了海龟交易法
则策略函数来生成交易信号和持仓情况。最后,我们使用matplotlib库绘制了持
仓情况图。
5. 总结
海龟交易法则是一种简单而有效的趋势跟踪交易策略,通过捕捉到趋势的起点和适
当的止损止盈策略,可以获得较高的盈利概率。通过使用Python编程语言,我们
可以轻松实现海龟交易法则并进行回测和分析。希望本文对您理解和应用海龟交易
法则有所帮助。
版权声明:本文标题:海龟交易法则python代码复现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1714485205a682246.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论