在 Hyperliquid 上建立做市機械人

2026年5月6日
  • hyperliquid market maker

  • hl market maker tutorial

  • hyperliquid 做市機械人

  • 鏈上永續合約做市

  • hyperliquid api 做市

做市(Market Making)是金融市場歷史最悠久的交易策略之一:做市商會同時在買賣兩邊掛單,透過買賣差價(spread)賺取收益,同時為市場提供流動性。隨着 Hyperliquid 這類鏈上永續合約交易所興起,獨立開發者及小型量化團隊亦可以透過其開放 API 參與做市,毋須具備機構背景。

本文會系統地介紹在 Hyperliquid 上建立做市機械人的完整思路,涵蓋策略邏輯、技術架構、風險管理,以及如何使用 OneKey 硬件錢包保護機械人的簽名私鑰。

甚麼是永續合約上的做市

在傳統現貨市場,做市商持有的是實物庫存;在永續合約市場,「庫存」則表現為淨多倉或淨空倉敞口。理想的做市商希望盡量保持倉位中性(delta neutral),透過頻繁更新買賣掛單賺取價差,而不是押注價格方向。

Hyperliquid 的訂單簿架構與中心化交易所相似,但結算在鏈上完成,資金由用戶自行託管。官方文件詳細說明了訂單類型、手續費結構及 API 規範,是開發做市機械人前必讀的資料。

做市機械人的核心邏輯

價差計算

最簡單的對稱做市策略,是在中間價(mid price)兩邊各掛一定比例的價差:

買入價 = mid_price * (1 - spread / 2)
賣出價 = mid_price * (1 + spread / 2)

spread 的設定需要覆蓋以下成本:

  • 交易手續費(Taker fee)
  • 預期的不利價格移動(Adverse selection 風險)
  • 資金費率波動帶來的對沖成本

實作時應參考 Hyperliquid 官方文件,了解不同市場的手續費級別,並根據自身資金規模選擇合適的 spread 基準。

訂單刷新邏輯

市場價格持續變動,掛單需要定期刷新,才能維持合理報價。常見的刷新觸發條件包括:

  • 時間觸發:每隔固定時間刷新一次,例如每 5 秒
  • 價格偏移觸發:當市場中間價偏離目前掛單價超過指定門檻時立即刷新
  • 成交觸發:有訂單成交後,立即重新下單補充流動性

實際生產環境通常會結合多種觸發條件,避免過度刷新造成成本上升,同時亦要避免報價滯後而被套利。

庫存風險管理

做市過程中難免出現庫存累積,例如一邊持續成交,另一邊未能成交,令淨倉位偏離中性。庫存風險是做市的主要風險之一。

常見處理方法包括:

  • 倉位傾斜(skewing):當持有淨多倉時,將買入價及賣出價一同向下調整,鼓勵賣出、抑制買入,較被動地將倉位推回中性
  • 硬性倉位限制:當淨倉位超過門檻時,停止在偏離方向繼續掛單,直至倉位回落至可接受範圍
# 偽代碼:基於淨倉位的價格傾斜
position = get_net_position("BTC")  # 正值為多倉,負值為空倉

skew_factor = -position * inventory_risk_param  # inventory_risk_param 為可調參數

bid_price = mid_price * (1 - spread / 2) + skew_factor
ask_price = mid_price * (1 + spread / 2) + skew_factor

系統架構概覽

一個完整的做市機械人通常由以下模組組成:

┌─────────────────────────────────────────────────────┐
│                   做市機械人主循環                    │
├──────────────┬──────────────┬────────────────────────┤
│  數據層       │  策略層       │  執行層                 │
│              │              │                         │
│ WebSocket    │ 中間價計算    │ REST API 下單/撤單      │
│ 訂單簿訂閱   │ 價差計算      │ 批量訂單管理             │
│ 成交回報     │ 庫存傾斜      │ 簽名(OneKey 硬件層)    │
│              │ 倉位風控      │                         │
└──────────────┴──────────────┴────────────────────────┘
│                              │
市場數據輸入                    訂單提交到 Hyperliquid
  • 數據層透過 WebSocket 即時訂閱訂單簿快照及成交數據,並參考 Hyperliquid 文件中的 WebSocket 章節
  • 策略層根據最新數據計算新的報價
  • 執行層透過 REST API 批量撤單並重新掛單,使用 EIP-712 結構化簽名確保請求安全

技術實作要點

用 REST API 下單

批量下單接口可以在一次請求中同時提交買賣兩邊訂單,減少網絡延遲:

def refresh_quotes(exchange, coin, bid_px, ask_px, order_size):
    # 先批量撤銷舊訂單
    open_orders = get_open_orders(coin)

    if open_orders:
        cancel_ids = [o["oid"] for o in open_orders]
        exchange.bulk_cancel(coin, cancel_ids)

    # 批量提交新報價
    new_orders = [
        build_limit_order(coin, is_buy=True,  px=bid_px, sz=order_size),
        build_limit_order(coin, is_buy=False, px=ask_px, sz=order_size),
    ]

    return exchange.bulk_orders(new_orders)

用 WebSocket 監聽成交

REST 輪詢難以滿足成交通知的即時需求,應透過 WebSocket 訂閱用戶成交事件:

def on_user_fill(fill_data):
    coin   = fill_data["coin"]
    side   = fill_data["side"]   # "B" 買入成交 / "A" 賣出成交
    sz     = fill_data["sz"]
    px     = fill_data["px"]

    update_inventory(coin, side, sz, px)
    trigger_quote_refresh(coin)  # 成交後立即刷新報價

WebSocket 連線偶爾會中斷,務必實作自動重連邏輯,並在重連後重新訂閱所有頻道、重設本地狀態。

主要風險分析

做市不是「無風險套利」。以下風險需要認真處理:

  • 市場急速單邊波動,令機械人累積過大淨倉位
  • 報價過慢或 spread 設定過窄,被更快的交易者套利
  • API 延遲、限速、WebSocket 斷線或系統故障,導致訂單狀態與本地紀錄不一致
  • 永續合約資金費率變動,影響持倉成本
  • 使用槓桿會放大潛在虧損,尤其在倉位失控或保證金不足時

因此,做市機械人必須配合倉位上限、止損、熔斷、告警及完整日誌,而不是只依賴單一報價公式。

OneKey 硬件錢包:機械人私鑰管理最佳實踐

做市機械人需要頻繁簽名交易,但頻繁簽名不代表要降低安全標準。OneKey 硬件錢包會將私鑰儲存在與網絡隔離的安全芯片內,即使伺服器被入侵,攻擊者亦無法直接導出私鑰。

建議架構:

  1. 使用 Hyperliquid 的 API Agent 功能,為機械人建立獨立子帳戶錢包,並綁定到主帳戶
  2. 子帳戶錢包的私鑰由 OneKey 硬件錢包管理
  3. 機械人邏輯負責構建交易訊息,透過本地簽名服務送到 OneKey 完成簽名
  4. 已簽名請求再提交到 Hyperliquid

在這種架構下,即使機械人代碼被注入惡意邏輯,攻擊者亦難以在未經 OneKey 硬件審核的情況下轉移主帳戶資金。

性能優化建議

  • 將撤單及重新下單合併為原子操作;Hyperliquid 支援 cancel-and-place 批量接口
  • 優先使用 Alo(僅掛單)訂單類型,以符合 Maker 掛單邏輯並爭取相關手續費條件
  • 記錄每筆成交的時間戳、價格及數量,定期分析策略表現,例如將盈虧拆分為價差收益及庫存虧損
  • 實作熔斷機制:當帳戶虧損超過日內門檻時,自動停止機械人並發送警報
  • 對 API 請求加入節流及退避重試,避免因超出限速而影響正常撤單或下單

常見問題

Q1:在 Hyperliquid 上做市需要多少資金才可以開始?

答:Hyperliquid 沒有官方規定的最低做市資金門檻。截至本文,實際門檻取決於市場價格及最小下單量。建議先以極小規模測試策略邏輯,確認系統穩定後,再逐步增加規模。

Q2:做市機械人的盈利來源是甚麼?

答:主要來源是買賣價差收益。當一筆買單及一筆賣單在相近價格區間成交,機械人會嘗試賺取兩者之間的差額,扣除手續費及其他成本後才是實際結果。市場越活躍、成交量越高,潛在機會通常越多,但競爭亦會更激烈。

Q3:如何在不承擔真實資金風險的情況下測試機械人?

答:Hyperliquid 提供測試網環境。可參考官方文件中的測試網配置部分,將 API 端點切換至測試網,先進行無真實資金風險的調試。

Q4:OneKey 硬件錢包會否成為機械人的性能瓶頸?

答:OneKey 的簽名速度能夠滿足大多數量化策略需要。對於極高頻、例如每秒數十次簽名的場景,可以考慮配合 API Agent 錢包架構,將高頻操作委託予熱錢包,同時使用 OneKey 管理主帳戶及資金劃轉,在安全與性能之間取得平衡。

Q5:如何處理 API 限速?

答:Hyperliquid 對請求頻率有限制,具體門檻應以官方文件為準。建議實作令牌桶算法控制請求頻率,並在收到限速回應,例如 HTTP 429 時,自動退避及重試。

結語

在 Hyperliquid 上建立做市機械人,是一項結合量化金融、系統工程及區塊鏈安全的工作。由價差計算到庫存管理,每個環節都有優化空間;由軟件私鑰到 OneKey 硬件簽名,每一層安全加固都值得認真投入。

如果你暫時未打算由零開始開發機械人,可以先下載並試用 OneKey,透過 OneKey Perps 以自託管方式熟悉永續合約交易流程、倉位管理及風險控制。待你更了解市場結構後,再決定是否建立自動化策略會更穩妥。

你亦可以前往 Hyperliquid App 開始體驗,或查閱 Hyperliquid 官方文件深入了解 API 細節。

風險提示:做市交易屬於高風險量化策略,可能因市場波動、技術故障或策略失效而導致重大虧損。永續合約及槓桿會放大潛在損失。本文內容僅供技術學習參考,不構成任何投資、交易、法律或財務建議。請在全面評估自身風險承受能力後審慎決策,並遵守所在地區的法律法規。

使用 OneKey 保護您的加密之旅

View details for 選購 OneKey選購 OneKey

選購 OneKey

全球最先進嘅硬件錢包。

View details for 下載應用程式下載應用程式

下載應用程式

詐騙預警。支援所有幣種。

View details for OneKey SifuOneKey Sifu

OneKey Sifu

即刻諮詢,掃除疑慮。