12 September 2026 · risiko

Lima peraturan saiz posisi, satu isyarat: bahagian backtest yang benar-benar berkesan

Lima peraturan saiz posisi, satu isyarat: bahagian backtest yang benar-benar berkesan

Isyarat masuk anda mungkin perkara yang paling kurang penting dalam backtest anda. Saya boleh ambil satu peraturan momentum sederhana, kekalkan setiap cap masa masuk dan keluar tanpa perubahan, ubah hanya fungsi yang menentukan jumlah kontrak untuk dipegang, lalu mengubah Sharpe bersih daripada 0.41 kepada 0.71 dan susut nilai maksimum daripada 31% kepada 13%. Dagangan yang sama. Isian yang sama. Strategi berbeza.

Dakwaan itu menjengkelkan orang, dan memang patut, kerana ia membayangkan bahawa kebanyakan masa yang dihabiskan untuk melaras tempoh pandang balik dan ambang penapis sebenarnya tertumpu pada perkara kecil. Jadi biar saya tunjukkan keputusan sebenar, kemudian saya akui juga hujah pihak pengkritik, kerana ada versi hujah ini yang salah dan elok kita tahu versi yang saya kemukakan.

Satu isyarat, enam cara memegangnya

Isyaratnya: kontrak perpetual ETHUSDT di Binance USDⓈ-M, bar 1 jam, posisi beli apabila EMA 12 jam berada di atas EMA 96 jam, selain itu tiada posisi, tanpa posisi jual. Julai 2022 hingga Jun 2026. 431 dagangan pergi balik. Yuran taker pada kedua-dua sisi sebanyak 5.0 bps, funding dibayar atau diterima setiap lapan jam berdasarkan posisi sebenar, gelinciran dimodelkan berdasarkan kedalaman buku pesanan teratas. Ini isyarat yang sengaja membosankan — saya pilih kerana tiada siapa akan mempertahankannya, menjadikannya permukaan ujian yang bersih.

Setiap baris di bawah menggunakan cap masa bar masuk dan keluar yang sama. Satu-satunya perbezaan ialah fungsi saiz posisi.

Peraturan saiz posisiSharpe bersihSusut nilai maks.Nilai nosional didagangkan/tahun (× purata posisi)Kos sebagai % daripada PnL kasarLeveraj puncak
Nosional tetap $10k0.4118.2%246×14%1.0×
Fraksi tetap, 100% daripada ekuiti0.4430.8%251×15%1.0×
Volatiliti terealisasi 20 hari songsang0.6814.1%690×29%4.4×
Sasaran volatiliti tahunan 20%, imbangan semula setiap jam, tanpa had0.7112.9%1,180×41%6.3×
Sasaran volatiliti 20%, jalur tiada dagangan 20%, had leveraj 3×0.6615.3%402×19%3.0×
Half-Kelly berdasarkan purata/varians bergulir 60 hari0.5224.6%830×33%8.1×
0.41 → 0.71Sharpe bersih, kemasukan yang sama
41%daripada PnL kasar habis akibat imbangan semula setiap jam
6.3×leveraj puncak yang digunakan secara senyap oleh larian Sharpe terbaik

Lihat jurangnya. Antara baris terburuk dengan terbaik, terdapat perbezaan relatif Sharpe sebanyak 73% dan faktor 2.4 pada susut nilai. Sekarang cuba cari parameter isyarat masuk dalam set data ini yang mengubah Sharpe sebanyak 0.30 tanpa jelas menunjukkan terlebih suai. Saya sudah cuba. Panjang pasangan EMA mengubahnya kira-kira 0.12 merentas keseluruhan grid yang munasabah, dan kebanyakan perubahan itu ialah hingar yang tidak kekal di luar sampel.

Mengapa volatiliti songsang nampak begitu baik, dan berapa banyak daripadanya yang benar-benar nyata

Mekanismenya tidak pelik. Dengan nosional tetap, saiz posisi anda tidak berkorelasi dengan volatiliti terealisasi, yang bermaksud risiko dolar setiap dagangan berkadar dengan volatiliti minggu itu. Bagi ETH dalam tempoh ini, volatiliti terealisasi 20 hari berjulat daripada 31% hingga 118% secara tahunan. Larian nosional tetap mengambil risiko dolar 3.8× lebih besar pada Mac 2024 berbanding Julai 2023, bukan kerana isyarat lebih yakin, tetapi kerana pasaran lebih bergelora. Hampir semua susut nilainya tertumpu pada kuintil volatiliti tertinggi. Saiz posisi songsang-vol menghapuskan hubungan itu, dan penghapusannya benar-benar memperbaiki bentuk aliran pulangan.

Namun, sebahagian daripada peningkatan Sharpe ialah artifak pengukuran, dan jika anda tidak memisahkan kedua-duanya, anda akan membuat keputusan hiliran yang buruk. Sharpe membahagikan pulangan dengan sisihan piawai pulangan. Penyasaran volatiliti, mengikut takrifnya, ialah operasi yang menstabilkan sisihan piawai pulangan. Anda mengoptimumkan penyebut secara langsung. Peraturan yang menskalakan posisi untuk mencapai volatiliti ex-ante yang malar akan meningkatkan Sharpe pada hampir semua aliran pulangan dengan pengelompokan volatiliti, termasuk aliran tanpa kelebihan. Saya sudah mengesahkannya pada isyarat yang diacak: rawakkan cap masa masuk, kekalkan lapisan sasaran-vol, dan Sharpe masih meningkat kira-kira 0.06 berbanding nosional tetap pada asas min sifar. Kecil, tetapi bukan sifar, dan ia semata-mata kesan mekanik.

Jadi apabila saya membandingkan peraturan saiz posisi secara dalaman, Sharpe tidak pernah menjadi satu-satunya angka dalam helaian. Saya mahu Calmar, saya mahu PnL bersih bagi setiap unit purata nosional yang digunakan, dan saya mahu pecahan daripada kasar kepada bersih, kerana ketiga-tiganya bersama-sama jauh lebih sukar dimanipulasi dengan helah penyebut.

Anggaran volatiliti ialah model, dan kebocoran juga boleh berlaku padanya

Cara paling lazim keputusan saiz posisi yang baik rupa-rupanya palsu: anggaran volatiliti menggunakan maklumat daripada bar yang sedang digunakan untuk menentukan saiz. Jika siri volatiliti anda dikira dengan tetingkap berpusat, atau dengan `rolling().std()` lalai pandas selepas pensampelan semula yang merangkumi bar semasa yang belum lengkap, atau melalui penyeragaman sampel penuh, anda mengalami kebocoran. Hal ini sukar dikesan kerana volatiliti berterusan, jadi kebocoran itu kecil pada mana-mana baris dan lengkung ekuiti masih kelihatan munasabah. Ia cuma kelihatan sedikit terlalu licin tepat pada minggu yang penting.

Ejen kami menyemak empat perkara pada setiap peraturan saiz posisi sebelum keputusan dimasukkan ke dalam baris gilir dagangan kertas:

  1. Ketersediaan pada masa keputusan. Saiz yang digunakan untuk bar yang dibuka pada 14:00 mestilah boleh dikira daripada data yang cap masa penutupannya ialah ≤ 13:59:59.999. Kami mengesahkannya dengan mengira semula siri saiz daripada bingkai data yang dipotong pada sampel rawak 200 titik keputusan, kemudian membandingkan perbezaannya.
  2. Tempoh pandang balik penganggar ialah parameter sebenar. Tetingkap volatiliti 20 hari dan tetingkap volatiliti 60 hari ialah dua strategi yang berbeza. Tempoh pandang balik dimasukkan ke dalam grid walk-forward bersama semua yang lain, dan jika keputusan hanya berkesan pada satu panjang tetingkap, itulah penemuan tentang kerapuhan strategi.
  3. Laluan leveraj, bukan puncak leveraj sahaja. Paparkan taburan penuh leveraj kasar. Larian sasaran-vol tanpa had di atas menghabiskan 4% daripada jam dagangan pada leveraj melebihi 5×. Perkara seperti ini tidak pernah muncul dalam jadual ringkasan, tetapi menentukan sepenuhnya sama ada strategi itu boleh dilaksanakan.
  4. Kepekaan saiz posisi sebagai ujian keteguhan. Jika Sharpe merosot apabila anda menukar sasaran volatiliti daripada 20% kepada 25%, strategi itu bukan disasarkan kepada volatiliti, tetapi ditala mengikut leveraj; anda telah menemui kelebihan dengan memilih satu angka.

Had leveraj bukan sekadar tambahan untuk pengurusan risiko, ia sebahagian daripada takrif strategi. Tahap Binance bagi ETHUSDT mengurangkan leveraj maksimum apabila nosional posisi meningkat, dan kadar margin penyelenggaraan turut bertambah. Backtest yang membenarkan peraturan sasaran-vol berjalan hingga 6.3× pada nosional $400k menggambarkan posisi yang tidak dibenarkan oleh platform pada margin tersebut. Baris yang dihadkan menelan 0.05 Sharpe dan merupakan satu-satunya daripada dua yang menggambarkan sesuatu yang benar-benar boleh dilakukan.

Imbangan semula ialah tempat wang mengalir keluar

Perhatikan lajur kos. Imbangan semula setiap jam untuk mencapai sasaran volatiliti memberikan Sharpe utama terbaik, tetapi juga menyerahkan 41% PnL kasar kepada bursa. Itu bersamaan nosional posisi purata 1,180× didagangkan setahun pada 5 bps setiap sisi, ditambah spread dan impak. Penyelesaian mudah ialah mengurangkan kekerapan imbangan semula mengikut jadual. Penyelesaian yang lebih baik ialah jalur tiada dagangan: ubah saiz hanya apabila posisi semasa menyimpang daripada sasaran melebihi ambang tertentu.

Jalur 20% mengurangkan nosional tahunan yang didagangkan daripada 1,180× kepada 402× — pengurangan 66% — dengan kos 0.05 Sharpe. Saya sudah menjalankannya pada lapan isyarat dan coraknya berulang: jalur antara 15% hingga 25% mengekalkan sebahagian besar manfaat kawalan risiko dengan satu pertiga pusing ganti, manakala apa-apa di bawah 10% cuma membayar yuran demi ketepatan kosmetik bagi kuantiti yang anda anggarkan menggunakan tetingkap 20 hari juga. Anda tidak boleh mengimbangi semula hingga tiga tempat perpuluhan berdasarkan angka yang mempunyai ralat piawai 15%.

Pada Februari, kami ada satu larian yang laporannya, ditulis oleh seorang ejen, mengaitkan peningkatan Sharpe 0.22 kepada “penapis masuk yang ditambah baik.” Perbezaannya cuma satu baris dalam modul saiz posisi. Penapis itu tidak berubah. Kini saya memastikan laporan mencetak cincangan konfigurasi saiz posisi di bahagian atas, kerana atribusi ialah satu disiplin dan model juga suka menyampaikan cerita yang kemas seperti orang lain.

Kesan dagangan kertas terhadap peraturan saiz posisi anda

Di sinilah jurang antara backtest dengan dagangan kertas paling besar, dan puncanya kebanyakannya aritmetik. Saiz posisi yang responsif kepada volatiliti berubah sebanyak faktor 4 hingga 8 merentas sampel. Kedua-dua hujung julat ini melanggar kekangan platform yang tidak pernah dimodelkan dalam backtest.

Pada hujung kecil: saiz langkah dan nosional minimum. Perpetual ETHUSDT mempunyai langkah kuantiti 0.001 dan minimum $5. Jika saiz anda dalam rejim volatiliti rendah ialah 0.0004 ETH, backtest memegangnya tetapi akaun kertas tidak memegang apa-apa. Hal itu kedengaran seperti kes terpencil sehinggalah anda sedar peraturan sasaran-vol meletakkan saiz terkecil dalam pasaran paling tenang, yang bagi isyarat trend selalunya tempat kemasukan terbaik. Pada hujung besar: had posisi, tahap margin, dan hakikat bahawa posisi 6× memerlukan disiplin margin terpencil sedangkan anda tidak membuat backtest model pembubaran.

Kami menemui satu kes apabila lengkung ekuiti dagangan kertas mengekori backtest dengan perbezaan kurang daripada 3% selama enam minggu, kemudian menyimpang dengan ketara. Puncanya ialah pembundaran: pemotongan `int()` dan bukannya pembundaran mengikut langkah dalam penyukat saiz pesanan, digunakan pada posisi yang puratanya 1.4 langkah. Backtest mengira saiz dalam ruang berterusan, manakala penyukat saiz langsung kehilangan 20-30% daripada posisi yang dimaksudkan pada setiap dagangan kecil. Tiada model isian yang pelik, tiada cerita kependaman. Pemotongan.

Di mana pengkritik ada asas

Ada tiga bantahan yang munasabah, dan saya tidak mahu menutupinya.

Pertama, dan paling penting: saiz posisi memperuntukkan kelebihan, bukannya menciptanya. Jika jangkaan kasar isyarat anda sifar atau lebih rendah selepas yuran dan funding yang realistik, setiap peraturan dalam jadual itu akan rugi — peraturan yang lebih canggih cuma menghasilkan profil varians yang lebih cantik. Saya memilih isyarat dengan kelebihan bersih yang kecil tetapi positif dalam tempoh ini. Jalankan enam peraturan yang sama pada isyarat dengan −1.2 bps bagi setiap dagangan bersih dan kedudukannya tetap sama, tetapi setiap ekuiti akhir berada di bawah titik permulaan. Saiz posisi ialah pengganda bagi sesuatu. Anda tetap memerlukan sesuatu itu.

Kedua, penyasaran volatiliti mempunyai mod kegagalan sebenar yang didokumenkan dengan baik: ia mengurangkan leveraj ketika kejatuhan pantas menghampiri dasar, kemudian menaikkan leveraj semula selepas lantunan mendadak. Dalam bentuk V yang tajam, nosional tetap menang, kadangkala dengan jurang besar. Kejatuhan ekuiti pada Mac 2020 dan kejatuhan mendadak kripto pada Ogos 2024 kedua-duanya menjejaskan saiz posisi responsif-vol pada fasa pemulihan. Tempoh ETH empat tahun saya kebetulan mengandungi lebih banyak pergerakan beransur-ansur dengan kelompok volatiliti berbanding turun naik berbentuk V, yang memberi kelebihan kepada baris volatiliti songsang. Tempoh lain mungkin mengubah sebahagian susunannya; jika saya memulakan hujah ini dengan jadual dari 2020, hujah saya akan menjadi lebih lemah.

Ketiga, peraturan saiz posisi sama mudah terlebih suai seperti perkara lain. Half-Kelly berdasarkan anggaran bergulir dalam jadual saya menunjukkan hal ini: ia nampak canggih, mempunyai asas teori, namun menghasilkan susut nilai kedua terburuk kerana anggaran purata bergulir bagi siri pulangan yang bising memang tidak berguna dan Kelly sangat sensitif terhadapnya. Mana-mana peraturan saiz posisi yang menggunakan anggaran pulangan jangkaan sebagai input akan mewarisi ralat anggaran itu, malah menggandakannya. Peraturan yang hanya menggunakan anggaran varians berfungsi jauh lebih baik, kerana varians ialah satu-satunya momen yang benar-benar boleh dianggarkan daripada data setiap jam selama empat tahun.

Perkara yang saya akan ambil daripada semua ini: apabila keputusan backtest mengejutkan anda, periksa modul saiz posisi sebelum mencari kepintaran dalam isyarat. Dan apabila melaporkan Sharpe, laporkan laluan leveraj dan pecahan kos bersamanya, kerana angka yang begitu bergantung pada keputusan saiz posisi langsung bukan sifat isyarat itu.

saiz posisipenyasaran volatilitinisbah Sharpepengurusan risikobacktest
← Semua catatan