Bli medlem i dag
Indikatorer/probuilder · probacktest · proorder · proscreener

TimeSeriesAverage

TimeSeriesAverage i ProBuilder returnerer et regresjonsbasert glidende gjennomsnitt av prisen over N barer, som reagerer raskere enn et enkelt gjennomsnitt. Syntaks og eksempler.

Syntaks

probuilder
TimeSeriesAverage[N](price)

Parametere

NavnTypeStandardBeskrivelse
NheltallingenAntall barer i tilbakeblikksvinduet. Små verdier følger prisen tett, store verdier gir en jevnere, langsommere linje.
pricepriskildeingenSerien som skal gjennomsnittsberegnes. Vanligvis close, men open, high, low, typicalprice eller en vilkårlig egendefinert variabel godtas.

Formel

kode
TSMA = value at the current bar of the least squares
       regression line fitted to the last N values of price

En rett linje tilpasses gjennom de siste N verdier av price med lineær regresjon, og gjennomsnittet tar verdien av den linjen på den nyeste baren. Fordi tilpasningen projiserer dataenes gjeldende retning i stedet for å vekte alle barene likt, følger resultatet en trendende serie tettere enn et enkelt gjennomsnitt over samme periode.

Slik fungerer det

På hver bar tilpasser funksjonen regresjonslinjen på nytt over det rullerende vinduet av de siste N verdier og gir ut endepunktet på den linjen. Utdataen er en glattet prisserie i samme enheter som inndataen, så den kan plottes direkte i prisdiagrammet, sammenlignes med andre glidende gjennomsnitt, eller brukes som et dynamisk støtte- og referansenivå.

Sammenlignet med Average (enkelt glidende gjennomsnitt), har tidsseriemetoden mindre etterslep i vedvarende trender fordi regresjonstilpasningen ekstrapolerer stigningen i vinduet. Avveiningen er oppførselen ved vendepunkter: når prisen snur brått, kan den tilpassede linjen kortvarig peke feil vei eller skyte over før vinduet tar igjen.

Valget av N styrer balansen mellom reaksjonsevne og stabilitet. Et kort vindu som 10 reagerer innen noen få barer, men gir flere falske retningsskifter. Et lengre vindu som 50 eller 100 filtrerer støy og er bedre egnet til å identifisere den underliggende trenden.

Eksempler

Eksempel 1, Grunnleggende 20-bars utjevning (Indikator)

probuilder
// Smooth the closing prices over the last 20 bars
averagePrice = TimeSeriesAverage[20](close)
RETURN averagePrice

Beregner det 20-perioders tidsseriebaserte glidende gjennomsnittet av lukkekursen og plotter det. Linjen holder seg nær prisen i trender samtidig som den filtrerer støy fra bar til bar.

Eksempel 2, Kryssing mellom raskt og langsomt gjennomsnitt (ProOrder)

probuilder
// Regression based fast line against a simple slow line
fastLine = TimeSeriesAverage[20](close)
slowLine = Average[50](close)

IF fastLine CROSSES OVER slowLine THEN
  BUY 1 CONTRACT AT MARKET
ELSIF fastLine CROSSES UNDER slowLine THEN
  SELL AT MARKET
ENDIF

En klassisk strategi med to glidende gjennomsnitt. Ved å bruke TimeSeriesAverage for den raske linjen utløser kryssinger litt tidligere enn et enkelt gjennomsnitt av samme periode ville gjort.

Eksempel 3, Instrumenter som handles over sitt gjennomsnitt (ProScreener)

probuilder
tsa = TimeSeriesAverage[20](close)
SCREENER[close > tsa] ((close / tsa - 1) * 100 AS "Pct above TSA")

Returnerer instrumenter hvis siste pris ligger over deres 20-perioders tidsseriegjennomsnitt, sortert etter den prosentvise avstanden mellom prisen og linjen.

Tolkning

Avlesningene følger de vanlige konvensjonene for glidende gjennomsnitt. Pris over en stigende linje indikerer en opptrend, pris under en fallende linje indikerer en nedtrend. Kryssinger mellom pris og linjen, eller mellom et raskt og et langsomt gjennomsnitt, brukes ofte som signaler om trendskifte. Fordi regresjonens endepunkt reagerer raskt, kommer signalene tidligere enn med et enkelt gjennomsnitt, men inneholder flere whipsaws i sidelengs markeder. Å bekrefte med en helningsbetingelse, for eksempel at linjen ligger høyere enn fem barer tilbake, filtrerer bort deler av den støyen.

Vanlige feil og fallgruver

  • Feil parentestype. TimeSeriesAverage(20, close) kompilerer ikke. Perioden står i hakeparenteser og priskilden i runde parenteser: TimeSeriesAverage[20](close).
  • Overskyting ved vendepunkter. Regresjonstilpasningen ekstrapolerer den gjeldende helningen, så etter en brå reversering kan linjen fortsette å bevege seg i den gamle retningen i noen barer. Signaler tatt på eksakte vendepunkter er mindre pålitelige enn med langsommere gjennomsnitt.
  • Utilstrekkelig historikk. Den første N barer i et diagram inneholder ikke et fullt vindu, så tidlige verdier er upålitelige. Backtester bør utelate oppvarmingsperioden eller forhåndslaste nok barer.
  • For kort periode. Verdier som TimeSeriesAverage[3] følger prisen nesten tick for tick og gir stadige retningsskifter. For trendidentifisering er perioder på 20 eller mer typisk.
  • Average, enkelt glidende gjennomsnitt, den grunnleggende utjevningsmetoden.
  • ExponentialAverage, eksponentiell vekting med mindre forsinkelse enn et enkelt gjennomsnitt.
  • WeightedAverage, lineært vektet glidende gjennomsnitt.
  • TriangularAverage, dobbelt utjevnet enkelt glidende gjennomsnitt.
  • EndPointAverage, nært relatert gjennomsnitt basert på regresjonens endepunkt.
  • LinearRegression, den underliggende minste kvadraters tilpasningen som et frittstående verktøy.
  • HullAverage, glidende gjennomsnitt med lav forsinkelse bygget av vektede gjennomsnitt.
  • ZLEMA, zero-lag eksponentielt glidende gjennomsnitt.