31 Ogos 2026 · pasaran ramalan

Apa yang rosak apabila anda menguji semula pasaran ramalan: diari lapan hari

Apa yang rosak apabila anda menguji semula pasaran ramalan: diari lapan hari

Pasaran ramalan nampak seperti perkara paling mudah di dunia untuk diuji semula. Harganya berada dalam julat [0, 1]. Bayarannya satu dolar atau tiada apa-apa. Tiada leverage, tiada pembiayaan, tiada asas, tiada keanehan swap kekal pada 00:00 UTC. Kami sudah ada penguji semula yang mengendalikan niaga hadapan kekal kripto dengan yuran, pembiayaan dan impak, jadi rancangannya ialah meluangkan dua hari untuk menyesuaikannya, kemudian mula menjana strategi.

Rupanya mengambil masa lapan hari. Ini catatannya, lebih kurang mengikut turutan, termasuk hari apabila lengkung ekuiti nampak luar biasa dan memang begitu.

Hari 1: penyesuai yang sepatutnya mudah

Pemetaan awalnya satu dengan satu dan nampak kemas. Pasaran ialah instrumen. Harga YES ialah harganya. Membeli YES bermaksud long, membeli NO bermaksud short. Penyelesaian ialah penutupan paksa pada 1.00 atau 0.00. Masukkan siri harga setiap jam ke dalam gelung peristiwa yang sama, selesai.

Pemetaan itu bertahan kira-kira sembilan puluh minit apabila berdepan dengan data sebenar. Perkara pertama yang gagal ialah siri pulangan. Seluruh lapisan risiko kami — penentuan saiz posisi, sasaran volatiliti, pelaporan Sharpe — mengandaikan pulangan log bagi instrumen berterusan. Pasaran yang bergerak daripada 0.04 ke 0.00 mempunyai pulangan log yang tidak ditakrifkan dan kerugian penuh yang jelas. Pasaran pada 0.04 tiga hari sebelum penyelesaian pula ialah objek yang berbeza sama sekali daripada pasaran pada 0.04 empat minit sebelum penyelesaian, walaupun kedua-dua baris menunjukkan 0.04.

Akhirnya, kami memparameterkan semula seluruh siri berdasarkan masa sehingga penyelesaian, bukan masa jam, dan menganggap PnL sebagai nilai akhir, bukannya nilai bertanda. Itu keputusan yang betul, tetapi ia menjadikan semua kod pelaporan selepasnya tidak terpakai.

Hari 2: formula yuran menentukan strategi

Di Kalshi, yuran dagangan bukan potongan dalam mata asas. Ia berkadar kuadratik dengan harga: lebih kurang 0.07 × contracts × P × (1−P), dibundarkan ke atas kepada sen terdekat pada peringkat pesanan. Ini bermakna yuran paling tinggi tepat ketika pasaran lambungan syiling paling menarik, dan hampir percuma di hujung taburan.

HargaYuran setiap kontrakEdge diperlukan (mata kebarangkalian)Yuran sebagai % daripada taruhan
5¢0.33¢0.336.7%
10¢0.63¢0.636.3%
25¢1.31¢1.315.3%
50¢1.75¢1.753.5%
75¢1.31¢1.311.8%
90¢0.63¢0.630.7%
95¢0.33¢0.330.35%

Anggap lajur ketiga sebagai perkara utama: untuk pulang modal dengan membeli pada 50¢ dan memegangnya sehingga penyelesaian, anggaran kebarangkalian anda mesti mengatasi anggaran pasaran sebanyak 1.75 mata. Bukan 1.75 peratus secara relatif. Nilai mutlak. Jika anda keluar sebelum penyelesaian dan bukannya memegangnya, anda membayar yuran itu dua kali, ditambah spread.

3.5%yuran sehala pada 50¢, sebagai bahagian daripada taruhan
1.75ppedge kebarangkalian untuk pulang modal di situ
1penyelesaian bagi setiap instrumen, sepanjang hayatnya

CLOB Polymarket secara sejarah mempunyai profil yuran yang sangat berbeza, hampir sifar bagi dagangan itu sendiri, jadi keseluruhan kos beralih kepada spread dan kedalaman. Maka logik strategi yang sama mempunyai ekonomi yang sama sekali berbeza mengikut venue, dan sebarang perbandingan merentas venue yang menggunakan satu model yuran hanyalah rekaan. Kini kami menggunakan fungsi yuran khusus bagi setiap venue, bukan satu nilai skalar.

Jika anda membaca satu baris sahaja daripada laporan pengujian semula pasaran ramalan, baca baris yuran dalam mata kebarangkalian. Strategi dengan edge ramalan yang didakwa sebanyak 1.2 mata pada pasaran 50¢ akan rugi di Kalshi sebelum mengambil kira kos lain. Perkara ini patut jelas pada halaman pertama, bukannya perlu dikira sendiri oleh pembaca.

Hari 3: buku pesanan bertangga dan cetek

Model impak kami ialah fungsi punca kuasa dua yang ditentukur pada buku pesanan niaga hadapan kekal BTC. Bentuknya salah. Dengan tick 1¢ pada instrumen $1, hanya ada 99 paras harga yang mungkin dalam seluruh buku, dan pasaran berkecairan sederhana mungkin mempunyai beberapa ratus kontrak pada paras teratas, kemudian ada jurang.

Ini petikan daripada pasaran data ekonomi yang kami ambil sampelnya, bahagian YES, kira-kira 30 jam sebelum penyelesaian:

ParasSaiz (kontrak)Kos kumulatif pembelian
42¢310310 @ purata 42.0¢
43¢85395 @ purata 42.2¢
45¢140535 @ purata 42.9¢
49¢6001,135 @ purata 46.1¢

Pesanan 1,000 kontrak — risiko lima ratus dolar, jumlah yang hampir tidak bermakna dalam kripto — menggerakkan harga efektif sebanyak empat sen. Empat sen lebih daripada dua kali ganda yuran. Tiada fungsi licin yang boleh dipadankan di sini; anda perlu menelusuri buku pesanan satu paras demi satu paras, kalau tidak anda sekadar mereka-reka. Kami memadamkan model punca kuasa dua untuk kelas aset ini dan menulis penelusur buku pesanan yang mengira secara terus, lebih perlahan tetapi tepat.

Pada satu ketika saya tersedar bahawa saya geram kerana pasaran ini "terlalu kecil untuk penting". Saiznya kecil kerana perkara yang dinilai ialah satu soalan dunia sebenar dengan tarikh akhir, dan hanya begitu ramai orang yang mempunyai pendapat tentang tuntutan awal pengangguran AS pada hari Rabu. Saiz itulah yang membentuk pasaran ini. Mengeluh tentangnya sama seperti mengeluh kerana meja poker hanya memuatkan sembilan orang.

Hari 4: hari lengkung ekuiti nampak cantik

Sharpe 4.1 pada 1,400 pasaran. Licin. Perut setiap penyelidik sepatutnya terasa tidak sedap melihatnya, dan perut saya pun begitu akhirnya, kira-kira empat puluh minit selepas saya mengambil tangkap layar.

Pepijat itu ada dalam pensampel semula. Sejarah harga bagi pasaran tidak cair mempunyai cap masa yang tidak sekata, jadi kami menyusun semula indeks pada grid setiap jam yang seragam. Titik akhir setiap siri arkib ialah nilai penyelesaian, 1.00 atau 0.00. Kami menggunakan isian jiran terdekat tanpa mengehadkan arah, jadi bagi mana-mana pasaran yang dagangan terakhirnya berlaku beberapa jam sebelum penyelesaian, nilai penyelesaian tersebar ke belakang merentasi jurang itu. Model membaca jawapan esok dalam baris hari ini, tepat untuk pasaran tidak cair yang membolehkannya mengambil posisi besar tanpa melanggar had kedalaman.

Isian jiran terdekat sesuai untuk instrumen berterusan. Bagi instrumen yang pemerhatian terakhirnya ialah kebenaran sebenar, ia menjadi mesin intipan masa depan. Kini kami memastikan setiap isian hanya bergerak ke hadapan dan baris penyelesaian ditandai serta dikecualikan daripada sebarang pengiraan ciri. Tegasan itu panjangnya sembilan baris dan itulah kod paling bernilai yang kami tulis sepanjang minggu.

Hari 5–6: 1,412 pasaran, kira-kira 180 pertaruhan

Saiz sampel dalam pasaran ramalan ialah perangkap yang nampak mesra. Anda menyelesaikan 1,412 pasaran, terasa seolah-olah anda ada 1,412 pemerhatian, lalu mengira statistik-t yang sepadan. Tetapi empat belas perlawanan NFL pada hari Ahad yang sama berkongsi sistem cuaca, pengumuman laporan kecederaan dan aliran pertaruhan yang sama. Lima puluh satu pasaran pilihan raya peringkat negeri berkongsi satu anjakan sokongan nasional. "Adakah X akan berlaku menjelang 31 Mac" dan "adakah X akan berlaku menjelang 30 Jun" ialah pertaruhan yang sama dengan tarikh luput berbeza, dan kedua-duanya selesai serentak.

Kami mengelompokkan pasaran mengikut sumber peristiwa asas dan tarikh penyelesaian, lalu mendapat bilangan bebas efektif sekitar 180. Jumlah itu tidak cukup untuk membezakan edge sebenar daripada hingar pada saiz kesan yang kami kaji, dan pensampelan bootstrap bagi setiap pasaran tidak dapat membetulkannya, kerana bootstrap perlu mengambil sampel semula kelompok, bukannya baris. Jika tersilap mengira, tahap keberertian anda meningkat dua atau tiga kali ganda secara senyap.

Hari 7: penyelesaian juga mempunyai taburan kebarangkalian

Perkara yang langsung tidak kami modelkan, dan hanya kami temui dengan cara yang sukar:

Kami menambah istilah kos pegangan dan sedikit rawakan tarikh penyelesaian pada simulator. Kedua-duanya tidak tepat. Namun, kedua-duanya lebih baik daripada andaian tersirat bahawa penyelesaian pasti berlaku tepat pada tarikh yang dinyatakan.

Hari 8: perkara yang patut dilangkau dan perkara yang patut dibuat dahulu

  1. Langkau terus rangka kerja berasaskan pulangan. Jangan sesuaikan lapisan risiko sasaran volatiliti untuk instrumen yang mempunyai bayaran akhir. Tulis lapisan penentuan saiz taruhan yang menggunakan kebarangkalian dan nilai taruhan. Kami kehilangan dua hari cuba menyesuaikan yang lama.
  2. Bina fungsi yuran sebelum strategi. Cetak lengkung edge pulang modal bagi setiap venue yang ingin anda dagangkan dan letakkannya di atas meja. Ia menggugurkan kira-kira separuh idea sebelum idea itu menelan masa untuk satu larian pengujian semula.
  3. Telusuri buku pesanan dari hari pertama. Sebarang model impak parametrik yang diambil daripada pasaran berterusan akan tersilap dengan cara yang menguntungkan anda.
  4. Kelompokkan sebelum mengira. Tentukan kunci pengelompokan untuk saiz sampel efektif serentak dengan penentuan semesta pasaran, bukan selepas anda mendapat Sharpe yang anda suka.
  5. Tegaskan arah isian. Satu baris bagi setiap cantuman. Jika siri berakhir dengan kebenaran sebenar, anggap isian ke belakang sebagai pepijat dari awal lagi, bukannya sesuatu yang akan anda sedari semasa semakan.

Lapan hari itu berbaloi, terutamanya kerana pasaran ramalan menyingkirkan kesamaran yang memudahkan kita memperdaya diri sendiri ketika menguji semula strategi kripto. Tiada kadar pembiayaan untuk dipandang ringan, tiada konvensyen harga tanda untuk diperdebatkan. Hanya satu soalan, tarikh akhir dan jawapan. Apabila pengujian semula tersilap di sini, kita boleh tunjukkan puncanya.

pasaran ramalanpengujian semulayuranmikrostruktur pasarankejuruteraan data
← Semua catatan