Tài nguyên đang được tải lên... tải...

Những suy nghĩ về chuyển động tài sản thông qua chiến lược phòng ngừa rủi ro hợp đồng

Tác giả:FMZ~Lydia, Tạo: 2022-12-19 16:36:12, Cập nhật: 2023-09-20 10:38:30

img

Những suy nghĩ về chuyển động tài sản thông qua chiến lược phòng ngừa rủi ro hợp đồng

Gần đây, đã có rất nhiều tin tức về thị trường tiền kỹ thuật số và sàn giao dịch. Trong một thời gian, tất cả những người bạn tiền tệ đều trong trạng thái hoảng loạn, lo lắng về sự an toàn của tài sản blockchain của họ. Ngoài ra còn có nhiều quảng cáo nhỏ giảm giá 10% và 20% cho các loại tiền thứ hai không hoạt động trong các nhóm thị trường tiền tệ khác nhau. Có nhiều loại chiến lược của tìm kiếm để mất tiền ổn định trong khi kiếm tiền ổn định. Nhiều người dùng cũng trêu chọc Nếu có một người tạo tiền ổn định, tại sao bạn muốn một người làm tiền ổn định? Đúng là cả việc kiếm được lợi nhuận ổn định và mất tiền ổn định đều làmoney printer, mà không dễ tìm thấy. Xin lỗi vì tiếng Anh kém.

Tuy nhiên, vẫn còn một số không ổn định. Ví dụ, thông qua bảo hiểm hợp đồng, chúng ta có thể kiếm được lợi nhuận trong khi làm cho tổn thất càng nhiều càng tốt.

Chiến lược 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    // Step length of adding position price

function main() {
    var pos1 = []
    var pos2 = []
    var ct = "quarter"                         // For example, quarterly contract
    exchanges[0].SetContractType(ct)
    exchanges[1].SetContractType(ct)
    var diff = 0

    while (true) {
        var r1 = exchanges[0].Go("GetDepth")   // Exchange A
        var r2 = exchanges[1].Go("GetDepth")   // Exchange 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)
    }
}

img

Chiến lược logic: Chiến lược bắt đầu khởi tạo các biến vị trí pos1 và pos2 như các mảng trống. Chiến lược đi vào vòng lặp chính. Vào đầu mỗi vòng lặp, dữ liệu độ sâu (dữ liệu sổ đặt hàng) của các hợp đồng của hai sàn giao dịch được lấy để tính chênh lệch giá. Nếu chênh lệch giá tiếp tục mở rộng và vượt quá sự chênh lệch giá cuối cùng cộng với chiều dài bước , tiếp tục bảo hiểm và thêm các vị trí. Khi giữ vị trí, nó được phát hiện rằng lỗ vị trí của sàn giao dịch đầu tiên vượt quá một giá trị nhất định (như -0,001), sau đó đóng vị trí. Lặp lại theo cách này.

Nguyên tắc rất đơn giản, đó là, khi chênh lệch giá lớn, sau đó de-hedge. Khi chờ mất lỗ dự kiến của vị trí trao đổi, đóng vị trí. Nếu chênh lệch giá tiếp tục mở rộng, tiếp tục thêm các vị trí để phòng hộ cho đến khi mất lỗ dự kiến của lỗ vị trí trao đổi. Các thông số quan trọng là: số tiền lỗ để đóng vị trí, bước dài của việc thêm chênh lệch giá vị trí và số tiền phòng hộ.

Chiến lược khá sơ cấp, chỉ để xác minh ý tưởng, bot thực sự không có sẵn. Vẫn còn nhiều vấn đề cần xem xét cho một bot thực sự, ví dụ, liệu hợp đồng được giao dịch có phải là tiêu chuẩn tiền tệ hay tiêu chuẩn U, và liệu các nhân của các hợp đồng khác nhau trong sàn giao dịch A và B có giống nhau hay không.

Bằng cách này, một sàn giao dịch sẽ mất tiền, và phần mất mát sẽ trở thành phần lợi nhuận của sàn giao dịch khác (sự khác biệt giá, có thể có tổn thất phòng ngừa rủi ro, nghĩa là tổn thất lớn hơn lợi nhuận).$.OverShort, $.OpenShort, đây là các chức năng giao diện của mẫu. Để chạy DEMO ở trên, bạn cần tham khảo thư viện lớp này.

Mẫu chiến lược ở trên chỉ là bản khám phá đơn giản nhất, và có thể có nhiều chi tiết hơn để xem xét trong hoạt động thực tế, ví dụ, số lượng vị trí có thể được thiết kế tăng dần. Đây chỉ là một ví dụ ở đây.


Có liên quan

Thêm nữa