NovaMarket
← 全部策略

中性做市

Hyperliquid市场中性永续(可杠杆/做空)较低风险

双边挂单围绕中间价,对冲库存保持 delta 中性

战绩

收益
+3.8%
夏普
1.56
最大回撤
1.5%
管理规模
$0
创建时间
2026-07-06
使用人次
0
使用池子
0
结算天数
0

适用市况

市场中性不赌方向,赚结构性价差与费率
  • 任何行情都可运行,收益相对稳但空间小
  • 极端行情下价差/费率可能异常放大

回测(确定性模拟器)

参数: ref_window / max_inventory / spread

回测曲线为确定性模拟价格路径上的示例,非真实收益。

核心代码

GitHub 源码
"""中性做市(Delta-neutral market making)—— 对称库存偏移 + 向中性衰减。

思路:与长仓做市(demos/market_making.py)同一库存偏移内核,但双向对称:价格高于滚动中间价做空、
低于中间价做多(等价于双边报价成交后的库存),并把目标仓位整体衰减 20% 使净 delta 持续回归 0——
赚取价差/波动回归而非方向。纯做市(pure market making)范式的独立重写(hummingbot 等开源做市
框架的同型思想)。
参数:ref_window(中间价窗口)、max_inventory(单边库存上限)、spread(价差敏感度)。

降级行为:连接器不支持做空时退化为长仓做市(目标裁剪到 [0, max_inventory]),docstring 即约定。
"""
from __future__ import annotations

from ..base import StrategyBase
from ..context import StrategyContext
from ..indicators import sma
from ..registry import register


@register("中性做市")
class DeltaNeutralMM(StrategyBase):
    description = "对称库存偏移做市:贵则做空、便宜则做多,目标向 0 衰减保持 delta 中性。"
    params = {"ref_window": 20, "max_inventory": 6.0, "spread": 0.02}

    def __init__(self, ref_window: int = 20, max_inventory: float = 6.0, spread: float = 0.02) -> None:
        self.ref_window = int(ref_window)
        self.max_inventory = float(max_inventory)
        self.spread = float(spread)

    async def on_tick(self, ctx: StrategyContext) -> None:
        sym = ctx.conn_symbol()
        hist = await ctx.history(sym, self.ref_window + 1)
        mid = sma(hist, self.ref_window)
        if mid is None or mid == 0:
            return
        dev = (hist[-1] - mid) / mid  # >0 偏贵, <0 偏便宜
        frac = max(-1.0, min(1.0, -dev / self.spread))
        if not getattr(ctx.conn, "allow_short", True):
            frac = max(0.0, frac)  # 长仓降级 = 现有做市 demo
        target = 0.8 * frac * self.max_inventory  # 衰减系数把净 delta 拉回中性
        await ctx.target(sym, target, band=self.max_inventory * 0.08)

完整 SDK 与全部策略以 MIT 协议开源,可直接回测、paper 试跑或二次开发。

运行此策略的池子

暂无池子运行此策略——成为第一个发起者。