Skip to main content

The UltimateSmoother preserves low-frequency swings in the input time series while attenuating high-frequency variations and noise.

Project description

The Ultimate Smoother

This is a python implementation of the digital smoothing filter introduced by John Ehlers in his article "The Ultimate Smoother".

Concepts

The UltimateSmoother preserves low-frequency swings in the input time series while attenuating high-frequency variations and noise. The defining input parameter of the UltimateSmoother is the critical period, which represents the minimum wavelength (highest frequency) in the filter's pass band. In other words, the filter attenuates or removes the amplitudes of oscillations at shorter periods than the critical period.

According to Ehlers, one primary advantage of the UltimateSmoother is that it maintains zero lag in its pass band and minimal lag in its transition band, distinguishing it from other conventional digital filters (e.g., moving averages). One can apply this smoother to various input data series.

Calculations

On a technical level, the UltimateSmoother's unique response involves subtracting a high-pass response from an all-pass response. At very low frequencies (lengthy periods), where the high-pass filter response has virtually no amplitude, the subtraction yields a frequency and phase response practically equivalent to the input data At other frequencies, the subtraction achieves filtration through cancellation due to the close similarities in response between the high-pass filter and the input data.

Usage

from ultimatesmoother import ultimate_smoother

us = ultimate_smoother(data, period)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ultimatesmoother-1.0.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ultimatesmoother-1.0.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file ultimatesmoother-1.0.0.tar.gz.

File metadata

  • Download URL: ultimatesmoother-1.0.0.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.21

File hashes

Hashes for ultimatesmoother-1.0.0.tar.gz
Algorithm Hash digest
SHA256 45ba107827f97651d4bd61c14b0fe6303720fad3fbddc25bd5dfdcb5237cf847
MD5 3d71073fbdf022ccd625b7039bf43046
BLAKE2b-256 4ae254a2dd199e9c5eadba148d6a050fcbd4d69a18611d1fe29055999cc23cd3

See more details on using hashes here.

File details

Details for the file ultimatesmoother-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ultimatesmoother-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fa51c42c3efe93fc059b20f76f0f1cc92e3863db6b6f4b1ec8a40800952dc60
MD5 3564216b9df8b2b1ee87f5201a123ace
BLAKE2b-256 96c43863e6c67dd54c150b731795f33412114eb241c34198c604fd2b7a64ea07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page