0
fokus pada
1
Pengikut

Memikirkan pergerakan aset melalui strategi lindung nilai kontrak

Dicipta dalam: 2020-10-20 16:48:32, dikemas kini pada: 2023-09-26 20:59:29
comments   2
hits   2374

Memikirkan pergerakan aset melalui strategi lindung nilai kontrak

Memikirkan pergerakan aset melalui strategi lindung nilai kontrak

Terdapat banyak berita dalam dunia mata wang kripto baru-baru ini, dan berita tentang pertukaran juga tersebar di seluruh tempat. Untuk seketika, semua peminat mata wang kripto berada dalam keadaan panik, bimbang tentang keselamatan aset blockchain mereka. Terdapat banyak iklan kecil dalam pelbagai kumpulan mata wang kripto yang menawarkan diskaun 10% atau 20% untuk syiling terpakai terbiar. Terdapat ramai orang yang mencari pelbagai strategi untuk “mencari kerugian berterusan wang dan keuntungan tetap pada masa yang sama”. Ramai rakan syiling juga bergurau, “Jika ada cara yang stabil untuk membuat wang, mengapa kita memerlukan cara yang stabil untuk kehilangan wang!” Sesungguhnya, perkara yang membuat wang secara berterusan dan kehilangan wang secara berterusan adalahmoney printer, dan ia bukan mudah untuk dicari. Maafkan bahasa Inggeris saya yang lemah.

Walau bagaimanapun, masih terdapat ketidakstabilan, seperti melalui lindung nilai kontrak, adalah mungkin untuk mencapai kerugian dan keuntungan pada masa yang sama.

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)
    }
}

Memikirkan pergerakan aset melalui strategi lindung nilai kontrak

Memikirkan pergerakan aset melalui strategi lindung nilai kontrak

Logik strategi: Strategi bermula dengan memulakan pembolehubah kedudukan pos1 dan pos2 sebagai tatasusunan kosong. Strategi memasuki gelung utama, dan pada permulaan setiap gelung ia memperoleh data kedalaman (data buku pesanan) kontrak kedua-dua bursa dan mengira perbezaan harga. Jika perbezaan harga terus berkembang melepasi “perbezaan harga terakhir ditambah satu langkah”, teruskan melindung nilai dan meningkatkan kedudukan. Apabila memegang kedudukan, jika kehilangan kedudukan pertukaran pertama melebihi nilai tertentu (contohnya: -0.001), kedudukan akan ditutup. Proses ini diulang berulang kali.

Prinsipnya sebenarnya sangat mudah, iaitu jika perbezaan harga adalah besar, hedging ditentang. Tunggu pertukaran yang anda jangkakan akan kehilangan wang untuk menahan kerugian dan kemudian tutup kedudukan Jika spread terus melebar, teruskan meningkatkan kedudukan untuk melindung nilai sehingga pertukaran yang anda jangkakan kehilangan wang memegang kerugian. Parameter yang lebih penting ialah: berapa banyak kerugian yang diperlukan untuk menutup kedudukan, saiz langkah perbezaan harga untuk menambah kedudukan, dan jumlah lindung nilai.

Strategi ini agak mudah dan hanya digunakan untuk mengesahkan idea Ia tidak boleh digunakan dalam perdagangan sebenar. Masih terdapat banyak isu yang perlu dipertimbangkan dalam perdagangan sebenar, seperti sama ada kontrak yang akan didagangkan adalah berdasarkan mata wang atau U, sama ada pengganda kontrak yang berbeza dalam pertukaran A dan B adalah sama, dsb.

Dengan cara ini, jika satu pertukaran kehilangan wang, kerugian itu secara kasar akan menjadi keuntungan pertukaran lain (disebabkan oleh perbezaan harga, mungkin terdapat kerugian lindung nilai, iaitu kerugian lebih besar daripada keuntungan). Strategi ini menggunakan perpustakaan perdagangan niaga hadapan.$.CoverShort,$.OpenShortIni ialah fungsi antara muka templat Untuk menguji belakang dan menjalankan DEMO di atas, anda perlu merujuk perpustakaan kelas ini.

Prototaip strategi di atas hanyalah penerokaan yang paling mudah. ​​Mungkin terdapat lebih banyak butiran untuk dipertimbangkan dalam operasi sebenar. Ini hanyalah titik permulaan. Strategi yang serupa harus lebih dioptimumkan.