【量化交易】顶底分型策略
创作时间:
作者:
@小白创作中心
【量化交易】顶底分型策略
引用
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
热门推荐
UI设计工作流程详解(开公司设计接单,非大厂螺丝钉)
AMD显卡设置指南:从驱动安装到图形优化
如何给团队开晚会
石材路沿石及地铺石板修补更换流程
集成电路的类型及其应用
神奇宝贝:宝可梦动画的5种收服方式,小豪才是最贴近游戏玩家的
一文详解红梅与朱砂梅:从外观到寓意的全面对比
2025国自然基金改革新政曝光!普通医生中标将迎来新机会!
坐月子懒人包:产后饮食怎么吃?坐月子8大禁忌及产后补品一次看
心肺复苏全攻略
地面塌陷的自救办法,让科科来告诉你
新能源车辐射致癌?江苏疾控辟谣:辐射量在安全范围内
Excel根据条件填充内容的四种方法
上海公积金比例如何进行计算?这种计算方法有哪些特点?
葡萄糖耐量试验有什么用
氢火焰离子化检测器(FID)是现代气相色谱仪的“心脏”
油柑的功效和作用禁忌
新能源车充电站有辐射吗?「量子新能」
鱼子酱的营养价值和食用方法
NBA季后赛主客场安排规则及影响
河南首个5C级自驾车旅居车营地,如何玩转“露营+”?
梦幻西游女儿村门派有什么特点 加入女儿村需要注意什么
干股的三大法律风险:看似天上掉馅饼,实则暗藏玄机
比亚迪补胎液和备用钥匙使用指南
如何使用 Apple TV 4K 进行 FaceTime 通话
4060Ti显卡8GB与16GB显存版对比总结
多重防护策略提升微信钱包安全性
电力知识图谱与大模型的结合:从构建到行业应用的深度解析
32个五谷杂粮粉食疗配方,助你调理身体
Excel表时间怎么精确到分