avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Dicipta dalam: 2019-11-04 11:44:15, dikemas kini pada: 2023-10-17 21:25:35
comments   0
hits   2670

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Dalam strategi lindung nilai, terdapat pelbagai jenis lindung nilai. Lindung nilai silang pasaran, lindung nilai merentas tempoh, dsb. Hari ini kita akan bercakap tentang lindung nilai merentas produk, atau lebih tepat lagi, strategi lindung nilai merentas mata wang dalam perdagangan kuantitatif aset rantaian blok. Aset pendasar dalam urus niaga lindung nilai konvensional adalah sama, manakala lindung nilai silang mata wang melibatkan pembelian dan penjualan aset pendasar yang berbeza. Apabila melindung nilai produk yang sama, kita boleh menggunakan perbezaan harga sebagai harga belian dan jualan dalam urus niaga lindung nilai Untuk lindung nilai merentas pasaran yang paling mudah bagi produk yang sama, perbezaan harga turun naik berulang dalam julat tertentu. Lindung nilai silang produk pasti tidak boleh menggunakan perbezaan harga sebagai harga belian dan jualan, kerana perbezaan harga antara produk yang berbeza tidak begitu intuitif untuk diperhatikan Biasanya, nisbah harga digunakan sebagai harga belian dan jualan.

Contohnya: Pasangan dagangan: LTC_USDT Pasangan dagangan B: ETH_USDT

mengikutA交易对的价格/B交易对的价格Nilai nisbah harga ini digunakan untuk menyuraikan kedudukan pembukaan. Semakin besar nisbah, semakin banyak kita perlu menjual A dan membeli B. Sebaliknya, jika nisbah menjadi lebih kecil, beli A dan jual B. Melindung nilai jumlah USDT yang sama setiap kali sebenarnya adalah strategi perdagangan grid berdasarkan kekuatan harga relatif LTC/ETH Strategi ini tidak rumit. Walau bagaimanapun, perlu diambil perhatian bahawa gabungan lindung nilai ini sebenarnya menggunakan ETH sebagai mata wang harga utama untuk mendenominasikan LTC. Harga berlabuh ini mungkin mempunyai arah aliran unilateral, walaupun ia mungkin turun naik pada kebanyakan masa Namun, risiko ini perlu dipertimbangkan dan diberi perhatian.

Menggunakan Platform Dagangan Kuantitatif Pencipta, adalah mudah untuk menulis prototaip strategi: Apabila kod dasar sedang dijalankan, ia perlu merujuk Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain dan Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain 「Perpustakaan lukisan garisan」: https://www.fmz.com/strategy/27293 “Perpustakaan Dagangan Spot Cryptocurrency”: Ini disediakan dalam lajur templat apabila setiap pengguna mencipta strategi baharu.

/*backtest
start: 2019-05-01 00:00:00
end: 2019-11-04 00:00:00
period: 1m
exchanges: [{"eid":"OKEX","currency":"LTC_USDT","balance":100000,"stocks":30},{"eid":"OKEX","currency":"ETH_USDT","balance":100000,"stocks":30}]
*/

/*
A exchanges[0] : EOS_USDT   
B exchanges[1] : ETH_USDT
*/

var Interval = 500

// 参数
var numPoint = 100        // 节点数
var distance = 0.08       // 比例间距
var amountPoint = 100     // 节点金额,单位USDT
var arrHedgeList = []

function main () {
    var isFirst = true
    while(true) {
        var rA = exchanges[0].Go("GetTicker")
        var rB = exchanges[1].Go("GetTicker")

        var tickerA = rA.wait()
        var tickerB = rB.wait()

        if (tickerA && tickerB) {
            var priceRatioSell = tickerB.Buy / tickerA.Sell     // B sell , A buy
            var priceRatioBuy = tickerB.Sell / tickerA.Buy      // B buy , A sell
            
            if (isFirst) {
                for (var i = 0 ; i < numPoint ; i++) {
                    var point = {
                        priceRatio : priceRatioSell + (i + 1) * distance,
                        coverRatio : priceRatioSell + i * distance,
                        amount : (0.08 * i + 1) * amountPoint,
                        isHold : false,
                    }
                    arrHedgeList.push(point)
                }
                isFirst = false
            }

            for (var j = 0 ; j < arrHedgeList.length; j++) {
                if (priceRatioSell > arrHedgeList[j].priceRatio && arrHedgeList[j].isHold == false) {
                    // B sell , A buy
                    Log("对冲,价格比", priceRatioSell, "#FF0000")
                    $.Buy(exchanges[0], arrHedgeList[j].amount / tickerA.Sell)
                    $.Sell(exchanges[1], arrHedgeList[j].amount / tickerB.Buy)
                    arrHedgeList[j].isHold = true
                    LogStatus(_D(), exchanges[0].GetAccount(), "\n", exchanges[1].GetAccount())
                    $.PlotLine("ratio", (priceRatioSell + priceRatioBuy) / 2)
                    break 
                }

                if (priceRatioBuy < arrHedgeList[j].coverRatio && arrHedgeList[j].isHold == true) {    
                    // B buy , A sell
                    Log("对冲,价格比", priceRatioBuy, "#32CD32")
                    $.Sell(exchanges[0], arrHedgeList[j].amount / tickerA.Buy)
                    $.Buy(exchanges[1], arrHedgeList[j].amount / tickerB.Sell)
                    arrHedgeList[j].isHold = false
                    LogStatus(_D(), exchanges[0].GetAccount(), "\n", exchanges[1].GetAccount())
                    $.PlotLine("ratio", (priceRatioSell + priceRatioBuy) / 2)
                    break
                }
            }
        }
        Sleep(Interval)
    }
}

Anda boleh menggunakan ujian belakang untuk mengesahkan idea strategi pada mulanya.

Menggunakan tetapan ujian belakang lalai:

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Ia boleh dilihat bahawa hanya berpuluh-puluh baris kod digunakan untuk membina strategi idea sendiri Pada Platform Dagangan Kuantitatif Pencipta, adalah sangat mudah untuk merealisasikan prototaip sesuatu idea. Daripada carta di atas, kita dapat melihat bahawa nisbah harga ini berayun pada kebanyakan masa, tetapi terdapat arah aliran tertentu Arah pengoptimuman boleh menjadi kawalan kedudukan semasa melindung nilai atau menambah pengenalan arah aliran tertentu.

Dari segi kawalan kedudukan, jumlah lindung nilai bagi setiap nod lindung nilai boleh ditingkatkan secara berperingkat, contohnya, dalam kod:

if (isFirst) {
    for (var i = 0 ; i < numPoint ; i++) {
        var point = {
            priceRatio : priceRatioSell + (i + 1) * distance,
            coverRatio : priceRatioSell + i * distance,
            amount : (0.08 * i + 1) * amountPoint,          // 每次递增amountPoint的8%
            isHold : false,
        }
        arrHedgeList.push(point)
    }
    isFirst = false
}

Ini membolehkan kedudukan yang agak berat tertumpu di lokasi dengan nisbah harga yang lebih tinggi, mengelakkan mengambil kedudukan yang terlalu besar apabila nisbah harga lebih rendah. Sudah tentu, lindung nilai produk silang adalah sangat berisiko Jika harga satu syiling terus meningkat berbanding syiling lain, kerugian terapung akan berlaku Oleh itu, lindung nilai silang produk memerlukan korelasi yang lebih kukuh antara kedua-dua produk.

Strategi ini hanyalah DEMO awal dan boleh diubah suai dan dioptimumkan lagi.