Pikiran tentang pergerakan aset melalui strategi lindung nilai kontrak

Penulis:Lydia, Dibuat: 2022-12-19 16:36:12, Diperbarui: 2023-09-20 10:38:30

img

Pikiran tentang pergerakan aset melalui strategi lindung nilai kontrak

Baru-baru ini, ada banyak berita tentang pasar mata uang digital dan bursa. Untuk sementara waktu, semua teman mata uang berada dalam keadaan panik, khawatir tentang keamanan aset blockchain mereka. Ada juga banyak iklan kecil diskon 10% dan 20% untuk mata uang bekas yang tidak aktif di berbagai kelompok pasar mata uang. Ada banyak jenis strategi mencari kehilangan uang secara stabil sambil menghasilkan uang secara stabil. Banyak pengguna juga menggoda Jika ada pembuat uang yang stabil, mengapa Anda menginginkan pecundang uang yang stabil? Memang benar bahwa baik membuat keuntungan yang stabil dan kehilangan uang yang stabil adalahmoney printer, yang tidak mudah ditemukan. Maafkan bahasa Inggrisku yang buruk.

Namun, masih ada beberapa yang tidak stabil. misalnya, melalui kontrak lindung nilai, kita dapat membuat keuntungan sambil membuat kerugian sebanyak mungkin.

Strategi DEMO

/*backtest
start: 2020-09-30 00:00:00
end: 2020-10-19 00:00:00
period: 1d
basePeriod: 1m
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"},{"eid":"Futures_HuobiDM","currency":"BTC_USD"}]
*/

var step = 20    // Step length of adding position price

function main() {
    var pos1 = []
    var pos2 = []
    var ct = "quarter"                         // For example, quarterly contract
    exchanges[0].SetContractType(ct)
    exchanges[1].SetContractType(ct)
    var diff = 0

    while (true) {
        var r1 = exchanges[0].Go("GetDepth")   // Exchange A
        var r2 = exchanges[1].Go("GetDepth")   // Exchange B
        var depth1 = r1.wait()
        var depth2 = r2.wait()

        if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff) {
            if(pos1.length == 0 && pos2.length == 0) {
                var info1 = $.OpenShort(exchanges[0], ct, 10)
                var info2 = $.OpenLong(exchanges[1], ct, 10)
                pos1 = _C(exchanges[0].GetPosition)
                pos2 = _C(exchanges[1].GetPosition)
                diff = depth1.Bids[0].Price - depth2.Asks[0].Price
            } else if(depth1.Bids[0].Price - depth2.Asks[0].Price > diff + step) {
                var info1 = $.OpenShort(exchanges[0], ct, 10)
                var info2 = $.OpenLong(exchanges[1], ct, 10)
                pos1 = _C(exchanges[0].GetPosition)
                pos2 = _C(exchanges[1].GetPosition)
                diff = depth1.Bids[0].Price - depth2.Asks[0].Price
            }
        }
        
        if(pos1.length != 0 && pos1[0].Profit < -0.001) {
            var info1 = $.CoverShort(exchanges[0], ct, pos1[0].Amount)
            var info2 = $.CoverLong(exchanges[1], ct, pos2[0].Amount)
            pos1 = _C(exchanges[0].GetPosition)
            pos2 = _C(exchanges[1].GetPosition)
            diff = 0
        }
        LogStatus(_D(), diff)
        Sleep(500)
    }
}

img

Logika strategi: Strategi mulai menginisialisasi variabel posisi pos1 dan pos2 sebagai array kosong. Strategi memasuki loop utama. Pada awal setiap loop, data kedalaman (data buku pesanan) dari kontrak dari dua bursa diperoleh untuk menghitung perbedaan harga. Jika perbedaan harga terus berkembang dan melampaui perbedaan harga terakhir ditambah panjang langkah, lanjutkan lindung nilai dan penjumlahan posisi. Ketika posisi dipegang, terdeteksi bahwa kerugian posisi bursa pertama melebihi nilai tertentu (seperti -0,001), kemudian tutup posisi. Ulangi dengan cara ini.

Prinsipnya sangat sederhana, yaitu, ketika perbedaan harga besar, maka de-hedge. Saat menunggu kehilangan kerugian yang diharapkan dari posisi pertukaran, tutup posisi. Jika perbedaan harga terus berkembang, terus tambahkan posisi untuk lindung nilai sampai kerugian yang diharapkan dari kerugian posisi pertukaran. Parameter penting adalah: jumlah kerugian untuk menutup posisi, panjang langkah penambahan perbedaan harga posisi, dan jumlah lindung nilai.

Strategi ini agak rudimenter, hanya untuk memverifikasi idenya, bot sungguhan tidak tersedia. masih banyak masalah yang harus dipertimbangkan untuk bot sungguhan, misalnya, apakah kontrak yang akan diperdagangkan adalah standar mata uang atau standar U, dan apakah perkalian kontrak yang berbeda di bursa A dan B sama.

Dengan cara ini, satu bursa akan kehilangan uang, dan bagian kerugian akan menjadi bagian keuntungan dari bursa lain (perbedaan harga, mungkin ada kerugian lindung nilai, yaitu kerugian lebih dari keuntungan).$.OverShort, $.OpenShort, ini adalah fungsi antarmuka template. Untuk menjalankan DEMO di atas, Anda perlu referensi perpustakaan kelas ini.

Prototype strategi di atas hanyalah eksplorasi yang paling sederhana, dan mungkin ada lebih banyak detail yang perlu dipertimbangkan dalam operasi yang sebenarnya, misalnya, jumlah posisi dapat dirancang untuk meningkat. ini hanya contoh di sini. strategi serupa harus dapat mengoptimalkan lebih banyak, dan para ahli dipersilakan untuk memberikan saran.


Berkaitan

Lebih banyak