TradingView
gorx1
13 lut 2022 20:50

Weighted Least Squares Moving Average 

El Pollo Loco Holdings, Inc.NASDAQ

Opis

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

Informacje o Wersji

Now the offset parameter is here, so you can offset as much as you want!

Informacje o Wersji

...

Informacje o Wersji

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.

Informacje o Wersji

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!

Informacje o Wersji

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+).

Informacje o Wersji

Code maintenance
Komentarze
akikostas
You really are a scientist, congratulations! I have a question: What does the all-data button do? I have seen that it "supersmooths" the entire dataset. And what about log-transform?
gorx1
@akikostas, tnx for giving the credit mane

All data fits the model to the all the bars available.
Log transform, well, log-transforms the data before it hits the processing (gotta do it when your data exceeds one order of magnitude)
crypteisfuture
Thank you very much for sharing, very nice!
Very fast ma!
gorx1
@crypteisfuture, check how it compares with Hull Moving Average. Hull got a lil more lag but it’s lil bit smoother
crypteisfuture
@gorx1, Yeah, i literally checked it before i wrote the message, anyway thanks, this ma added to my collection!
henryph24
Tksm, for both the write-up and the script
gorx1
@henryph24, my pleasure bro, I really think this one is good
gorx1
R&D Log

All the previously mentioned linearly weighted functions are still available in this script tradingview.com/script/2JDQ3Tkf-Relative-slope/ , if any1 needs
Więcej