Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Core Feature: Moving Average and Custom Filter module #183

Open
2 tasks done
summercms opened this issue Apr 20, 2024 · 0 comments
Open
2 tasks done

Add Core Feature: Moving Average and Custom Filter module #183

summercms opened this issue Apr 20, 2024 · 0 comments
Labels
Code Update 🔔 Code Update documentation 📄 Improvements or additions to documentation enhancement 👍 New feature or request FINSIHED FINSIHED Priority: Medium Priority: Medium Testing Testing

Comments

@summercms
Copy link
Contributor

summercms commented Apr 20, 2024

Enhancement idea

  • Add Core Feature: Moving Average and Custom Filter module.
  • Add Doc's.

Description

A moving average filter is a simple low-pass filter that smooths out a signal by replacing each data point with the average of the neighbouring data points, defined within a fixed window size. It is commonly used to reduce random noise while preserving the sharp step response of a signal.

Key Properties of Moving Average Filters

  • Easy to implement by convolving the input signal with a rectangular pulse of unit area.
  • Reduces random noise by a factor equal to the square root of the window size.
  • Preserves fast step response, making it suitable for time-domain encoded signals.
  • Introduces lag/delay in the output signal, as it is a causal filter.
  • Performs poorly for filtering frequency-domain encoded signals due to sub-optimal attenuation.

A custom filter refers to a user-defined digital filter implemented on a hardware platform like an FPGA or microcontroller. Custom filters can be designed and optimized for specific applications, offering more flexibility and performance compared to standard off-the-shelf filters.

Advantages of Custom Filters

  • Can be tailored to meet specific requirements, e.g. filter characteristics, resource utilization and real-time performance.
  • Allows combining multiple filtering techniques, such as linear (moving average) and nonlinear (median) filters, for effective noise and transient rejection.
  • Can be optimized for the target hardware platform, leveraging parallelism and pipelining for high-performance implementations.
  • Enables integration with other custom signal processing functions or control systems on the same hardware.

In summary, moving average filters are simple and effective for smoothing time-domain signals, while custom filters offer flexibility and optimization for specific applications, often implemented on hardware platforms like FPGAs or microcontrollers.

This core module can be merged into any trading algorithm code to offer complex Moving Average and Custom Filters calculations.

Links

https://github.com/chartingshow/documentation/blob/master/trading/moving_averages_and_filters.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code Update 🔔 Code Update documentation 📄 Improvements or additions to documentation enhancement 👍 New feature or request FINSIHED FINSIHED Priority: Medium Priority: Medium Testing Testing
Projects
None yet
Development

No branches or pull requests

1 participant