Nilalaman ng artikulo

Ebidensiya at saklaw

Iniuulat ng papel ang kabuuang kita ng +1,985%, 19.6% IRR, Sharpe 1.33 at 25% maximum drawdown para sa Mayo 2007–Abril 2024, kasama ang nakasaad na komisyon at slippage nito. Ito ay mga resultang iniulat ng may-akda; walang independiyenteng backtest ang isinagawa rito. [1]

Data at mga merkadoAng pangunahing pananaliksik ay gumagamit ng datos ng minutong SPY. Ang iba pang mga ETF at istruktura ng sesyon ay nangangailangan ng hiwalay na kalibrasyon at pagpapatunay.
Mga timeframe ng pananaliksikMga intraday band na tinantya mula sa 14 mga nakaraang sesyon; mga desisyon sa mga tinukoy na kalahating oras na checkpoint.
Ang distansya sa itaas ng threshold para sa long entry ay nagiging positibo at kalaunan ay negatibo sa isang decision checkpoint, na naglalarawan ng naka-iskedyul na pagpasok at paglabas.Buksan ang ilustrasyon sa buong laki
Synthetic data. Ang vertical axis ay closing price minus max(upper band, VWAP), sa dolyar; hindi ito presyo ng SPY. Decision checkpoints ang markers; hindi awtomatikong gumagawa ng order ang positibong halaga sa pagitan ng checkpoints.

Praktikal na daloy ng gawain

Daloy ng gawain para sa SPY Noise Bands at VWAP Momentum: Plano ng Pananaliksik
Nasa ibaba ang buong mga hakbang. Sa bawat yugto, kailangang itala ang dahilan ng pagtanggi kapag kulang ang data o hindi natugunan ang kundisyon.
  1. Ihanda ang kasaysayanIhanay ang nakaraang 14 session ayon sa oras ng orasan at kalkulahin ang pang-araw-araw na pagkasumpungin.
  2. Gumawa ng mga bandaI-angkla ang pagbubukas at nakaraang pagsasara nang may pare-parehong pagtrato sa aksyong korporasyon.
  3. I-update ang VWAPGamitin lamang ang natanggap nang volume ng kasalukuyang session.
  4. Suriin ayon sa iskedyulPagkatapos magsara ang checkpoint bar, magtakda ng long, short o walang posisyon.
  5. Ipatupad at likidahinIsama ang gastos ng lahat ng position changes at isara lahat bago ang session deadline.
  6. Mga hiwalay na kontribusyonIhambing ang bands, VWAP at position sizing sa evaluation data na hindi pa nagamit.

Band na nakadepende sa oras, hindi palaging pareho ang porsyento

Magkaiba ang distribusyon ng opening volatility at lunchtime volatility. Sinusukat ng noise-band ang normal na absolute move mula sa opening session nang hiwalay sa bawat intraday clock time. Ang obserbasyon sa huling bahagi ng umaga ay inihahambing sa mga obserbasyon sa huling bahagi ng umaga mula sa mga naunang sesyon, sa halip na sa isang rolling sequence ng magkatabing minuto.

Para sa oras ng orasan na k, tukuyin ang sigma(d, k) = mean(abs(P(d−j, k)/Open(d−j)−1), j=1…14). Ang paggamit lamang ng mga nakumpletong nakaraang sesyon ay gagawa ng baseline causal. Ang itaas na hangganan ay U(d, k)=max(Open(d), PreviousClose(d))×(1+sigma(d, k)); ang mas mababa ay L(d, k)=min(Open(d), PreviousClose(d))×(1−sigma(d, k)). Pinalalawak ng mga gap-aware anchor ang envelope sa isang overnight gap.

Ang sigma na ito ay isang mean absolute displacement, hindi ang standard deviation ng minute returns. Ang pagpapalit nito ng isang conventional rolling volatility indicator ay nagbabago sa signal. Ang isang malaking opening gap ay mayroon ding ibang epekto mula sa isang malaking galaw pagkatapos ng open dahil ang mga anchor at intraday displacement ay gumaganap ng iba't ibang papel.

Ipinapalagay ng estratehiya na nagpapatuloy ang galaw matapos lumampas sa karaniwang intraday noise. Maaaring mabigo ito kapag bumaligtad ang news-driven spike, kapag mababa ang tantiya mula sa nakaraang 14 session kumpara sa kasalukuyang volatility, o kapag paulit-ulit na tumatawid ang presyo sa hangganan. Hindi naaalis ng high-volume breakout ang alinman sa mga posibilidad na ito.

Tinutukoy ng pagkakahanay ng datos kung ano ang maaaring malaman

Gumagamit ang pag-aaral ng datos mula sa minuto ng IQFeed. Kabilang sa mga naiulat na resulta nito ang komisyon ng $0.0035 at ang slippage kada share ng $0.001. [1] Mga tahasang pagpapalagay lamang ang mga ito sa halip na isang katiyakan na maaaring naisakatuparan ang bawat makasaysayang order sa halagang iyon.

Buuin ang historical matrix sa pamamagitan ng exchange session at clock time. Ang mga holiday, daylight-saving transition, at pinaikling session ay nangangailangan ng calendar-aware handling. Ang nawawalang 10:00 observation ay hindi katumbas ng zero return. Sabihin kung ang isang hindi kumpletong historical session ay hindi kasama o kung ang kasalukuyang desisyon ay hindi pinagana.

Gumamit ng pare-parehong kombensiyon sa corporate-action para sa pagbubukas, nakaraang pagsasara, at mga makasaysayang presyo. Ang paghahalo ng isang naayos na nakaraang pagsasara at isang hindi naayos na kasalukuyang pagbubukas ay maaaring lumikha ng isang puwang. Itabi nang hiwalay ang raw execution series mula sa anumang transformed series na ginagamit upang tantyahin ang mga kita.

Ang Session VWAP ay dapat gumamit lamang ng mga natanggap na kalakalan o mga nakumpletong bar. Ang isang bar-based approximation ay maaaring gumamit ng tipikal na presyo, (H+L+C)/3, na tinimbang ayon sa dami ng bar; naiiba ito sa isang benchmark sa antas ng transaksyon. Ang pagkakaiba ay dapat sukatin kung saan magagamit ang mas mataas na resolution na data, lalo na para sa mga bar na may malawak na saklaw.

Gawing isang tahasang tuntunin sa posisyon ng target ang konsepto

Ang iminungkahing implementasyon sa ibaba ay nagsusuri lamang sa mga checkpoint na itinakda nang maaga bawat kalahating oras. Sa isang checkpoint, ang target na posisyon ay long kapag nasa itaas ng max(U, VWAP), short kapag nasa ibaba ng min(L, VWAP), at walang posisyon sa ibang kaso. Ipinapadala ang resultang target pagkatapos maging available ang bar. Isa itong tahasang bersiyon para sa pananaliksik; hindi dapat basta ituring na magkapareho ang tuloy-tuloy na protective exit at ang nakaiskedyul na pag-update ng exposure.

Sa pagitan ng mga checkpoint, ang isang pansamantalang pagtawid sa hangganan ay hindi lumilikha ng isang bagong desisyon sa variant na ito. Kung nais ang isang patuloy na proteksiyon na paghinto, tukuyin ito bilang isang hiwalay na tuntunin na hinimok ng kaganapan at subukan ang karagdagang turnover nito. Ang isang estratehiya na may kalahating oras na iskedyul ng pagpasok at mga labasan sa antas ng tick ay may iba't ibang path dependence mula sa isa na nagbabago lamang ng lahat ng exposure bawat kalahating oras.

Ang target ay isang ninanais na posisyon, hindi isang instruksyon para paulit-ulit na magdagdag ng bagong posisyon. Ang paglipat mula sa +q shares patungo sa −q ay nangangailangan ng pagbebenta ng 2q shares. Ang paglipat mula sa +q patungo sa zero ay nangangailangan ng q shares. Ang mga gastos ay dapat sumunod sa aktwal na pagbabago ng posisyon, kabilang ang parehong bahagi ng isang pagbaligtad.

Sa oras ng liquidation deadline, mas inuuna ang pagsara ng lahat ng posisyon kaysa bagong entry signal. Sa production system, kanselahin ang hindi pa na-fill na entry orders bago humiling ng final exit at i-reconcile ang fills na dumarating habang kinakansela.

before_session(d):
    bands = build_from_completed_sessions(d, lookback=14)
    daily_vol = sample_std(previous_14_daily_returns)
    if data_incomplete or not isfinite(daily_vol) or daily_vol <= 0:
        disable_session(); return
    multiplier = min(4, 0.02 / daily_vol)
    shares = floor(previous_equity * multiplier / session_open)
on_completed_bar(k):
    if is_liquidation_deadline(k):
        cancel_pending_entries(); submit_flat(); return
    if session_disabled: return
    update_session_vwap()
    if is_decision_time(k):
        target = 1 if close > max(upper[k], vwap) else (
                 -1 if close < min(lower[k], vwap) else 0)
        submit_target_after_available_at(target * shares)

Binabago ng position sizing ayon sa volatility ang exposure

Isang sizing rule ang multiplier = min(4, 0.02/s), kung saan s ang sample standard deviation ng nakaraang 14 completed daily returns. Ang dami ng shares ay floor(previous account equity × multiplier / session open). Bahagi ng configuration ang 2% target at leverage cap; hindi sila pangkalahatang risk recommendations.

Kapag ang s ay sero, nawawala o walang hangganan, mas ligtas ang pag-disable sa session kaysa sa pagpayag sa division na lumikha ng unlimited size. Ang minimum volatility floor ay magiging ibang deklaradong tuntunin. Ang sizing series ay dapat na naayos bago ang session sa halip na muling kalkulahin gamit ang closing return ng kasalukuyang araw.

Ang mga bersyong may leverage at unleverage ay dapat ipakita nang hiwalay. Sa papel, ang bersyong may exposure na katumbas ng isang ulit ng kapital ay nag-uulat ng kabuuang kita ng +380%, 9.7% IRR, Sharpe 1.24 at 12% maximum drawdown. [1] Ang pagkakaiba sa pagganap ay hindi maaaring maiugnay lahat sa isang mas mahusay na signal ng pagpasok kapag nagbago rin ang patakaran sa pagkakalantad.

Ang mga limitasyon sa laki ay nangangailangan ng karagdagang mga limitasyon sa operasyon. Suriin ang buying power, gross notional, broker margin at bahagi ng market volume na kukunin sa execution interval. Ang isang tuntunin sa pagkakalantad batay sa isang kalmadong kamakailang panahon ay maaaring lumikha ng malalaking posisyon bago ang isang pagtaas ng volatility, kaya kinakailangan ang mga stress test sa gap at delayed-exit.

Sintetikong aritmetika at isang nabigong pagpapatuloy

Ipagpalagay na ang nakaraang pagsasara ay 500, ang pagbubukas ngayon ay 505 at ang sigma sa checkpoint ay 0.003. Pagkatapos ay ang U=505×1.003=506.515 at L=500×0.997=498.50. Ang asymmetry ay sanhi ng opening gap. Ang isang simetrikong banda sa paligid ng 505 ay hindi magiging parehong kalkulasyon.

Sa 10:00, hayaan ang VWAP na maging 506.20 at ang natapos na pagsasara ay 506.80. Ang iminungkahing tuntunin ay nagta-target ng long position dahil ang 506.80 ay lumampas sa max(506.515,506.20). Kung ang order ay mapuno sa 506.86 at lalabas sa 509.00, ang pagtaas ng presyo ay $2.14 bawat share bago ang mga gastos. Ang pagpuno ay sadyang mas huli at naiiba sa signal closure.

Sa isang nabigong kaso, ang pagsasara ng 10:30 ay 506.30, ang na-update na upper band nito ay 506.60 at ang VWAP ay 506.50. Ang target ay nagiging walang posisyon. Ang exit fill sa 506.24 ay nawawala ang $0.62 kada share mula sa entry ng 506.86. Ang naunang pagtawid pabalik sa ibaba ng band ay hindi retroaktibong nagbibigay ng mas mahusay na paglabas sa isang naka-iskedyul na implementasyon ng desisyon.

Subukan ang equality at timing: sa strict comparison, ang close na eksaktong katumbas ng threshold ay target na walang posisyon; hindi magagamit ng nahuling datos ang mas maagang execution price; at kulang na history ay hindi makabubuo ng kumpletong band estimate. Maaaring ipaliwanag ng mga kasong ito ang malalaking pagkakaiba ng public implementations.

Nailathalang ebidensya at isang maaaring kopyahing paghahambing

Ang daily hit ratio ng papel ay 43%, samantalang ang trade table nito ay nag-uulat ng 37% sa 7,668 trades. [1] Ang mga denominator na ito ay sumasagot sa iba't ibang tanong. Panatilihin ang IRR, kabuuang kita, rate ng panalo bawat kalakalan at dalas ng mga araw na kumikita sa magkakahiwalay na larangan.

Ang pampublikong artikulo ng code ng mga may-akda ay kapaki-pakinabang para sa pagsisiyasat sa VWAP, mga pagbabago sa exposure at mekanika, ngunit ang kumpletong halimbawa ay kinabibilangan din ng isang overnight-gap mean-reversion component. [2] Ang pinagsamang equity nito ay hindi maaaring awtomatikong maiugnay sa intraday momentum component lamang.

Isang hiwalay na pampublikong imbakan ng README ang nag-uulat ng out-of-sample na Sharpe ng 0.39, taunang kita ng 4.8% at maximum drawdown ng 18.5% para sa Mayo 2024–Marso 2026, kumpara sa in-sample nitong Sharpe ng 1.34. Tanging ang README lamang ang siniyasat dito; ang lisensyadong datos at buong pagpapatupad nito ay hindi muling ginawa nang hiwalay. [3]

Isang kapaki-pakinabang na paghahambing ang naghihiwalay lamang ng mga noise band, mga noise band kasama ang VWAP, at ang parehong mga signal na may volatility sizing. Panatilihing magkapareho ang pagpapatupad, mga pagsasaayos ng data at mga petsa ng pagsusuri. Pagkatapos ay iulat kung binago ng VWAP ang kalidad ng pagpasok, oras ng paglabas, oras sa merkado o simpleng turnover.

Paghambingin ang mga pang-araw-araw na band array at mga target-position timestamp bago ang mga kita. Sundan ang mga gastos sa nakasaad na mga pagpapalagay at mga stressed cost, mga one-bar delay, mga kalapit na lookback at mga independiyenteng panahon ng merkado. Ang layunin ay upang matukoy kung aling mga pagpapalagay ang sumusuporta sa resulta, hindi upang maghanap hanggang sa muling lumitaw ang isang ginustong headline.

Mga karaniwang pagkakamali

Pagpapalit ng istatistika ng ingay nang hindi pinapalitan ang pangalan ng variant

Ang isang mean absolute open-to-time na paggalaw ay hindi isang rolling standard deviation. Binabago ng substitution ang parehong threshold scale at economic interpretation.

Pagbibigay ng naka-iskedyul na mga signal nang tuluy-tuloy

Maaaring maling mapabuti ng backtest ang mga labasan sa pamamagitan ng paggamit ng bawat intrabar crossing habang inaangkin ang mga desisyong kalahating oras. Tukuyin ang parehong dalas ng entry at exit event.

Pag-uugnay ng isang pinagsamang halimbawa ng code sa isang bahagi

Ang isang halimbawa na naglalaman ng gap mean reversion at momentum ay nangangailangan ng hiwalay na pagpapatungkol bago nito mapatunayan ang alinmang bahagi.

Checklist bago gamitin ang pamamaraang ito

Lagyan ng tsek ang bawat item matapos itong beripikahin sa iyong data. Naka-save ang progreso sa browser na ito; hindi ito sertipikasyon na kumikita ang estratehiya.

0/8 item

Mga madalas itanong

Pareho ba ang VWAP sa upper o lower noise band?

Hindi. Ang VWAP ay isang volume-weighted current-session price reference; tinatantya ng mga banda ang tipikal na displacement mula sa mga nakaraang sesyon sa isang katumbas na oras.

Itinatatag ba ng iniulat na Sharpe ang kasalukuyang kakayahang kumita?

Hindi. Inilalarawan nito ang isang partikular na sample at modelo ng gastos. Ang ebidensya sa mga susunod na panahon, replikasyon ng pagpapatupad, at kawalan ng katiyakan ay dapat suriin nang hiwalay.

Mga sanggunian sa pananaliksik

Sinusuportahan ng bawat sanggunian ang katabing depinisyon o ebidensiya. Kailangang hiwalay na patunayan ang pseudocode, mga gawang halimbawa, at iminungkahing parameter.

  1. Beat the Market: An Effective Intraday Momentum Strategy for S&P500 ETF (SPY)Zarattini, Aziz, Barbon — bản 03/02/2025. Buong PDF na nabasa, kasama ang bersyong may petsang 3 noong Pebrero 2025. Ang mga Talahanayan 3 at 4 ay makikita sa pisikal at nakalimbag na mga pahina na 15 at 16. Walang bagong replikasyon ang pinatakbo. Sinuri noong: .
  2. Designing a Profitable Intraday Strategy Using Python and AlpacaConcretum Group. Artikulo ng mga may-akda at pampublikong code na nabasa. Kasama sa kumpletong halimbawa ang isang karagdagang overnight-gap component at hindi awtomatikong isang purong momentum replication. Sinuri noong: .
  3. Out-of-Sample Evaluation of an Intraday Momentum Strategy for SPYSheimy Paz Serpa. Sinuri lamang ang README ng imbakan; ang mga kumpletong lisensyadong input at ang naiulat na out-of-sample execution nito ay hindi independiyenteng kinopya. Sinuri noong: .

Mga kaugnay na pamamaraan

Paalala sa panganib

Para sa pag-aaral at pagdisenyo ng pananaliksik ang nilalamang ito, hindi payong pinansiyal. Ang Backtest ay simulasyon ng nakaraan, hindi garantiya ng resulta sa hinaharap, at hindi naglalagay ng tunay na mga trade. Hindi awtomatikong tampok ng app ang mga pamamaraan sa aklatang ito. Tingnan ang metodolohiya at sentro ng pag-aaral.

Patunayan muna ang mga tuntunin bago isapanganib ang tunay na puhunan

Suriin ang suporta ng app, data, at bawat simulated trade; maaaring mangailangan ng hiwalay na implementasyon ang mga advanced na detector.

I-download ang Backtest sa App Store