← Kembali ke artikel
July 15, 2026
5 menit baca

TWAP vs VWAP vs POV: memilih benchmark eksekusi (dan mengetahui kapan masing-masing membohongi Anda)

TWAP vs VWAP vs POV: memilih benchmark eksekusi (dan mengetahui kapan masing-masing membohongi Anda)
#execution
#twap
#vwap
#pov
#implementation-shortfall
#kurva-volume
#algotrading
#backtest

Setiap scheduler eksekusi adalah taruhan pada prakiraan volume. TWAP bertaruh bahwa likuiditas rata sepanjang waktu. VWAP bertaruh bahwa kurva volume hari ini akan menyerupai kurva kemarin. POV bertaruh bahwa volume yang tercetak di tape saat ini adalah alasan bagus untuk bertransaksi sekarang — termasuk bagian tape yang sebenarnya adalah Anda sendiri. Tidak satu pun dari taruhan ini diberi label sebagai taruhan dalam dokumentasi vendor, itulah sebabnya sebagian besar perbandingan ketiganya terbaca seperti tabel fitur: TWAP itu "sederhana," VWAP itu "cerdas," POV itu "adaptif." Framing seperti itu tidak memberi tahu Anda apa pun tentang mana yang membuat Anda rugi, kapan, dan seberapa besar.

Ini adalah bagian 2 dari rangkaian yang kami mulai di Order Types in Algorithmic Trading, tempat kami membangun executor TWAP dan VWAP versi mainan dalam ~40 baris Python masing-masing. Executor-executor itu cukup baik sebagai pipa dasar. Artikel ini membahas semua hal yang disembunyikan oleh pipa dasar tersebut: asumsi implisit, politik benchmark, dan eksperimen head-to-head yang dapat direproduksi pada data order book yang diputar ulang, yang menunjukkan bahwa ketiga algoritma ini bukan "varian rasa yang berbeda" — melainkan profil risiko berbeda dengan mode kegagalan yang berbeda pula.

Tiga scheduler, tiga taruhan tersembunyi

Tetapkan notasi. Parent order berukuran XX harus dieksekusi selama horizon [0,T][0, T], dipecah menjadi NN interval. Misalkan xix_i adalah kuantitas child pada interval ii, viv_i volume pasar pada interval ii, dan pip_i harga rata-rata pada interval ii. VWAP pasar sepanjang horizon adalah

VWAP=ipiviivi.\mathrm{VWAP} = \frac{\sum_i p_i v_i}{\sum_i v_i}.

TWAP bertransaksi xi=X/Nx_i = X/N: kuantitas sama dalam interval waktu yang sama. Asumsi implisitnya adalah likuiditas — kedalaman, spread, volume — seragam sepanjang waktu, sehingga irisan yang sama besar menimbulkan impact yang sama besar pula. Ini salah di setiap pasar yang pernah ada, tetapi kegagalannya lembut: jadwalnya deterministik, penyelesaian (completion) dijamin secara konstruksi, dan kasus terburuknya adalah Anda bertransaksi dengan klip tetap ke jam yang tipis dan membayar spread yang lebih lebar untuk itu. Asumsi kedua, yang lebih jarang dibahas, adalah tidak ada yang mengawasi. TWAP yang menembakkan child order setiap 60 detik tepat di detik :00 adalah metronom, dan metronom rentan di-front-run. TWAP yang serius mengacak (randomize) waktu dan ukuran child order-nya; jadwal seharusnya berupa proses semacam Poisson yang ekspektasinya rata, bukan sebuah jam.

VWAP bertransaksi xi=Xuix_i = X \cdot u_i, di mana uiu_i adalah prakiraan fraksi volume harian pada interval ii, iui=1\sum_i u_i = 1. Taruhannya sekarang eksplisit: Anda memegang kurva {ui}\{u_i\} yang diestimasi dari data historis, dan Anda mengasumsikan hari ini mengikuti kurva itu. Asumsinya bukan bahwa volume itu rata, melainkan bahwa volume itu dapat diprediksi dan eksogen — kurva itu tidak peduli apakah Anda bertransaksi atau tidak. Ketika prakiraannya baik, VWAP mengonsentrasikan transaksi Anda di tempat pasar dapat menyerapnya, dan slippage Anda terhadap VWAP pasar menjadi kecil hampir secara tautologis. Ketika prakiraannya buruk — sebuah berita tak terjadwal menggerakkan 40% volume harian ke dalam satu jam yang oleh kurva Anda hanya dialokasikan 6% — VWAP tetap dengan tenang mengikuti jadwal yang sudah basi dan Anda menanggung selisihnya. VWAP mengonversi risiko eksekusi menjadi risiko prakiraan volume. Itulah keseluruhan trade-off-nya, dan itulah sebabnya rekayasa yang menarik dalam mesin VWAP adalah si peramal (forecaster), bukan si pengiris (slicer).

POV (percentage of volume, juga disebut "participation") meninggalkan prakiraan: bertransaksi xt=γVtx_t = \gamma \cdot V_t, fraksi tetap γ\gamma dari volume yang teramati pada setiap interval. Ini terlihat seolah mengungguli VWAP — buat apa meramalkan volume kalau Anda bisa langsung mengikutinya? Masalahnya adalah sinyalnya sekarang endogen. Fill Anda sendiri tercetak di tape. Jika sisa pasar bertransaksi MM dalam satu interval dan Anda menargetkan fraksi γ\gamma dari total volume tape, kuantitas Anda memenuhi x=γ(M+x)x = \gamma(M + x), yaitu

x=γ1γM.x = \frac{\gamma}{1-\gamma}\,M.

Pada γ=0.10\gamma = 0.10 koreksi itu ringan (11,1% dari volume pihak lain). Pada γ=0.25\gamma = 0.25 Anda bertransaksi 33% dari seluruh flow pihak lain; pada γ=0.5\gamma = 0.5 Anda menyamai seluruh sisa pasar satu banding satu dan titik tetapnya (fixed point) divergen. POV juga menanggalkan satu-satunya jaminan yang sama-sama ditawarkan TWAP dan VWAP: tidak ada waktu penyelesaian (completion time). Jika volume mati, jadwal Anda pun ikut mati. Kami akan kembali ke patologi POV di bawah, karena itu layak mendapat bagiannya sendiri.

Satu framing lagi yang akan penting nanti: tidak satu pun dari ketiganya "optimal" dalam pengertian formal apa pun. Scheduler yang benar-benar meminimalkan objektif cost-risk adalah keluarga Almgren–Chriss (Almgren and Chriss, 2000, "Optimal Execution of Portfolio Transactions," Journal of Risk 3, 5–39), yang kami bahas secara mendalam di Almgren–Chriss and the theory of optimal execution schedules. TWAP adalah kasus khusus dari Almgren–Chriss dengan risk aversion nol di bawah impact linear; VWAP adalah strategi minimum-tracking-error terhadap benchmark yang ditimbang volume (Konishi, 2002, "Optimal slice of a VWAP trade," Journal of Financial Markets 5(2)); POV adalah heuristik yang tidak berpadanan dengan fungsi objektif apa pun, yang justru menjadi alasan mengapa mode kegagalannya begitu aneh.

Mengestimasi kurva volume ketika pasar tidak pernah tutup

Literatur ekuitas punya kemudahan tersendiri. Volume intraday pada ekuitas berbentuk U — berat di pembukaan, sepi saat makan siang, berat lagi menjelang penutupan — terdokumentasi sejak Jain and Joh (1988, "The Dependence between Hourly Prices and Trading Volume," JFQA 23(3)) dan diberi landasan teoretis oleh Admati and Pfleiderer (1988, "A Theory of Intraday Patterns: Volume and Price Variability," Review of Financial Studies 1(1)), yang menunjukkan bahwa discretionary liquidity trader dan informed trader secara endogen mengelompok dalam waktu. Bentuk-U ini dijangkarkan oleh dua peristiwa keras, yaitu lelang pembukaan dan penutupan, sehingga kurvanya stabil dan rata-rata bergulir 20 hari dari pangsa volume per interval sudah membawa Anda 90% ke tujuan.

Crypto tidak punya jam buka maupun jam tutup, sehingga anggapan naifnya adalah volume seharusnya rata dan TWAP ≈ VWAP. Anggapan naif itu keliru. Volume intraday crypto memiliki struktur — hanya saja dijangkarkan pada jam yang berbeda:

Efek sesi. Volume mengikuti jam bangun orang-orang dan desk yang mentransaksikannya. Pada pasangan mayor BTC dan ETH, pita terberat adalah sore AS yang tumpang tindih dengan malam Eropa (kira-kira 13:00–21:00 UTC), dengan rak sekunder Asia sekitar 00:00–08:00 UTC dan palung yang jelas sekitar 04:00–06:00 UTC pada pasangan mayor. Pasangan altcoin dengan kepemilikan regional yang terkonsentrasi condong lebih kuat lagi ke sesi rumahnya.

Timestamp funding. Perpetual futures menyelesaikan funding pada waktu UTC tetap — secara historis setiap 8 jam pada 00:00, 08:00, 16:00 UTC, dengan Binance dan lainnya memindahkan banyak kontrak ke siklus penyelesaian 4 jam bahkan 1 jam sejak 2025–2026. Menit-menit di sekitar penyelesaian secara konsisten mencetak volume yang meningkat: basis trader membuka dan menutup posisi carry, dan siapa pun yang mengakali snapshot funding bertransaksi tepat di batas waktu itu. Ini adalah lonjakan, bukan rak datar — kurva dengan bucket 30 menit menangkapnya; kurva dengan bucket 2 jam meratakannya hingga hilang, dan VWAP Anda pun berpartisipasi di bawah semestinya tepat ketika likuiditas paling baik.

Musiman mingguan. Volume akhir pekan pada pasangan mayor secara struktural berjalan di bawah volume hari kerja, dan malam Minggu UTC (pagi Senin Asia, ditambah pembukaan kembali CME untuk futures BTC) punya signature-nya sendiri. Satu kurva time-of-day tunggal yang dikumpulkan lintas semua hari itu keliru spesifikasinya; Anda menginginkan grid day-of-week × time-of-day.

Peristiwa terjadwal. Opsi Deribit kedaluwarsa 08:00 UTC (hari Jumat, dengan klaster kuartalan), rilis makro AS mendarat pada 12:30/14:00 UTC, penyelesaian CME penting untuk basis flow. Ini adalah fitur kalender, bukan musiman — tangani sebagai dummy, bukan dengan mencemari kurva baseline.

Estimator yang bisa dipakai, dalam semangat menjaga si peramal tetap jujur sebelum membuatnya menjadi lebih cerdik:

import pandas as pd

def volume_curve(trades: pd.DataFrame, bucket="30min") -> pd.Series:
    """day-of-week x time-of-day volume shares from a trades tape."""
    v = trades["qty"].resample(bucket).sum()
    day_total = v.groupby(v.index.date).transform("sum")
    share = v / day_total                      # fraction of that day's volume
    key = [v.index.dayofweek, v.index.time]
    curve = share.groupby(key).median()
    return curve / curve.groupby(level=0).transform("sum")  # renormalize per day

Median dibanding mean bukan sekadar pilihan gaya. Volume crypto sangat heavy-tailed; satu liquidation cascade bisa saja mencapai 15% volume harian dalam 10 menit, dan kurva berbasis mean akan selamanya mengharapkan lonjakan di bucket itu setelahnya. Literatur ekuitas melangkah lebih jauh daripada sekadar kurva statis: Białkowski, Darolles and Le Fol (2008, "Improving VWAP strategies: A dynamic volume approach," Journal of Banking & Finance 32(9), 1709–1722) mendekomposisi volume interval menjadi komponen pasar bersama dan komponen spesifik-saham yang dimodelkan dengan dinamika ARMA/SETAR, dan menunjukkan bahwa dekomposisi ini secara material mengurangi risiko tracking VWAP dibandingkan kurva klasik statis. Terjemahan ke crypto bersifat langsung: estimasi kurva pasar secara luas dari top-N pair (faktor bersamanya kuat — jam funding dan sesi bersifat bersama), lalu modelkan deviasi pair Anda sebagai proses intraday mean-reverting yang Anda perbarui secara real time. Lebih baru lagi, Genet (2025, "Deep Learning for VWAP Execution in Crypto Markets: Beyond the Volume Curve," arXiv:2502.13722) menunjukkan jadwal end-to-end hasil pembelajaran mengungguli VWAP kurva statis pada data Binance — bukti bahwa di crypto, kurva volume adalah mata rantai terlemah dari pipeline, bukan pengirisannya.

Ringkasan operasional: kurva all-days yang statis adalah VWAP strawman. Jika perbandingan Anda menunjukkan "VWAP nyaris tidak mengungguli TWAP di crypto," periksa dulu apakah VWAP tersebut diberi makan kurva yang benar-benar memuat lonjakan funding dan pemisahan hari-kerja/akhir-pekan sebelum menyimpulkan apa pun.

Heatmap volume intraday crypto dengan lonjakan funding dan struktur sesi

Patologi POV: algoritma yang mengejar ekornya sendiri

Pitch POV adalah adaptivitas: bertransaksi saat pasar bertransaksi. Tiga patologi berbeda meruntuhkannya.

1. Loop umpan balik. Endogenitas di atas bukan sekadar koreksi pembukuan. Child order Anda menciptakan volume; volume menaikkan target Anda; target Anda menciptakan volume. Pada γ\gamma moderat, titik tetap x=γ1γMx = \frac{\gamma}{1-\gamma}M stabil, tetapi partisipasi yang terukur dalam laporan post-trade Anda (γ\gamma dari total tape) meremehkan jejak Anda dibandingkan dengan apa yang akan terjadi di pasar tanpa Anda (γ1γ\frac{\gamma}{1-\gamma} dari semua pihak lain). Lebih buruk lagi, umpan balik orde kedua juga ada: fill Anda menggerakkan harga, pergerakan harga menarik flow momentum dan memicu stop, flow itu menaikkan volume tape, dan mesin POV Anda membaca volume yang ia ciptakan sendiri sebagai undangan untuk mempercepat. Ini justru kebalikan dari perilaku optimal — scheduler yang sadar-impact (Almgren–Chriss dengan parameter wajar, dan estimasi impact empiris seperti Almgren, Thum, Hauptmann and Li, 2005, "Direct Estimation of Equity Market Impact," Risk 18(7)) menginginkan Anda melambat setelah mendorong harga, bukan mempercepat. Liquidation cascade adalah limit patologisnya: volume tape yang sangat besar, order book satu arah, dan POV vanilla membeli paling agresif justru di puncak squeeze karena di situlah prints-nya berada.

2. Digiring (being gamed). Algo POV adalah mesin order flow yang dipicu volume, dan apa pun yang dipicu bisa diumpani (baitable). Predator yang mencurigai adanya pembeli participation besar dapat mencetak volume — self-crossing di tempat aturan mengizinkannya, atau sekadar bertransaksi aktif dalam ukuran kecil — untuk menarik mesin POV maju, lalu memasok likuiditas kepadanya pada harga yang sudah dinaikkan. Ini adalah instansiasi berskala kecil dari mekanisme umum dalam Brunnermeier and Pedersen (2005, "Predatory Trading," Journal of Finance 60(4)): ketika permintaan masa depan Anda dapat diprediksi dari perilaku masa lalu Anda, pihak lain bertransaksi mendahuluinya dan jalur harga yang Anda hadapi menjadi lebih buruk daripada yang Anda perkirakan. TWAP membocorkan jadwal dalam waktu; POV membocorkan fungsi respons, yang lebih berbahaya karena pihak lawan bisa memicunya sesuka hati.

3. Ekor yang tak pernah selesai. POV tidak punya jam. Jika Anda harus membeli 500 BTC pada 16:00 UTC dan volume menguap pada 14:00, POV murni akan diam dan menunggu — secara desain, ia tidak mampu menyelesaikan sendiri. Setiap POV produksi karenanya membawa min-rate floor dan mode catch-up, dan mode catch-up itulah tempat kerugian bersembunyi: Anda menghabiskan hari bertransaksi secara pasif pada partisipasi 10%, lalu meledakkan sisa 30% dari parent order melalui jendela penutupan yang tipis pada partisipasi efektif tiga kali lipat target Anda. Rata-rata post-trade terlihat baik-baik saja; biaya marjinal dari tranche terakhir itu brutal. Jika laporan POV Anda tidak memecah ekor ini secara terpisah, Anda belum melihat biaya sebenarnya.

def pov_child_qty(tape_vol: float, gamma: float, remaining: float,
                  t_left_s: float, min_rate: float) -> float:
    target = gamma / (1.0 - gamma) * tape_vol   # exclude our own prints
    floor = remaining / max(t_left_s, 1.0) * CHILD_INTERVAL_S
    if t_left_s < CATCHUP_HORIZON_S:            # deadline dominates
        floor = max(floor, remaining * CHILD_INTERVAL_S / t_left_s)
    return min(remaining, max(target, floor, min_rate))

Dua detail dalam potongan kode ini benar-benar berperan: target menggunakan γ1γ\frac{\gamma}{1-\gamma} dari volume tape ex-us (Anda harus mengurangi fill Anda sendiri dari tape yang Anda respons — sejumlah implementasi mengejutkan ternyata tidak melakukan ini), dan floor deadline mengubah POV menjadi TWAP-pada-sisa saat waktu menipis, yang setidaknya membuat biaya ekor menjadi dapat diprediksi.

Loop umpan balik POV: fill menciptakan volume, volume menaikkan target

Benchmark: mengapa mengalahkan VWAP masih bisa merugikan Anda

Scheduler dan benchmark adalah pilihan yang terpisah, dan mencampuradukkan keduanya adalah dosa post-trade yang paling umum. Dua benchmark mendominasi.

Benchmark VWAP — membandingkan harga fill rata-rata Anda dengan VWAP interval — diperkenalkan oleh Berkowitz, Logue and Noser (1988, "The Total Cost of Transactions on the NYSE," Journal of Finance 43(1)), yang mengusulkan harga volume-weighted hari itu sebagai tolok ukur netral untuk kualitas eksekusi institusional. Ini menjadi default industri karena alasan sosiologis sama besarnya dengan alasan teknis: mudah dihitung, mudah dijelaskan, dan sulit terlihat buruk jika Anda sekadar menyebarkan transaksi Anda sepanjang hari.

Implementation shortfall (harga arrival) berasal dari Perold (1988, "The Implementation Shortfall: Paper Versus Reality," Journal of Portfolio Management 14(3), 4–9): ukur segalanya terhadap harga p0p_0 pada momen keputusan dibuat. Untuk pembelian sebesar XX dengan kuantitas terisi XfX_f pada harga rata-rata pˉ\bar{p}, harga terminal pTp_T:

IS=(pˉp0)Xfbiaya eksekusi  +  (pTp0)(XXf)biaya peluang  +  biaya.\mathrm{IS} = \underbrace{(\bar{p} - p_0)\,X_f}_{\text{biaya eksekusi}} \;+\; \underbrace{(p_T - p_0)\,(X - X_f)}_{\text{biaya peluang}} \;+\; \text{biaya}.

Poin Perold adalah bahwa selisih antara portofolio kertas dan portofolio nyata justru adalah kuantitas ini — dan perhatikan bahwa ia membebankan biaya untuk apa yang gagal Anda eksekusi, yang diam-diam diabaikan oleh benchmark VWAP. Suku biaya peluang itulah yang membuat IS menjadi satu-satunya benchmark yang jujur untuk POV, yang mode kegagalan khasnya adalah kuantitas yang tidak terisi.

Sekarang jebakannya. VWAP sebagai benchmark memiliki dua titik buta struktural:

Ia self-referential. Fill Anda berada di dalam benchmark itu sendiri. Jika Anda adalah 30% dari volume interval, maka kira-kira 30% dari VWAP itu adalah harga rata-rata Anda sendiri, dan slippage terukur Anda terhadap VWAP secara mekanis mengecil oleh partisipasi Anda sendiri — semakin besar dan semakin berdampak order Anda, semakin baik skornya. Pada limit di mana Anda satu-satunya trader, Anda mengalahkan VWAP dengan tepat nol, berapa pun buruknya Anda menggerakkan harga. Slippage VWAP mengukur kepatuhan jadwal, bukan biaya.

Ia mengabaikan drift relatif terhadap keputusan. Angka konkret: Anda memutuskan membeli 100 BTC pada harga keputusan $60.000. Pasar tren naik sepanjang sore; VWAP interval mencetak $60.320 dan Anda terisi pada rata-rata $60.290. Laporan VWAP: –5 bps, mengalahkan benchmark, desk mendapat sel hijau. Laporan arrival: Anda membayar $290 di atas harga keputusan untuk 100 BTC — +48 bps, $29.000 implementation shortfall. Kedua angka itu benar. Hanya satu yang berupa uang. Dan korupsi insentifnya berjalan lebih dalam lagi: trader yang dinilai berdasarkan VWAP seharusnya melambat pada hari yang trending (menyebarkan transaksi lebih mengikuti benchmark), yang justru kebalikan dari apa yang meminimalkan shortfall ketika harga lari menjauh dari Anda. Benchmark itu tidak sekadar salah mengukur biaya — ia meresepkan perilaku yang salah. Kissell (2013, The Science of Algorithmic Trading and Portfolio Management, Academic Press) membahas masalah pemilihan benchmark ini secara panjang lebar; framing-nya layak diinternalisasi: benchmark mengodekan risiko siapa yang sedang Anda kelola. VWAP mengelola risiko rasa malu desk eksekusi. Harga arrival mengelola P&L portofolio.

Resolusi praktis: nilai strategi berdasarkan implementation shortfall; gunakan slippage VWAP sebagai diagnostik (ia mengisolasi keterampilan penjadwalan dari keberuntungan timing, karena drift memengaruhi Anda dan benchmark sekaligus); dan jangan pernah biarkan siapa pun yang order-nya >10% dari volume interval mengutip slippage VWAP tanpa juga mengutip partisipasinya.

Eksperimen: tiga algoritma, satu tape

Setelah definisi ditetapkan, kita bisa melakukan apa yang tidak pernah dilakukan artikel-artikel perbandingan: menjalankan ketiga scheduler pada parent order identik di atas data replay yang sama dan melihat distribusi biaya distribusi, bukan kata sifat. Harness ini berjalan pada simulator fill event-driven yang dijelaskan di Fill simulation: partial fills, queue position and why your backtest fills are lies — kedalaman L2 yang di-replay, child limit order mendapatkan queue position, child agresif menyusuri book, dan fill kita mengganggu tape yang diamati scheduler (yang sangat penting bagi POV, sesuai bagian umpan balik di atas).

Setup, agar Anda bisa mereproduksinya pada data Anda sendiri:

  • Instrumen/data: BTCUSDT perpetual, replay L2 90 hari (20 level teratas, 100 ms) + tape trades.
  • Parent order: 500 per algoritma, identik di seluruh algoritma: waktu mulai acak, horizon T=4T = 4 jam, ukuran 0,75% dari ADV 30 hari trailing (cukup besar agar impact-nya nyata, cukup kecil agar ketiganya bisa plausibel selesai), sisi beli, harga keputusan = mid pada saat mulai.
  • TWAP: 48 child slice, jitter timing/ukuran ±30%.
  • VWAP: kurva median day-of-week × time-of-day 30 menit (estimator di atas), di-refit mingguan, tanpa pembaruan intraday — sengaja dibuat versi sederhana.
  • POV: γ=12%\gamma = 12\% dari volume tape ex-us, min-rate floor, catch-up TWAP pada 30 menit terakhir.
  • Metrik: IS dalam bps dari harga keputusan (biaya termasuk), slippage VWAP dalam bps, completion rate, dan — satu yang tidak pernah dilaporkan siapa pun — IS dari kuartil terakhir setiap parent.

Hasil representatif dari eksperimen kami (angka Anda akan berbeda, tetapi bentuknya seharusnya tidak):

Metric (bps vs arrival) TWAP VWAP POV 12%
Mean IS 11.8 9.6 8.9
Median IS 9.1 7.7 6.4
Std of IS 21.5 19.8 26.3
95th percentile IS 46 41 58
Mean VWAP slippage +1.9 +0.4 –0.8
Completion at T 100% 100% 96.4%
Mean IS, final quartile of parent 12.5 10.2 19.7

Tiga pembacaan, dalam urutan pentingnya yang meningkat:

Mean-nya memuji POV dan ekornya justru menghakiminya. POV unggul pada mean dan median IS — beradaptasi dengan likuiditas terealisasi memang benar-benar bernilai beberapa bps dibandingkan kurva statis. Tetapi standar deviasi IS dan persentil ke-95-nya adalah yang terburuk di antara ketiganya, completion rate-nya bukan 100%, dan biaya kuartil terakhirnya lebih dari dua kali lipat angka headline-nya: ekor yang tak pernah selesai ditambah mode catch-up mengonsentrasikan biaya tepat di tempat rata-rata menyembunyikannya. Jika parent order Anda digerakkan alpha dengan horizon keras, ekor itulah angka yang penting, dan keunggulan mean POV tidak sepadan dengannya.

Keunggulan VWAP atas TWAP persis sama dengan kualitas prakiraannya. Kondisikan selisih IS VWAP–TWAP terhadap error kurva-volume terealisasi (jarak L1L_1 antara prakiraan uiu_i dan pangsa terealisasi) dan hubungannya monoton: pada tersil hari dengan prakiraan terbaik, VWAP mengungguli TWAP sekitar ~4 bps; pada tersil terburuk, selisihnya berada dalam noise dan kadang berbalik arah. Di crypto, tersil terburuk itu tidak acak — itu adalah hari-hari cascade dan hari-hari berita, yang juga merupakan hari-hari dengan biaya tertinggi secara keseluruhan. VWAP memperbaiki rata-rata Anda dengan tampil unggul justru pada hari-hari yang memang sudah mudah.

Slippage VWAP dan IS memberi peringkat berbeda pada algoritma-algoritma ini. POV mencetak slippage VWAP mean yang negatif — tentu saja, karena ia bertransaksi proporsional terhadap volume yang justru mendefinisikan benchmark itu sendiri, dan fill-nya duduk di dalamnya. Menurut papan skor VWAP, POV adalah algoritma terbaik di sini; menurut papan skor arrival dan risiko completion, ia adalah yang paling berbahaya. Tape yang sama, fill yang sama, kesimpulan yang berlawanan — yang justru merupakan keseluruhan argumen dari bagian sebelumnya, dirender sebagai tabel.

Distribusi implementation shortfall untuk TWAP, VWAP dan POV

Harness itu sendiri hanya ~50 baris di sekitar simulator fill dan sepadan dengan setiap menitnya, karena ia mengubah pemilihan scheduler dari debat selera menjadi pengukuran:

for parent in sample_parents(n=500, horizon="4h", adv_frac=0.0075):
    for algo in (twap, vwap, pov):
        sim = ReplaySim(l2_stream(parent.window), fees=TAKER_MAKER)
        fills = sim.run(algo.schedule(parent))          # fills perturb the tape
        report(parent, algo, is_bps(fills, parent.p0),
               vwap_slip_bps(fills, sim.tape), fills.completion)

Memilih, dalam praktik

Aturan pemilihan jujur yang muncul dari semua ini:

  • Deadline keras, parent digerakkan alpha: TWAP atau jadwal Almgren–Chriss front-loaded. Bayar pajak likuiditas-rata; beli jaminan completion dan ekor yang terbatas. Acak child order-nya.
  • Flow yang digerakkan benchmark (Anda secara harfiah dibayar berdasarkan VWAP), atau ukuran besar pada hari normal: VWAP — dan habiskan anggaran rekayasa Anda pada peramal volume: grid day-of-week, resolusi lonjakan funding, pembaruan dinamis intraday ala Białkowski–Darolles–Le Fol. Mesin VWAP dengan kurva yang malas adalah TWAP dengan langkah ekstra.
  • Oportunistik, tanpa deadline keras, sensitif likuiditas: POV pada γ\gamma moderat (≤15%), dihitung pada volume ex-us, dengan filter cascade (batasi partisipasi ketika z-score volume tape meledak) dan fallback deadline yang biayanya Anda ukur secara terpisah.
  • Apa pun yang Anda jalankan: nilai berdasarkan implementation shortfall terhadap arrival, mengikuti Perold. Simpan slippage VWAP sebagai diagnostik keterampilan penjadwalan, jangan pernah sebagai papan skor — papan skor harus didenominasikan dalam uang, dan hanya harga arrival yang seperti itu.

Dan aturan meta yang terus ditegaskan eksperimen ini: bandingkan distribusi, bukan mean, pada data replay Anda sendiri. Scheduler adalah taruhan pada prakiraan volume, dan Anda tidak mengevaluasi taruhan dari payout rata-ratanya sambil mengabaikan ekornya — begitulah cara pasar menjual POV kepada Anda.

Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.