识别小波动与大波动 - 价格图表

问题描述 投票:0回答:3

我正在用Python开发一个股票分析程序

我需要的基本事情之一是识别价格反馈的波动(开盘、最高、最低、收盘数据)

价格数据本质上是分形的 - 较小的结构存在于较大的结构中。

就我而言,我正在寻找大波动中的小波动。 IE。大波动内的小波动。上面的示例图表描述了我的目标。

一些定义以避免妨碍。 每个秋千都由两条腿/部件组成 - 脉冲腿和反作用腿

冲动腿将沿着市场流动的方向

反作用腿与脉冲方向相反

冲动腿和反应腿都可以向上或向下,具体取决于市场的流量 下面的模型说明了这个定义。如果价格没有方向,则称为区间市场

下一个重要的定义是对高点和低点的理解。 新高确认新低,新低确认新高 下面的模型说明了这一点

下面是我在Python中处理这个问题的方法

import numpy as np
from scipy.signal import argrelextrema


def get_pivots(price: np.ndarray):
    maxima = argrelextrema(price, np.greater)
    minima = argrelextrema(price, np.less)
    return np.concatenate((price[maxima], price[minima]))

为了简单起见,我将把一个扁平的 1d

numpy
数组传递到上面的函数中。
argrelextrema
有助于识别枢轴所在的位置。 IE。确定价格转向的位置。

我想知道如何找到枢轴的嵌套来形成小波动和大波动。

我希望生成一个与此结构大致相似的列表。

[major swing
  [minor swing1],
  [minor swing2],
  [minor swing3
    [micro swing1], 
    [micro swing2]
  ] 
]

我创建的示例数据是

    data = [5,6,7,8,9,10,11,12,13,14,16,17,18,19,20, # AB(Major) impulse
        19,18,17,16,15,14,13,12,11,10,9,8, # BC(Major) reaction
            9,10,11,12,13, 14,15, # C0C1 (Minor) impulse
            14,13,12,11,10, # C1C2 (Minor) reaction
            11, 12, 13, 14, 15, 16, 17, 18, # C2C3 (Minor) impulse
            17, 16, 15, 15, 14, 13, 12, # C3C4 (Minor) reaction
            13, 14, 15, 16, 17, 18, 19, 20, 21, # C4C5 (Minor) impulse
            20, 19, 18, 17, 16, 15, 14, # C5C6 (Minor) reaction
        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 # CD (Major) impulse 
        ]

我相信某种递归实现可能会有所帮助。我并不完全熟悉使用这种范例的实现

python trading algorithmic-trading candlestick-chart backtrader
3个回答
2
投票

识别股票数据的主要和次要趋势是我很长一段时间都在努力的事情,即使它一开始看起来很容易做到。

最终对我有用的是多项式拟合!通过拟合多项式参数的阶数,您可以尝试覆盖更长或更短的趋势。从那里您可以使用多边形的转折点来确定趋势的开始和结束。

这种方法有一个缺点,因为它只适用于回测。如果我没记错的话,在数据结束时拟合效果不佳,而这是“实时”捕获所需要的。


1
投票

在我看来,第一步是明确大/小波动的具体定义。定义应该非常精确,以便可以通过确定性算法进行检查。一旦掌握了它,它将对您在代码中实现算法有很大帮助。

例如,正如您在帖子中提到的那样,枢轴到底是什么?

argrelextrema
会导致“噪声”数据出现困难,因为存在大量相对极值。为了与您的草图相关,您没有标记每个相对极值,而只标记了特定区域内的局部极值。这就是您在编码之前必须准确说明的内容。


0
投票

@slapdash 您正在处理的项目/代码是否取得了与此相关的额外进展?我也有兴趣追求一种更一致、更准确的方法来测量冲动或第一阶段,并对此有一些想法。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.