Nilalaman ng artikulo

Ebidensiya at saklaw

Para sa 2016–2023, iniulat ng mga may-akda ang kabuuang kita ng +1,637%, 41.6% IRR, 2.81 Sharpe at 12% maximum drawdown, na may komisyon kada share ng $0.0035 at walang hiwalay na slippage model. Ito ay mga iniulat na resulta ng pananaliksik, hindi isang bagong replikasyon o isang na-audit na account. [1]

Data at mga merkadoAng pangunahing pag-aaral ay tungkol sa mga equities ng US. Ang mga futures, crypto, at mga merkado na may mga session break ay nangangailangan ng magkakahiwalay na hypotheses at mga modelo ng pagpapatupad.
Mga timeframe ng pananaliksikLimang minutong opening range; event data o data bawat segundo para sa pananaliksik ng execution.
Umaabot ang presyo sa opening high na 50.30, saka na-fill ang entry sa 50.34 at umaakyat sa 51.14. Ang protective stop ay 0.20 sa ibaba ng entry fill.Buksan ang ilustrasyon sa buong laki
Sintetikong datos. Ang unang limang obserbasyon ay naglalarawan sa pambungad na panahon; ang mga susunod na punto ay mga piling pangyayari na may hindi pantay na pagitan ng oras. Ang dami ay libu-libong share.

Praktikal na daloy ng gawain

Daloy ng gawain para sa Opening Range Breakout na may RVOL: Mga Panuntunan at Ebidensya
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 kasaysayanGamitin ang uniberso at mga input sa kasaysayan na magagamit bago ang sesyon.
  2. Hintaying makumpleto ang opening windowHintaying matapos ang limang minuto at itala kung kailan available ang datos.
  3. I-freeze ang mga ranggo ng RVOLAyusin ang mga piling stock, direksyon, at mga badyet ng kapital.
  4. Isumite ang mga stop-entry orderI-activate ang mga order pagkatapos maproseso; panatilihin ang mga tinanggihan at hindi nasagot na entry.
  5. Protektahan at likidahinProtektahan ang aktuwal na na-fill na quantity at isara ang posisyon ayon sa session schedule.

Pinipili ng volume ang stock; ang presyo ang nagsusuplay ng direksyon

Maraming stock ang mabilis na gumagalaw sa mga unang minuto. Ang maaaring masubukang proposisyon ay ang isang breakout ay may iba't ibang kondisyonal na pag-uugali kapag ang aktibidad ng pangangalakal ay hindi pangkaraniwang mataas kumpara sa normal na aktibidad ng pagbubukas ng stock na iyon. Ang relatibong dami ay hindi tumutukoy sa isang mamimili o nagbebenta: ang bawat natapos na kalakalan ay may pareho. Ang direksyon ay dapat magmula sa isang hiwalay na tuntunin sa presyo, habang ang dami ay sumusukat sa tindi ng pakikilahok.

Tukuyin ang pambungad na relatibong dami bilang RVOL(d) = V(d, opening window) / mean(V(d−j, same window), j=1…14). Ang denominator ay dapat na magagamit mula sa mga naunang sesyon. Ang paghahambing ng unang limang minuto sa isang average na buong araw na dami ay sumasagot sa ibang tanong at nagpapakilala ng mga hindi magkatugmang yunit ng oras. Pinag-iiba ng TradingView ang pinagsama-samang dami mula sa dami sa isang tumutugmang oras; ang isang implementasyon ay dapat pumili ng isang kahulugan nang palagian. [3]

Ang RVOL na apat ay hindi nangangahulugang apat na beses ang inaasahang kita ng isang RVOL na isa. Ang mataas na aktibidad ay maaaring samahan ng balita, mas malawak na spreads, isang paghinto o isang pagwawasto sa pag-uulat. Ang isang stock na may maliit na karaniwang opening volume ay maaari ring makatanggap ng isang kamangha-manghang ratio sa katamtamang absolute activity. Samakatuwid, ang mga eligibility filter at isang execution assessment ay kabilang sa mga unang bahagi ng pangwakas na desisyon sa pangangalakal.

Ang kontribusyong pang-ekonomiya ng volume filter ay isang empirikal na tanong. Subukan ang parehong tuntunin sa presyo na mayroon at walang RVOL habang pinapanatiling maihahambing ang panganib at pagkakalantad. Kung hindi, ang isang mas mahusay na kurba ng equity ay maaaring magpakita lamang ng mas kaunting mga kalakalan o mas malalaking posisyon sa napiling grupo.

Paghiwalayin ang configuration ng papel mula sa mga pagpipilian sa implementasyon

Ang reference configuration ay gumagamit ng opening price na mas mataas sa $5, naunang 14-day average volume na hindi bababa sa isang milyong shares, ATR14 na mas mataas sa $0.50, at ang nangungunang 20 stocks na may limang minutong RVOL na hindi bababa sa isa. Ang berdeng opening candle ay nagtatakda ng long breakout; ang pulang candle ay nagtatakda ng short breakout; ang doji ay nilalaktawan. Ang stop ay 0.1 ATR mula sa fill, ang mga posisyon ay nagsasara sa loob ng araw, ang risk ay 1% ng inilaang kapital at ang leverage ay may limitasyon sa apat na beses. [1]

Ang mga sumusunod na kumbensiyon sa inhinyeriya ay mga iminungkahing detalye, hindi mga karagdagang pahayag mula sa papel. Gamitin ang exchange calendar sa America/New_York, kabilang ang mga pagbabago sa daylight-saving at mga pinaikling sesyon. Ang mga nawawalang historical window ay mga hindi magagamit na obserbasyon, hindi mga zero-volume na araw. Ang isang delayed opening bar ay magagamit lamang kapag ang data nito ay aktwal nang dumating.

I-freeze ang selection snapshot na may stock universe, opening OHLC, daily ATR, 14 historical volume observation at final ranking. Lutasin ang pantay na ranggo gamit ang stable instrument identifier. Huwag magdagdag ng stock matapos makita ang breakout nito. Kung 12 stock lamang ang kwalipikado, magpasya bago suriin ang returns kung iiwan o muling ipapamahagi ang hindi nagamit na allocation.

Dapat panatilihin ng snapshot ang parehong oras ng kaganapan at oras ng pagkakaroon. Maaaring lagyan ng timestamp ng isang vendor ang isang bar sa 09:35 habang naghahatid ng pagwawasto sa ibang pagkakataon. Ang muling pagbuo ng lahat ng desisyon mula sa panghuling naitama na kasaysayan ay maglalarawan ng isang hanay ng impormasyon na naiiba mula sa magagamit sa orihinal na proseso ng pag-order.

Pinipigilan ng isang state machine ang mga retroactive na entry

Ang isang entry order ay umiiral lamang pagkatapos ng pagpili, pagproseso, at pagsusumite. Ang isang price crossing na naganap bago ang sequence na ito ay hindi maaaring punan ang bagong order. Kung ang merkado ay lampas na sa trigger kapag ang isang stop-market order ay naging aktibo, maaari itong isagawa kaagad malapit sa kasalukuyang merkado; ang pagtatalaga ng naunang trigger price ay mag-iimbento ng isang kanais-nais na pagpuno.

Buuin ang protective stop mula sa aktwal na entry fill. Ang mga partial fill ay nangangailangan ng proteksyon para sa dami na napuno na, kasama ang isang patakaran para sa natitirang hindi napuno. Ang pagtanggi sa short-sale, hindi magagamit na borrow o pagtanggi sa panganib ng broker ay isang naitalang resulta ng sistema. Ang tahimik na pag-aalis ng mga kasong iyon ay maaaring magpamukhang mas madaling isagawa ang natitirang trade sample kaysa sa totoong set ng pagkakataon.

Panatilihin ang mga tahasang estado tulad ng napili, isinumite, bahagyang napunan, protektado, isinara at tinanggihan. Ang bawat transisyon ay nangangailangan ng timestamp at dami. Ginagawa nitong posible na siyasatin kung ang isang protective order ay maaaring kumilos sa panahon ng isang mabilis na pagbaligtad pagkatapos ng pagpasok.

on_opening_range_ready(session):
    snapshot = freeze_available_data(session)
    candidates = rank_eligible_by_rvol(snapshot)
    selected = candidates[:20]
    for asset in selected:
        side = sign(asset.or_close - asset.or_open)
        if side == 0: continue
        trigger = asset.or_high if side > 0 else asset.or_low
        submit_stop_after_processing_delay(asset, side, trigger)
on_entry_fill(fill):
    stop_distance = 0.1 * frozen_daily_atr[fill.asset]
    protective_stop = fill.price - fill.side * stop_distance
    protect_filled_quantity(fill, protective_stop)
on_session_liquidation_deadline():
    cancel_pending_entries()
    close_remaining_positions()

Ang inilaang kapital ay naiiba sa kabuuang equity ng account

Isaalang-alang ang isang sintetikong $100,000 account na hinati sa 20 capital budgets na $5,000. Ang pagsasapanganib sa 1% ng isang alokasyon ay nangangahulugang $50 bawat stock. Ang hindi sinasadyang pagbibigay-kahulugan sa panuntunan bilang 1% ng buong account ay nangangahulugang $1,000 bawat stock: isang dalawampung beses na pagbabago bago ang anumang talakayan ng leverage. Mahalaga ang pagkakaibang ito kapag inihahambing ang mga implementasyon na gumagamit ng magkatulad na pangalan ng estratehiya.

Dahil sa distansya ng paghinto ng $0.20 at wala pang kasama na mga gastos, pinahihintulutan ng badyet ng pagkalugi ng $50 ang 250 share. Sa presyo ng stock na $50, ang nosyonal ay $12,500, na lumalagpas sa alokasyon ng pera ng $5,000. Samakatuwid, dapat matugunan ng aktwal na laki ang minimum na limitasyon sa panganib, nosyonal na limitasyon, kakayahang magamit sa pangungutang, at natitirang kapasidad ng portfolio.

Ang portfolio leverage ceiling ay hindi nangangahulugang pahintulot na sukatin ang bawat sabay-sabay na kalakalan sa ceiling na iyon. Ireserba ang exposure para sa mga isinumiteng order at ilabas ito sa oras ng pagkansela o pagtanggi. Kung hindi, ang mga indibidwal na valid na order ay maaaring sama-samang lumagpas sa limitasyon kapag marami ang napuno nang sabay-sabay.

Ihiwalay ang planadong stop loss sa aktuwal na matinding tail loss. Maaaring sabay-sabay mag-gap lampas sa stop ang correlated stocks. Iulat ang planadong portfolio loss kung lahat ng stop ay ma-fill ayon sa plano; saka mag-stress test ng mas malaking spread, delayed protection at adverse gaps. Hindi garantiya ng magkakahiwalay na panganib ang dalawampung ticker.

Sintetikong tagumpay, pagkabigo at hindi malinaw na mga bar

Ipagpalagay na ang opening range ay may O=50, H=50.30, L=49.90 at C=50.20. Ang opening volume ay 600,000 shares laban sa 200,000-share historical mean, kaya RVOL=3. Ang naunang daily ATR ay 2. Kapag handa na ang seleksyon, ang buy-stop sa 50.30 ay mapupuno sa 50.34. Ang protective stop ay 50.14. Ang isang benta sa katapusan ng araw sa 51.14 ay kikita ng $0.80 kada share, o 4R bago ang mga gastos kapag R=$0.20 kada share.

Sa parehong panimulang setup, maaaring punan ng isang reversal ang stop sa 50.10. Ang pagkalugi ay $0.24 kada share, o 1.2R bago ang komisyon. Hindi ito dapat piliting bumalik sa −1R dahil ang nilalayong stop level ay 50.14. Ang pagkakaiba ay eksakto sa exposure ng execution na maaaring mapalaki ng isang makitid na stop.

Kung babaguhin ng vendor ang opening volume mula 600,000 patungong 150,000, panatilihin nang hiwalay ang orihinal na natanggap na halaga at ang rebisyon. Ang isang live na desisyon batay sa nauna ay hindi maaaring suriin na parang alam na ang huli sa oras ng pagpili.

Ang isang OHLC bar ay maaaring maglaman ng parehong entry at stop prices nang hindi inilalantad ang kanilang order. Gumamit ng mas pinong datos o mag-ulat ng mga konserbatibo at optimistikong hangganan. Ang pagpili ng nanalong intrabar sequence ay hindi isang neutral na pagpapasimple. Ang isang kapaki-pakinabang na unit test ay bumubuo ng dalawang tick path na may magkaparehong OHLC at sinusuri kung kinikilala ng simulator ang kanilang magkakaibang resulta.

Basahin ang mga pampublikong resulta sa loob ng kanilang aktwal na saklaw

Ang pampublikong implementasyon ng QuantConnect ay nag-uulat ng isang pagsubok na 2016 gamit ang isang 1,000-stock universe at Sharpe 2.396. Tinutukoy ng talakayan nito ang mga pagkakaiba sa pagitan ng unang bersyon ng Python at ng implementasyon ng C#. [2] Ito ay isang kapaki-pakinabang na panimulang punto ng replikasyon, ngunit hindi nito malayang bineberipika ang buong walong-taong pag-aaral.

Panatilihin ang label na IRR ng papel. Ang regression alpha ay hindi CAGR, at ang portfolio hit ratio ay hindi maaaring muling lagyan ng label bilang per-trade win rate nang hindi itinatatag ang denominator nito. Ang mga pagkakaiba sa mga return convention ay maaaring magdulot ng iba't ibang annualized figures kahit na magkapareho ang headline total return.

Ang isang iminungkahing ablation ay gumagamit ng A: price-only ORB; B: ORB kasama ang RVOL threshold; C: threshold kasama ang top-20 ranking. Paghambingin ang bilang ng mga oportunidad, tinanggap na mga order, aktwal na pagpuno, turnover at netong resulta sa parehong naka-lock na kalendaryo ng pagsusuri. Iulat ang mga gastos kaugnay ng R ng bawat kalakalan, hindi lamang bilang isang maliit na porsyento ng notional.

Bago ihambing ang mga pangwakas na kurba ng equity, ihambing muna ang mga pang-araw-araw na karapat-dapat na uniberso, mga piling simbolo, mga oras ng pag-trigger, at mga dami. Ang hindi pagtutugma dito ay isang problema sa mga patakaran o datos; ang pag-tune ng slippage upang gawin ang pangwakas na pagtutugma ng pagbabalik ay magtatago nito. Ang isang kapani-paniwalang reproduction ay nagdodokumento ng mga natitirang pagkakaiba at pagkatapos ay sinusuri ang isang tunay na hindi nagalaw na panahon.

Mga karaniwang pagkakamali

Pagraranggo sa open gamit ang end-of-day data

Hindi available ang full-session volume sa 09:35. Ang paggamit nito para pumili ng mga opening trade ay lumilikha ng look-ahead bias.

Pinagsasama ang makikitid na hintuan na may hindi makatotohanang maliliit na gastos

Ang ilang sentimo ng spread o slippage ay maaaring kumonsumo ng malaking bahagi ng R. Iulat ang distribusyon ng gastos sa mga yunit ng panganib.

Pag-antala ng proteksyon ng isang bar

Ang paglikha ng stop isang bar matapos ang entry ay maaaring mag-iwan ng agarang reversal na walang proteksyon. Imodelo ang entry-to-protection sequence gamit ang aktuwal na processing assumptions.

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

Ang mataas na RVOL ba ay nangangahulugan na bumibili ang mga mamumuhunang may kaalaman?

Hindi. Sinusukat nito ang hindi pangkaraniwang natapos na aktibidad ng pangangalakal. Ang direksyon at pagkakakilanlan ng kalahok ay nangangailangan ng iba't ibang ebidensya.

Maaari bang baguhin ang opening range sa 15 minuto?

Oo, bilang isang hiwalay na sinubukang variant. Itugma ang historical volume window sa 15 minuto at isaalang-alang ang mga susunod na entry, iba't ibang paghinto, gastos at ang karagdagang pagsubok sa pananaliksik.

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. A Profitable Day Trading Strategy For The U.S. Equity MarketZarattini, Barbon, Aziz — 16/02/2024. Buong PDF na nabasa; Ang Talahanayan 2 ay nasa pisikal na pahina ng PDF na 17, nakalimbag na pahina na 16. Ang mga resulta ay gumagamit ng mga pagpapalagay ng mga may-akda; walang bagong backtest na isinagawa. Sinuri noong: .
  2. Opening Range Breakout for Stocks in PlayDerek Melchin — QuantConnect. Artikulo, halimbawang code at talakayan sa pagpapatupad na binasa. Hindi naisagawa ang code. Sinuri noong: .
  3. Relative Volume at TimeTradingView. Pangunahing dokumentasyon na tumutukoy sa relatibong dami ng parehong oras. Hindi nito itinatatag ang kakayahang kumita ng ORB. 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