【量化交易】顶底分型策略
创作时间:
作者:
@小白创作中心
【量化交易】顶底分型策略
引用
1
来源
1.
https://www.cnblogs.com/bigleft/p/18214152
在众多的量化策略中,顶底分型策略因其独特的市场趋势捕捉能力和简洁的实现方式而受到许多投资者的青睐。本文将详细介绍顶底分型策略的原理,并展示如何使用Python在聚宽平台上实现这一策略。
顶底分型策略概述
顶底分型是一种基于价格行为的技术分析方法,由市场分析师Bill Williams提出。该策略认为价格行为可以形成特定的模式,这些模式能够预示市场趋势的转变。顶分型和底分型是两种基本的价格模式:
- 顶分型:在上升趋势的末端出现,预示着可能的下跌趋势。顶分型由三根连续的K线组成,其中第二根K线的高点高于第一根和第三根K线的高点。
- 底分型:在下降趋势的末端出现,预示着可能的上升趋势。底分型同样由三根连续的K线组成,其中第二根K线的低点低于第一根和第三根K线的低点。
顶底分型策略的实现步骤
在聚宽平台上实现顶底分型策略,我们需要按照以下步骤进行:
- 初始化策略参数:设置策略的基本参数,如K线周期、顶底分型确认的K线数量等。
- 计算顶底分型:根据历史K线数据计算可能的顶分型和底分型。
- 确认顶底分型:根据一定的规则确认顶分型和底分型的成立。
- 生成交易信号:根据确认的顶底分型生成买入和卖出信号。
- 执行交易:根据交易信号在市场中执行买卖操作。
策略参数初始化
在策略开始前,我们需要设置一些基本的参数,这些参数将影响顶底分型的计算和确认。
# 初始化参数
g.n = 5 # 用于计算分型的K线数量
计算顶底分型
接下来,我们需要编写函数来计算顶分型和底分分型。这个函数将遍历历史K线数据,并找出可能的顶分型和底分型。
# 计算顶底分型
def calculate_fractals(data):
highs = data['high']
lows = data['low']
tops = []
bottoms = []
for i in range(len(highs) - g.n):
if highs[i] < highs[i + 1] and highs[i + 1] > highs[i + 2]:
tops.append((i + 1, highs[i + 1]))
if lows[i] > lows[i + 1] and lows[i + 1] < lows[i + 2]:
bottoms.append((i + 1, lows[i + 1]))
return tops, bottoms
确认顶底分型
计算出可能的顶底分型后,我们需要确认这些分型是否成立。顶分型的确认通常需要后续的K线低点低于顶分型的高点,而底分型的确认则需要后续的K线高点高于底分型的低点。
# 确认顶底分型
def confirm_fractals(data, tops, bottoms):
confirmed_tops = []
confirmed_bottoms = []
for i, top in tops:
if i + 1 < len(data) and data[i + 1]['low'] < top:
confirmed_tops.append(top)
for i, bottom in bottoms:
if i + 1 < len(data) and data[i + 1]['high'] > bottom:
confirmed_bottoms.append(bottom)
return confirmed_tops, confirmed_bottoms
生成交易信号
有了确认的顶底分型后,我们可以生成交易信号。当确认顶分型时,我们可能会考虑卖出或做空;当确认底分型时,我们可能会考虑买入或做多。
# 生成交易信号
def generate_signals(security, confirmed_tops, confirmed_bottoms, portfolio, order):
for top in confirmed_tops:
order(security, -1) # 卖出
for bottom in confirmed_bottoms:
order(security, 1) # 买入
执行交易
最后,我们需要在策略的交易函数中调用上述函数,并执行交易。
# 交易函数
def trade(context):
stock_data = attribute_history(context.security, g.n + 1, '1d', ['open', 'high', 'low', 'close'], skip_paused=True)
tops, bottoms = calculate_fractals(stock_data)
confirmed_tops, confirmed_bottoms = confirm_fractals(stock_data, tops, bottoms)
generate_signals(context.security, confirmed_tops, confirmed_bottoms, context.portfolio, order_target)
策略测试与优化
在实际应用顶底分型策略之前,我们需要对策略进行充分的测试和优化。这包括但不限于:
- 历史回测:使用历史数据对策略进行回测,评估策略在过去的表现。
- 参数优化:调整策略参数,如K线周期和确认分型所需的后续K线数量,以优化策略的表现。
- 风险管理:考虑交易成本、滑点等因素,并设置止损点和仓位管理规则,以控制风险。
总结
顶底分型策略是一种基于价格行为的量化交易策略,它通过识别市场趋势的转折点来生成交易信号。通过Python在聚宽平台上实现这一策略,我们可以自动化交易过程,提高交易效率。
市场有风险,交易需谨慎。
本文原文来自cnblogs.com
热门推荐
安宫牛黄丸正确使用指南:北京同仁堂版
袁绍与曹操的决战:一场决定北方霸主命运的战争
曹操麾下的“青州兵”:究竟是一支怎样的军队?看看曹操的发家史
花园、滑梯、电影院:樟宜机场里的休闲新体验
18种名鸡风味指南:产地、口感与烹饪全解析
从蛋白质到黑色素:科学解读乌鸡的营养与药用价值
十大特征揭秘丝羽乌骨鸡:兼具观赏药用价值
2200年药用历史,年销2200万羽:泰和乌鸡产业崛起
专家推荐:6种药材10款汤方,科学提升免疫力
五类食材需焯水:去除草酸毒素保安全
疏肝利胆吃什么?五类食材搭配方案助你轻松调理
小龙虾颜色的秘密:虾黄、虾籽如何分辨?
焯豆腐用冷水还是热水?专家教你正确做法
虾青素揭秘:大虾变红的科学奥秘
黄鹤楼新晋打卡圣地全攻略:楚材小区、以纯天台、地铁红墙
冬日打卡黄鹤楼:雪景中的诗意之旅
崔颢笔下的黄鹤楼,你去过吗?
齐雪莲的冰雪之约:一位旅行达人在桂林的亚冬会宣传之旅
冬季桂林摄影攻略:兴坪与恭城的绝美风景
跟着阿兰打卡冬季桂林最美景点
枣庄出发,3天玩转西江千户苗寨:完整攻略
从九寨沟到乌镇:中国八大特色小镇全览
枣庄至西江:全国最大苗寨3日游完全攻略
北京自驾游新疆独库公路:6500公里行程,15天时间不够用
AI提前预警地震:7个月试验准确率达70%,将赴美测试
它是人体“天然止痛药”,能调节食欲、收获快乐!可惜很多人中年才明白
家居风水布局这样做:提升运势与幸福感的实用指南
都是五号电池,1.2V和1.5V有何不同
气血康口服液:调理脾胃的中药制剂
美国和中国时差几小时?详解不同区域的时间差与调整方法