Ultimate Smoother:终极指标平滑器[附代码实现]

·
·
·

终极平滑器(Ultimate Smoother)是由交易系统和算法交易策略开发者John Ehlers设计的一种数学工具,用于金融数据的平滑处理,它使用高通滤波器从价格曲线中减去高频成分,实现了其强大的平滑能力。终极平滑器旨在减少价格数据中的高频噪声,同时保持对市场趋势的敏感性,从而提供一个更加清晰和平滑的价格曲线表示。
图片
终极平滑器的工作原理基于以下几个关键概念:

  • 高通滤波器(Highpass Filter):这是一种信号处理技术,用于去除信号中的低频成分,只允许高频成分通过。在金融分析中,这意味着可以减少价格数据中的长期趋势和周期性波动,从而突出短期的价格变动。
  • 减法操作:终极平滑器通过从原始价格数据中减去其高通滤波后的版本来工作。这样,低频成分(如长期趋势)被去除,而高频成分(如短期波动)被保留。
  • 指数移动平均(EMA):虽然终极平滑器本身不直接使用EMA,但EMA是一种常见的平滑技术,通过给予最近的数据更多的权重来计算平均值。终极平滑器的设计哲学与EMA相似,但采用了不同的数学方法来实现平滑效果。
  • 数学公式:终极平滑器使用特定的数学公式来计算平滑后的价格。这涉及到一些三角函数和指数函数的计算,以确定如何从原始数据中减去高频成分。
  • 无滞后(Lag-Free):终极平滑器的一个关键特点是无滞后,这意味着它在计算平滑价格时不需要未来的数据。这对于实时交易系统来说非常重要,因为它们需要即时的反应。
  • 自适应性:终极平滑器可以根据不同的市场条件调整其平滑参数,以实现最佳的平滑效果。

代码实现

import numpy as np
import pandas as pd
import pandas_ta as ta
import akshare as ak
import matplotlib.pyplot as plt

def ultimate_smoother(price, period):
    # 初始化变量
    a1 = np.exp(-1.414 * np.pi / period)
    b1 = 2 * a1 * np.cos(1.414 * 180 / period)
    c2 = b1
    c3 = -a1 * a1
    c1 = (1 + c2 - c3) / 4
    
    # 准备输出结果的序列
    us = np.zeros(len(price))
    
    # 计算 Ultimate Smoother
    for i in range(len(price)):
        if i < 4:
            us[i] = price[i]
        else:
            us[i] = (1 - c1) * price[i] + (2 * c1 - c2) * price[i - 1] \
                    - (c1 + c3) * price[i - 2] + c2 * us[i - 1] + c3 * us[i - 2]
    
    return us


# 获取数据
df = ak.stock_zh_index_daily(symbol="sh000001").iloc[-270:]
df = df.set_index("date")
period = 20

df["UltimateSmoother"] = ultimate_smoother(df["close"].values, period)
df["EMA"] = df.ta.ema(length=period).values
df["SMA"] = df.ta.sma(length=period).values

df = df.iloc[-200:]

plt.figure(figsize=(126))
plt.plot(df.index, df['close'], label='Close')
plt.plot(df.index, df['EMA'], label='EMA', linestyle='--')
plt.plot(df.index, df['SMA'], label='SMA', linestyle='--')
plt.plot(df.index, df['UltimateSmoother'], label='Ultimate Smoother', linestyle='--')
plt.legend()

plt.show()

在实际应用中,终极平滑器可以用于生成更加平滑的价格曲线,这对于识别市场趋势、设置交易信号和开发交易策略非常有用。通过减少噪声,交易者可以更清晰地看到市场的真实动向,从而做出更明智的交易决策。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/111068
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注