gorx1

Weighted Least Squares Moving Average

gorx1 Updated   
Linearly Weighted Ordinary Least Squares Moving Regression
aka Weighted Least Squares Moving Average -> WLSMA
^^ called it this way just to for... damn, forgot the word


Totally pwns LSMA for some purposes here's why (just look up):
- 'realistically' the same smoothness;
- less lag;
- less overshoot;
- more or less same computationally intensive.

"Pretty cool, huh?", Bucky Roberts©, thenewboston

Now, would you please (just look down) and see the comparison of impulse & step responses:

Impulse responses

Step responses

Ain't it beautiful?

"Motivation behind the concept & rationale", by gorx1
Many been trippin' applying stats methods that require normally distributed data to time series, hence all these B*ll**** Bands and stuff don't really work as it should, while people blame themselves and buy snake oil seminars bout trading psychology, instead of using proper tools. Price... Neither population nor the samples are neither normally nor log-normally distributed. So we can't use all the stuff if we wanna get better results. I'm not talking bout passing each rolling window to a stat test in order to get the proper descriptor, that's the whole different story.

Instead we can leverage the fact that our data is time-series hence we can apply linear weighting, basically we extract another info component from the data and use it to get better results. Volume, range weighting don't make much sense (saying that based on both common sense and test results). Tick count per bar, that would be nice tho... this is the way to measure "intensity". But we don't have it on TV unfortunately.

Anyways, I'm both unhappy that no1 dropped it before me during all these years so I gotta do it myself, and happy that I can give smth cool to every1

Here is it, for you.

P.S.: the script contains standalone functions to calculate linearly weighted variance, linearly weighted standard deviation, linearly weighted covariance and linearly weighted correlation.

Good hunting
Release Notes:
Now the offset parameter is here, so you can offset as much as you want!
Release Notes:
...
Release Notes:
Update:

New:
- Horizontal shift parameter - allows to displace the line horizontally. Together with offset parameter, it's possible to make short-term forecasts and display them at correct indexes.
Release Notes:
New functionality!

New:
- Thanks to new matrix functionality, now you can use not only linear but also polynomial regression! Switch the "degree" parameter and see for yourself!
Release Notes:
Update

Fixes:
- Matrix pseudo inverse instead of usual inverse allows to make calculations on certain matrix where usual inverse is not defined;
- 1st degree weighted linear formula is back for longer periods (316+).
Release Notes:
Code maintenance

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?