R2
R2 i ProBuilder returnerer R-Squared-koeffisienten til en lineær regresjon over N barer, et mål på trendstyrke fra 0 til 1. Syntaks, formel, gjennomgåtte eksempler.
Syntaks
R2[N](price)Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
N | heltall | ingen | Antall barer i regresjonsvinduet. Vanlige verdier er 14 til 30. Korte vinduer reagerer raskere, men flagger mange falske trender. |
price | priskilde | lukk | Serien regresjonen tilpasses. Vanligvis close, godtar også open, high, low, eller en egendefinert variabel. |
Formel
R2 = 1 - (SSres / SStot)
where SSres = sum of squared residuals from the regression line
SStot = sum of squared deviations of price from its meanR-Squared er determinasjonskoeffisienten til minste kvadraters linje tilpasset de siste N verdier av price. Den er lik den kvadrerte korrelasjonen mellom pris og tid over vinduet, så den er begrenset mellom 0 og 1.
Slik fungerer det
På hver bar tilpasser ProBuilder en rett linje gjennom de siste N prispunkter og måler hvor mye av prisvariasjonen den linjen forklarer. Hvis punktene ligger nesten helt på linjen, er residualene små og R2 nærmer seg 1. Hvis prisen vandrer tilfeldig rundt gjennomsnittet sitt, forklarer linjen lite og R2 nærmer seg 0.
R2 er retningsblind. Både en perfekt opptrend og en perfekt nedtrend gir verdier nær 1, så R2 sier hvor trendpreget markedet er, ikke hvilken vei det trender. For retning, kombiner den med LinearRegressionSlope eller sammenlign påfølgende LinearRegression verdier, som i det første eksempelet.
En vanlig tommelfingerregel behandler verdier over omtrent 0.4 til 0.6, avhengig av N, som statistisk meningsfulle trender og lavere verdier som støy. Fordi R2 beregnes på et rullerende vindu, faller den raskt når en ren trend går inn i en konsolidering, noe som gjør den nyttig som regimefilter som slår trendfølgende logikk av og på.
Eksempler
Eksempel 1, Trendstyrke med retningsdeteksjon (Indikator)
i1 = R2[20](close)
LR1 = linearregression[20](close)
LR2 = linearregression[20](close[1])
// A significant fit plus a falling regression line means a bearish trend
if(i1 > 0.4 AND LR1 < LR2) THEN
bullish = 0
bearish = -1
ELSIF(i1 > 0.4 AND LR1 > LR2) THEN
bullish = 1
bearish = 0
ELSE
bullish = 0
bearish = 0
ENDIF
RETURN bullish, bearishR2 gir styrketesten, og endringen i regresjonslinjen gir retningen. Begge utdataene holder seg på 0 når tilpasningen er for svak til å stole på, og filtrerer bort sidelengs perioder.
Eksempel 2, Regimefilter for et trendfølgende system (ProOrder)
DEFPARAM CumulateOrders = false
fit = R2[20](close)
slope = LinearRegressionSlope[20](close)
// Trade only when the market is measurably trending upward
IF NOT LongOnMarket AND fit > 0.6 AND slope > 0 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Exit when the trend quality degrades
IF LongOnMarket AND fit < 0.3 THEN
SELL AT MARKET
ENDIFInnganger krever både god tilpasning og positiv stigning. Utgangen utløses på trendkvalitet alene, og lukker posisjonen så snart prisen slutter å oppføre seg lineært, uansett retning.
Eksempel 3, Screening etter de mest ordnede opptrendene (ProScreener)
fit = R2[20](close)
slope = LinearRegressionSlope[20](close)
SCREENER[fit > 0.7 AND slope > 0](fit AS "R-Squared")Lister instrumenter der de siste 20 sluttkursene passer til en stigende rett linje med R-Squared over 0.7, sortert etter tilpasningskolonnen.
Tolkning
| R2-intervall | Avlesning |
|---|---|
| 0.7 til 1.0 | Sterk lineær trend. Prisen følger regresjonslinjen tett. |
| 0.4 til 0.7 | Moderat trend. Det finnes en retningsmessig skjevhet, men med betydelig støy. |
| 0.0 til 0.4 | Svak eller ingen trend. Mean reversion-atferd dominerer. |
Eksakte terskler avhenger av N. Kortere vinduer gir høyere R2-verdier ved tilfeldighet, så en verdi på 0.7 over 10 barer er langt mindre signifikant enn 0.7 over 50 barer. R2 leses best som en regimemåler, et brudd oppover gjennom en terskel tilsier at trendlogikk bør være aktiv, et brudd nedover gjennom den tilsier logikk for sideveis marked.
Vanlige feil og fallgruver
- Ingen retningsinformasjon. R2 nær 1 forekommer både i sterke opptrender og sterke nedtrender. Å handle long på høy R2 alene kjøper inn i krakk. Kombiner alltid med en sammenligning av stigning eller pris.
- Korte vinduer blåser opp verdien. Noen få punkter passer rimelig godt til en linje, så
R2[5]gir regelmessig høye verdier i ren støy. Bruk lengre vinduer eller hev terskelen nårNer liten. - Forsinkelse ved vendepunkter. R2 holder seg forhøyet i flere barer etter at en trend er over, fordi vinduet fortsatt inneholder den gamle trenden. Forvent at regimesignaler kommer sent, det ligger i konstruksjonen.
- Avgrenset resultat, uavgrensede forventninger. Verdien forlater aldri området 0 til 1. Betingelser som
R2[20](close) > 5kan aldri være sanne og deaktiverer stille logikken som avhenger av dem.
Relaterte instruksjoner
LinearRegression, verdien av selve den tilpassede regresjonslinjen.LinearRegressionSlope, stigningen til regresjonslinjen, gir retning.STD, standardavvik, spredningsmålet bak SStot.STE, standardfeilen til regresjonsestimatet.TimeSeriesAverage, glidende gjennomsnitt bygget fra regresjonsendepunkter.EndPointAverage, relatert endepunktbasert glatting.ADX, alternativt mål på trendstyrke basert på retningsbevegelse.Average, enkelt glidende gjennomsnitt, ofte brukt som et grunnleggende trendfilter.