
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 chéo thị trường, phòng ngừa rủi ro chéo thời kỳ, v.v. Hôm nay chúng ta sẽ nói về phòng ngừa rủi ro chéo sản phẩm hoặc chính xác hơn là các chiến lược phòng ngừa rủi ro chéo tiền tệ trong giao dịch định lượng tài sản blockchain. Tài sản cơ bản trong các giao dịch phòng ngừa thông thường là giống nhau, trong khi phòng ngừa chéo tiền tệ liên quan đến việc mua và bán các tài sản cơ bản khác nhau. Khi phòng ngừa cùng một sản phẩm, chúng ta có thể sử dụng chênh lệch giá làm giá mua và giá bán trong giao dịch phòng ngừa. Đối với phòng ngừa chéo thị trường đơn giản nhất của cùng một sản phẩm, chênh lệch giá dao động liên tục trong một phạm vi nhất định. Phòng ngừa chéo sản phẩm chắc chắn không thể sử dụng chênh lệch giá làm giá mua và giá bán, vì chênh lệch giá giữa các sản phẩm khác nhau không trực quan để quan sát. Thông thường, tỷ lệ giá được sử dụng làm giá mua và giá bán.
Ví dụ: Cặp giao dịch: LTC_USDT Cặp giao dịch B: ETH_USDT
theoA交易对的价格/B交易对的价格Tỷ lệ giá này được sử dụng để phân tán các vị thế mở. Tỷ lệ càng lớn thì chúng ta càng cần bán A và mua B. Ngược lại, nếu tỷ lệ này nhỏ hơn, hãy mua A và bán B. Việc phòng ngừa một lượng USDT bằng nhau mỗi lần thực chất là một chiến lược giao dịch lưới dựa trên sức mạnh giá tương đối của LTC/ETH. Chiến lược này không phức tạp. Tuy nhiên, cần lưu ý rằng sự kết hợp phòng ngừa này thực sự sử dụng ETH làm loại tiền tệ giá neo để định giá LTC. Mức giá neo này có thể có xu hướng đơn phương, mặc dù nó có thể dao động hầu hết thời gian. Tuy nhiên, rủi ro này cần được xem xét và chú ý.
Sử dụng Nền tảng giao dịch định lượng Inventor, bạn có thể dễ dàng viết nguyên mẫu chiến lược:
Khi mã chính sách đang chạy, nó cần tham chiếu đến
và
「Thư viện bản vẽ đường nét」: https://www.fmz.com/strategy/27293
“Thư viện giao dịch tiền điện tử”: Thư viện này được cung cấp trong cột mẫu khi mỗi người dùng tạo 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
// 参数
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)
}
}
Sử dụng cài đặt kiểm tra ngược mặc định:


Có thể thấy rằng chỉ cần sử dụng hàng chục dòng mã để xây dựng chiến lược theo ý tưởng của riêng mình. Trên Nền tảng giao dịch định lượng Inventor, rất dễ dàng để hiện thực hóa nguyên mẫu của một ý tưởng. Từ biểu đồ trên, chúng ta có thể thấy tỷ lệ giá này dao động hầu hết thời gian, nhưng có một xu hướng nhất định. Hướng tối ưu hóa có thể là kiểm soát vị thế trong quá trình phòng ngừa rủi ro hoặc thêm một số nhận dạng xu hướng nhất định.
Về mặt kiểm soát vị thế, số lượng phòng ngừa của mỗi nút phòng ngừa có thể được tăng dần, ví dụ, trong mã:
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
}
Điều này cho phép tập trung các vị thế tương đối lớn hơn ở những vị trí có tỷ lệ giá cao hơn, tránh chiếm các vị thế quá lớn khi tỷ lệ giá thấp hơn. Tất nhiên, việc phòng ngừa chéo sản phẩm như vậy rất rủi ro. Nếu giá của một đồng tiền tiếp tục tăng so với một đồng tiền khác, sẽ xảy ra lỗ thả nổi. Do đó, phòng ngừa chéo sản phẩm đòi hỏi mối tương quan mạnh hơn giữa hai sản phẩm.
Chiến lược này chỉ là bản DEMO ban đầu và có thể được sửa đổi và tối ưu hóa thêm.