首页 > 其他分享 >【量化交易】顶底分型策略

【量化交易】顶底分型策略

时间:2024-05-26 19:11:27浏览次数:14  
标签:confirmed 策略 tops 顶底 bottoms 量化 分型

在众多的量化策略中,顶底分型策略因其独特的市场趋势捕捉能力和简洁的实现方式而受到许多投资者的青睐。本文将详细介绍顶底分型策略的原理,并展示如何使用Python在聚宽平台上实现这一策略。 感兴趣的朋友,可以在下方公号内回复:001,即可获取源码,共同交流!

顶底分型策略概述

顶底分型是一种基于价格行为的技术分析方法,由市场分析师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在聚宽平台上实现这一策略,我们可以自动化交易过程,提高交易效率。 感兴趣的朋友,可以在下方公号内回复:001,即可获取源码,共同交流! 市场有风险,交易需谨慎。

标签:confirmed,策略,tops,顶底,bottoms,量化,分型
From: https://www.cnblogs.com/bigleft/p/18214152

相关文章

  • 量化交易:海龟交易法则的Python实现
    哈喽,大家好,我是木头左!海龟交易法则是由著名的商品交易大师理查德·丹尼斯(RichardDennis)和威廉·埃克哈特(WilliamEckhardt)在20世纪80年代开发的一套交易策略。海龟交易法则以其简单性和趋势跟踪的核心理念而闻名,它证明了通过一套明确的交易规则,即使是没有交易经验的人也可以在......
  • 打破壁垒,实现多引擎3D内容轻量化交付|点量云流
    随着应用场景的不断拓展,传统的视频流技术已难以满足日益复杂的需求。当前市场上的视频流解决方案支持的引擎基本是UE、Unitiy输出的exe3D应用,在处理WebGL等3D内容时,也存在诸多局限性,例如性能限制、跨平台兼容性问题、无法直接在浏览器中运行、用户体验感不佳等。为了应对这些挑战......
  • 打破壁垒,实现多引擎3D内容轻量化交付|点量云流
    随着应用场景的不断拓展,传统的视频流技术已难以满足日益复杂的需求。当前市场上的视频流解决方案支持的引擎基本是UE、Unitiy输出的exe3D应用,在处理WebGL等3D内容时,也存在诸多局限性,例如性能限制、跨平台兼容性问题、无法直接在浏览器中运行、用户体验感不佳等。为了应对这些......
  • LLM 大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、A
    LLM大模型学习必知必会系列(六):量化技术解析、QLoRA技术、量化库介绍使用(AutoGPTQ、AutoAWQ)模型的推理过程是一个复杂函数的计算过程,这个计算一般以矩阵乘法为主,也就是涉及到了并行计算。一般来说,单核CPU可以进行的计算种类更多,速度更快,但一般都是单条计算;而显卡能进行的......
  • 量化交易:多因子选股结合布林带择时
    哈喽,大家好,我是木头左!多因子选股策略是一种基于多个财务指标来筛选股票的方法。这种策略认为,通过综合考虑多个因素,可以更全面地评估一家公司的价值和盈利潜力。感兴趣的朋友,可以在下方公号内回复:001,即可获取源码,共同交流!策略的基本原理在本策略中,我们选择了市值、利润、现金......
  • 龙哥量化:期货日内波段策略,利用量化程序自动浮盈加仓,自动止盈止损,案例1
    产品版本:A0051218产品功能:本系统适用于国内期货合约的程序化交易,客户在博易大师、快期等交易软件手工下第一单,本系统自动加仓三单,自动平仓四单,每单的手数必须一致。使用程序化替代手工控制交易过程。通过对持仓信息、挂单信息,成交回报,委托回报等信息的监控,实现了对交易过程的精......
  • 龙哥量化:注册simnow上期所的期货仿真模拟交易账户教程步骤
     永远顺着趋势交易在技术分析这种市场研究方法中,趋势的概念绝对是核心内容。分析师所使用的全部工具, 诸如支撑和阻挡水平、价格形态、移动平均线、趋势线等等,其唯一的目的就是辅助我们估量市场趋势, 从而顺应着趋势的方向做交易。在市场上,“永远顺着趋势交易”、“决......
  • 倾斜摄影三维模型OSGB格式轻量化技术浅析
    倾斜摄影三维模型OSGB格式轻量化技术浅析 倾斜摄影三维模型以其高精度和真实感受在城市规划、建筑设计和虚拟漫游等领域发挥着重要作用。然而,由于其庞大的数据量和复杂的几何结构,给数据存储、传输和可视化带来了挑战。为了解决这个问题,倾斜摄影三维模型的OSGB格式轻量化技......
  • GGUF构建ollama模型, 模型怎么量化成GGUF格式
     GGUF构建ollama模型https://zhuanlan.zhihu.com/p/689555159https://www.cnblogs.com/ghj1976/p/18063781/ollama-yun-xing-gguf-mo-xing 模型怎么量化成GGUF格式https://zhuanlan.zhihu.com/p/689555159 Tool:文字生成图片、代码差异比较器、HTML查错器、Llama3在线Link......
  • 如何实现城市三维模型CIM 轻量化
    如何实现城市三维模型CIM轻量化 城市三维模型CIM(CityInformationModeling)在城市规划、管理和可视化方面发挥着重要的作用。然而,大规模的城市模型往往具有复杂的几何结构和庞大的数据量,给数据存储、计算和可视化带来了挑战。为了解决这个问题,实现城市三维模型CIM的轻量化成......