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