Các chiến lược phòng ngừa rủi ro giữa các loại tiền tệ trong giao dịch định lượng các tài sản blockchain

Tác giả:Lydia., Tạo: 2022-12-27 10:11:48, Cập nhật: 2023-09-20 10:02:24

img

Các chiến lược phòng ngừa rủi ro giữa các loại tiền tệ trong giao dịch định lượng các tài sản blockchain

Trong các chiến lược phòng ngừa rủi ro, có nhiều loại phòng ngừa rủi ro khác nhau: phòng ngừa rủi ro xuyên thị trường, phòng ngừa rủi ro xuyên thời kỳ, v.v. Hôm nay chúng ta sẽ nói về phòng ngừa rủi ro xuyên đồng tiền, đó chính xác là chiến lược phòng ngừa rủi ro xuyên đồng tiền trong giao dịch định lượng tài sản blockchain. Nói chung, chủ đề của giao dịch phòng ngừa rủi ro là giống nhau, trong khi phòng ngừa rủi ro xuyên đồng tiền liên quan đến mua và bán các chủ đề khác nhau. Khi phòng ngừa rủi ro cùng một loại, chúng ta có thể sử dụng sự khác biệt giá như giá mua và bán trong giao dịch phòng ngừa rủi ro. Đối với phòng ngừa rủi ro xuyên thị trường đơn giản nhất của cùng một loại, sự khác biệt giá dao động nhiều lần trong một phạm vi nhất định. Sự khác biệt giá không thể được sử dụng làm giá mua và bán cho phòng ngừa rủi ro xuyên đồng tiền, bởi vì sự khác biệt giá của các loại tiền tệ khác nhau không phải là rất trực quan để quan sát, và tỷ lệ giá thường được sử dụng như giá mua và bán.

Ví dụ: Cặp giao dịch A: LTC_USDT Cặp giao dịch B: ETH_USDT

Phân bố các vị trí mở theo giá trị tỷ lệ giá củaPrice of Trading pair A/Price of Trading pair B. Tỷ lệ lớn hơn, chúng ta sẽ bán A và mua B nhiều hơn. Nếu tỷ lệ giảm, mua A và bán B. Số tiền USDT tương đương của mỗi phòng ngừa rủi ro thực sự là một chiến lược giao dịch lưới dựa trên giá tương đối của LTC / ETH. Ý tưởng chiến lược không phức tạp. Tuy nhiên, cần lưu ý rằng danh mục đầu tư phòng ngừa rủi ro này thực sự sử dụng ETH làm tiền tệ giá neo để định giá LTC. Giá neo có thể đi ra khỏi xu hướng đơn phương. Mặc dù hầu hết thời gian nó có thể là một xu hướng biến động, rủi ro này cần được xem xét và lưu ý.

Thật dễ dàng để viết một nguyên mẫu chiến lược bằng cách sử dụng nền tảng FMZ Quant Trading: Khi mã chiến lược chạy, nó cần tham chiếuimgimgBộ thư viện :https://www.fmz.com/strategy/27293 Thư viện giao dịch giao dịch tiền mặt kỹ thuật số: Nó đi kèm với thanh mẫu khi mỗi người dùng tạo ra một chiến lược mới.

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

Thông qua backtesting, chúng ta có thể ban đầu xác minh các ý tưởng chiến lược

Sử dụng cài đặt backtesting mặc định:

img img

Có thể thấy rằng chỉ một vài chục dòng mã được sử dụng để xây dựng một chiến lược của ý tưởng của riêng bạn. Thực hiện một nguyên mẫu ý tưởng trên nền tảng FMZ Quant Trading rất dễ dàng. Theo hình trên, tỷ lệ giá này dao động hầu hết thời gian, nhưng sẽ có một xu hướng nhất định. Hướng tối ưu hóa có thể là kiểm soát vị trí trong khi phòng ngừa rủi ro hoặc thêm một nhận dạng xu hướng nhất định. Về kiểm soát vị trí, bạn có thể tăng số tiền phòng hộ của mỗi nút phòng hộ.

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
}

Bằng cách này, các vị trí tương đối nặng có thể tập trung vào vị trí có tỷ lệ giá cao, để tránh các vị trí lớn được chiếm khi tỷ lệ giá thấp. Tất nhiên, việc bảo hiểm tiền tệ chéo là rất rủi ro. Nếu giá của một loại tiền tệ tiếp tục tăng so với giá của một loại tiền tệ khác, sẽ xảy ra tổn thất thay đổi. Do đó, bảo hiểm tiền tệ chéo đòi hỏi một mối tương quan mạnh mẽ hơn giữa hai loại tiền tệ.

Chiến lược này chỉ là một DEMO ban đầu, có thể được cải thiện và tối ưu hóa hơn nữa.


Có liên quan

Thêm nữa