Dalam strategi lindung nilai, terdapat pelbagai jenis lindung nilai; lindung nilai lintas pasaran, lindung nilai jangka panjang, dan lain-lain. Hari ini kita akan membincangkan lindung nilai silang, tepatnya strategi lindung nilai silang mata wang dalam perdagangan kuantitatif aset blockchain. Barang biasa yang ditandakan dalam perdagangan lindung nilai adalah sama, sedangkan lindung nilai silang mata wang adalah barang yang dibeli dan dijual dengan tanda yang berbeza. Dalam lindung nilai yang sama, kita boleh menggunakan perbezaan harga sebagai harga beli dan jual dalam perdagangan lindung nilai, dengan lindung nilai silang mata wang yang paling mudah, harga ini pasti berada dalam rentang yang berulang.
Contohnya: A adalah pasangan dagangan: LTC_USDT Pasangan B adalah: ETH_USDT
BerdasarkanA交易对的价格/B交易对的价格
Nilai nisbah harga ini, berpecah-belah; semakin besar nisbah ini, semakin banyak kita akan menjual A dan membeli B; sebaliknya, perbandingan yang berubah adalah membeli A dan menjual B; jumlah USDT yang sama untuk setiap lindung nilai sebenarnya adalah strategi untuk berdagang dalam rangkaian dengan harga relatif kuat dan lemah LTC / ETH, pemikiran strategik tidak rumit. Walau bagaimanapun, perlu diperhatikan bahawa perpaduan lindung nilai ini, sebenarnya menggunakan ETH sebagai mata wang harga yang ditetapkan, untuk mengira harga LTC. Harga yang dikeluarkan ini adalah kemungkinan untuk trend satu sisi, walaupun kebanyakan masa mungkin untuk pergerakan goyah, namun risiko ini perlu dipertimbangkan dan diperhatikan.
Menggunakan platform perdagangan kuantiti pencipta, anda boleh dengan mudah menulis prototaip strategi: Kod dasar perlu dirujuk semasa dijalankandanPerpustakaan Kelas Garis Gambar:https://www.fmz.com/strategy/27293"Library Dagangan Tangan Mata Wang Digital": Ini adalah template yang dibawa oleh setiap pengguna apabila mereka 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
// 参数
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)
}
}
Menggunakan tetapan semula lalai:
Seperti yang dapat dilihat, dengan hanya menggunakan beberapa puluh baris kod untuk membina strategi idea anda sendiri, adalah sangat mudah untuk mewujudkan prototaip idea di platform dagangan pencipta kuantitatif. Dari grafik di atas, perbandingan harga ini sering bergolak, tetapi akan muncul arah trend tertentu, arah pengoptimuman boleh menjadi untuk kawalan kedudukan semasa lindung nilai atau menyertai pengenalan trend tertentu.
Dari segi kawalan kedudukan, jumlah lindungan untuk setiap nod lindungan boleh ditingkatkan, 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 pada kedudukan yang mempunyai perbandingan harga yang lebih tinggi dan mengelakkan kedudukan yang terlalu besar ketika perbandingan harga lebih rendah. Sudah tentu, lindung nilai cross-variet sangat berisiko, dan jika harga satu mata wang terus meningkat berbanding mata wang lain, ia akan menghasilkan kerugian, jadi lindung nilai cross-variet memerlukan hubungan yang lebih kuat antara kedua-dua variet.
Strategi ini hanya demo awal dan boleh ditukar dan dioptimumkan.