Type/to search
2
Follow
484
Followers
Peruntukan Berat Dinamik Berbilang Aset RWA Pasaran Kripto: Strategi Pariti Risiko
Discussions
Created 2026-04-08 16:37:16  Updated 2026-04-20 18:13:03
 0
 206

img

Pasaran kripto agak sukar kebelakangan ini. BTC jatuh dari paras tinggi, altcoin lebih teruk lagi, ramai mula menunggu, malah keluar dari pasaran. Tetapi dalam masa yang sama, perkara lain menjadi hangat secara senyap — RWA, iaitu tokenisasi aset dunia sebenar. Emas, saham AS, minyak mentah, aset pasaran tradisional mula muncul di bursa kripto dalam bentuk kontrak. Bursa utama berturut-turut melancarkan SPY (mewakili ETF S&P 500), XAU emas, CL minyak mentah, dan lain-lain, bersama BTC yang sedia ada, persekitaran perdagangan berbilang aset yang merangkumi saham AS, emas, minyak mentah, dan mata wang kripto buat pertama kalinya terbentuk di rantai.

Melihat konfigurasi ini, satu idea muncul di fikiran: Dalam kewangan tradisional terdapat konsep klasik yang dipanggil pariti risiko. Secara ringkas — jangan letak semua telur dalam satu bakul, dan jumlah dalam setiap bakul ditentukan oleh betapa berbahayanya bakul itu. Logik ini telah digunakan dalam kalangan kewangan tradisional selama beberapa dekad. Dalam pasaran beruang ini, semua orang mencari cara untuk terus hidup tanpa bergantung pada satu aset sahaja. Kini pasaran kripto akhirnya mempunyai kontrak untuk aset-aset ini, maka saya mula menggerakkan tangan untuk mencuba logik ini di sini.


Jelaskan pariti risiko dahulu, kemudian lihat ke bawah

Sebelum bercakap tentang cara melakukannya, saya perlu jelaskan maksud pariti risiko, jika tidak logik seterusnya sukar difahami.

Orang biasa mengagihkan aset mungkin berfikir: Saya bahagikan wang sama rata kepada empat bahagian, setiap aset 25%. Kedengaran seimbang, tetapi masalahnya BTC boleh turun naik 10% dalam sehari, emas mungkin hanya 0.5%. Dengan kedudukan 25% yang sama, risiko yang dibawa BTC adalah dua puluh kali ganda emas. Pada zahirnya empat aset dibahagi sama rata, tetapi sebenarnya takdir portfolio hampir sepenuhnya ditentukan oleh BTC seorang, tiga yang lain hanyalah iringan.

Pendekatan pariti risiko adalah berfikir secara terbalik: bukan wang dibahagi sama rata, tetapi risiko dibahagi sama rata. BTC turun naik besar, kurangkan peruntukan; emas stabil, tambah peruntukan — tetapi ini hanya langkah pertama. Yang lebih kritikal, aset tidak bebas antara satu sama lain; BTC dan saham AS boleh jatuh bersama dalam keadaan pasaran tertentu. Jika dua aset sangat searah, walaupun turun naik masing-masing sangat berbeza, meratakan risiko mereka adalah kurang bermakna. Pariti risiko sebenar perlu mengambil kira turun naik setiap aset dan korelasinya dengan aset lain, menggunakan matriks kovarians untuk mengukur sumbangan marginal setiap aset kepada risiko keseluruhan portfolio, akhirnya menjadikan sumbangan risiko setiap aset lebih kurang sama. Kelebihan logik ini adalah bahawa portfolio tidak akan runtuh hanya kerana satu aset tiba-tiba meletup.

img


Pilih aset dahulu, baru kepelbagaian bermakna

Untuk melakukan pariti risiko, perkara pertama adalah memilih aset yang akan dimasukkan. Jika aset tidak dipilih dengan betul, pengiraan seterusnya walaupun teliti tidak berguna.

Kolam aset memilih empat: SPY, XAU, CL, BTC. Pemilihan ini ada logiknya — pergerakan mereka biasanya tidak serentak sepenuhnya. Apabila ekonomi baik, saham naik; apabila sentimen mengelak risiko timbul, emas naik; apabila jangkaan inflasi tinggi, minyak dan emas naik; pasaran kripto kadang-kadang searah dengan saham, kadang-kadang terputus sepenuhnya. Tepat kerana korelasi antara mereka tidak tinggi, meletakkannya bersama memberi makna untuk menyebarkan risiko. Jika keempat-empat aset naik dan turun bersama setiap hari, kepelbagaian adalah ilusi, tiada kaedah dapat menyelamatkannya.

Selepas memilih aset, soalan seterusnya: berapa banyak peruntukan untuk setiap aset? Inilah yang perlu dikira oleh pariti risiko.

img


Cara mengira berapa banyak peruntukan untuk setiap aset

Logik pengiraan strategi terbahagi kepada dua langkah.

Langkah pertama, ambil data K-line bagi keempat-empat aset, selaraskan mengikut cap masa. Strategi menggunakan K-line 1 jam (PERIOD_H1) sebagai input data. Langkah ini kelihatan mudah, tetapi sebenarnya kontrak RWA kadangkala kekurangan data; jika pada satu titik masa SPY tiada sebut harga, maka data pada titik masa itu akan dibuang sebaris, hanya mengekalkan titik masa di mana keempat-empat aset mempunyai sebut harga serentak, kemudian lakukan pengiraan seterusnya.

javascript
for (var k = 0; k < keys.length; k++) { var row = timeMap[keys[k]], ok = true; for (var i = 0; i < LABELS.length; i++) { if (row[LABELS[i]] === undefined) { ok = false; break; } } if (ok) timestamps.push(parseInt(keys[k])); }

Selepas penyelarasan data, tukarkan siri harga tutup kepada pulangan logaritma, iaitu ln(harga semasa / harga tempoh lepas). Menggunakan pulangan logaritma dan bukan perubahan peratus mudah adalah kerana ia mempunyai kebolehcampuran masa — penambahan berbilang tempoh terus sama dengan jumlah pulangan logaritma, lebih mudah diproses; selain itu, di bawah andaian biasa bahawa harga aset mengikut gerakan Brown geometri, pulangan logaritma mengikut taburan normal, serasi dengan rangka kerja pengiraan matriks kovarians seterusnya. Perlu dijelaskan bahawa pulangan sebenar aset kripto selalunya mempunyai ciri ekor tebal, ini adalah bias andaian yang perlu diberi perhatian; matriks kovarians mungkin meremehkan risiko sebenar dalam pasaran ekstrem.

javascript
function calcLogReturns(prices) { var r = []; for (var i = 1; i < prices.length; i++) { var prev = prices[i - 1], cur = prices[i]; if (!prev || !cur || prev <= 0 || cur <= 0) { r.push(0); continue; } r.push(Math.log(cur / prev)); } return r; }

Langkah kedua, gunakan siri pulangan ini untuk mengira matriks kovarians. Hanya mengira purata kovarians sejarah adalah terlalu kasar; di sini menggunakan pemberat EWMA — memberi pemberat lebih tinggi kepada data terkini, membolehkan matriks kovarians mengesan perubahan keadaan pasaran dengan lebih cepat.

javascript
for (var t = T - 1; t >= 0; t--) { var w = Math.pow(lambda, T - 1 - t); c += w * (retMat[i][t] - means[i]) * (retMat[j][t] - means[j]); ws += w; } cov[i][j] = c / ws; cov[j][i] = cov[i][j];

lambda adalah pekali pereputan; strategi lalai menggunakan EWMA_LAMBDA = 0.94, nilai ini merujuk kepada tetapan empirikal RiskMetrics untuk data harian. Perlu diingatkan bahawa 0.94 RiskMetrics direka untuk data harian; strategi menggunakan data 1 jam, frekuensi lebih tinggi. Jika ingin matriks kovarians sensitif terhadap perubahan terkini setara dengan 0.94 harian, secara teori perlu ditukar kepada nilai lebih hampir kepada 1. Walau bagaimanapun dalam penggunaan sebenar, 0.94 pada tahap jam masih merupakan titik permulaan yang boleh diterima, mewakili konfigurasi di mana data terkini diberi pemberat lebih tinggi dan sejarah menurun lebih cepat; boleh dilaraskan lagi berdasarkan hasil ujian balik. Semakin hampir lambda kepada 1, semakin lama pengaruh data sejarah, semakin perlahan tindak balas matriks kovarians terhadap perubahan terkini; semakin kecil lambda, semakin sensitif strategi terhadap perubahan keadaan pasaran, tetapi juga lebih mudah untuk mencetuskan pelarasan portfolio yang tidak perlu akibat bunyi jangka pendek.

Selepas pengiraan, istilah regularisasi ditambah pada pepenjuru, dengan pekali ditetapkan kepada 0.1% daripada min pepenjuru (eps = diagMean * 0.001). Pekali 0.001 kali telah dipilih melalui ujian, cukup untuk memastikan matriks pasti positif secara berangka, sementara kesan ke atas struktur kovarians boleh diabaikan. Juga perlu dijelaskan satu penyederhanaan: amalan ketat EWMA kovarians harus menggunakan min berwajaran untuk mengira sisihan, tetapi kod menggunakan min aritmetik mudah bagi tetingkap retrospektif keseluruhan. Dalam kes min pulangan hampir sifar (keadaan biasa pulangan jangka pendek aset kewangan), kesan penyederhanaan ini boleh diabaikan, tetapi dalam senario di mana min menyimpang dengan ketara daripada sifar, akan memperkenalkan bias kecil.

Dengan matriks kovarians, seterusnya adalah penyelesaian pariti risiko sebenar — mencari satu set pemberat yang menjadikan sumbangan risiko setiap aset kepada portfolio lebih kurang sama. Sebelum permulaan lelaran, strategi telah menentukan arah setiap aset melalui kovarians portfolio turun naik sama, hasilnya disimpan dalam tatasusunan signs[] (+1 untuk beli, -1 untuk jual). Proses lelaran menggunakan tanda tetap yang telah ditentukan ini sepanjang masa, hanya melaraskan saiz pemberat, tidak mengubah arah — ini dilakukan untuk kestabilan kejuruteraan, menghalang pemberat daripada melompat-lompat arah akibat gangguan berangka semasa lelaran.

Masalah ini tidak mempunyai penyelesaian analitik, didekati dengan lelaran. Setiap pusingan mengira sumbangan risiko semasa, kurangkan pemberat aset yang sumbangannya terlalu besar, naikkan yang terlalu kecil, laraskan berulang kali sehingga penumpuan.

javascript
for (var iter = 0; iter < 2000; iter++) { var trc = riskContribs(w, scaledCov); var pv = portVol(w, scaledCov); var target = pv / n; var obj = 0; for (var i = 0; i < n; i++) { for (var j = i + 1; j < n; j++) { var d = Math.abs(trc[i]) - Math.abs(trc[j]); obj += d * d; } } if (obj < 1e-12) break; var nw = [], ns = 0; for (var i = 0; i < n; i++) { var rc = Math.abs(trc[i]); var sign = signs[i]; // 使用预判断的固定符号 var a = target / rc; var v = sign * Math.max(Math.abs(w[i]) * Math.pow(a, 0.5), 1e-6); nw.push(v); ns += Math.abs(v); } // 绝对值归一化,使各资产权重绝对值之和为1 for (var i = 0; i < n; i++) w[i] = nw[i] / ns; }

Kriteria penumpuan adalah apabila jumlah kuasa dua perbezaan sumbangan risiko semua aset kurang daripada 1e-12, pada ketika itu sumbangan risiko setiap aset dianggap cukup rapat, dan lelaran dihentikan. Had bilangan maksimum lelaran ditetapkan kepada 2000 bagi mengelakkan gelung tak terhingga apabila matriks kovarians tidak sihat. Dalam amalan, ia biasanya menumpu dalam beberapa ratus lelaran. Jika ia mencapai had atas dan masih belum menumpu, ini menunjukkan masalah dengan data input atau matriks kovarians; pada ketika itu strategi akan diturunkan taraf kepada kedudukan panjang sama berat untuk memastikan sistem tidak akan terhenti.

Sumbangan risiko setiap aset ditakrifkan sebagai pemberatnya didarab dengan risiko marginal, dan hasilnya boleh menjadi negatif, yang mewakili aset tersebut dalam mengurangkan turun naik keseluruhan portfolio.

javascript
function riskContribs(w, cov) { var sv = matVecMul(cov, w); var pv = portVol(w, cov); var trc = []; for (var i = 0; i < w.length; i++) trc.push(w[i] * sv[i] / pv); return trc; }

Pemberat boleh menjadi negatif, iaitu menjual pendek (short)

Strategi pariti risiko standard biasanya hanya mengambil kedudukan panjang (long), tetapi pasaran kontrak membenarkan jualan pendek (short), jadi strategi ini membuat pengembangan dengan membenarkan pemberat menjadi negatif.

Logik penentuan adalah seperti berikut: pertama, hitung portfolio rujukan turun naik sama rata (volatiliti sama) – aset dengan turun naik tinggi diberi pemberat rendah, aset dengan turun naik rendah diberi pemberat tinggi – kemudian lihat kovarians antara setiap aset dan portfolio rujukan ini, sama ada positif atau negatif. Kovarians negatif menunjukkan bahawa aset tersebut cenderung bergerak songsang dengan portfolio keseluruhan; menjual pendek aset tersebut membantu mengurangkan risiko keseluruhan portfolio, maka pemberat ditetapkan negatif, yang sepadan dengan membuka posisi jual (short) dalam pasaran kontrak.

Perlu dijelaskan bahawa ini adalah anggaran kejuruteraan dan bukan penyelesaian teori pariti risiko panjang-pendek yang standard – pariti risiko panjang-pendek yang ketat memerlukan pengoptimuman berkonstrain berdasarkan matriks kovarians penuh, yang mempunyai kos pengiraan yang lebih tinggi. Anggaran ini dalam kebanyakan keadaan pasaran dapat memberikan penilaian arah yang munasabah, tetapi apabila berbilang aset pada masa yang sama mempunyai kovarians negatif dengan portfolio rujukan, sama ada menjual pendek berbilang aset serentak masih boleh mengurangkan risiko portfolio perlu disahkan secara khusus, tidak boleh digeneralisasikan.

javascript
var invVols = [], sumInvVol = 0; for (var i = 0; i < n; i++) { var vol = Math.sqrt(Math.max(scaledCov[i][i], 1e-16)); invVols.push(1 / vol); sumInvVol += 1 / vol; } var eqVolWeights = []; for (var i = 0; i < n; i++) { eqVolWeights.push(invVols[i] / sumInvVol); } var covWithPortfolio = 0; for (var j = 0; j < n; j++) { covWithPortfolio += eqVolWeights[j] * scaledCov[i][j]; } var dir = covWithPortfolio < 0 ? -1 : 1; Log('[方向判断]', LABELS[i], '与等波动率组合协方差:', _N(covWithPortfolio, 8), '→', dir < 0 ? '🔴 做空(short)' : '🟢 做多(long)');

Setelah arah ditentukan, ia disimpan tetap dalam tatasusunan signs[] dan tidak akan berubah sepanjang proses lelaran penyelesaian. Lelaran hanya bertanggungjawab untuk melaraskan magnitud pemberat, bukan mengubah arah. Selepas arah ditetapkan, ada satu lagi perkara yang perlu diuruskan: berapa banyak leveraj yang perlu ditambah pada keseluruhan portfolio.


Leveraj tidak semestinya lebih tinggi lebih baik, tetapi mengikut turun naik

Strategi ini mengandungi mekanisme pelarasan leveraj, dengan matlamat untuk mengawal turun naik keseluruhan portfolio pada tahap yang telah ditetapkan. Sebagai analogi: anda memandu kereta dengan sasaran kelajuan 60 km/j. Di lebuh raya dengan keadaan jalan yang baik, anda boleh tekan sedikit minyak; di kawasan bandar yang kompleks, anda kurangkan. Mekanisme leveraj strategi adalah serupa – apabila turun naik pasaran keseluruhan rendah, tambah leveraj secara sesuai untuk membawa tahap risiko portfolio mencapai sasaran; apabila turun naik pasaran tinggi, kurangkan leveraj secara automatik untuk mengecilkan pendedahan.

Strategi menggunakan lilin 1 jam (1-hour candlestick), satu tahun tepat mempunyai 8760 lilin, maka pekali tahunan diambil terus sebagai sqrt(8760). Jika menggunakan kitaran lain, pekali ini perlu diselaraskan: lilin 15 minit sepadan dengan sqrt(35040), lilin 4 jam sepadan dengan sqrt(2190), lilin harian sepadan dengan sqrt(365).

javascript
function calcLeverage(w, cov) { var pv = portVol(w, cov) * Math.sqrt(8760); if (!isFinite(pv) || pv <= 0) return 1; return Math.min(TARGET_VOL / pv, MAX_LEVERAGE); }

Turun naik tahunan portfolio dibahagikan dengan turun naik sasaran memberikan gandaan leveraj yang perlu ditambah, sambil menetapkan had atas untuk mengelakkan leveraj hilang kawalan dalam keadaan melampau. Ini bukan untuk mengejar pulangan tertinggi, tetapi untuk melakukan pengurusan belanjawan risiko – berapa banyak risiko yang ditukar untuk pulangan adalah telah dirancang terlebih dahulu, bukan hanyut mengikut pasaran.

Selepas leveraj dikira, portfolio boleh dibina. Pada masa yang sama, strategi juga akan melaraskan selang pengundian gelung utama secara automatik berdasarkan tinggi rendah turun naik semasa: semakin tinggi turun naik, semakin kerap penyegaran; semakin rendah turun naik, semakin perlahan rentak, mengurangkan pengiraan yang tidak perlu dan geseran perdagangan.

javascript
function getAdaptiveSleep(w, cov) { var av = portVol(w, cov) * Math.sqrt(8760); if (av > 0.50) return FAST_INTERVAL; // 15分钟 else if (av > 0.30) return MID_INTERVAL; // 30分钟 else return SLOW_INTERVAL; // 60分钟 }

Bila untuk Menyeimbangkan Semula (Rebalance)

Pasaran berubah setiap hari, pemberat akan sentiasa menyimpang dari reka bentuk asal. Jika dibiarkan, dari masa ke masa risiko sebenar yang ditanggung portfolio akan jauh berbeza daripada jangkaan. Strategi menetapkan dua syarat untuk mencetuskan penyeimbangan semula: pertama, berjadual, paksa pengiraan semula pemberat setiap beberapa jam tetap; kedua, hanyutan melebihi had, apabila sisihan antara pemberat sebenar sesuatu aset dengan pemberat sasaran melebihi ambang, atau arah panjang-pendek berbalik, segera mencetuskan penyeimbangan semula, tanpa menunggu penjadualan seterusnya.

Semasa mengira hanyutan relatif, penyebut adalah nilai mutlak pemberat sebelumnya. Apabila pemberat sesuatu aset menjadi sangat kecil (hampir sifar), hanyutan relatif akan dikuatkan, mudah menyebabkan penyeimbangan semula yang kerap. Strategi melindungi perkara ini: apabila lastWeights[i] adalah sifar, semakan hanyutan dilangkau terus untuk mengelakkan pencetus palsu akibat pembahagian dengan sifar.

javascript
if (!lastWeights) { needRebal = true; rebalReason = 'Pembinaan pertama'; } else if ((now - lastTime) > REBALANCE_HOURS * 3600000) { needRebal = true; rebalReason = 'Pengimbangan semula berjadual(' + REBALANCE_HOURS + 'j)'; } else { for (var i = 0; i < weights.length; i++) { if ((weights[i] >= 0) !== (lastWeights[i] >= 0)) { needRebal = true; rebalReason = LABELS[i] + ' Perubahan arah (Long↔Short)'; break; } if (lastWeights[i] !== 0 && Math.abs(weights[i] - lastWeights[i]) / Math.abs(lastWeights[i]) > DRIFT_THRESHOLD) { needRebal = true; rebalReason = LABELS[i] + ' Hanyutan pemberat melebihi ambang'; break; } } }

Selepas pengimbangan semula dicetuskan, strategi akan mengira jumlah nominal sasaran bagi setiap aset, nombor positif menunjukkan kedudukan long, nombor negatif menunjukkan kedudukan short, kemudian bandingkan dengan pegangan semasa untuk memutuskan sama ada untuk menambah, mengurangkan, atau menukar arah. Apabila menukar arah, kedudukan yang bertentangan akan ditutup terlebih dahulu sebelum membuka arah baru, bagi mengelakkan memegang kedua-dua arah long dan short pada masa yang sama.

javascript
if (targetSide === 'long' && shortQty > 0) { exchange.CreateOrder(sym, "closesell", -1, shortQty); } if (targetSide === 'short' && longQty > 0) { exchange.CreateOrder(sym, "closebuy", -1, longQty); } if (diffQty > 0) { exchange.CreateOrder(sym, targetSide === 'long' ? "buy" : "sell", -1, diffQty); } else if (diffQty < 0) { exchange.CreateOrder(sym, targetSide === 'long' ? "closebuy" : "closesell", -1, Math.abs(diffQty)); }

Dengan cara ini, ia tidak akan menyebabkan perdagangan yang kerap dan menjana kos transaksi yang tinggi, dan juga tidak akan menyebabkan portfolio terpesong dari reka bentuk asal untuk jangka masa yang lama. Dalam keadaan biasa, mekanisme pengimbangan semula sudah cukup untuk menangani kebanyakan perubahan pasaran. Namun, pasaran kadang-kadang tidak normal, jadi satu lapisan keselamatan tambahan diperlukan.


Satu lagi langkah kecemasan: Pemutus litar

Selain pengimbangan semula biasa, strategi ini juga mempunyai mekanisme pengurangan kedudukan kecemasan. Setiap lelaran gelung utama akan memeriksa semua pegangan semasa dan membandingkannya dengan harga yang direkodkan sebelum ini untuk melihat sejauh mana pergerakan buruk dalam setiap arah. Jika pasaran long jatuh mendadak atau pasaran short naik mendadak melebihi 5%, strategi secara automatik akan mengurangkan separuh kedudukan untuk mengawal kerugian terlebih dahulu, tanpa menunggu pengimbangan semula seterusnya.

javascript
if (pos.side === 'long') { drop = (last - cur) / last; } else if (pos.side === 'short') { drop = (cur - last) / last; } if (drop >= EMERGENCY_DROP) { Log('🚨 Risiko kecemasan dicetuskan! [' + label + '][' + pos.side + '] Perubahan buruk:', _N(drop * 100, 2) + '%', 'Terakhir:', _N(last, 4), '→ Harga semasa:', _N(cur, 4)); if (mode === 'live') emergencyReduceLive(sym, label, pos.side, EMERGENCY_REDUCE); else emergencyReducePaper(sym, label, cur, pos.side, EMERGENCY_REDUCE); }

Dalam mod langsung, antara muka tutup kedudukan bursa akan dipanggil; dalam mod simulasi, margin dan tunai akan dikemas kini dalam keadaan tempatan, margin yang sepadan akan dibebaskan mengikut nisbah pegangan, untung rugi semasa akan dikira, dan rekod dagangan akan ditulis.

Terdapat butiran reka bentuk yang perlu dijelaskan: Selepas pengurangan kecemasan dicetuskan, harga rujukan tidak akan ditetapkan semula serta-merta, dan pemeriksaan seterusnya masih akan menggunakan harga sebelum pencetus sebagai rujukan. Ini bermakna dalam senario di mana aset terus bergerak ke arah yang tidak menguntungkan, mekanisme ini akan dicetuskan berulang kali dalam setiap lelaran, secara beransur-ansur mengurangkan kedudukan sehingga habis, atau sehingga pengimbangan semula seterusnya menetapkan semula harga rujukan. Reka bentuk ini disengajakan—dalam pasaran satu sisi yang melampau, pengurangan berterusan adalah lebih baik daripada berhenti selepas satu pengurangan; tetapi kesan sampingannya adalah jika harga menembusi ambang secara ringkas dan kemudian melantun semula dengan pantas, mungkin terlepas lantunan akibat pengurangan yang berlebihan. Dalam pasaran biasa, mekanisme ini hampir tidak pernah dicetuskan, tetapi ia ada, sekurang-kurangnya ia akan mengelakkan bertahan hingga akhir semasa peristiwa angsa hitam.


Bagaimana rupanya apabila dijalankan

Selepas strategi dijalankan di platform, papan pemuka akan memaparkan secara masa nyata sama ada setiap aset dalam kedudukan long atau short, pemberat masing-masing, leveraj semasa, anggaran turun naik tahunan portfolio keseluruhan, dan matriks korelasi antara empat aset. Untung rugi terapung dikemas kini setiap minit, dan pengiraan utama strategi secara automatik menukar kekerapan pengundian berdasarkan turun naik pasaran.

Penyegaran 1 minit ini tidak dicapai melalui multithreading, tetapi dengan menyematkan sub-gelung dalam tempoh menunggu gelung utama. Sub-gelung akan mengejut setiap 1 minit untuk menarik harga terkini, mengemas kini untung rugi terapung dan keluk nilai bersih. Apabila jumlah masa mencapai selang pengundian strategi, sub-gelung akan keluar dan masuk ke pengiraan strategi seterusnya. Keseluruhan strategi adalah single-threaded sepenuhnya, tanpa risiko konkurensi.

javascript
function sleepWithPnlRefresh(totalSleepMs, weights, leverage, covMatrix, corrMatrix) { var elapsed = 0; while (elapsed < totalSleepMs) { var step = Math.min(PNL_INTERVAL, totalSleepMs - elapsed); Sleep(step); elapsed += step; var prices = getTickers(); var equity = calcEquity(prices); var initCap = _G('pt_initCapital') || INIT_CAPITAL; _chart.add(0, [new Date().getTime(), equity]); LogProfit(equity - initCap, '&'); renderDashboard(weights, leverage, covMatrix, corrMatrix, prices, totalSleepMs, true); } }

Selain itu, strategi menyokong mod simulasi, yang membolehkan logik dijalankan sepenuhnya dan parameter ditala tanpa menggunakan dana sebenar, untuk mengesahkan sama ada tingkah laku adalah seperti yang dijangka sebelum memutuskan sama ada untuk beralih ke mod langsung. Dengan konfigurasi ini, saya menjalankan simulasi untuk seketika dan mari lihat hasil sebenar.


Hasil simulasi

Semasa tempoh ujian, strategi secara keseluruhan menunjukkan keuntungan buat sementara waktu. Arah pegangan: BTC, XAU, SPY semuanya long, CL minyak mentah short. Kebetulan dalam tempoh ini, terdapat tanda-tanda pengenduran ketegangan di Timur Tengah, premium risiko geopolitik menurun, dan harga minyak mentah menurun dengan ketara, menjadikan kedudukan short minyak mentah sebagai sumber keuntungan utama. Pergerakan pasaran dalam tempoh ini agak sesuai untuk strategi, tetapi ini tidak bermakna ia akan berterusan pada masa hadapan. Sebenarnya, strategi ini masih mempunyai banyak perkara yang belum difikirkan dengan jelas, dan adalah tidak jujur untuk tidak menyatakannya.

img


Perkara yang belum difikirkan dengan jelas

Semasa membangunkan strategi ini, terdapat beberapa isu yang tidak dapat diselesaikan sepenuhnya.

Pertama, kecairan kontrak RWA jauh lebih rendah daripada BTC. SPY, XAU, CL di atas rantai masih baru, gelinciran dan kedalaman buku pesanan tidak diketahui. Dalam simulasi, masalah ini tidak dapat dirasai, tetapi dalam mod langsung ia akan berlaku dengan nyata.

Kedua, strategi ini bergantung pada pengekalan kepelbagaian tertentu antara aset. Walau bagaimanapun, semasa panik pasaran yang melampau, korelasi antara aset berisiko cenderung meningkat secara mendadak, menjadikan kesan kepelbagaian kurang berkesan, dan inilah masa yang paling anda perlukan perlindungan.

Ketiga, aset tradisional mempunyai waktu dagangan bukan 24 jam, harga hampir tidak bergerak dalam tempoh tersebut, tetapi BTC berdenyut sepanjang masa. Ini menyebabkan matriks kovarians memandang rendah hubungan sebenar antara aset—selepas pasaran saham AS ditutup, BTC masih bergerak, dan tiada data SPY yang sepadan untuk turun naik dalam tempoh ini. Apabila pasaran tradisional dibuka, penilaian strategi terhadap hubungan mungkin sudah ketinggalan.

Keempat, data sejarah adalah terhad, dan kestabilan matriks kovarians dalam tempoh pendek adalah diragui. Parameter seperti pekali pereputan EWMA, turun naik sasaran, dan ambang pengimbangan semula adalah nilai empirikal yang belum disahkan secara ketat. Penentuan kedudukan short menggunakan tanda kovarians portfolio rujukan turun naik yang sama, ini adalah penghampiran kejuruteraan. Apabila berbilang aset mempunyai kovarians negatif dengan portfolio rujukan secara serentak, sama ada kedudukan short secara serentak benar-benar mengurangkan risiko portfolio perlu disahkan satu per satu, dan tidak boleh digunakan secara langsung. Aset kripto sendiri mempunyai ciri ekor tebal, taburan pulangan sebenar menyimpang dari taburan normal. Dalam senario pasaran yang melampau, anggaran risiko oleh matriks kovarians akan lebih rendah, ini adalah andaian bias yang mesti diterima apabila menggunakan rangka kerja semasa.

Kelima, dalam persekitaran dagangan sebenar apabila bertukar arah, selepas arahan tutup posisi dikeluarkan, strategi akan menunggu tempoh masa tetap dan terus melaksanakan pembukaan posisi seterusnya tanpa menunggu pengesahan pelaksanaan. Dalam keadaan di mana respons bursa perlahan atau kependaman rangkaian tinggi, terdapat risiko posisi lama belum ditutup sepenuhnya tetapi posisi baru sudah dibuka. Simulasi tidak melibatkan urus niaga sebenar, jadi masalah ini tidak dapat dikesan. Sebelum beralih ke dagangan sebenar, tempoh menunggu perlu dinilai berdasarkan kelajuan respons bursa tertentu untuk menentukan sama ada perlu dilaraskan.

Masalah-masalah ini tidak dapat dikesan hanya dengan menjalankan simulasi. Diperlukan pemodelan yang lebih terperinci dan penjabaran teori, serta mengesahkan setiap andaian dengan teliti, barulah dapat diketahui sama ada logik ini benar-benar boleh bertahan dalam pasaran kripto.


Akhir Kata

Titik permulaan untuk membuat strategi ini sangat mudah: pasaran kripto dalam fasa beruang, kontrak RWA baru sahaja melengkapi peta aset kelas besar, teori peruntukan aset dalam kewangan tradisional telah terkumpul selama beberapa dekad. Apabila dua perkara ini bertemu, ia patut dicuba. Kod adalah lengkap, logik adalah telus, parameter boleh dilaraskan. Namun, ini hanyalah satu permulaan, masih jauh dari strategi peruntukan aset yang benar-benar boleh diuji dalam dagangan sebenar. Jika anda mempunyai idea yang lebih baik, selamat datang untuk bersama-sama memperbaikinya.

Kandungan di atas hanya merekodkan proses penerokaan strategi, bukan merupakan sebarang nasihat pelaburan. Dagangan kontrak mempunyai risiko yang besar, prestasi simulasi tidak mewakili keputusan dagangan sebenar. Sebelum melibatkan wang sebenar, sila fahami sepenuhnya risiko yang berkaitan.

Sumber kod strategi: Strategi Pariti Risiko Aset RWA

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)