Pikiran untuk melakukan pergerakan aset dengan strategi hedging kontrak

Penulis:Kant, Dibuat: 2020-10-20 16:48:32, Diperbarui: 2023-09-26 20:59:29

img

Pikiran untuk melakukan pergerakan aset dengan strategi hedging kontrak

Baru-baru ini, berita di kalangan mata uang dapat dikatakan terus-menerus, berita di bursa juga penuh terbang. Pada suatu saat, para teman mata uang panik, mereka khawatir tentang keamanan aset blockchain mereka. Setiap kelompok mata uang juga memiliki iklan kecil untuk menyimpan uang bekas. Memang, stabil menghasilkan uang, stabil kehilangan uang adalah hal yang sama.money printerTidak ada yang bisa ditemukan. Maafkan bahasa Inggrisku yang kasar.

Namun, masih ada ketidakstabilan, misalnya dengan melakukan kontrak hedging untuk mencapai kerugian maksimal dan keuntungan maksimal.

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    // 加仓价格步长

function main() {
    var pos1 = []
    var pos2 = []
    var ct = "quarter"                         // 例如用季度合约
    exchanges[0].SetContractType(ct)
    exchanges[1].SetContractType(ct)
    var diff = 0

    while (true) {
        var r1 = exchanges[0].Go("GetDepth")   // A交易所
        var r2 = exchanges[1].Go("GetDepth")   // 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

img

Logika strategis: Strategi ini dimulai dengan menginisialisasi variabel pos1, pos2 sebagai himpunan kosong. Strategi ini memasuki siklus utama, dan setiap siklus mulai memperoleh data kedalaman kontrak dari kedua bursa (data order tipis), menghitung perbedaan. Jika perbedaan terus berkembang lebih besar dari yang terjadi pada bursa sebelumnya ditambah satu langkah panjang, teruslah untuk melakukan hedging.

Prinsipnya sebenarnya sangat sederhana, yaitu perbedaan yang besar, melawan lonjakan. Bursa yang mengharapkan kerugian mengimbangi kerugian saat memegang saham, dan jika perbedaan terus berkembang, maka terus melakukan lindung nilai sampai saham yang diharapkan kerugian. Beberapa parameter yang lebih penting adalah: berapa banyak posisi yang rugi, kenaikan harga, dan jumlah lindung nilai.

Strategi yang relatif sederhana, hanya untuk memverifikasi ide, real disk tidak tersedia. Real disk juga memiliki banyak masalah yang perlu dipertimbangkan, seperti kontrak yang akan diperdagangkan adalah mata uang atau U, apakah kontrak yang berbeda di A, B dan lain-lain.

Dengan demikian, sebuah bursa akan kehilangan uang, dan sebagian dari kerugian akan menjadi sebagian dari keuntungan bursa lain (masalah perbedaan harga, mungkin ada kerugian lindung nilai, yaitu lebih banyak kerugian daripada keuntungan).$.CoverShort,$.OpenShortIni adalah fungsi antarmuka templat, dan DEMO di atas harus melakukan uji coba untuk menjalankan, dan harus merujuk ke perpustakaan kelas ini untuk melakukannya.

Prototipe strategi di atas hanyalah eksplorasi kecil yang paling sederhana, dan mungkin ada lebih banyak detail yang perlu dipertimbangkan dalam operasi praktis yang spesifik, seperti peningkatan kapasitas yang dapat dirancang secara bertahap.


Berkaitan

Lebih banyak

Pisau tulangSilahkan siapkan secepatnya, jika tidak, saya ingin menyewanya dan mengeluarkan koin permainan saya.

Mimpi kecilPada awalnya penulis mengatakan bahwa ketidakstabilan dan kekacauan adalah kemungkinan untuk pindah kembali.