Stock prices are non-stationary and non-causal, so their spectrum’s look similar to this example:
You can reduce the noise, by applying a low-pass filter (orange line). Convolution works well with stock prices, if you transform the prices to remove the dc-bias, before applying the filter.
Here is an example of applying a low-pass filter to transformed price data:
This method does not introduce a lag and preserves the low frequencies in the original signal.
Taking the first-derivative of the filtered prices results in price-velocity, which can identify peak and trough extremes (potential buy/sell) points.
Here is an example of the complete process:
When the filtered, price-velocity crosses below the zero-line, it will trigger a “Sell” signal - for these specific parameters. Depending on your time-frame, sampling, filter parameters, and standard-deviation threshold, you can easily determine a trading strategy, using this simple approach.
If you are interested in investigating further, the code is stored here:
git clone https://github.com/JOravetz/Simple_trading_strategy.git
Best regards,
Joe O.