Sumber dimuat naik... memuat...

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Penulis:FMZ~Lydia, Dicipta: 2022-12-27 10:11:48, Dikemas kini: 2023-09-20 10:02:24

img

Strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain

Dalam strategi lindung nilai, terdapat pelbagai jenis lindung nilai: lindung nilai rentas pasaran, lindung nilai rentas tempoh, dan lain-lain. Hari ini kita akan bercakap mengenai lindung nilai rentas mata wang, yang tepatnya adalah strategi lindung nilai rentas mata wang dalam perdagangan kuantitatif aset blockchain. Secara amnya, subjek transaksi lindung nilai adalah sama, sementara lindung nilai rentas mata wang melibatkan pembelian dan penjualan subjek yang berbeza. Apabila lindung nilai pelbagai yang sama, kita boleh menggunakan perbezaan harga sebagai harga beli dan jual dalam transaksi lindung nilai. Untuk lindung nilai rentas pasaran yang paling mudah dari pelbagai yang sama, perbezaan harga berfluktuasi berulang kali dalam julat tertentu. Perbezaan harga tidak dapat digunakan sebagai harga beli dan jual untuk lindung nilai rentas mata wang, kerana perbezaan harga mata wang yang berbeza tidak sangat intuitif untuk diperhatikan, dan nisbah harga biasanya digunakan sebagai harga beli dan jual.

Sebagai contoh: Pasangan dagangan A: LTC_USDT Pasangan dagangan B: ETH_USDT

Mengedarkan kedudukan pembukaan mengikut nilai nisbah hargaPrice of Trading pair A/Price of Trading pair B. Semakin besar perkadaran, semakin banyak kita akan menjual A dan membeli B. Jika perkadaran menurun, beli A dan jual B. Jumlah USDT setara setiap lindung nilai sebenarnya adalah strategi untuk perdagangan grid berdasarkan harga relatif LTC / ETH. Idea strategi tidak rumit. Walau bagaimanapun, perlu diperhatikan bahawa portfolio lindung nilai jenis ini sebenarnya menggunakan ETH sebagai mata wang harga jangkar untuk harga LTC. Harga jangkar kemungkinan akan keluar dari trend sepihak. Walaupun kebanyakan masa mungkin merupakan trend yang tidak menentu, risiko ini perlu dipertimbangkan dan diperhatikan.

Ia mudah untuk menulis prototaip strategi dengan menggunakan platform FMZ Quant Trading: Apabila kod strategi dijalankan, ia perlu merujuk kepadaimgdanimgPlot library:https://www.fmz.com/strategy/27293Perpustakaan perdagangan spot mata wang digital: Ini disertakan dengan bar templat apabila setiap pengguna membuat strategi baru.

/*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

// parameters
var numPoint = 100        // Number of nodes
var distance = 0.08       // Proportional distance
var amountPoint = 100     // Node amount in 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("Hedging, price ratio", 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("hedge, price ratio", 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)
    }
}

Melalui backtesting, kita boleh mula-mula mengesahkan idea strategi

Gunakan tetapan backtesting lalai:

img img

Ia boleh dilihat bahawa hanya beberapa lusin baris kod yang digunakan untuk membina strategi idea anda sendiri. Sangat mudah untuk melaksanakan prototaip idea di platform FMZ Quant Trading. Menurut angka di atas, nisbah harga ini turun naik kebanyakan masa, tetapi akan ada trend tertentu. Arah pengoptimuman boleh menjadi kawalan kedudukan semasa lindung nilai atau menambah pengenalan trend tertentu. Dari segi kawalan kedudukan, anda boleh meningkatkan jumlah lindung nilai setiap nod lindung nilai.

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,          // 8% of amountPoint per increment
            isHold : false,
        }
        arrHedgeList.push(point)
    }
    isFirst = false
}

Dengan cara ini, kedudukan yang agak berat boleh tertumpu pada kedudukan dengan nisbah harga yang tinggi, untuk mengelakkan kedudukan besar yang diduduki apabila nisbah harga rendah. Sudah tentu, lindung nilai silang mata wang adalah sangat berisiko. Jika harga satu mata wang terus meningkat berbanding harga mata wang lain, kerugian terapung akan berlaku. Oleh itu, lindung nilai silang mata wang memerlukan korelasi yang lebih kuat antara kedua-dua mata wang.

Strategi ini hanya DEMO awal, yang boleh ditingkatkan dan dioptimumkan.


Berkaitan

Lebih lanjut