这本书的目标不是教人预测下一根 K 线,而是建立一套可以长期复用的交易语言、研究方法和工程纪律。
独立交易最危险的幻觉有三个:
本书用四条主线拆掉这些幻觉。
每一分收益都必须回答:谁在付钱、为什么付、通过什么机制到达你的账户?
资金费可能由急于持有杠杆多头的人支付;maker rebate 可能来自交易所的市场推广预算;跨市场价差可能来自资金、账户、地域或结算摩擦。若无法解释利润来源,默认你遗漏了成本、尾部风险,或者自己就是付钱的一方。
真实交易不是一行
buy()。订单可能被拒绝、部分成交、重复回报、乱序到达或在断线时处于未知状态。仓位、余额、未成交订单和交易所账本必须持续对账。
工程师的优势不是会写更快的循环,而是能把状态、失败模式和损失边界说清楚。
市场中性只描述某一种暴露。一个 Delta 接近零的组合仍可能暴露于:
风险管理不是把风险变成零,而是让损失有界、状态可见、退出可执行。
一个策略要依次经过:
Idea
-> 纸面模型
-> 历史数据与反向验证
-> sandbox / paper
-> 极小资金闭环
-> 重复验证
-> 有限制地扩容
-> 衰减监控与退出
跳过中间步骤只会更快地发现自己不知道什么,区别是学费更高。
按顺序阅读第 1–5、9 章,然后完成练习 1–6。目标是能从客户端下单一直讲到 risk gateway、matching、market data、position ledger 和 reconciliation。
阅读第 3–10 章和资金费案例。目标是能把任何“稳定收益”拆成现金流、成本、执行路径、压力情景和退出条件。
读完整本书,并持续填写模板。全职不是课程毕业奖励,而是当真实记录、资本隔离、生活储备和运营系统同时达标后,才有资格讨论的选择。
本书中的策略均是研究对象,不是买卖建议。读者对自己的资金、法律、税务和操作后果负责。
交易系统首先是一套规则:谁可以提交什么意图,交易所如何排序这些意图,什么条件下产生不可撤销的成交,以及最终谁拥有什么资产和负债。
| 视角 | 首要目标 | 核心问题 |
|---|---|---|
| Exchange-side | 公平撮合、资产安全、偿付能力、持续可用 | 这笔单能否接受?以什么顺序成交?成交后账本是否守恒? |
| Participant-side | 控制成本与风险,获取可重复的净 edge | 我的真实订单和仓位是什么?异常时怎样停止并恢复? |
交易所维护撮合和账本的权威状态;交易者只能通过网络获得延迟后的投影。因此,交易程序最好显式维护三个状态:
desired state:策略想达到的目标仓位;local inferred state:根据本地行情和回报推算的状态;venue confirmed state:通过查询、执行回报或 drop copy
确认的状态。三者不一致时,默认动作应是停止扩大风险,而不是继续猜。
中央限价订单簿(CLOB)把尚未成交的买卖意图按价格排列:
asks
60,020 1.20 BTC
60,010 0.50 BTC <- best ask
60,000 0.80 BTC <- best bid
59,990 2.10 BTC
bids
最常用的量:
\[ spread = bestAsk-bestBid \]
\[ midPrice = \frac{bestAsk+bestBid}{2} \]
若最优买卖档数量为 \(Q_b\)、\(Q_a\),盘口不平衡的一个简化定义为:
\[ imbalance=\frac{Q_b-Q_a}{Q_b+Q_a} \]
一种常见 microprice 近似为:
\[ microprice=\frac{bestAsk\times Q_b+bestBid\times Q_a}{Q_b+Q_a} \]
这些量描述当前簿,不保证预测未来。挂单可以在成交前取消,本地簿也可能已经过期。
L3 信息最多,也更难正确重建。低延迟不等于正确;漏掉一条增量后,一个更新得很快的错误订单簿反而更危险。
常见规则是 price-time priority:
假设你与其他交易者都在 60,000 买入,排在你前面的数量是
5 BTC。只有在这一价格被卖方成交超过 5 BTC
后,你才可能开始成交。这就是 queue position。回测若看到价格触及
60,000 就假设自己的整单成交,会系统性高估收益。
不同场所可能使用 pro-rata、拍卖或混合规则。策略必须以目标场所当日规则为准。
手续费只是成本之一:
\[ executionCost = fee + spread + slippage + marketImpact + opportunityCost \]
成本分解取决于 benchmark。若相对 mid price 计量,单边立即成交通常承担约 half-spread;若相对下单时 best quote 计量,部分 spread 已经包含在基准内,slippage 与 impact 也要避免重复计算。报告必须明确 benchmark 和每一项定义。
post-only 可以帮助确保 maker
身份,但会引入未成交风险;market order
提高成交概率,却无法保证最终价格。选择订单类型,本质上是在价格确定性、成交确定性和等待成本之间交易。
屏幕上的 best ask 只有 0.1 BTC 时,买入
3 BTC 不可能全部以 best ask
成交。订单会逐档吃掉卖盘,平均成交价因此恶化。
需要区分:
套利利润通常很薄,忽略其中任何一项都可能把正收益翻成负收益。
真实系统会同时使用多种价格:
每种价格服务不同目的。成交价用于账本,mark price 可能用于保证金,index price 用于减少单一市场被操纵的影响。后续章节会解释错误选择参考价如何引发错误强平。
一笔交易不是一次函数调用,而是一个跨网络、网关、风险系统、撮合引擎和账本传播的状态机。
名称相同不代表每个场所语义完全一致。例如 post-only 是拒绝还是调整价格、stop 参考 last 还是 mark,都必须查规则。
一个简化链路:
Strategy
-> authentication / permission / rate limit
-> pre-trade risk and margin reservation
-> sequencer / order gateway
-> matching engine
-> execution report
-> positions / balances / ledger
-> market data and drop copy
Coinbase 的公开系统文档也将 order gateway、实时 risk system、trade engine 和 market data 分成不同组件,并明确说明请求与回报不一定按客户端发送顺序抵达。因此客户端必须使用业务标识关联消息,而不能依赖网络到达顺序。Coinbase Exchange Systems & Operations
PendingNew
+-- Rejected
`-- New
+-- PartiallyFilled
| +-- Filled
| +-- Canceled
| `-- Expired
+-- Filled
+-- Canceled
`-- Expired
三个标识尤其重要:
clientOrderId:客户端生成,用于关联重试和幂等;exchangeOrderId:交易所接受订单后分配;executionId:标识单次成交,用于成交去重。基本不变量:
\[ cumFilledQty \le originalQty \]
\[ leavesQty = originalQty-cumFilledQty\quad\text{(while the order is active)} \]
订单进入 canceled 终态后,leavesQty
通常变为零;未成交并被撤销的数量可以由
originalQty-cumFilledQty 推导,但 canceledQty
不是所有协议都会提供的通用字段。同一个 executionId
只能改变一次仓位、余额和费用。
t0 客户端发送 cancel
t1 原订单在撮合引擎成交
t2 客户端收到 fill
t3 客户端收到 too-late-to-cancel
“已发送撤单”不代表风险已经消失。策略必须允许 fill 和 cancel acknowledgement 以任何合理顺序到达;停止程序也不会撤销交易所中已经存在的订单。
超时同样不等于失败。若客户端没有收到下单回报,可能是请求未到达,也可能是订单已经成交但回报丢失。直接重试而没有稳定的 client ID,可能制造双倍仓位。
FIX 常用于订单入口、撤改和 execution report;WebSocket 常用于行情;drop copy 提供独立的订单和成交副本。Coinbase INTX 的公开 FIX 接口就分别提供 Order Entry、Market Data 和 Drop Copy。INTX FIX API
FIX session sequence number 解决会话范围内的顺序与缺口问题,不等于业务成交只会处理一次。重连、resend 和 possible duplicate 仍要求业务层幂等。
典型流程:
不能“猜测”缺失消息,也不能在不可信状态上继续计算精细 edge。Coinbase 的公开 L3 FIX feed 提供订单级更新,但正确消费仍由客户端负责。Coinbase FIX Market Data
端到端往返延迟可以拆成:
\[ T_{roundtrip}=T_{strategy}+T_{network}+T_{gateway}+T_{queue}+T_{matching}+T_{response} \]
平均值通常不够。更有用的指标包括:
回测若使用事件产生时间排序,实盘却只能按接收时间决策,就可能产生看不见的未来信息。
当本地无法证明状态正确时:
恢复不是重启进程,而是恢复对现实状态的可信认识。
衍生品的共同点是:价值来自另一个标的或指数,但现金流、保证金和结算规则可以完全不同。比较仓位前,必须先统一合约单位与风险暴露。
现货交易直接改变资产余额。买入 1 BTC 通常意味着支付报价货币并取得 1 BTC,另计费用。即使现货没有强制平仓,仍有价格、托管、链上和交易场所风险。
期货约定在未来到期日按规则交割或现金结算。若现货价格为 \(S\)、期货价格为 \(F\):
\[ basis=F-S \]
期限为 \(T\) 天时,简单年化 basis 近似为:
\[ annualizedBasis=\left(\frac{F}{S}-1\right)\frac{365}{T} \]
这只是毛年化。它没有扣除手续费、滑点、融资、借币、保证金占用、税务和失败损失,也没有说明能否持有到结算。
期货保证金不是购买标的的首付款,而是履约担保。CFTC 的教育材料强调,杠杆会同时放大盈利和亏损,账户还会经历 mark-to-market 与维持保证金要求。CFTC Futures Market Basics
永续合约没有固定到期日,通常通过 funding payment 让合约价格靠近现货指数。
约定多头 signedNotional > 0、空头
< 0,并把正数定义为账户收到的现金流,则单个资金费周期可简化为:
\[ accountFundingCashflow=-signedNotional\times fundingRate \]
在这个符号约定下,正 funding 时多头现金流为负、空头为正,即多头向空头支付。真实符号、频率、上下限、计算窗口和结算资格因场所而异。
Funding 不是固定利息:
合约不能只比较“张数”。
对线性合约,乘数为 \(m\)、数量为 \(q\):
\[ notional=|q|\times m\times markPrice \]
多头简化未实现盈亏:
\[ uPnL_{long}=q\times m\times(markPrice-entryPrice) \]
跨场所对冲时,应统一成基础资产 Delta 或同一计价货币的风险,而不是机械地让合约张数相等。
Call 给持有人按执行价 \(K\) 买入标的的权利;Put 给持有人按执行价卖出的权利。
到期收益:
\[ payoff_{call}=\max(S_T-K,0) \]
\[ payoff_{put}=\max(K-S_T,0) \]
买入 Call 的到期利润还要扣除 premium:
\[ profit_{longCall}=\max(S_T-K,0)-premium \]
期权风险是非线性的。基础 Greeks:
一个当前 Delta 接近零的组合,仍可能因为负 Gamma、负 Vega 或跳空产生巨大损失。因此“Delta neutral”只是一个局部、瞬时描述。
风险不能只看已经成交的 position。尚未成交的订单也可能在下一毫秒全部成交。
worst-case exposure
= current position
+ all risk-increasing open orders that could fill
- risk-reducing orders only when their semantics are guaranteed
两个相反方向的挂单也不一定相互抵消:一边可能先成交,另一边可能永远不成交。Risk engine 因此需要区分 current exposure、reserved exposure 和 stress exposure。
研究合约必须回答:
一个策略若只研究价格关系、不研究结算规则,就还没有形成可执行交易。
你应该能用自己的语言解释:
保证金系统的任务,是在价格快速变化和流动性有限的条件下,尽量确保亏损账户仍能履约,并把剩余损失限制在可管理范围内。
在已经结算的 realized PnL、fee 和 funding 都反映进 current balance 后,账户权益的简化表达是:
\[ equity=haircutAdjustedCurrentBalance+unrealizedPnL \]
尚未入账的 fee 或 funding payable 需要另行扣除。若系统从 beginning collateral 推导,则应分别加入 realized PnL 和 funding cashflow、扣除 fee;两种口径不能混用。当:
\[ equity<maintenanceMarginRequirement \]
账户可能进入清算。实际系统还会计入阶梯保证金率、清算费用、抵押品折扣、其他仓位和组合相关性。
Portfolio margin 不会消灭风险。相关性在压力时失效,或一条腿无法平仓,模型认可的 offset 就可能消失。
若账户接受多种抵押品,risk engine 通常会施加 haircut:波动更大、流动性更差或信用风险更高的资产,按低于市价的价值计入权益。
adjusted collateral value
= quantity * reference price * (1 - haircut)
当仓位亏损与抵押品贬值正相关时,会同时发生“交易亏损”和“损失吸收能力缩水”。例如用 BTC 作为抵押品建立 BTC 多头,BTC 下跌可能同时打击 position PnL 和 collateral value。这种 wrong-way risk 必须进入压力测试;若仓位方向不同,两者不一定同时恶化。
如果只用最后一笔成交价触发强平,一笔很小的异常成交就可能造成大规模误清算。常见链路是:
multiple spot venues
-> source health and outlier filtering
-> index price
-> basis / funding adjustment or price bands
-> mark price
-> unrealized PnL and liquidation checks
Coinbase INTX 的公开规则说明了其 mark-to-market、initial/maintenance margin 和受控强平机制;这些参数可以随市场条件变化,因此真实实现必须读取当前规则,不能把教材公式硬编码为场所规则。Coinbase International Exchange Trading Rules
假设:
10,000 USDC;60,000 建立 1 BTC 线性永续多仓;5%;mark price 降到 54,000:
\[ uPnL=54,000-60,000=-6,000 \]
\[ equity=10,000-6,000=4,000 \]
\[ maintenanceMargin=54,000\times5\%=2,700 \]
简化条件下尚未触发清算。
mark price 降到 52,000:
\[ equity=2,000 \]
\[ maintenanceMargin=2,600 \]
权益低于维持保证金,进入简化清算条件。真实清算价还取决于清算费、阶梯参数、funding、抵押品 haircut 和挂单。
不同场所名称不同,典型动作可能包括:
强平的目标不只是关闭一个账户,还要避免集中抛售引发新的价格下跌和连锁清算。因此 liquidation engine 需要在风险速度与市场冲击之间权衡。
现货—永续组合常被描述为“收资金费”:
long spot
+ short perpetual
~= lower directional Delta
交易前的单一情景至少要写成:
\[ ScenarioNetPnL=Funding+BasisConvergence-Fees-Slippage-BorrowCost-CapitalCost-FailureLossInScenario \]
再用多个情景计算 forward expected PnL;实际结算后的 realized PnL 按余额和现金流计算。概率加权 expected loss、历史 realized loss 与 reserve capital 不得混成同一项。
需要特别检查:
“组合总体有钱”不能帮助一个与另一边资金隔离、正在被强平的账户。
Stop order 可能因为跳价、无流动性、API 故障、触发参考价不同或场所暂停交易而无法在预期价格执行。仓位必须在没有 stop-loss 帮助的压力情景下仍然可承受。
监管机构也反复提醒:杠杆会放大虚拟资产期货和期权的价格风险,损失可能超过最初投入。CFTC Virtual Currency Trading Risk Advisory
一个简单但重要的区分:
订单进入撮合前通常检查:
账户只够再承担 1 BTC
五个并发请求同时读到旧状态
每个请求都判断 0.5 BTC 可以接受
总计接受 2.5 BTC
解决方向通常是账户级顺序化,或接受订单时原子预留风险额度。不能等成交后才发现额度已经被并发订单重复使用。
成交后系统持续更新:
“成交已经发生但 position service 尚未更新”是典型危险窗口。Risk engine 若读取旧仓位继续批单,实际暴露会超过限额。设计重点不是让消息永远不延迟,而是消息延迟时仍然不会无限扩大风险。
fail closed
限制风险,但可能阻断健康交易;fail open
保持可用,却可能制造未知暴露。这是风险、产品和工程共同作出的业务决策。
不能假设交易所风控会保护策略利润。独立交易者至少需要:
kill -9触发后应:
只关闭策略进程,可能留下交易所中的活动订单和未知仓位。
E1: fill 0.4 BTC
E2: fill 0.3 BTC
E1: duplicate
C1: cancel acknowledgement
重复应用 E1 会让本地仓位从真实的 0.7 BTC 变成
1.1 BTC。需要:
关键不变量:
同一 executionId 只入账一次
活动订单满足 cumFilled + leaves = original quantity
终态撤单的未成交数量可由 original - cumFilled 推导
reduce-only 成交不得扩大绝对仓位
资产与负债变化守恒
无法证明本地状态正确时,不继续扩大风险
实时合规和 trading risk 的业务规则不同,但底层要求高度相似:低延迟决策、陈旧数据检测、幂等、规则版本、审计、降级、回放和对账。
需要补的是 domain model:order、fill、position、collateral、margin、funding、mark price 和 liquidation。可靠分布式系统能力不是旁支,而是交易风险系统能够成立的基础。
套利不是“收益看起来稳定”,而是识别一组可以解释、配对和控制的风险暴露,从价格收敛、风险转移、流动性、规则激励或市场摩擦中获取收益。
| 类型 | 收益依赖什么 | 更准确的称呼 |
|---|---|---|
| 同时锁定可交割现金流的价差 | 已知买卖价与可执行结算 | 最接近纯套利,仍有执行/对手方风险 |
| 基差、资金费、统计收敛 | 未来收敛、资金费或统计关系延续 | 相对价值交易 |
| 平台补贴、积分、返利、空投 | 规则方预算与资格规则 | 规则红利 |
| 做市 | spread、rebate、库存管理 | 流动性供给策略 |
| 买入股票或代币等待上涨 | 企业现金流、叙事或市场方向 | 投资/投机,不是套利 |
“Delta neutral”不等于纯套利;“高胜率”也不等于低风险。卖保险类策略常表现为小赚很多次、一次亏掉全部。
回答不清楚时,不应该用“套利”降低自己的警惕。
每个策略都画出:
付钱方
-> 付钱动机
-> 收益传导机制
-> 你的捕获动作
-> 显性成本
-> 隐性成本
-> 尾部风险
-> 净收益
常见来源:
最后一种尤其容易被误认为无风险收益。
合理答案通常有限:
“我比所有机构聪明”不能单独构成 edge。如果上述原因都不成立,应优先寻找遗漏的风险和费用。
\[ ScenarioNetPnL_i=GrossSpread_i+Funding_i+Incentives_i -TradingFees-Slippage-MarketImpact -BorrowCost-FinancingCost-TransferCost -InfrastructureCost-TaxEstimate-FailureLoss_i \]
这是一个情景的净值,不是历史 realized PnL。交易后用实际余额与现金流归因;交易前把 failure event 放入对应情景,并在下一节按概率计算 EV,不能又额外扣一遍 expected failure loss。
还应计算资本占用:同样赚 100,占用 1,000
一周和占用 100,000 三个月不是同一机会。
简单年化:
\[ APR_{simple}=holdingPeriodReturn\times\frac{365}{holdingDays} \]
短期收益直接年化很容易制造夸张数字。只有机会能够以相同容量、成本和风险重复,复利假设才有意义。
\[ EV=\sum_i p_i\times ScenarioNetPnL_i-allocatedFixedCosts-timeCost \]
情景 PnL 必须明确是 gross 还是 net,避免手续费和失败损失重复扣除。为尾部事件预留的资本不是当期 PnL 成本,应单独进入资本占用和收益率分母;只有按情景概率计算的 expected tail loss 才进入 EV。
不要只建立“成功/失败”两个情景。至少包括:
概率是区间和可更新判断,不是假装精确。对无法估计但可能致命的风险,仓位控制比给一个虚假的小概率更诚实。
价差存在不代表可以免费获得。常见限制包括资本、保证金、借币、结算时间、监管分割、对手方信用、速度和信息不对称。
BIS 对 crypto carry 的研究也指出,将基差交易描述为 risk-free 会忽略 mark-to-market、市场分割和无法 cross-margin 导致的清算风险。BIS Working Paper 1087
6.4 节问"为什么轮得到我",6.7 节列出限制。这一节回答由它们决定的第三个问题:这个机会能持续多久。
答案取决于你靠什么把别人挡在外面,与价差当前有多大几乎无关。不同门槛的衰减速度差几个数量级:
| 门槛类型 | 衰减到 | 原因 |
|---|---|---|
| 信息优势 | 零 | 一旦公开即结束 |
| 技术实现 | 零 | 工具必然商品化 |
| 对手方的参数错误 | 零 | 会被修复 |
| 平台补贴与激励预算 | 零 | 预算有限,规则可变 |
| 速度 | 资本成本 | 可以用钱买,终点是军备竞赛 |
| 资本与库存 | 资本成本 | 不因他人更聪明而消失 |
| 运营复杂度 | 缓慢下降 | 多腿、多场所、需值守的流程难以规模化 |
| 准入资格 | 几乎不降 | 供给被行政性限制,且趋势是收紧 |
| 承担风险的意愿 | 风险溢价 | 总需要有人承担,不会归零 |
A 类 来自错误或补贴——必然消失
平台补贴、激励与空投预算、对手方的参数错误、纯信息优势、纯技术实现。
单个机会的半衰期以周或月计。你的资产不是任何一个机会,而是发现机会的速度。这类对个人友好(资本要求低),但收入不稳定、不可复利,且需要持续投入研究时间。
B 类 来自结构——不会消失,但会转移
期现基差、现货—永续 funding、跨场所价差,以及一切由波动率、结算时间差和市场分割产生的租金。
它不由任何人的错误产生,因此用户更谨慎、系统更优化都不会让它消失。但竞争不消灭这类租金,只改变谁拿走它——它会流向供应链上门槛更硬的那个环节。
因此对 B 类,正确的问题不是"价差还有多大",而是**"我在这条链条的哪个位置"**。
C 类 不是套利,是收费
做市、提供流动性、承担尾部风险。
收益是提供服务或承担风险的报酬。它会被资本涌入压缩到风险调整后的均衡,但不会归零,因为总需要有人承担。把这类叫作套利,是本书反复警告的错误。
分两层,答案不同:
单位收益率:会。 工具商品化与资本涌入的必然结果。任何声称高年化的东西,要么容量极小、要么门槛即将消失、要么成本算错了。
绝对规模:不一定。 由波动率和市场规模驱动的租金会随两者增长。
但下降到哪里由门槛类型决定,这才是可操作的部分:技术门槛归零,资本门槛降到资本成本,风险承担降到风险溢价,而资格门槛不降。
按类别不同:
由此得到一条筛选原则:不要在会被商品化的门槛上竞争。
在计算价差之前先回答:
我的门槛属于上表哪一类?
它的衰减速度是多少?
如果它归零,我还剩下什么?
这个租金是会消失,还是只会转移给别人?
若只是转移,我在链条的哪个位置?
第五个问题答不上来时,通常意味着你处在被转移的一端。
本书全部类别按此框架的归类见第 20.9 节;衰减的可观测信号与退出阈值见第 10.5 节。
Edge 通常随规模和竞争下降:
small size: fixed costs high, impact low
medium size: best unit economics
large size: impact, limits and counterparty exposure dominate
建仓前就定义衰减指标:净收益率、滑点、借贷成本、成交失败率、参与热度、额度和规则变化。红利消失后继续交易,不是坚持,是换成了没有被重新评估的策略。
规模衰减与 6.8 节的门槛衰减是两件事:前者是同一个机会在你自己加仓时变差,后者是这个机会对所有人变差。两者要分别设阈值。
本章是分类地图,不是立即下单清单。任何策略都必须经过下一章的验证门禁。
| 策略 | 主要收益来源 | 核心残余风险 | 关键基础设施 |
|---|---|---|---|
| 交割合约 cash-and-carry | 期货相对现货溢价收敛 | 保证金、交割、托管、融资 | 双腿执行、保证金监控 |
| 现货—永续 funding | 杠杆需求支付 funding | funding 反转、basis、强平 | 实时 funding、margin、对账 |
| 跨场所价差 | 市场分割与价格同步延迟 | 资金隔离、提现、腿风险 | 预置库存、多场所行情 |
| 三角价差 | 同场所交易对定价不一致 | 手续费、深度、顺序成交 | 原子化近似、快速撤单 |
| 做市 | spread、rebate、流动性溢价 | adverse selection、库存 | 报价、库存风控、低延迟 |
| 统计收敛 | 历史关系或因子回归 | 关系失效、拥挤、方向暴露 | 数据研究、组合风控 |
| DEX–CEX | 链上链下价格/结算摩擦 | MEV、gas、finality、桥、托管 | 节点、模拟、链上监控 |
| 规则红利 | 平台市场预算或规则差 | 封号、规则突变、预算耗尽 | 规则跟踪、人工流程 |
| 股票事件/相对价值 | 公司事件或估值差 | 事件失败、借券、市场 beta | 文件研究、情景模型 |
经典结构:买入现货,同时做空到期日相同风险单位的期货,计划持有到收敛或交割。
纸面收益来自 \(F-S\),但需要确认:
组合最终可能盈利,但中途的 mark-to-market 仍可让期货腿被强平。
常见结构是 long spot + short perpetual,在正 funding 时由空头收取资金费。它把部分方向风险换成:
Funding 是浮动现金流,不是锁定票息。更完整案例见现货—永续资金费交易。
看到 A 场所报价低、B 场所报价高,不代表可以先买再慢慢转币。价格通常会在链上转账完成前消失。
专业实现往往预先在两边配置资产:
Venue A: quote currency ready to buy
Venue B: base asset ready to sell
成交后再做库存再平衡。这降低转账延迟,却增加双场所托管、资金碎片化和一边无法提现的风险。
在同一场所用三个交易对形成闭环,例如:
USDC -> BTC -> ETH -> USDC
必须使用每一腿真实 bid/ask、深度、fee、精度和最小订单量。顺序执行时,前两腿成交而第三腿失败,会留下方向仓位。理论汇率乘积大于 1 只是起点。
Maker 收益可能来自 spread 和 rebate,成本来自 adverse selection、库存、撤单失败和极端行情。
quoted spread
- fees
- adverse selection
- inventory carry
- hedge cost
- failure loss
= net market-making edge
做市不是“同时挂买卖单就中性”。行情快速变化时,通常只有不利的一边成交。
统计关系可能来自共同因子、均值回归、领先—滞后或资金流。它不是无风险套利,因为:
必须明确 falsification:什么观察会证明关系已经失效?
链上透明不等于执行确定。需要考虑:
只有在模拟结果、链上状态和 CEX 状态都足够新时,纸面价差才有意义。
完整的 AMM、MEV、跨链与生产运营框架见第 13–18 章,尤其是链上套利、风险与生产运营。
开户奖励、交易补贴、空投和积分由规则方预算支付。Edge 常来自操作琐碎、信息扩散慢和机构不便参与。
红线不随收益改变:不得伪造身份、租借证件、绕过 KYC、滥用亲友账户或洗钱。规则不清楚时选择放弃,而不是把封号和法律风险当作普通手续费。
对任何类别先回答:
第三问决定这个机会能持续多久:不同门槛的衰减速度差几个数量级,而且有一类租金不会消失、只会转移给链条上的其他人。框架见第 6.8 节,本表各类别的归类见第 20.9 节。
回测不是寻找最好看的曲线,而是尽可能便宜地证明策略不成立。只有经受反向验证的假设,才值得进入下一阶段。
研究开始前,用一页写清:
如果策略只能用“感觉”“通常”“应该”描述,还不能进入回测。
每份数据记录:
“同一个 symbol”可能在合约乘数、结算币种或规则变更后已经不是同一产品。
第 8.2
节列出了每份数据要记录什么,其中两行——event time、exchange time、receive time
与
时区和时钟精度——决定了本章其余部分能否执行。这一节说怎么拿到数据、怎么对齐这三个时间。
| 类别 | 一手来源的形态 | 主要陷阱 |
|---|---|---|
| 盘口快照与增量 | 场所的历史归档接口;自建实时流落盘 | 快照与增量的拼接点、序列号断裂 |
| 成交明细 | 同上 | 聚合成交与逐笔成交的口径不同 |
| funding、合约规格历史 | 场所公告与接口,常需逐条抓取 | 规格变更没有统一的变更日志 |
| 链上数据 | 归档节点、自建索引 | 重组、重放语义、节点版本差异 |
自建实时流落盘与事后从归档接口拉取,得到的不是同一份数据:前者带
receive time
且反映你当时真实能看到的内容,后者只有场所时间且已经过场所的清洗与更正。研究用后者、实盘用前者,是时间戳偏差的常见来源。
本书不推荐具体的商业数据供应商,也不写价格——这类信息会过期,且选型取决于你的策略对哪一类偏差敏感。
存储量级随场所、品种和市场活跃度变化,直接给数字会立刻过期。用实测频率自行推算:
\[ Bytes \approx MessageRate \times AvgMessageSize \times RetentionSeconds \times Instruments \]
MessageRate
必须自己测:接一路真实数据流,统计一分钟的消息数,再按活跃时段与平静时段分别外推。用平均值估算会低估峰值存储与峰值处理压力,而系统是在峰值时崩的。
exchange time 场所声称的事件发生时间
receive time 你本地收到该消息的时间
event time 策略认定的逻辑时间(由你选择)
三者互不相等,原因各不相同:
exchange time
由场所生成,可能精度不足、可能跳变、可能在撮合与推送之间已经过了一段时间;receive time
含网络传输、内核缓冲与你自己的处理延迟,且随负载变化;event time
是你的选择,而这个选择决定了回测有没有前视偏差。用 exchange time 作为 event time
回测,等于假设消息一产生你就能行动,这抹掉了整段传输与决策延迟。真实可行动时刻是
receive time 加上你的决策与下单延迟。第 8.4 节把这一类列为
Timestamp bias,本节给出它的量级来源。
clock skew 必须测量而不是假设。 两种可行做法:周期性调用场所的服务器时间接口,记录往返延迟并取偏移的中位数;或对同一事件比对多路来源(不同接入点、不同协议)的接收时间。测得的偏移与抖动都要落盘,因为它们会随时间和网络状况变化。
数据落盘时三个时间戳全部持久化,不要只留一个。事后无法从一个时间戳恢复出另外两个。
今天拉取的历史数据不等于当时可交易的宇宙:
已下架的交易对 -> 不在今天的 symbol 列表里
已停止运营的场所 -> 接口已关闭,历史无法回补
被重命名的合约 -> 看起来连续,实际是两个产品
规格已变更的合约 -> 乘数、结算币种或费率在某一天改过
后果是方向固定的:回测宇宙被幸存者污染,收益被系统性高估,因为出问题的标的和场所恰好是数据里缺失的那些。
对策是保存 instrument 的生效区间快照——每次拉取 instrument 列表时带时间戳落盘,回测时只使用当时快照中存在的标的。这件事只能从今天开始做,无法追溯补齐;这也是尽早开始落盘的理由。
第 8.2 节提到 snapshot、增量和缺口处理,这里给策略:
用序列号检测断裂,用时间连续性检测静默中断
缺口区间打标记,不插值
含缺口的区间不参与评估,也不参与参数拟合
缺口的分布本身要检查——如果缺口集中在高波动时段,
问题不是数据缺失,是你的采集在压力下就会失效
最后一条最重要:缺口若与市场状态相关,它就不是随机缺失,删掉这些区间同样会产生偏差。
只按访问模式选,不按流行度选:
多数研究场景同时需要前两种,因此常见做法是原始流按行式归档、派生特征按列式物化,两者用同一份时间戳对齐。
取一段历史,用你落盘的数据重建某时刻的盘口,再取该时刻之后的真实成交比对:
成交价是否落在重建盘口的买卖价范围内
成交量是否不超过重建盘口对应档位的可用量
不满足的比例有多高,集中在什么时段
若重建盘口无法解释这些成交,说明数据或对齐有问题。在此之前,本章之后的任何回测结论都不成立——这一步不通过就往下做,等于在错误的数据上精心调参。
最低限度应包含:
bid/ask side
available depth
queue ahead
order latency
partial fill
cancel latency
maker/taker fee
minimum size and precision
price/quantity limits
对于多腿策略,必须模拟成交不同步。用最终 K 线收盘价同时成交两条腿,通常是在免费借用未来流动性。
不要只看总收益或胜率。至少报告:
Sharpe 依赖收益分布和采样假设。对负偏度和尾部策略,一个很高的历史 Sharpe 仍可能掩盖罕见的大额损失。
每个策略主动攻击:
只有在轻微参数变化后仍成立的策略,才可能不是过拟合。
一种基本流程:
如果看过测试集后继续修改策略,它就变成了新的训练集,需要新的留出数据。
不要自动化一个尚未证明单位经济成立的流程。自动化只会同时放大 edge 和错误。
预期仓位 vs 实际仓位
预期成交价 vs 实际成交价
预期费用 vs 实际费用
预期资金到账时间 vs 实际时间
模型 PnL vs 账本 PnL
无法解释的盈利也属于 bug。它可能来自遗漏的方向暴露、错误价格或尚未入账的费用。
研究回答“理论上为什么赚钱”;生产系统回答“发生任何正常故障时,损失是否仍然有界”。
market/reference data
-> normalized event store
-> research / replay
-> strategy intent
-> pre-trade risk
-> order manager
-> venue adapters
-> fills / balances / positions
-> ledger and reconciliation
-> PnL attribution
-> monitoring / kill switch
策略不应直接把任意订单写入场所。所有意图先经过统一限额、权限、状态和 freshness 检查。
OMS 至少维护:
业务逻辑不应假设“请求成功返回”才代表订单存在,也不应假设超时就代表订单不存在。
第 8.4 节的成交模型清单里有一行
minimum size and precision。这一节展开它——因为取整不是精度问题,是风险问题:取整方向错误不会报错,会留下未对冲的方向敞口。
| 约束 | 作用对象 | 典型后果 |
|---|---|---|
tick size |
价格步进 | 价格不合规则订单被拒 |
lot size / step size |
数量步进 | 数量不合规则订单被拒 |
min notional |
单笔最小名义 | 规模缩小后订单被拒 |
这三组参数按场所、按合约不同,并且会被变更。因此必须在启动时从场所的 instrument 接口拉取并缓存,不得硬编码,也不得沿用上次运行的缓存而不校验。合约规格变更是第 8.2 节"同一个 symbol 可能已经不是同一产品"的一个具体表现。
默认规则是朝更保守的一侧取整,即宁可少成交,不可超出预算、持仓或限额:
卖出数量 -> 向下取整(不能卖出超过持有量)
买入名义 -> 向下取整(不能突破资金与限额)
限价买单价格 -> 向下取整到 tick(不主动提高买价)
限价卖单价格 -> 向上取整到 tick(不主动降低卖价)
止损/减仓数量 -> 向上取整(宁可多平一点,不可留下残余)
最后一行与前几行方向相反,这不是笔误:建仓时保守意味着少做,平仓时保守意味着做足。用同一个"向下取整"函数处理所有场景,会在平仓时留下无法关闭的尾巴。
四舍五入在任何一种场景下都不合适——它在一半的情况下朝着不利方向。
这是本节最重要的一条。各腿独立取整会产生本书反复警告的两腿不匹配:
各腿按各自的 step size 独立取整
-> 两腿数量不再相等
-> 差额部分没有对手腿
-> 该差额是未对冲的方向敞口
-> 你以为是 delta 中性,实际不是
正确做法是先求可执行数量,再分配到各腿:
1. 取各腿 step size 的最粗者(若互不整除,取其最小公倍步进)
2. 用它把目标数量向下取整,得到统一可执行数量 q
3. 校验每条腿在 q 下是否仍满足各自的 min notional
4. 任一腿不满足 -> 该规模不可执行,缩小或放弃,而不是让这条腿单独变小
第 4 步常被忽略。缩小规模时,最先触发 min notional
的那条腿决定了整个策略的最小可执行规模,它往往远高于单腿看起来的下限。
取整同时缩小收益和产生残余,两项都要计入第 6.5 节的情景 PnL:
\[ RoundingLoss= \left(1-\frac{q_{executable}}{q_{intended}}\right)\times GrossSpread +|q_{residual}|\times P\times StressAdverseMove \]
第一项是因规模缩小而放弃的毛利,确定发生。第二项是未配平残余在压力情景下的损失,按第 6.6 节的口径进入情景而不是直接扣减。若联立取整做对了,\(q_{residual}=0\),第二项消失——这正是联立取整的全部价值。
在 pre-trade 检查中必须使用取整后的数量重算净收益。 用取整前的数量判断"这笔划算",再用取整后的数量下单,是一个常见且方向固定的错误:它总是高估。
浮点数不能精确表示十进制小数,累加 fill 时误差会积累到与场所账本对不上,而第 9.4 节的对账不变量要求精确相等。
场所边界(字符串/十进制)
-> 一次转换 -> 内部整数最小单位(tick 计数、数量最小单位计数)
-> 全部运算在整数域完成
-> 一次转换 -> 场所边界
内部表示用整数最小单位计数,所有比较、加减和限额判断都是整数运算,不存在舍入。Decimal
是可接受的替代,代价是性能与仍需显式指定 rounding
mode;浮点数不可用于数量与余额,只可用于不进入账本的中间估算。
取真实 instrument 参数(自行从场所拉取,本书不写具体数值),对一个候选规模执行完整流程,检查三项:
取整后各腿数量是否相等(残余为零)
每条腿是否满足各自的 min notional
用取整后数量重算的净收益是否仍为正
任一项不通过,该规模不可执行。正确的反应是缩小规模重算或放弃,而不是四舍五入后照下。
至少对比三类状态:
对账差异应分类,而不是直接覆盖本地状态:
没有解释之前,不应自动扩大规模。
任何需要在机器人中保存提现权限的设计,都应被视为高风险架构并重新论证。
技术指标:
业务风险指标:
告警必须对应动作。没有 owner、阈值和 playbook 的 dashboard 只是装饰。
放在交易所的资产同时承担托管、法律实体、运营、提现和破产风险。SEC 的公开材料也把私钥保护、平台运营、法律地位和托管控制列为 crypto 资产的重要风险类别。SEC Crypto Asset Custody Statement
需要为每个场所记录:
多个策略如果都依赖同一交易所、稳定币、云服务或网络,它们仍属于同一失败域。
事故流程:
detect
-> contain new risk
-> preserve evidence
-> determine authoritative state
-> reduce residual exposure
-> reconcile
-> restore with approval
-> postmortem and control change
复盘关注系统条件,而不是只责怪最后按按钮的人:为什么一个错误输入可以突破限额?为什么告警没有阻止扩散?为什么恢复步骤没有演练?
独立交易者没有大公司的轮班和风控团队,更需要让系统在自己睡觉、断网或判断错误时仍能停止扩大损失。
结构性机会的核心不是秘密消息,而是对公开规则做更深处理,并用小规模实验快速验证。默认目标是找到“不参与”的理由;找不到致命问题,才升级为试验。
任何一项恶劣,就直接放弃:
若高收益主要来自后来者本金、拉人头或无法解释的持续输血,停止研究。
伪造身份、租借证件、绕过 KYC、违反地域限制、未经授权使用他人账户、洗钱或滥用员工信息,都不是“执行技巧”。
区分收益不足与本金损失。资金交给无法独立核验的第三方、智能合约或托管方时,先按可能归零处理。
回答:
常见付钱方可能是加杠杆交易者、急需流动性的一方、市场推广部门、项目代币预算、借款人或承担另一边风险的市场参与者。
检查:容量小、操作碎、市场分散、机构受限、人工时间是否构成真实 edge。若机构完全可以低成本规模化参与,却留下惊人收益,优先怀疑:
可观测衰减信号:
退出阈值必须在参与前写下。
| 类型 | 典型问题 | 主要控制 |
|---|---|---|
| 系统性 | 平台破产、稳定币脱锚、合约漏洞 | 严格资金上限与资产隔离 |
| 规则 | 封号、资格取消、活动突变 | 官方条款、书面确认、退出条件 |
| 市场 | basis 扩大、funding 反转、跳空 | 对冲、margin buffer、压力测试 |
| 执行 | 两腿不同步、滑点、失败重试 | 最小实验、限额、幂等与对账 |
| 操作 | 错地址、错精度、权限泄漏 | 白名单、双检、最小权限 |
| 时间 | 工时远超预期 | 按真实时薪计入成本 |
每条风险记录概率区间、最大损失、可控性、监控指标、缓解和应急动作。“我没搞清楚的地方”不得为空。
额外做一次黑天鹅落点检查:逐项写出哪些资产、私钥、托管账户、稳定币赎回、bridge、智能合约、API 和退出通道无法由自己立即控制。无法立即控制且可能同时失效的部分,应聚合为同一失败域,而不是当作互相分散。
\[ EV_{round}=\sum_i p_i\times grossScenarioPnL_i-variableCosts-timeCost \]
若可重复:
\[ EV_{total}=EV_{round}\times effectiveRepeats-allocatedFixedCosts-expectedTailLoss \]
尾部风险所需的 reserve capital 单独报告,并进入收益率分母和仓位上限;不要既把尾部损失放进情景 PnL,又重复扣一次准备金。
损失约束仓位:
\[ positionByLossLimit=\frac{maximumAcceptableStrategyLoss}{stressScenarioLossRate} \]
最终仓位还要受市场容量、流动性、单平台额度和保证金额度限制。名义对冲不应成为提高总风险预算的理由。
用可承受归零的最小金额跑通注册、入金、操作、结算、提现和对账。目标是发现未知,不是证明自己正确。
只有实际费用、工时、失败率和净收益符合模型,才逐步增加规模。每次扩大资金、场所或自动化程度,都重新做风险评估。
触发预设的收益、规则、流动性、对手方、对账或 drawdown 阈值就退出。不得用“也许很快恢复”临时改变规则。
每次机会研究必须包含:
结论与资金上限
快速过滤
谁在付钱、为什么付
为什么轮得到我
窗口期与衰减信号
风险登记
期望值区间
最小验证
扩容条件
退出条件
我没搞清楚的地方
一手资料与查询日期
可直接复制项目中的 opportunity memo。
股票研究是在不确定条件下,对企业未来现金流和市场重新定价作概率判断。它通常承担市场方向、公司经营和估值倍数风险,因此即使研究严谨,也不应归入套利 PnL。
不能用“长期价值”掩盖一个没有退出纪律的短期交易,也不能把股票上涨归功于套利系统。
任何具体分析都应查询当日一手数据并标注 as of 日期:
教材中的阈值只能当 heuristic,不能永久硬编码。例如同样的 10 年期利率,在不同通胀、增长和盈利环境下含义不同。
先给一句环境判断:风险偏好扩张、收缩还是过渡?哪些行业最敏感?
对目标公司先判断:
好赛道中的弱公司仍可能失败;坏赛道中的低估值也可能是价值陷阱。
五维研究框架:
| 维度 | 证据 | 得分(0–1) |
|---|---|---|
| 营收增长 | 最近四季度增速与加减速、RPO/ARR 等领先指标 | |
| 利润率路径 | 毛利率、营业利润率、FCF 转化是否改善 | |
| 网络效应 | 更多用户是否真的提高每个用户价值 | |
| 技术/AI 贡献 | 是否有可量化收入或成本改善,而非话术 | |
| 可扩展护城河 | 数据、转换成本、监管、规模和复制时间 |
评分是组织证据的方法,不是机械买入信号。每个分数必须链接到财报、电话会、监管文件或可复核数据。
可以把五维各按 0–1 打分,作为研究排序的起点。原始框架将
3.5/5 以上视为值得深入、2.5/5
以下视为谨慎区;这只是筛选
heuristic,不是收益预测。若营收增速高但持续减速、利润率恶化或护城河证据不足,不能用总分掩盖硬伤。
同样,宏观 dashboard 可使用以下起始观察值,但每次必须结合当时通胀和增长环境复核:
| 指标 | 启发式信号 | 不能推出什么 |
|---|---|---|
| 10 年期美债 > 4.5% | 长久期成长估值通常更承压 | 所有成长股必跌 |
| VIX > 25 / < 15 | 压力上升 / 情绪较平静 | 精确底部或顶部 |
| 油价 > 90 美元 | 通胀和消费压力值得上调 | 央行必然采取某行动 |
| 200 日均线上方股票比例 < 20% | 市场广度很弱 | 立即反转 |
阈值是研究触发器,不是自动下单条件。
财务健康度:
SEC 的 10-K 指南说明了 Business、Risk Factors、MD&A 和经审计财务报表各自提供的证据。Investor.gov: How to Read a 10-K
\[ PEG=\frac{Forward\ P/E}{expected\ EPS\ growth\ rate\ (\%)} \]
PEG 对盈利口径和增长预测高度敏感;负盈利、周期高点或一次性利润下不适用。
作为初筛,PEG < 1 常被视为相对便宜、1–2
为大致匹配、> 3
需要很高增长确定性;实际结论仍取决于利率、质量、周期和预测可信度。
\[ FCFYield=\frac{annual\ free\ cash\ flow}{market\ capitalization} \]
适合与商业模式、毛利率和周期位置相近的同行比较,不应跨行业机械比较。
不追求伪精确,而是问:当前价格要求未来收入、利润率和资本效率达到什么水平?这些假设与公司历史、竞争和行业容量一致吗?
“公司很好”和“股票在当前价格值得承担风险”是两个问题。
每个多头论点都生成最强空头版本:
输出 bull/base/bear 三种情景,概率合计 100%。概率是可更新的判断,不是事实。
均线、RSI、成交量、市场宽度和历史回撤可以用于观察趋势、拥挤和进入节奏,但不能替代现金流与估值。
技术指标必须使用最新数据,并说明价格复权、交易时段和计算窗口。不要为了让结论好看而在多个指标中挑一个。
日期与当前价格
宏观环境
赛道周期
基本面与财务健康
估值及隐含预期
多头论点
强制空头论证
bull/base/bear 概率
技术确认
行动、仓位边界与论点失效条件
一手数据来源
使用 stock research memo。每次具体股票分析都必须重新获取价格、财报和宏观数据,不能引用教材中的旧数字。
独立交易不是一组脚本,而是一家只有一个人的小型交易机构。研究、资金、执行、风控、合规、财务和事故响应都不会因为人员少而消失。
Idea
-> Research
-> Rejected / Paper
-> Sandbox
-> Small Live Pilot
-> Active
-> Restricted
-> Retired
每个策略拥有版本化 one-pager、风险登记、实验记录和退出原因。失败研究也要保存,防止未来重复踩坑。
生活、税务和实验资金不得互相借用。盈利也不应自动全部成为下一轮保证金。
多个策略依赖同一失败域时,暴露应合并计算。
亏损后的恢复是非线性的。若 drawdown 为 \(d\),回到原点所需收益率为:
\[ requiredRecovery=\frac{d}{1-d} \]
| Drawdown | 回本所需收益 |
|---|---|
| 10% | 11.1% |
| 25% | 33.3% |
| 50% | 100% |
| 80% | 400% |
Risk of ruin 不应只用单策略平均胜率估计。它还取决于杠杆、损失尾部、策略相关性、场所共同失败、取款需求和 edge 衰减。可以使用历史重采样与压力情景模拟资本路径,但无法可靠估计的尾部仍需硬限额、低杠杆和资本隔离。
在交易所、做市商或金融机构工作时,个人交易可能受账户申报、restricted list、预审批、交易窗口和算法交易限制。必须取得当前书面政策,而不能从同事做法推断许可。
还应检查 invention assignment、outside business activity、利益冲突、外部出版/开源审批和竞业/保密条款。个人研究应使用个人设备、账户、时间和公共数据,并保留公共来源的数据血缘;这些做法不能覆盖合同明确禁止的活动,疑问应向合规或律师确认。
只能带走通用知识:市场机制、公开协议、工程原则和个人能力。不能带走或利用:
“以后才使用”不会把机密变成公共信息。
不要仅凭回测、单一牛市或几个月 funding 收益辞去主业。保守检查:
12–24 个月实盘记录和 18–24
个月独立生活储备可以作为保守讨论起点,而不是保证或普遍标准。
| 能力 | 交易系统岗位能提供 | 仍需自行建立 |
|---|---|---|
| 市场微观结构 | order、fill、market data、failure mode | 从 participant 视角测量 edge |
| 执行工程 | OMS、幂等、对账、可靠性 | 多场所适配和真实成本模型 |
| 风险 | margin、liquidation、limits | 个人资本和风险承受约束 |
| Alpha | 通常只提供市场上下文 | 假设、数据、统计和反向验证 |
| 运营 | 生产纪律和事故文化 | 财务、税务、合规与单人 on-call |
交易所内部经验是“执行与风险”能力的高质量学校,但不会自动产生 alpha。职业选择的价值,在于补齐能力拼图,而不是获得某种秘密策略。
本书的毕业标准是能够机械地拒绝一个坏机会、用最小成本验证一个好假设、在故障时停止扩大损失,并诚实解释每一分收益来自哪里。
是否全职,是之后基于证据和个人生活约束作出的独立决定。
DeFi 不是“把交易所搬到链上”,而是把资产、规则和结算拆成可组合的智能合约。开放访问与链上可验证降低了部分准入成本,却把风险转移到私钥、合约、预言机、排序、治理、底层链和桥。
学习 DeFi 的第一原则是:不要从页面上的 APY 开始,要从资产索取权和状态转换开始。
一个最简单的“把稳定币存入 vault”动作,至少可能依赖:
用户私钥
-> 钱包构造与签名
-> RPC 广播
-> 区块生产与排序
-> ERC-20 token contract
-> vault contract
-> vault 的下游 strategy
-> lending / AMM / oracle / bridge
-> admin、multisig、timelock 与治理
-> 最终 withdrawal liquidity
页面只显示 vault 名称,不代表风险只来自 vault。底层若再存入借贷协议,借贷协议又依赖价格预言机,最终持有的是一条索取权链,而不是原始稳定币。
因此每个 DeFi 研究都应画两张图:
以 Ethereum 类账户模型为例,一笔改变状态的交易大致经历:
构造 calldata / value / gas 参数
-> 私钥签名
-> 广播至公开 mempool 或私有通道
-> 被区块生产者选择并排序
-> EVM 执行
-> success 或 revert
-> receipt / logs
-> 后续区块确认
-> protocol-defined finality
需要区分五件事:
交易 revert 时状态更新会回滚,但已消耗的计算和区块空间仍需支付 gas。RPC 返回超时也不能推断交易失败;它可能已经被接受、被替换,或稍后才进入区块。正确恢复需要查询 nonce、transaction hash、receipt 和最终余额,而不是盲目重发。Ethereum Transactions 与 Gas and Fees 给出了协议层基础。
链上执行成本不只是 gas used × gas price:
realized execution cost
= receipt gas for included success / revert / replacement / cancel
(effective gas price already includes the priority fee)
+ direct builder / relay / bundle payment not recorded in receipt gas
+ quote decay during inclusion wait
+ hedge cost caused by uncertain inclusion
从未被包含的 dropped transaction 不支付链上 gas,但仍可能造成机会、报价衰减和运维成本。不能把 receipt 中已包含的 priority fee 再作为 MEV payment 扣一次。
同一账户的 nonce 形成顺序约束。较早 nonce
卡住时,后续交易可能无法执行;替换交易又可能与原交易产生竞态。套利系统必须把
submitted、included、successful
和 economically hedged 作为不同状态。
区块时间也不等于最终性。跨链桥、CEX 充值和高价值结算通常要求各自的确认条件;等待期间承担的价格和资本占用必须进入策略模型。
常见控制形态包括:
私钥泄露通常不可撤销。安全设计应把资产分层:
cold treasury
-> 限额 funding wallet
-> 单策略 execution wallet
-> 一次性实验 wallet
每层使用独立限额、白名单和审批流程。不要让测试脚本、浏览器插件和长期储备共享同一私钥。
ERC-20 余额只是 token contract 内的一条记录。典型交互分两步:
approve(spender, amount) 给 spender
allowance;transferFrom 移动额度内的 token。Approval 不是“一次存款确认”,而是持续存在的支出权限。如果 allowance 远大于本次金额,spender 合约、代理升级或密钥被攻破时,未存入协议的余额也可能受影响。研究时记录:
ERC-20 定义了
approve、allowance 与
transferFrom;EIP-2612
允许用签名表达 permit,但签名同样是授权,不应因“没有先发 approve
交易”而放松核对。
前端是可替换的展示和交易构造层,不是资产账本。需要分别核对:
| 层 | 可以回答什么 | 不能单独证明什么 |
|---|---|---|
| 官方前端 | 推荐路径、当前展示参数 | 合约一定安全、报价一定可成交 |
| 区块浏览器 | 地址、代码、交易和事件 | 业务语义一定正确 |
| 合约读取 | 当前状态和配置 | 下一块状态、治理不会改变 |
| 官方文档 | 设计与预期行为 | 部署版本完全等于文档版本 |
| 审计报告 | 特定版本与范围的发现 | 没有漏洞或经济攻击 |
| 治理记录 | 参数与升级意图 | 执行不会出错 |
地址必须从多个可信来源交叉核对。域名、前端、RPC 或浏览器标签被篡改时,“长得像官方”没有结算意义。
智能合约不能自行知道 BTC、ETH 或现实资产的“正确价格”。预言机把外部观测转换成链上可读取数据,但会引入:
研究借贷或衍生品时,必须问“合约实际读取哪个 feed、何时认为过期、异常时暂停还是继续”,不能只看网页价格。Chainlink 文档 可作为常见 oracle 架构的入口,但使用某个预言机品牌不等于风险消失。
L2 通常把执行扩展到主链之外,再把数据或证明提交到结算层。不同 rollup 的提款延迟、sequencer、证明和升级假设不同。
桥则把资产或消息跨域传递。常见结构不是“同一枚 token 穿过桥”,而是:
source asset locked / burned
-> message verified
-> destination representation minted / released
因此 USDC on chain A、发行人原生发行的
USDC on chain B 与第三方桥包装的 USDC.e
可能是三种不同索取权。桥增加合约、验证者、relayer、管理员、finality
和目标链风险。Ethereum
Bridges 明确区分了信任假设与多类桥风险。
DeFi 的价值来自“money legos”:LP token 可以作为抵押物,借出的资产可以再质押,vault 可以自动部署到多个协议。但审计数量不能相加成安全分数。
例:
ETH
-> LST
-> restaking token
-> lending collateral
-> borrow stablecoin
-> AMM LP
-> vault share
这不是六项独立收益,而是一条深度为六的依赖链。ETH 跌价、LST 脱锚、oracle 延迟或 stablecoin 失去流动性,都可能通过清算把多个层同时击穿。
依赖图应给每个节点标记:
| 类别 | 核心原语 | 主要付钱方 | 关键新增风险 |
|---|---|---|---|
| AMM / DEX | 资产池、定价曲线、swap | 交易者、激励预算 | LP 再平衡损失、MEV |
| Lending | 超额抵押、浮动利率、清算 | 借款人、激励预算 | oracle、坏账、退出流动性 |
| Stablecoin | 储备、抵押或算法锚定 | 借款人、储备收益、持币人 | 赎回、信用、脱锚 |
| Derivatives | 保证金、oracle、funding、清算 | 杠杆需求和亏损对手方 | 非线性、keeper、保险基金 |
| Liquid staking | 质押索取权 token 化 | 网络增发、fee、MEV | slashing、队列、折价 |
| Restaking | 重复使用经济安全 | AVS 用户、协议预算 | 相关 slashing、嵌套依赖 |
| Vault / Aggregator | share accounting、自动策略 | 下游策略付钱方 | 策略黑箱、管理员、退出 |
| Bridge | 跨域锁定、铸造或消息验证 | 跨链用户、激励预算 | 验证、finality、包装资产 |
| Insurance / Prediction | 风险池或事件结算 | 保费方或亏损对手方 | 条款、oracle、相关损失 |
| RWA | 链下法律索取权 token 化 | 借款人或底层资产现金流 | 法律、托管、兑付时间 |
产品名称会变,原语和付钱方更稳定。先识别原语,再研究具体协议。
开始具体研究时,可复制 DeFi protocol review,强制记录部署身份、权限、oracle、依赖与退出路径。
你应该能:
DeFi 页面常把不同性质的现金流压成一个 APY:借款人利息、交易手续费、网络增发、项目代币、积分估值和资产升值可能被混在同一个百分比里。研究者的任务是把它们拆开,并追到最终付钱方。
常见付钱方只有几类:
| 付钱方 | 为什么付钱 | 收益表现 | 主要不确定性 |
|---|---|---|---|
| 交易者 | 需要即时流动性 | AMM fee、spread | 交易量、毒性订单流 |
| 借款人 | 需要资本或杠杆 | supply interest | 利率、坏账、退出流动性 |
| 被清算借款人 | 头寸跌破抵押要求 | liquidation bonus | 竞争、oracle、gas |
| 持币人、交易用户与被提取价值的一方 | 增发稀释购买安全;用户购买区块空间;交易者、LP、被清算者或其他 searcher 让出排序价值 | staking issuance、priority fee、MEV | slashing、发行政策、排序竞争 |
| 协议金库 / 未来持币人 | 购买 TVL、用户和启动流动性 | token emissions、points | 稀释、规则、代币价格 |
| 急于成交或退出者 | 支付速度与确定性溢价 | arbitrage / liquidation spread | 容量、执行、信息速度 |
| 保险购买者 | 转移特定风险 | premium | 相关损失、条款与裁决 |
| 链下借款人或资产 | 融资或经营现金流 | RWA yield | 法律、托管、兑付 |
如果无法把收益追到其中一方,或者唯一解释是后来者持续买入,就没有完成 Step 0。
Vault、aggregator 和自动复投器通常只是包装与执行层。它们可以降低 gas、自动调仓或提供规模经济,但不能独立创造底层现金流。
同一个产品可以同时拥有多个标签。
所有腿可以按显示规模立即执行,或存在自己有资格、可验证且可执行的赎回权;扣除全部成本后,经济结果不依赖未来方向。
例:同一笔原子交易内完成的某些 DEX 三角价差。原子回滚只能限制合约状态的腿风险,不能消除 gas、未包含、重组、合约和链故障。
收益依赖价差、基差或锚定关系未来恢复。
例:没有直接赎回资格,却买入折价 stablecoin 等待回到 1 美元。这是信用与收敛交易,不是锁定套利。
持续收取小额 fee、interest 或 premium,承担偶发大额损失。
例:AMM LP、出借、保险池和 restaking。高胜率不等于高期望值;一次尾部事件可吞掉多年收益。
协议用 emissions、points 或 airdrop 预算购买流动性和用户行为。
收益取决于资格、分配、稀释和兑现价格。不得通过 Sybil、身份租借、绕过 KYC 或违反地区限制获取资格。
最终收益依赖资产价格、波动率、利率或治理 token 价格。
例:未对冲 volatile pair LP、LST、循环借贷和持有奖励 token。Delta 看似小,也可能拥有短凸性、相关性和流动性暴露。
任一关键答案为“否”,就应改用收敛、做市、信用、规则红利或方向性标签。
先统一持有期 \(H\) 和计价货币,再分开计算三张账。
\[ RealizedPnL_H= EndingPortfolioValue_H+ExternalDistributions_H -BeginningPortfolioValue_0-ExternalContributions_H-CashOperatingCosts_H \]
ExternalContributions / Distributions 只指跨出被跟踪
portfolio 边界的外部注资和分配;协议内部 deposit、withdraw、bridge
或账户迁移不算外部现金流。CashOperatingCosts
只含实际支付且未从 portfolio balance 扣除的运维支出。这是历史事实;若
final balance 已经反映 swap fee、gas 或 slippage,就不能再扣一次。
为了理解收益来源,可做一次且仅一次的 attribution:
\[ RealizedPnL_H= UnderlyingMarkToMarket_H +OrganicCashflow_H +RealizedIncentiveValue_H +QuotedGrossSpread_H -ExecutionShortfall_H -BorrowCost_H -HedgeCost_H -ReceiptGas_H -DirectOrderflowPayment_H -ProtocolFees_H -CashOperatingCosts_H \]
其中:
UnderlyingMarkToMarket:同一起始资产的方向和折价变化;OrganicCashflow:借款人利息、交易 fee、staking
现金流、链下资产现金流;RealizedIncentiveValue:已经归属并按真实价格兑现的
token;QuotedGrossSpread:决策时同规模、扣执行 shortfall
前的基准价差;ExecutionShortfall:price impact、quote-to-fill
slippage 与不利排序;若直接用实际成交价差,本项不得再扣;ReceiptGas:所有被包含交易的 receipt gas,已包含
effective priority fee;DirectOrderflowPayment:receipt gas 之外直接付给
builder、relay 或 bundle 的价值。CashOperatingCosts:实际支付的服务、基础设施或人工费用;估算工时和机会成本不属于
realized balance-delta PnL。Token reward 若仍持有,应进入 mark-to-market,不同时算作 realized incentive。每项现金流只能进入一个格子。
\[ ForwardExpectedPnL_H= \sum_i p_i\times ScenarioNetPnL_{i,H} -AllocatedFixedCosts_H-TimeCost_H-TaxEstimate_H \]
概率加权 failure
loss、估算工时、机会成本和尚未实际支付的税务预估属于前瞻 /
economic-adjusted 账,不属于历史 balance-delta PnL。情景 PnL
已含某次失败损失时,不能再额外扣一遍
ExpectedFailureLoss。
Stress loss 不做概率加权,用于决定仓位、reserve 与生存边界。低概率不能成为扩大至无法承受归零仓位的理由。
分别报告:
\[ RealizedYield_H=\frac{RealizedPnL_H}{CapitalAtRisk_H} \]
\[ ForwardExpectedYield_H=\frac{ForwardExpectedPnL_H}{CapitalAtRisk_H} \]
CapitalAtRisk 不只是在 UI 中 deposit
的金额,还包括保证金缓冲、预置库存、无法立即退出的资金和必要
reserve。只有在现金流可比较且没有复投假设冲突时,才把持有期收益年化。
把收益分成三层:
Layer 1: organic cashflow
borrower interest / trading fee / staking cashflow / RWA coupon
Layer 2: subsidy
token emissions / points / temporary fee rebate
Layer 3: mark-to-market
underlying appreciation / reward-token price / LP inventory change
宣传 APY 可能把 Layer 2 按当前 token 价格年化,把 Layer 3 的资产升值也算成策略 alpha。研究报告必须分别呈现。
“Real yield”也不是安全认证。即使收益来自真实 fee,策略仍可能承担合约漏洞、短凸性、清算和无法退出风险。
奖励 token 的经济价值不是页面显示数量乘当前现价。更保守的同周期估算:
\[ RealizableIncentiveValue= claimableQuantity \times expectedExitPrice \times eligibilityProbability -claimCost -vestingDiscount -marketImpact \]
必须检查:
当所有人都为挖奖励同时卖 token 时,当前价格不是可部署规模的退出价格。
积分不是应收账款。一个简化期望值:
\[ EV_{points}= p_{eligible} \times expectedAllocationAfterDilution \times realizableTokenPrice -directCosts -timeCost -expectedPositionLoss \]
不能用传闻 FDV 直接乘 points。需要为以下情景单独赋值:
积分活动更接近规则红利。只应使用符合条款的真实身份和账户;把身份风险排除在收益模型之外,不代表可以忽略法律和平台规则。
| 机会 | 主要付钱方 | 为什么可能轮到个人 | 最常被遗漏的风险 |
|---|---|---|---|
| AMM LP | swap 交易者、激励预算 | 长尾池、小资本、主动管理 | LVR、出区间、奖励币下跌 |
| Lending supply | 借款人、激励预算 | permissionless、市场分割 | 坏账、高利用率无法退出 |
| Liquidation | 被清算借款人 | 小链、小仓位、专业基础设施不足 | gas 竞价、MEV、oracle |
| Stablecoin 折价 | 急于退出者、赎回机制 | 赎回资格或小容量 | 储备、暂停、等待、法律索取权 |
| LST / restaking | 网络、AVS、激励预算 | 池化降低最小门槛 | slashing、折价、重复风险 |
| Vault | 底层交易者、借款人、持币人、链下现金流或激励预算 | 自动化、gas 规模经济 | 策略黑箱、嵌套依赖 |
| DEX–CEX | 急单与库存失衡 | 长尾、小容量、区域分割 | 非原子腿、CEX 与链双重风险 |
| Cross-chain | 跨链急需方、激励预算 | 多链库存与操作复杂度 | bridge、finality、包装资产 |
| Onchain perp carry | 杠杆需求方 | 市场分割、资本效率差异 | funding 反转、oracle、清算 |
| Points / airdrop | 项目预算、未来持币人 | 操作零碎、机构难确认收益 | 零分配、稀释、资格取消 |
“为什么轮得到普通人”的可信答案通常是容量小、操作碎、市场分割或机构受限。若主流池里存在可无限扩展的惊人收益,优先假设模型漏了成本或尾部风险。
DeFi edge 常比协议寿命短。可监控的衰减指标包括:
退出阈值应在入场前写下,不能等 APY 降低后临时把策略解释成“长期信仰”。
出现以下任一项,默认放弃:
只读链上与文档研究
-> fork / simulation
-> testnet(若能代表目标机制)
-> 可承受归零的极小额 round trip
-> deposit / trade / claim / unwind / withdraw / revoke / reconcile
最小验证的成功标准不是赚钱,而是:实际状态、费用和退出路径与模型一致,并且所有余额可以解释。
可用 DeFi yield waterfall 分离 organic cashflow、subsidy、mark-to-market、已实现成本、前瞻期望值和压力损失。
每次增加资金、链、协议、杠杆或自动化层,都等于引入新失败域,必须重新评估。扩容上限取以下最小值:
loss budget
market capacity
withdrawal liquidity
protocol / wallet limit
operational recovery capacity
收益跌破全成本门槛、依赖改变、资产无法对账、withdrawal 恶化或未知项扩大时,立即降仓或退出。不能把“合约没有被黑过”当作继续持有的理由。
你应该能:
AMM 用确定性曲线和池内储备提供报价。它把中央订单簿中的 maker 订单替换为合约状态,但没有消除做市风险:LP 仍在向更急、更快或信息更好的交易者提供流动性。
最简单的两资产模型:
\[ x\times y=k \]
\(x\)、\(y\) 是两种 token 的池内储备。若把价格定义为每单位 \(X\) 需要多少 \(Y\),忽略离散与 fee 时的边际池价为:
\[ P_{X\ in\ Y}=\frac{y}{x} \]
交易者输入 \(\Delta x\),fee rate 为 \(f\),可用于沿曲线计算的有效输入:
\[ \Delta x_{eff}=(1-f)\Delta x \]
简化输出:
\[ \Delta y=y-\frac{xy}{x+\Delta x_{eff}} \]
实际实现的舍入、fee accounting、token 行为和 router 路径必须读取目标部署;公式只用于理解机制。Uniswap v2 whitepaper 是 constant-product 设计的一手入口。
假设池内:
x = 100 ETH
y = 300,000 USDC
f = 0.30%
trader inputs 1 ETH
交易前边际价格为 3,000 USDC/ETH,有效输入为
0.997 ETH:
\[ \Delta y=300,000-\frac{30,000,000}{100+0.997} \approx2,961.47\ USDC \]
平均成交价格约
2,961.47 USDC/ETH。相对交易前池价的差额同时包含 fee
与曲线上的 price
impact;这还没有考虑交易被包含前外部市场移动或被重新排序。
必须区分:
把所有差额统称 slippage,会让优化方向错误。
当外部市场价格改变而池内储备还没变,套利者会和池交易,直到扣除成本后的差额消失。结果是:
“套利让 AMM 正确定价”与“LP 因此获利”是两件不同的事。套利者的价值捕获往往对应 LP 相对更及时再平衡基准的损失。
LP 的周期收益应分解为:
\[ RealizedLP\ PnL= BenchmarkHoldPnL -EndpointDivergenceLoss +FeeIncome +RealizedIncentives -HedgeCost -ReceiptGas -ProtocolFees \]
这里 BenchmarkHoldPnL 是持有相同初始资产产生的价格
PnL;在本节无 fee 的 50/50 constant-product
模型中,EndpointDivergenceLoss 定义为非负货币损失:
\[ EndpointDivergenceLoss= BenchmarkHoldTerminalValue-FeeFreeLPInventoryTerminalValue\ge0 \]
因此后文算例中,LP 相对 hold 的 PnL 差是
-5,000,代入本式的 EndpointDivergenceLoss
则是正的 5,000。若直接从 LP 最终余额计算 inventory
PnL,就不能再重复扣一次 divergence loss。
LVR 使用动态再平衡组合做比较基准,与终点 divergence loss 回答不同问题;同一 attribution 不能把两者都完整扣一遍。前瞻研究另用情景概率计算 expected loss,并用最坏压力损失限制仓位,不混入历史 realized PnL。
Benchmark 的资产方向变化不应伪装成做市 alpha。Fee 是交易者支付的真实现金流,但能否覆盖不利库存变化、adverse selection 与运营成本,需要用同一起始资产的替代方案比较。
对于忽略 fee 的 50/50 constant-product pool,若一种资产相对另一种资产的价格变为初始值的 \(r\) 倍,LP 相对“持有相同初始资产”的价值差比例为:
\[ IL(r)=\frac{2\sqrt{r}}{1+r}-1 \]
若 \(r=4\):
\[ IL(4)=\frac{4}{5}-1=-20\% \]
例:最初投入价值 10,000,其中 5,000 为资产
X、5,000 为稳定资产。X 价格变为 4 倍,忽略 fee:
直接持有价值 5,000 × 4 + 5,000 = 25,000
LP 价值 20,000
相对持有差额 -5,000
相对差额 -20%
三个限定不能省略:
三者相关但不相同。只用终点 IL 可能遗漏价格路径与连续套利造成的损失;只看 fee APR 又会遗漏 LP 为这些 fee 承担的库存和信息风险。
“LP 近似短 Gamma / 卖出凸性”是有用直觉:价格大幅往返时,池倾向于涨时卖出上涨资产、跌时买入下跌资产。但实际暴露取决于曲线、区间、fee、主动调仓和对冲,不能用一句“short volatility”替代完整模型。
集中流动性允许 LP 只在自选价格区间提供深度。相同资本在区间内可以产生更大流动性和更多 fee share,但风险也被集中:Uniswap concentrated liquidity。
区间更窄
-> 区间内资本效率更高
-> 更容易越界
-> 更快变成近似单边资产
-> 需要更频繁调仓
-> gas、择时与 adverse selection 增加
价格越界后,头寸通常不再主动提供流动性、也不赚取该段 swap fee,并接近全部持有其中一种资产。若为了追逐历史成交量频繁重设区间,回测必须使用当时可知价格、真实 gas 和不能提前知道的路径。
集中流动性的 NFT 或 position ID 也意味着不同区间头寸不可像同质 LP token 那样简单合并。Fee 是否自动复投、怎样领取和协议版本有关。
完整数值拆解见案例:LP fee 很高,为什么仍可能输给持有。
至少计算:
fee yield
÷ active liquidity and capital-at-risk
- LVR / adverse selection estimate
- hedge and rebalance cost
- gas and manager fee
+ realizable incentives
- expected tail loss
重点变量:
TVL 高不等于退出安全;多个 LP 同时撤出或一种资产失信时,深度会内生消失。
MEV 是区块生产者通过包含、排除或改变交易顺序,在标准区块奖励和普通 fee 之外可提取的价值。Ethereum MEV overview 将 DEX arbitrage、liquidation 与 sandwich 都放在这一框架中。
常见形式:
MEV 不全是恶意行为,但对交易者而言都意味着“交易顺序有经济价值”。明显机会公开后,竞争常把毛利润转移给 builder、validator 或更快的 searcher。
这条转移链本身的结构,以及它与本章 LVR 的对偶关系,见第 19 章。
公开广播会在包含前暴露意图。私有 RPC 或 bundle 可以减少公开可见性、表达顺序与目标 block,但不能保证:
Flashbots Auction overview 本身列出了 builder、relay 与隐私等信任假设。私有提交是执行工具,不是安全证明。
基础控制包括:
minOut /
maxIn,拒绝价格越界;过紧的 minOut 会增加 revert 和 gas,过松则给 sandwich
或价格移动留下空间。最佳值来自执行目标和风险上限,不是固定百分比。
observe block/state
-> quote and simulate
-> risk checks
-> sign
-> submit public/private
-> pending / included / dropped / replaced
-> success / revert
-> confirmations/finality policy
-> hedge residual exposure
-> reconcile balances, fees and allowances
链上原子性只覆盖一笔交易内的状态转换。若 hedge 在 CEX、另一条链或另一笔交易中,就重新产生非原子腿风险。
你应该能:
链上借贷把抵押、利率、价格和清算写进合约。它提高透明度和可组合性,但不能让信用风险消失:风险被转化为抵押品价格、oracle、清算流动性、治理参数和智能合约风险。
典型流程:
supplier deposits assets
-> receives balance / receipt token
borrower supplies collateral
-> borrows another asset
interest accrues
-> borrower repays or position is liquidated
supplier withdraws if pool has liquidity
主要现金流:
“存款利率”不是固定存款合同。借贷需求、利用率、利率模型、治理参数和奖励价格都会改变。
简化利用率:
\[ U=\frac{TotalBorrowed}{AvailableLiquidity+TotalBorrowed} \]
很多池在利用率接近目标或 kink 后会快速提高 borrow rate,以鼓励还款和新存款。具体曲线按协议、市场和版本变化。
高 utilization 对 supplier 有双重含义:
因此高 APY 可能是流动性告警,而不是免费收益。即使账面余额持续计息,withdraw transaction 也可能受可用流动性、cap、pause 或队列限制。
以 Aave 类模型为例,简化公式为:
\[ HF=\frac{TotalCollateralValue\times WeightedAverageLiquidationThreshold}{TotalBorrowValue} \]
HF < 1 表示仓位可被 permissionless liquidation。Aave Health Factor
& Liquidations 也强调不存在适用于所有资产的“安全 HF”。
不要把 LTV 当 liquidation threshold,也不要硬编码 close factor、dust、bonus 或所谓安全缓冲。它们可能因 chain、market、deployment version、asset 与治理变化。
假设:
collateral value 10,000
liquidation threshold 80%
stable debt 6,000
初始:
\[ HF=\frac{10,000\times0.8}{6,000}=1.333 \]
若抵押品价值跌至 7,500:
\[ HF=\frac{7,500\times0.8}{6,000}=1.0 \]
跌至 7,000:
\[ HF=\frac{7,000\times0.8}{6,000}=0.933 \]
这还没有包含:
风险系统应对抵押价格、债务价格、利率、oracle latency 和交易延迟做联合压力,而不是只设一个 HF 通知。
清算者通常替借款人偿还一部分债务,并取得相应抵押品和 bonus。付钱方是被清算借款人,协议借此维持偿付能力。
纸面清算利润:
\[ GrossLiquidationEdge= CollateralReceivedValue -DebtRepaid \]
实际净值:
\[ NetLiquidationPnL= GrossLiquidationEdge -ReceiptGasCost -DirectBuilderOrBundlePayment -SwapImpact -HedgeCost -FailedAttemptCost -InventoryLoss \]
ReceiptGasCost 已包含 effective priority
fee;DirectBuilderOrBundlePayment 只记录 receipt
之外的直接支付。从未被包含的失败尝试没有链上
gas,但有机会与运维成本。
清算是 permissionless 不等于容易:
清算基础设施需要 block-level 状态、协议版本参数、可执行 swap route、gas 竞价、幂等记账和残余库存限额。
超额抵押不保证永远全额覆盖。当价格跳跃、oracle 滞后或市场深度消失时,抵押品可出售价值可能低于债务。
collateral shock
-> HF falls below 1
-> many liquidations compete
-> collateral sale deepens price decline
-> gas / chain congestion delays execution
-> debt exceeds realizable collateral
-> bad debt / safety module / socialized mechanism
相关性在平静期看似稳定,危机时可能同时断裂。用稳定币借款、用 LST 抵押也不代表风险只有 ETH Beta;还叠加 LST discount 与稳定币价格方向。
常见循环:
deposit collateral
-> borrow asset
-> buy or mint more collateral
-> deposit again
-> borrow again
若每轮把可用资产的比例 \(b\) 重新抵押,并忽略 fee、cap 与舍入,无限几何级数下:
\[ GrossCollateralExposure=\frac{InitialCapital}{1-b} \]
\[ GrossDebt=\frac{b\times InitialCapital}{1-b} \]
当 \(b=0.70\),1
单位初始资本理论上形成约 3.33 的总抵押暴露和
2.33 的债务。小幅价格、折价或利率变化会按杠杆放大。
循环 carry 的简化净收益:
\[ NetCarry= GrossCollateralExposure\times CollateralYield -GrossDebt\times BorrowRate -Gas -HedgeCost -ExpectedLiquidationLoss \]
正 carry 可能因 utilization 上升迅速消失。循环层数越多,退出越需要按正确顺序还款、赎回和 swap;市场拥堵时“可以随时 deleverage”通常是假设而非事实。
至少同时冲击:
| 变量 | 正常模型常见错误 | 压力问题 |
|---|---|---|
| collateral price | 只用日波动 | 单块跳空多少? |
| collateral discount | 把 LST 当 1:1 ETH | 二级折价扩大时 HF 怎样? |
| debt price | 稳定币固定为 1 | 债务 token 升水时怎样? |
| borrow rate | 用当前瞬时 APY | kink 后利率能升到多少? |
| oracle | 假设连续实时 | stale / deviation update 怎样触发? |
| exit liquidity | 用当前 TVL | 所有人同时退出时能卖多少? |
| transaction | 假设立即成功 | sequencer、RPC 或 gas 异常时多久? |
用“相关资产所以安全”降低缓冲前,应先模拟相关性在压力中失效。
完整联合压力见案例:LST 循环借贷的三重压力。
Flash loan 允许在一笔原子交易中借入资产,只要交易结束前按规则归还本金和 fee,否则整笔状态回滚。常见用途包括:
它不是无抵押免费资金。用户仍承担:
Flash loan 扩大瞬时可调用资本,也会放大可组合协议中错误价格或薄弱权限的影响。教材只讨论合法使用,不提供利用漏洞或操纵市场的步骤。
Token 对发行人、银行存款、短期证券或其他储备形成链下索取权。关键问题:
通过链上抵押、oracle、利率与清算维持偿付。关键问题:
依赖铸造销毁、治理 token、激励和市场信心维持锚定。需要警惕:
discount
-> redemption / stabilization asset is sold
-> its price falls
-> backing confidence declines
-> more redemptions
-> liquidity spiral
分类只是起点;协议可能同时包含链下储备、crypto collateral、算法控制和保险基金。
买入 0.97 的 stablecoin 并不自动锁定
0.03。
更接近套利需要:
简化前瞻风险调整价差:
\[ ForwardRiskAdjustedRedemptionEdge= RedeemValue -PurchaseCost -TradingFees -RedemptionFees -BridgeAndTransferCost -CapitalTimeCost -ExpectedFailureLoss \]
实际到账后的 realized PnL 应按余额差计算,不再扣概率意义的
ExpectedFailureLoss;后者只用于交易前情景期望。另行报告本金归零的压力损失,并据此限制仓位。
没有赎回资格时,本质是从急于退出者手中接过信用和流动性风险。NBER 的 stablecoin 研究与 Terra run 案例说明,套利能力可能高度集中,跨市场摩擦会在挤兑中恶化;历史锚定不能替代赎回验证。
资格、包装资产与尾部情景的数值拆解见案例:0.97 美元的稳定币是不是套利。
多个稳定币可能共享:
按 ticker 数量分散会高估安全。风险聚合应按最终储备、赎回实体和退出通道进行。
你应该能:
DeFi 最容易制造“花样”的地方,是把一项底层索取权不断 token 化、再抵押和再包装。每增加一层,流动性与可组合性可能提高,但不会凭空增加安全边际。
PoS 网络的 validator 为提出、证明和维护共识获得回报,最终经济来源可能包括:
持有原生资产与参与 staking 不完全相同。Staker 还承担:
Staking APY 是对网络安全服务和资产锁定的补偿,不是无风险利率。
Liquid staking pool 汇集用户资产运行 validator,并发行 LST 表示对底层质押资产与累计 reward 的索取权。实现常见两类:
集成系统必须理解会计语义。用普通 ERC-20 余额变化计算 PnL,可能错过 rebase;把 exchange-rate token 固定按 1:1 计价,也会遗漏累积收益和折价。
Lido stETH contract docs 展示了一个实际 liquid-staking pool 的 token、oracle 与 withdrawal 关系;它是机制示例,不构成协议推荐。
若协议提供兑换或提款,LST 应区分:
两者可能因退出队列、validator 状态、流动性需求和信任冲击而分离。
LST discount
≠ automatic arbitrage
discount may compensate for
withdrawal wait + queue uncertainty + slashing + liquidity + contract risk
并非所有 LST 都向所有持有人提供直接协议退出。只有自己能按明确规则兑换或提款、等待可承受且全成本后仍有正 edge,才更接近收敛交易。二级流动性可能恰在所有人需要退出时消失。
| 风险 | 传导路径 | 监控 |
|---|---|---|
| Slashing | validator 损失降低索取权 | operator 表现、slash 事件 |
| Withdrawal queue | 赎回变慢、折价扩大 | queue、exit rate、buffer |
| Operator concentration | 共同软件或运维故障 | operator 与 client 分布 |
| Oracle / accounting | reward 或 share 计价错误 | report、exchange rate 异常 |
| Smart contract | pool、withdrawal、token 失效 | 版本、upgrade、pause |
| Governance | fee、operator、权限变化 | proposal、timelock |
| Secondary liquidity | 快速退出 impact 上升 | depth、volume、discount |
| Integration | lending / vault 错误处理 LST | collateral 参数、adapter |
“底层是 ETH”不能消除 token、operator 和退出层新增的风险。
Restaking 允许已质押资产或其索取权再为其他服务提供经济安全,并获得额外 reward。抽象结构:
base asset
-> staking security
-> restaking contract / operator
-> one or more AVS obligations
-> additional rewards / incentives / points
新增收益可能由 AVS 用户、协议金库、token emissions 或未来分配支付。研究必须区分:
EigenLayer whitepaper 明确讨论 slashing、意外 slashing、多个服务重叠和相关风险。Restaking 的经济直觉接近“出售额外安全担保”,不是给相同资产免费加一层利息。
假设同一份经济抵押同时保护三个服务,不能把三份 reward 当作独立收益而把风险分别计算。共同 operator、客户端、oracle 或治理错误可能同时触发损失。
Expected reward = R1 + R2 + R3
but tail loss is not necessarily
L1 probability + L2 probability + L3 probability independently
shared failure domain can make losses correlated
需要按共同失败域建立情景:
如果无法理解 slashing 条件、争议流程或最大损失,就无法给 restaking 定仓。
LRT 把 restaked position 再 token 化,允许进入 AMM、借贷和 vault。此时用户可能同时面对:
base asset price
+ LST exchange-rate / discount
+ restaking slashing
+ LRT issuer / operator
+ secondary liquidity
+ downstream lending liquidation
+ points valuation
屏幕显示的“总 APY”若把底层 staking、restaking reward、LRT incentive 和 vault incentive 相加,必须检查是否重复计数,以及奖励是否都能在相同周期兑现。
Tokenized vault 接收单一底层 asset,并发行 share 表示对受管资产的比例索取权。ERC-4626 标准化 deposit、mint、withdraw、redeem 与 preview 等接口,但没有规定 vault 必须采用什么投资策略。
当 TotalShares > 0,并已规范 asset/share
decimals,且实现没有 virtual asset/share offset 时,忽略 fee、pending
asset 和舍入的简化 share price:
\[ SharePrice=\frac{TotalAssets}{TotalShares} \]
Deposit 时:
\[ SharesMinted\approx\frac{AssetsDeposited}{SharePrice} \]
Withdraw 时:
\[ AssetsReceived\approx SharesBurned\times SharePrice \]
convertTo*
是理想化、调用者无关的估算;preview*
按当前状态反映对应操作的 fee 与
rounding,但不负责表达所有账户或全局限制;max*
才表达当前可操作上限。实际交易仍可能因读取后的状态变化、token 行为和
slippage 偏离预览。
典型 vault 可能:
因此必须追问:
vault APY
<- exactly which downstream cashflow?
<- which assets and contracts hold principal?
<- who can change allocation?
<- how is share price valued?
<- what happens when everyone withdraws?
Vault 降低用户操作负担,同时新增 manager、allocator、keeper、adapter、share accounting 和 fee 风险。
asset()、totalAssets() 和 share supply
是否可独立读取;previewRedeem 与真实 redeem 差多少;审计报告只覆盖特定 commit、配置与范围。升级后的部署、经济模型和下游协议必须另行核验。
一个页面显示的 24% headline APY 可能被拆成:
4% base staking estimate
3% restaking service reward
6% LRT token emissions
11% points scenario value
---------------------------
24% headline
4% + 3% + 6% + 11% 只是在复现营销加总,不是有效
APY:各层复投周期、计价资产、兑现概率和价格假设并不相同。
但净收益还需扣除:
operator / protocol / vault fees
gas and withdrawal cost
hedge cost
LST/LRT discount change
points eligibility and dilution
expected slashing / contract / liquidity loss
capital locked during exit
其中只有前两项可能是当前产生的底层现金流;token emissions 与 points 主要依赖未来买方和规则。用 24% 直接与银行利率比较,单位经济并不一致。
Yield tokenization 可以把一份有到期日的 yield-bearing asset 拆成:
抽象上,mint 时常形成配对索取权:
standardized yield-bearing asset (SY)
-> convert through the current protocol yield index
-> equal quantities of PT and YT in protocol accounting units
PT 与 YT 的铸造数量彼此相等,但未必是每 1 SY 各得到
1;具体数量由当前 yield index 与实现规则决定。配对的
1 PT + 1 YT 表示同一 accounting unit
的本金与到期前收益索取权。
到期前,PT 可能折价交易。若到期兑换值为 \(R\)、当前 PT 全成本买价为 \(P_{PT}\)、剩余 \(T\) 天,简化年化 carry:
\[ PTSimpleAPR=\left(\frac{R}{P_{PT}}-1\right)\frac{365}{T} \]
这不是无风险利率。需要核验:
YT 近似放大对未来 yield 的暴露:支付当前价格,换取有限期限内的浮动现金流。实际 yield 低于市场隐含值时,YT 可大幅亏损甚至到期归零;points 的不确定性又会叠加资格和稀释。
Pendle yield-tokenization docs 是 PT/YT 合约结构的一个官方实现示例,不构成协议推荐。只有 mint、swap、redeem 各腿可执行,并且到期兑换值和全部成本可验证时,PT discount 才接近固定期限 carry;否则仍含信用、流动性和方向风险。
同一分析方式适用于更多 DeFi 结构:
Token 化提高转让性,不会自动让底层资产具备即时流动性。链上 24/7 可交易与链下资产工作日兑付之间的期限差,本身就是风险。
对 LST、restaking 或 vault:
不要在最小验证阶段叠加循环借贷;否则无法判断哪一层造成差异。
你应该能:
链上数据公开、合约可调用,不代表机会容易捕获。真正的竞争单位不是“看见价差”,而是能否在正确状态上模拟、排序、结算、对冲、对账,并在链或协议异常时限制损失。
对候选数量 \(q\),屏幕毛收益:
\[ ScreenPnL(q)=q\times(DisplayedExitPrice-DisplayedEntryPrice) \]
实际成交后的历史净值:
\[ RealizedPnL= ActualCashReceived -ActualCashPaid -ExplicitVenueFees -ReceiptGasCost -DirectOrderflowPayment -BorrowAndFunding -BridgeAndTransfer -HedgeCost +ResidualInventoryMarkToMarketAtValuation \]
ActualCashReceived / Paid 必须使用实际 fill
与链上余额。ResidualInventoryMarkToMarketAtValuation
是指定估值时点残余仓位的带符号市值变化,可以为正或负;库存资本占用和机会成本不属于历史
realized PnL。如果实际金额已经含 pool fee、price impact 或 venue
fee,相应项目不能再扣。Slippage、price impact、quote decay 与不利 MEV 是
ScreenPnL -> RealizedPnL
的归因项,不从实际现金流重复扣除。ReceiptGasCost 已含
effective priority fee;DirectOrderflowPayment 只记录
receipt 之外付给 builder、relay 或 bundle 的价值。
前瞻模型另算:
\[ ForwardExpectedPnL= \sum_i p_i\times ScenarioNetPnL_i -AllocatedFixedCosts-TimeCost-InventoryCapitalCost \]
Expected failure loss 通过情景进入前瞻期望,不混入历史 realized PnL。最坏 / 压力损失单独报告并用于仓位上限。
报价第一档只能支持少量规模,不能把一个 token 的最佳价格乘整个仓位。
每个机会记录:
observed block / timestamp
quoted route and size
simulated state
submitted transaction / order IDs
included block and execution result
hedge fills
final balances
gross-to-net attribution
无法从报价追到余额的策略不可扩容。
极小额验证可复制 onchain experiment card,固定记录 nonce、block、receipt、余额、外部 fill 与 allowance。
所有合约调用在同一条链、同一笔交易内完成。只有执行合约显式检查每条必要业务腿的返回值、余额和
minProfit,并把失败传播成顶层 revert
时,所有必要状态才整体回滚。低级调用失败可被捕获,某些 ERC-20 也可能返回
false 而不 revert;忽略返回值会留下“交易
success、业务部分失败”的状态。
仍有:gas、未包含、MEV、目标块状态变化、reorg、合约漏洞和链故障。
两笔或更多交易完成,需要在不同 block 或 nonce 中执行。第一笔成功后,第二笔可能失败或价格变化。
一条腿在 CEX、另一条链、L2 或银行系统中。没有单一事务协调器可共同回滚。桥确认、充值和 API 状态都成为风险。
在两个域预先持有可交易资产,看到机会后同时买卖,之后慢速再平衡。它降低 bridge / transfer 热路径延迟,但增加库存、场所信用和资金碎片化。
“原子”只描述状态提交边界,不等于经济无风险。
典型结构:DEX 价格低于 CEX 时链上买、CEX 卖,或反向操作。
生产前置条件:
核心竞态:
observe DEX and CEX
-> another transaction changes pool
-> CEX book moves or order partially fills
-> onchain leg included later / not included
-> residual delta remains
需要为两种顺序分别建模:先链上再 CEX,先 CEX 再链上。没有普遍安全的固定顺序;选择取决于撤销能力、深度、inclusion 概率和不利移动。
这类机会的价值绝大部分条件于区块顶部位置,而该位置由自建 builder 的自营团队系统性占据。在评估容量之前,先读第 19 章判断这条赛道是否对外部参与者开放。
对候选规模 \(q\),分别计算:
DEX amountOut(q) after curve and fee
CEX executable VWAP(q) after fee
gas(q, route)
hedge and inventory cost
failure probability × scenario loss
求 RealizedPnL(q) > threshold 的最大规模,而不是使用
top-of-book 差。规模越大:
策略容量通常远小于 TVL 或 24h volume。
流程可能是:买入折价 token,向发行或抵押系统赎回较高价值资产。
研究表:
| 问题 | 必须取得的证据 |
|---|---|
| 我有赎回权吗? | 当前官方条款、账户与地区资格 |
| 赎回什么? | 法币、原生 token、抵押篮子或治理 token |
| 价格固定吗? | fee、haircut、queue、daily limit |
| 多久到账? | 历史 round trip 与当前状态 |
| 哪个资产版本? | issuer-native 或 bridge-wrapped address |
| 失败后持有什么? | 信用索取权、波动资产或不可转让 claim |
没有实际赎回权,只能期待市场回到 peg 时,仓位应进入 credit / distressed / convergence 风险桶。
两链同一符号 token 存在价差,可能来自库存、finality、桥成本和地区需求。
最稳健的生产结构通常是两边预置库存:
Chain A: quote ready to buy cheap asset
Chain B: base ready to sell expensive asset
execute both sides
-> hold offsetting inventory imbalance
-> rebalance later under separate risk budget
把 bridge 放进热路径,则策略需要价格差在跨链消息和退出期间继续存在,并承担:
Canonical bridge 表示与某系统的原生关系,不表示无风险。快速桥常用 LP 先行垫付,又新增流动性和对手方假设。
多池 route 可能形成闭环:
USDC -> ETH -> TOKEN -> USDC
只有使用每池当前储备、fee、token decimals、真实 route 和最终
amountOut
才能判断。若在同一交易内执行,合约应检查所有返回值与最终余额,并在结果低于
minProfit 时顶层 revert。被包含且 revert 的尝试仍支付
receipt gas;从未包含的交易没有链上 gas,但有机会成本。
工程上还需防范:
教材不提供操纵薄池、预言机或利用合约漏洞的方法;合法套利应以市场价格同步和明确规则为边界。
Liquidation、vault rebalance、oracle update 和 expired-order settlement 都可能由 permissionless keeper 执行。收益可能来自 bonus 或固定 bounty。
必须问:
一个公开 bounty 若大于普通 gas 很多,通常会被 bot 竞争。可持续 edge 更可能来自小容量、复杂状态、库存或更可靠运营,而不是知道函数名。
链上永续仍使用第 3–5 章的原则:notional、funding、margin、mark、liquidation 和 order exposure。新增依赖可能包括:
即使开仓和平仓都链上可见,funding 也不是锁定现金流。跨 CEX 对冲时还会叠加 custody、API 和跨域保证金隔离。
archive / full node + protocol events + CEX feeds
|
normalized state
|
opportunity & route engine
|
deterministic simulator
|
risk gate
/ | \
wallet signer tx sender CEX OMS
\ | /
inclusion / fill monitor
|
balances & reconciliation
|
PnL attribution / alerts
关键边界:
每笔交易至少检查:
chain ID and finalized / safe head policy
contract + token + spender allowlist
calldata selector and decoded parameters
quote block age
oracle freshness and bounds
minOut / maxIn / deadline
maximum receipt gas / effective gas price and direct orderflow payment
wallet native gas balance
protocol pause / cap / health factor
current + pending + worst-case exposure
hedge venue health and capacity
daily loss / protocol / chain limits
Pending transaction 也占用风险。否则多个并发机会会复用同一 token、nonce、allowance、collateral 或 hedge capacity。
链上事件不是总能等同资产事实。Reconciliation 应比较:
建议使用双重 PnL:
event-derived PnL
vs
balance-delta PnL
差异可能来自 rebase、fee-on-transfer、unclaimed reward、gas、token dust、重复事件或错误 decimals。未解释差异时停止扩容。
监控分四层:
head age、finality delay、reorg、base fee、RPC disagreement、sequencer status。
pause、upgrade、admin change、oracle freshness、TVL outflow、utilization、withdraw liquidity、health factor。
simulation-to-execution delta、inclusion time、revert rate、receipt gas、receipt 外 direct orderflow payment、CEX fill ratio、residual delta。
gross / net edge、capacity、reward dilution、borrow rate、LST / stablecoin discount、realized vs model PnL。
Kill switch 不应只“停止发新交易”。顺序要按事故预先定义:
链停止 finality 时,贸然跨链或重复提交可能扩大问题;kill switch 必须有按事故类型区分的 runbook。
“non-custodial”只说明用户可能自己持钥,不代表第三方合约没有资产控制能力。
常见事件:
| 事件 | 立即动作 | 不应假设 |
|---|---|---|
| Oracle stale / abnormal | 停止新增、检查依赖与 HF | 页面价格正确 |
| Protocol pause | 查询可用 repay / withdraw 路径 | 所有函数都暂停或都可用 |
| Chain / sequencer halt | 冻结跨域扩仓、核对 finality | 交易失败或一定会重放 |
| Contract exploit report | 隔离 signer、验证来源、评估直接依赖 | “没直接存入”就不受影响 |
| Stablecoin / LST depeg | 聚合共同暴露、检查 redemption | 很快回归历史均值 |
| CEX withdrawal halt | 停止依赖再平衡的策略 | 链上盈利可补 CEX margin |
| RPC disagreement | 多源核对 block/hash/state | 最快节点最正确 |
事后复盘必须保存 block、transaction、calldata、配置版本和当时可知信息,避免用事后价格重写决策过程。
公开状态不意味着任何行为都合规或合理。不得:
发现漏洞时遵循协议的 security contact 或 bug bounty 流程。策略研究必须同时符合所在司法辖区、雇佣合同和平台条款。
在真实资金前,至少完成:
能看懂合约不等于能运营资金;能跑通一次不等于具有统计 edge;有正 edge 也不等于足以承担生活成本。
你应该能:
第 15 章把 MEV 当作 LP 和交易者要承担的成本,第 18 章把它当作链上执行的风险项。本章换一个视角:把 MEV 当作可测量的产业结构。
要回答的问题只有一个:CEX–DEX 套利这块最大的租金,最终落在谁手里?答案不能靠推测,必须从公开数据估计。本章给出完整的测量管线,以及它测不到什么。
以太坊合并后的区块生产分成四层:
searcher 发现机会,打包 bundle,出价
-> builder 把 bundle 与公开 mempool 组装成完整区块,出价
-> relay 托管区块内容,直到 proposer 承诺签名
-> proposer 通过 MEV-Boost 选择最高出价
关键性质是每一层都是拍卖。searcher 发现价值 \(V\) 的机会后,为了让自己的 bundle 被选中,需要付给 builder 一个出价 \(B\);builder 为了赢下区块,把大部分价值付给 proposer。在竞争充分的一价拍卖中,出价趋近于价值:
\[ B\to V\quad\Longrightarrow\quad SearcherProfit=V-B\to 0 \]
所以"发现了一个 MEV 机会"和"赚到了这笔钱"是两件事。评估任何 MEV 收益说法时,先问租金在哪一层被拍卖掉了。
CEX 价格连续变动,AMM 池价只在有人与它成交时才改变。一个 slot 内外部价格从 \(P_0\) 漂移到 \(P_1\),新区块落地时第一个与池成交的人把这段漂移收走。
对忽略 fee 的 constant-product 池,设流动性 \(L=\sqrt{k}\),池在价格 \(P\) 时储备为 \(x=L/\sqrt{P}\)、\(y=L\sqrt{P}\)。套利者把池从 \(P_0\) 推到 \(P_1\),按 \(P_1\) 计价的价值为:
\[ ArbValue=L\times\frac{(\sqrt{P_1}-\sqrt{P_0})^2}{\sqrt{P_0}} \]
三个推论:
第 3 点常被说反。缩短 slot 之所以仍可能降低 LVR,是因为有 fee 时存在门槛:偏离小于 fee 时套利不划算,出块越快单块偏离越小、越多落在门槛内而不被提取。这个效应依赖 fee tier 与 \(\sigma\) 的具体取值,必须按池计算,不能当作普遍结论。
上式的价值是一次性、不可复制的:第一笔交易把池价推到 \(P_1\) 之后,第二个人面对的是公允价。
因此整个机会的价值 100% 条件于排在第一位。这不是"更快能多赚一点"的连续优势,而是赢家通吃的离散位置。在公开竞价中,多个 searcher 抢同一个位置,租金按 19.1 的机制被转移给 builder 和 proposer。
自建 builder 的自营交易团队相对外部 searcher 有五项优势,第二项决定性。
不需要付给自己。 内部套利的价值不经过 bundle 拍卖,只需要让整块区块的出价高过其他 builder。竞争维度从"与所有 searcher 抢位置"降级为"与少数 builder 抢区块"。
最后一刻定价(last look)。 这是核心:
外部 searcher: T-2s 计算并提交 bundle -> 内容冻结
整合 builder: T-2s 组装区块
T-1s 重提交,用新 CEX 价重算自营腿
T-0.2s 再重提交
T proposer 选择
builder 在 slot 截止前反复重提交区块,每次都能用最新的外部价格重算自营腿的方向和规模;外部 searcher 的 bundle 一旦提交就固定。这几百毫秒里外部价格仍在动,所以外部 bundle 实际上是免费送出的一个期权:价格朝有利方向走时被整合方的新报价替换,朝不利方向走时才被选中。这是逆向选择,不是延迟劣势——外部 searcher 只在自己错的时候成交。
不泄露策略。 把 bundle 发给同时在做自营的 builder,等于把信号交给对手方。
库存与对冲是做市能力。 CEX–DEX 需要两边持仓、实时对冲、管理交易所对手方与提币延迟,这是自营台的核心能力,不是写机器人能补的。
交叉补贴。 整合 builder 可以出价高于区块其余部分的价值,差额由自营利润补上。
第五项优势产生一个自我强化的循环:
整合 builder 在含套利机会的区块上出价更高
-> 中立 builder 只赢下不值钱的区块
-> 中立 builder 的期望收入下降
-> 退出或被并购
-> 剩余 builder 的整合优势进一步扩大
这是 builder 侧的逆向选择。它预测的是条件市占率分化:整合方在高价值区块上的份额显著高于其平均份额。这个预测可以直接检验,是 19.11 节判别式的理论依据。
以太坊的 builder 市场长期高度集中,头部两三家产出绝大多数 MEV-Boost 区块,且普遍被认为在跑自己的 CEX–DEX 流。具体归属关系多为推测或自我披露,引用时应标注证据等级。
任何结论都受限于能看到什么。先写清楚边界,再谈方法。
能观测:
fee_recipient、extra_data、base_fee、timestamp;tx_index、gas_used、effective_gas_price、status;block.coinbase 的直接转账;Transfer
日志与池事件:可重建任意地址的净余额变化;/relay/v1/data/bidtraces/):
proposer_payload_delivered 给出胜出出价,字段含
slot、builder_pubkey、value、block_number,支持
limit 批量拉取;builder_blocks_received 给出该 slot
收到过的全部出价,额外含
timestamp_ms。它不支持批量拉取,必须按
slot、block_hash、block_number 或
builder_pubkey 逐个查询,否则返回 400。单个 slot
可能有上百条记录,全样本回填的成本要提前估算。builder_blocks_received 的 timestamp_ms 使
19.4 的 last-look 论点可直接检验:同一 builder 在同一
slot
内的多次提交带有毫秒级时间戳,可以测出重提交的实际节奏,以及最后一次提交距
slot 截止还有多久。这是本章少数能被证实或证伪的机制性主张。
不能观测:
结论必须写成"在可观测支付口径下",不能写成"该地址赚了多少"。
最小可用表集:
blocks(block_number, timestamp, base_fee, fee_recipient, extra_data, gas_used)
txs(block_number, tx_index, hash, from_addr, to_addr, value,
gas_used, effective_gas_price, status)
traces(block_number, tx_hash, trace_address, from_addr, to_addr, value, call_type)
token_transfers(block_number, tx_hash, log_index, token, from_addr, to_addr, amount)
pool_events(block_number, tx_hash, log_index, pool, protocol, amount0, amount1, state)
ref_prices(ts_ms, venue, symbol, bid, ask, mid)
relay_bids(slot, relay, builder_pubkey, proposer_fee_recipient, value, received_at)
actors(address, cluster_id, role, evidence)
派生表:
atomic_sets(block_number, cluster_id, tx_hashes, min_tx_index)
balance_delta(block_number, cluster_id, token, delta)
arb_candidates(block_number, cluster_id, gross_value, gas_cost,
builder_payment, rho, class, mark_ts, mark_sensitivity)
管线:
raw blocks / txs / traces / logs
-> 地址聚类得到 actor
-> 按 (block, actor) 聚合成 atomic set
-> 计算每个 set 的净余额变化
-> 分类:闭环 / 开腿 / 非套利
-> 开腿按参考价标记
-> 计算 gross value、gas、builder payment、rho
-> 关联 builder 身份与 relay 出价
-> 计算 actor 的 builder 排他性
-> 整合判定 + 敏感性区间
不要解析路由。 多跳套利可能穿过 5 个池、3 个协议,逐 swap 解析再求和既脆弱又会重复计算中间腿。正确做法是对整个原子集合取净 token 余额变化:
\[ \Delta_i=\sum_{transfers}(In_i-Out_i) \]
\(\Delta_i\) 对路由复杂度不变,这是它唯一重要的性质。附带好处:
按 \(\Delta\) 的形态分类:
| 形态 | 含义 | profit 定义 |
|---|---|---|
| 单一 token 正、其余为零 | 链上闭环套利 | 该 token 数量 × 区块内价格,无歧义 |
| 一正一负(如 \(+ETH,-USDC\)) | 开腿,CEX–DEX 候选 | 必须用外部参考价标记 |
| 多 token 残留且不成对 | 路由失败、库存调整或非套利 | 不纳入统计,单独归档 |
开腿的 profit 必须显式定义标记口径:
\[ GrossArbValue=\sum_i \Delta_i\times P_i^{ref}(t_{mark}) \]
\(t_{mark}\) 是选择,不是事实。区块 timestamp 是 12 秒粒度且由 proposer 声明,而交易实际是更早决定的。必须同时报告 \(t_{mark}\pm 1s\) 的敏感区间——对一笔 200 万美元的 swap,5bp 的标记误差就是 1000 美元,和利润本身同量级。
三个必须排除的情况:rebasing 与 fee-on-transfer token 破坏余额恒等;同一 actor 在同一区块内既做套利又做库存再平衡时无法拆分;聚类错误会把两个独立主体合并。
builder 收到的可观测支付有两条渠道,漏掉任何一条都会低估:
\[ ObservableBuilderPayment= GasUsed\times(EffectiveGasPrice-BaseFee) +CoinbaseTransferValue \]
第一项是 priority fee。必须减去 base
fee——它被销毁,不进 builder
口袋,这是最常见的错误。第二项是交易内部向 block.coinbase
的直接转账,只能从 trace 取,收据里看不到。
第三条渠道是链下支付与排他订单流协议,不可观测。它的存在意味着本口径是支付的下界,这一点直接影响 19.12 节的证伪。
净利润要小心不要重复扣除。ObservableBuilderPayment 是
builder 的收入口径,其中的 priority fee
已经包含在收据总成本 \(GasCost=GasUsed\times
EffectiveGasPrice\) 里。searcher 的成本口径只应扣一次:
\[ NetSearcherProfit=GrossArbValue-GasCost-CoinbaseTransferValue \]
同一笔 priority fee 既算进 GasCost 又算进"付给 builder
的钱",是这套计算里最常见的错误,与第 18.1
节警告的归因重复扣除是同一类问题。
定义支付比:
\[ \rho=\frac{ObservableBuilderPayment}{GrossArbValue} \]
理论预测清晰:
单靠 \(\rho\) 不够,需要第二个正交信号。定义 actor \(a\) 的 builder 排他性:
\[ Exclusivity(a)=\max_b\ \Pr(builder=b\mid a\ included) \]
与该 builder 的无条件市占率 \(\Pr(builder=b)\) 比较。若某地址的交易几乎只出现在某一家构建的区块里,而该 builder 只占市场三成,这个差距就是私有通道或整合的证据。
判定规则:同时满足低 \(\rho\)、高 \(Exclusivity\)、低 min_tx_index
的候选,归为整合流。三个条件都必须满足——任何单一条件都有良性解释。
发表任何整合率之前,逐条检查:
extra_data
是自我声明且可伪造,fee_recipient 可轮换。应优先用 relay 的
builder pubkey。builder_blocks_received
可以部分补回,但该端点必须逐 slot
查询,全样本回填的成本随样本区间线性增长;若因此改为抽样,抽样规则本身必须报告。建议的三个指标:
\[ IntegrationShare=\frac{\sum_{\rho<\tau}GrossArbValue}{\sum GrossArbValue} \]
\[ LVRSplit=\big(\text{searcher},\ \text{builder},\ \text{proposer}\big)\ \text{各自占}\ \sum GrossArbValue\ \text{的比例} \]
以及 builder 市场的集中度(如 HHI)随时间的序列。
阈值 \(\tau\) 是研究者的选择,必须报告结果对 \(\tau\) 的敏感性。所有指标都应带上样本区块区间、参考价来源与标记口径;换一个 \(t_{mark}\) 或换一家 CEX 的 mid,结论可能翻转。
这类研究的价值不在于点估计的精确度,而在于趋势与机制检验:整合份额是否上升、条件市占率是否分化、缓解机制上线后是否改变分配。
租金来自"AMM 价格滞后",因此缓解思路是让池子自己收回:
每种机制改变的是分配而不是消灭租金,因此它们上线前后的对比是本章测量方法最有价值的应用场景。
本章的方法论结论也是职业结论:不要去打 CEX–DEX 套利。它要求 builder、CEX 做市台与低延迟基建三件套同时具备,那是一家公司的配置。19.4 的 last-look 期权意味着外部参与者的期望收益在结构上为负。
可做的是测量、机制设计与缓解方案,这些用的是同一套数据能力,产出可发表、可署名、不需要自有资本,且不受 19.4 的逆向选择约束。
测量规格见 MEV measurement card。
你应该能:
第 7 章的地图按"收益来源"分类,覆盖了 basis、funding、跨场所、三角、做市、统计收敛和链上执行。它遗漏的类别落在三种情况里:定价关系存在于衍生品之间而不是现货之间;机会来自一次性事件而不是持续价差;或者机会的形态由场所的机制设计决定,而不是由资产本身决定。
本章补上这些类别。每一节仍用第 7.10 节的四问:收益由谁支付、为什么轮得到你、残余风险是什么、最小验证怎么做。
第 3 章给了期权的现金流,但没有给出它们之间的定价约束。核心约束是 put-call parity。用远期形式写更适合加密市场(\(F\) 为同到期日的远期或期货价,\(r\) 为无风险利率,\(T\) 为剩余年化期限):
\[ C-P=e^{-rT}(F-K) \]
违背这个等式意味着可以构造出确定性现金流。三种可交易结构:
Conversion / reversal. 持有现货、买入 put、卖出同行权价 call,得到合成空头,到期价值锁定为 \(K\)。反向即 reversal。收益来自 parity 偏离,支付方是急于买入保护或急于卖出波动率的一方。
Box spread. 同时构造 \(K_1\) 的合成多头与 \(K_2\) 的合成空头(\(K_1<K_2\)),到期确定收到 \(K_2-K_1\)。它本质是一张零息债,隐含利率为:
\[ r_{implied}=\frac{1}{T}\ln\frac{K_2-K_1}{BoxPrice} \]
Box 的用途通常不是"套利",而是用衍生品市场融资或存款:当 \(r_{implied}\) 显著高于你的资金成本时买入,反之卖出。这也是它最大的风险来源——卖出 box 等于借款,保证金被追缴时你无法选择持有到期。
IV 与 RV 的差。 卖出期权并连续 delta 对冲,盈亏近似由隐含波动率与实现波动率之差决定。这不是无风险套利:对冲频率、跳空、交易成本和 vega 暴露都会吞掉理论差额,且亏损分布是左偏的。
加密市场的特有摩擦:期权与永续在不同场所、保证金不互通;欧式与美式、现金交割与实物交割规则不同;到期日流动性集中在少数几个;F
用哪条曲线取决于你实际能成交的合约。
最小验证:用单一到期日、单一行权价,只做一手的 conversion,记录两腿真实成交、保证金占用与到期结算,验证 parity 偏离在扣除全部成本后是否还存在。
份额价格与净值可以偏离:
\[ Premium=\frac{MarketPrice-NAV}{NAV} \]
开放式 ETF 有授权参与者(AP)的申购赎回机制:溢价时 AP 创建份额并卖出,折价时买入份额并赎回,机制上把偏离压回去。收益由需要即时流动性的二级市场交易者支付。
为什么通常轮不到你:申赎权限属于 AP,有资格门槛、最小申购单位(通常是数万份的整数倍)和结算安排。零售参与者只能交易二级份额,赚不到申赎那一腿。这一点必须先确认,否则整个策略不成立。
封闭式信托没有申赎通道,这是最重要的教训:折价可以长期存在且继续扩大。历史上加密信托产品曾从大幅溢价转为持续两年以上的两位数折价,任何"折价必然收敛"的假设都在这段时间里被证伪。折价收敛依赖结构性事件(转换为 ETF、清算、赎回窗口开放),而不是依赖均值回归。
残余风险:托管方与发行方风险、管理费侵蚀、转换审批的时间不确定、借券成本与可得性、以及在事件延期时的融资成本。
最小验证:不下单,先复核最近 12 个月的折溢价时间序列、申赎条款原文和你是否具备申赎资格;只有当"收敛触发事件"可以写成具体日期或具体条件时,才进入下一步。
第 7.3 节的结构是 long spot + short perp,收益来自单一场所的 funding。另一类是同一标的的两个永续之间:
场所 A: funding 为正且高 -> 做空
场所 B: funding 为负或较低 -> 做多
净 delta 接近零
收益是两边 funding 之差,支付方是两个场所各自的杠杆需求方。它与 7.3 的区别在于没有现货腿:不占用现货托管,但也失去了"最坏情况下持有现货"的退路。
残余风险显著不同:
有效收益必须写成:
\[ NetCarry=Funding_A-Funding_B-Fees-MarginBufferCost-RebalanceCost \]
MarginBufferCost
常被忽略,但为了不被强平而预留的空闲保证金是真实的资本占用。
最小验证:小仓位持有跨越至少三个 funding 结算周期,记录两边实际收付、mark 差异和最大保证金占用峰值。
第 18.9 节把链上永续当作执行环境处理,列出了它新增的依赖。但它同时是一类机会来源,而机会的形态完全取决于该协议用哪种定价机制。至少要区分三种:
| 机制 | 价格从哪来 | 套利形态 |
|---|---|---|
| oracle 定价、零滑点 | 直接读取预言机 | 机会来自 oracle 更新延迟:在链下价格已动、预言机尚未更新时,以旧价大额开仓 |
| 链上订单簿 | 撮合真实报价 | 与 CEX 同构,即普通跨场所价差 |
| LP 池充当对手方 | oracle 或池内曲线 | 交易者盈利即 LP 亏损;delta 中性持有 LP 份额 + 外部对冲是一整类策略 |
第一种是被利用最多的:零滑点意味着大额执行不付出 price impact,而预言机的心跳与偏离阈值给出了一个可预测的时间窗口。这不是"发现价差",是赌一个已知的更新延迟,因此协议方会持续通过降低心跳间隔、加动态费率或限制单笔规模来关闭它。把它当作可持续收入是危险的。
第三种最适合作为研究对象,因为它可以被完整拆解:
\[ LPNetPnL=FeeShare+TraderNetLoss-HedgeCost-InventoryDrift \]
TraderNetLoss
是带符号的——交易者整体盈利时它为负。多数人只看 FeeShare
的年化就下结论,而这一项在行情单边时会被 TraderNetLoss
完全吞掉。
两个会直接推翻 CEX 直觉的差异:
最小验证:极小仓位持有 LP 份额并做外部对冲,跨越至少三个费用结算周期,把上式四项分别记录下来。只要有一项无法从链上事件独立算出,这个策略就不可对账。
第 16、17 章讲了单个借贷市场和 PT/YT,但没有把它们当作一条利率曲线来比较。三种结构:
跨协议同资产利差. 同一资产在不同借贷协议的借贷利率不同,来源是各自的利用率曲线、激励和风险参数。可以在低息处借入、高息处存出。这不是无风险:两个协议的清算参数、oracle、暂停权限和坏账处理都不同,你承担的是两套合约风险的叠加,赚的是一个通常只有几十个基点的利差。
固定与浮动的 carry. PT 的隐含固定利率与借贷池的浮动利率可以背离:
\[ Spread=PTImpliedAPR-FloatingAPR \]
买 PT 相当于收取固定、支付浮动。风险是浮动利率在持有期内上升,以及 PT 到期前的二级流动性。
基准问题. 这条曲线上的所有数字都要和链下无风险利率比较。若某个"固定收益"策略的年化低于同期限国债,它承担的额外合约与协议风险就没有得到补偿。本书不把任何链上利率称为无风险利率。
最小验证:在极小额上完成一次完整的存入—到期—赎回,确认实际到手年化与挂牌年化的差,以及退出时的滑点。
第 13 章和第 17.13 节把 RWA 列为一类风险,第 20.5 节把国债当作基准。它同时也是一类机会,且结构与 20.2 节的 ETF 完全同构。
一二级价差. 代币化国债基金通常按 NAV 一级申赎(T+0 或 T+1 结算),而链上二级价格会偏离。折价时买入二级、走一级赎回,赚取的是 \(NAV-P_{secondary}\)。
这里的关键与 20.2 完全一致:收益不来自"发现折价",来自"拥有赎回权"。没有赎回资格时,你能赚到的只有持有期内的底层收益,折价那部分赚不到——它会一直在那里,等着有资格的人去收。所以第一个要回答的问题不是价差多大,而是:
我是否符合合格投资者认定?
该产品是否白名单转让?
我所在司法辖区是否在允许名单内?
赎回的最小单位是多少?
结算走链上还是银行轨道,T+几?
任何一项答否,这个策略对你就不存在。
抵押正 carry. 把代币化国债作为抵押借出稳定币,当借款利率低于国债收益率时形成正利差。它可以直接接到 20.5 节的利率曲线上:
\[ Carry=UnderlyingYield-BorrowRate-ProtocolFees \]
风险在于借款利率是浮动的,而底层收益是固定的——利率上行时利差可以反号,且抵押品的清算逻辑依赖一个为链下资产估值的 oracle。
期限错配是这一类的核心风险. 第 17.13 节提过"链上 24/7 可交易与链下工作日兑付之间的期限差",它的完整含义是:
压力事件发生
-> 链上持有者可以在几秒内抛售
-> 一级赎回要等 T+1 / T+2 甚至更久
-> 两者之间没有套利者愿意承接
-> 二级折价可以远超任何"理论下限"
这与 20.2 节封闭式信托的教训是同一个机制:当赎回通道的速度跟不上抛售速度时,折价不受约束。用"最多折到赎回成本"来估计最坏情况,会低估。
收益归属. 生息稳定币与代币化国债的差别常常只在于谁拿走了利差。发行方持有生息资产、发行零息负债时,利差归发行方。哪些产品把收益返还给持有人、返还比例多少、以什么形式返还,都是可以从公开条款核验的事实,不需要推测。
最小验证:在不下单的前提下先读完招募/条款文件,确认赎回资格、最小单位、结算轨道与时限;只有当这五项都有明确答案时,才计算价差。
前面所有类别都假设价差持续存在。事件驱动的收益来自一次性的、日程已知的结构变化:
| 事件 | 谁支付 | 主要风险 |
|---|---|---|
| 交易所上币公告 | 追涨的即时流动性需求方 | 公告即已反映;上币可能延期或取消 |
| Token unlock / vesting cliff | 被迫接盘的二级市场 | 解锁方可能场外出货,价格不动 |
| 指数再平衡 | 被动跟踪基金的机械买卖 | 权重公式和生效时点可能与预期不符 |
| 分叉与快照 | 协议或社区预算 | 快照规则、领取窗口、税务处理 |
共同特征是日程公开、方向可推断、幅度不可推断。多数参与者亏在把"方向对"当成"仓位可以放大"。
红线:基于未公开的上币信息交易属于内幕交易;本书第 18.16 节的边界在此完全适用。合法的做法只能建立在公开公告、公开的指数方法论文件和链上可查的解锁合约之上。
最小验证:先对至少 10 个历史同类事件做纸面记录,检验你的假设在事件公告后才建仓时是否仍然成立。
同一事件在不同预测市场、或同一市场内互斥结果之间,存在可检验的定价约束。对 \(n\) 个互斥且穷尽的结果,若合约按 1 结算:
\[ \sum_i Ask_i<1\ \Rightarrow\ \text{买入全套锁定}\ 1-\sum_i Ask_i \]
\[ \sum_i Bid_i>1\ \Rightarrow\ \text{卖出全套锁定}\ \sum_i Bid_i-1 \]
跨市场版本是同一事件在两个平台的价格差。这个类别适合本书的定位——资本要求低、机会可由个人发现、不需要延迟优势——所以值得单列。
但约束条件很硬:
最小验证:只用可承受全损的金额,在单一平台内部先做一次互斥结果的全套买入,验证结算是否严格按条款执行、到账时间和实际费用。跨平台只在单平台验证通过后再考虑。
第 6.8 节给出了框架:门槛类型决定衰减速度,租金分为 A(来自错误或补贴,必然消失)、B(来自结构,不会消失但会转移)、C(不是套利,是承险收费)三类。
这一节把它应用到本书出现过的全部类别。以下是分类判断,不是事实陈述,判据见 6.8 节,你应当用它重新推导而不是接受结论。
| 类别 | 租金来源 | 主要门槛 | 类型 | 对个人 |
|---|---|---|---|---|
| 期现 cash-and-carry | 基差收敛 | 资本、融资、交割运营 | B | 开放但薄 |
| 现货—永续 funding | 杠杆需求 | 资本、托管、双边运营 | B/C | 开放 |
| 跨场所 funding spread | 市场分割 | 资本、双边保证金缓冲 | B | 开放但薄 |
| 跨场所价差 | 分割与同步延迟 | 预置库存、速度 | B | 已机构化 |
| 三角 / 路由 | 定价不一致 | 速度 | A | 已商品化 |
| 做市 | spread、rebate | 速度、库存、资本 | C | 专业化行业 |
| 统计收敛 | 历史关系 | 研究 | A | 开放,必然衰减 |
| CEX–DEX / LVR | 波动率 × 区块离散 | builder 整合、做市能力 | B | 位置已被占据 |
| 清算 / keeper | 协议支付的 bonus | 速度、预言机预测 | C | 开放但拥挤 |
| 链上永续 oracle 延迟 | 协议设计缺陷 | 速度 | A | 必被修复 |
| 链上永续 LP 对手方 | 交易者亏损与 fee | 资本、对冲运营 | C | 开放 |
| 期权 parity / conversion | 定价约束偏离 | 保证金、多腿执行 | B | 开放但成本高 |
| Box spread | 融资利率差 | 保证金、承受路径风险 | — | 融资工具,非套利 |
| ETF 申赎 | 二级流动性需求 | AP 资格 | B | 永久关闭 |
| 封闭式信托折价 | 结构性事件 | 资本、时间、事件判断 | A | 开放,一次性 |
| RWA 一二级价差 | NAV 与二级偏离 | 合格投资者认定 | B | 多数人关闭 |
| RWA 抵押 carry | 利率差 | 资本、合约风险 | B/C | 开放但会压缩 |
| 跨协议利差 | 利用率曲线差异 | 承担两套合约风险 | C | 开放但薄 |
| 固定—浮动 carry | 利率预期差 | 承担利率风险 | C | 这是敞口,非套利 |
| 事件驱动 | 机械买卖 | 研究、纪律 | A | 开放,每次都是新的 |
| 预测市场 | 分割与定价不一致 | 资本预置、平台准入、条款理解 | B | 开放但容量极小 |
| 规则红利 / 空投 | 平台预算 | 操作琐碎、信息扩散慢 | A | 开放,必然耗尽 |
标为 B 但"位置已被占据"或"永久关闭"的行最值得注意:租金持久不等于你拿得到。这是本表最容易被误读的地方——第 19 章的 CEX–DEX 与 20.2 节的 ETF 申赎都属于此,它们的租金结构性存在,但外部参与者的期望收益为负或根本没有通道。
反过来,标为 A 的行不代表不该做,只代表不能把它当作可持续收入建模:它的价值在于现金流的即时性,不在于可复利性。
以下不属于遗漏,属于排除:
排除的理由不是"风险太高",而是它们要么损害对手方、要么违法。把它们写进地图会让整本书的风险纪律失效。
你应该能:
本案例使用虚构、简化参数,只用于学习现金流和风险拆解,不代表当前市场机会或任何交易所规则。
现货多头 notional 10,000 USDC
永续空头 notional 10,000 USDC
预期 funding +0.01% / 8 hours(空头收取)
持有时间 30 days = 90 funding periods
现货开/平手续费 5 bps each
永续开/平手续费 4 bps each
每次执行平均 slippage 2 bps
转账和其他显性成本 5 USDC
系统/人工成本分摊 10 USDC
暂时假设两腿 Delta 完全匹配、全部按模型成交,而且 funding 30 天不变。后面逐项拆掉这些假设。
\[ GrossFunding=10,000\times0.0001\times90=90\ USDC \]
宣传页面可能直接把 0.01% × 3 × 365 年化为
10.95%。这只是 funding
毛年化,没有考虑资本、执行和风险。
现货手续费:
\[ 10,000\times0.0005\times2=10 \]
永续手续费:
\[ 10,000\times0.0004\times2=8 \]
四次执行的滑点:
\[ 10,000\times0.0002\times4=8 \]
总已知成本:
\[ 10+8+8+5+10=41 \]
基准净收益:
\[ 90-41=49\ USDC \]
如果只按最低入场条件估算,现货占用
10,000,永续初始保证金 2,000,合计
12,000:
\[ 30DayReturn=\frac{49}{12,000}=0.408\% \]
简单年化约
4.97%。这是接近营销口径的上限:它没有为永续空头在 BTC
上涨时的 variation margin、maintenance buffer 和转账延迟预留资本。
假设压力政策要求永续侧一共配置 5,000:2,000
初始保证金、2,000 用于承受 20% 不利价格变化、另有
1,000 清算与转账缓冲。总 capital-at-risk 变为
15,000:
\[ StressCapitalReturn=\frac{49}{15,000}=0.327\%\quad\text{per 30 days} \]
对应简单年化约 3.98%。5,000
仍是教学假设,不是充分保证金;真实资本应来自场所规则、价格/流动性压力、资金转移时间和个人风险限额。主要收益率应使用压力资本,而不是最低开仓资本。
90 个周期刚好覆盖 41 成本所需的平均 funding:
\[ breakEvenRate=\frac{41}{10,000\times90}=0.0000456 \]
即每 8 小时约 0.00456%。如果平均 funding
低于这一水平,在其他假设不变时,策略已经没有正的已知净收益。
平均 funding 为 0.005%:
\[ Funding=45,\quad Net=45-41=4 \]
很小的预测误差就吃掉了几乎全部 edge。
前 10 天(30 个周期)收 +0.01%,后 20 天(60 个周期)付
-0.005%:
\[ Funding=30-30=0,\quad Net=-41 \]
“历史上 funding 经常为正”不是现金流锁定。
先买入现货,永续空单因 API 超时未成交。若等待期间价格下跌
0.5%,单腿损失约
50 USDC,已经超过整个基准月收益。
超时后直接重试还可能造成两张空单,因为第一张订单可能已被场所接受,只是回报丢失。
如果现货和永续位于不同账户,BTC 上涨 20% 时:
spot economic PnL +2,000
perp economic PnL -2,000
portfolio total ~0 before costs
但现货利润无法自动补充永续账户的保证金。永续腿仍可能被强平,之后留下没有对冲的现货多头。
若一边暂停交易或提现,价差和 funding 可能继续变化,但你无法完成库存再平衡。此时风险不是图表中的波动,而是失去控制资产和退出路径。
验证:下单、撤单、partial fill、reconnect、client ID 幂等、position/fee/funding 对账和 kill switch。
只有前两步通过且雇佣、法律、税务和平台政策允许时,才用可承受归零的极小资金跑完开仓、结算、平仓、提现和最终账本核对。
这是一笔相对价值交易,不是无风险存款。真正的 edge 不是知道“long spot + short perp”这个公式,而是能够以低成本、安全、可重复的方式执行,并在 funding、流动性和基础设施改变时先于损失扩大退出。
本案例使用虚构、简化参数,只用于教学。它忽略真实池的 fee 复投、集中区间、税务和 token 特性,不代表当前协议或机会。
50/50 constant-product pool:
X price 1 USDC
X deposited 5,000 X
USDC deposited 5,000 USDC
initial position value 10,000 USDC
fee tier and volume 暂不指定
初始:
\[ x=5,000,\quad y=5,000,\quad k=25,000,000 \]
比较基准不是现金,而是持有同样的
5,000 X + 5,000 USDC。
假设外部市场把 X 推到 4 USDC,套利使池内价格同步。忽略
fee:
\[ \frac{y}{x}=4,\quad xy=25,000,000 \]
得到:
\[ x=2,500,\quad y=10,000 \]
LP 价值:
\[ 2,500\times4+10,000=20,000 \]
直接持有价值:
\[ 5,000\times4+5,000=25,000 \]
LP 相对 hold:
\[ \frac{20,000}{25,000}-1=-20\% \]
LP 本金从 10,000 涨到 20,000,并不妨碍其相对 hold 少了 5,000。把绝对盈利全部归因于“做 LP”会把 X 的方向收益误算成策略 alpha。
假设同一期间:
realized swap fees 700
reward shown at issuance price 1,400
reward actually sold for 800
rebalance / claim gas 150
manager / protocol fees 100
为便于教学,把现金流直接加到忽略 fee 的终值:
\[ LPFinal=20,000+700+800-150-100=21,250 \]
相对 hold:
\[ 21,250-25,000=-3,750 \]
相对差额仍为 -15%。Fee 和奖励缓解了 rebalancing
loss,但没有覆盖全部差额。
页面若用奖励发放时价格,会显示:
\[ 700+1,400=2,100 \]
即初始资本的 21% gross reward。可兑现现金流实际只有
1,500,还未扣成本,更没有与 hold 比较。
“价格以后回到 1,IL 就消失”也不构成策略保证:
终点价格相同,不代表所有路径产生相同净 PnL。
如果 LP 只在 [0.90, 1.10] 提供 X/USDC 流动性,X 涨到 4
后头寸会早早越界,接近只持有其中一边,并停止在当前价格主动赚 fee。
窄区间可能在价格稳定期显示很高 fee APR,但完整回测必须加入:
资本效率提高不等于风险调整后收益自动提高。
可能因为池容量小、主动管理琐碎、机构不愿承担 token / 合约风险。若主流池可大规模获得极高净收益,更可能是 IL/LVR、奖励兑现或退出成本被遗漏。
fee + realizable reward - LVR - hedge - gas
连续低于门槛;LP 是做市与库存管理,不是“存币生息”。正确比较对象是同一起始资产的 hold 或其他可执行策略;正确收益是 fee 和可兑现补贴扣除 LVR、gas、对冲和尾部风险后的差,而不是页面 APY。
本案例参数完全虚构,只展示杠杆、利率和脱锚如何共同作用。真实协议参数、oracle 与清算规则必须按 chain、market 和版本查询。
假设用户有 100,000 USDC 等值资本:
买入 LST 并存为抵押
-> 借入 ETH
-> 换成更多 LST
-> 再存入
-> 重复
页面假设:
LST staking yield 4.5%
LST incentive 2.0%
ETH borrow rate 2.5%
UI headline “APY” 约 15%
先忽略 gas、fee 和价格风险,使用每轮再借比例 b=0.70
的无限级数近似:
\[ GrossCollateral=\frac{100,000}{1-0.70}=333,333 \]
\[ GrossDebt=\frac{0.70\times100,000}{1-0.70}=233,333 \]
简化 carry:
\[ 333,333\times(4.5\%+2.0\%)-233,333\times2.5\% \approx15,833 \]
这段线性加减得到的是约
15.8% simple annualized carry / APR,没有处理复投周期,不能严格称为
APY。它解释了 UI headline 的来源:3.33 倍 LST 暴露减去 2.33
倍浮动债务,而不是一份 15.8% 固定票息。
假设加权 liquidation threshold 为 80%:
\[ HF=\frac{333,333\times0.8}{233,333}\approx1.143 \]
缓冲看似存在,但只要抵押相对债务下跌约 12.5%
就到达边界:
\[ CollateralAtHF1=\frac{233,333}{0.8}=291,666 \]
相对 333,333 的抵押价值减少 12.5%。
债务以 ETH 计价,LST 相对 ETH 下跌 8%:
\[ HF=\frac{333,333\times0.92\times0.8}{233,333} \approx1.051 \]
ETH/USD 方向可能完全对冲,LST/ETH basis 仍会把仓位推近清算。把 LST 固定视为 1 ETH 会漏掉最关键风险。
高 utilization 使 borrow rate 从 2.5% 升至
9%,其他不变:
\[ NetCarry= 333,333\times6.5\% -233,333\times9\% \approx667 \]
simple annualized carry 从 15,833 降到约
667,尚未扣 gas、vault fee、hedge、discount 和 expected
loss。正 carry 几乎消失,但 HF 不会因为收益变差而自动恢复。
假设:
13%;12%;仅折价后的 HF:
\[ HF=\frac{333,333\times0.87\times0.8}{233,333} \approx0.994 \]
仓位已经有资格被清算。用户虽然提交了 repay,交易尚未包含;liquidator 可以按排序竞争先执行。页面上的年化收益此时没有决策价值。
真实循环是离散的,并受 LTV、cap、fee 和最小金额约束,因此不会正好等于无限级数。但公式揭示了敏感性:当 \(b\) 接近 1,总抵押和债务对参数误差非线性放大。
更浅的一层循环会降低暴露,但仍包含:
“少循环一层”是风险降低,不是风险消失。
Permissionless 和池化降低了最低资本与操作门槛,但这不是独有 edge。专业参与者同样可以自动化,正 carry 会随借款需求和利用率上升收敛。异常高 headline 更可能补偿折价、清算、合约和退出风险。
Slashing 上限、LST 协议退出、oracle 更新、极端清算深度、borrow curve、governance 权限和拥堵时 deleverage 顺序。任一无法限定时,不应通过 Step 0 或扩大杠杆。
循环借贷是杠杆 carry。其高 APY 主要来自重复扩大同一底层暴露;最危险的不是单个平均参数,而是折价、浮动利率、oracle 和交易延迟在同一危机中相关变化。
本案例使用虚构发行人和参数。目标是区分可执行赎回、收敛交易与无担保信用风险,不代表任何稳定币当前状态。
某稳定币 USDx 在 DEX 报价
0.970 USDC。研究者计划投入
100,000 USDC,认为“最终回到 1 美元”可赚
3,000。
这个判断缺少:
假设核验后:
DEX all-in VWAP(已含 pool fee 与 impact) 0.974
gas + other explicit costs 120
issuer redemption value 1.000
issuer redemption fee 0.20%
bank / transfer cost 100
expected settlement 3 days
capital time cost 80
买到约 102,669.4 USDx:
\[ Quantity=\frac{100,000}{0.974}\approx102,669.4 \]
赎回 fee:
\[ 102,669.4\times0.2\%\approx205.3 \]
忽略尾部损失时:
\[ Net=102,669.4-100,000-120-205.3-100-80 \approx2,164.1 \]
屏幕上的 3,000 已降到约 2,164。仍需确认每日额度足够、赎回当前开放、银行账户和司法辖区符合条款。
设三个教学情景:
| 情景 | 概率假设 | PnL |
|---|---|---|
| 三天正常到账 | 94% | +2,164 |
| 延迟 30 天、额外成本与折价 | 5% | -1,500 |
| 赎回暂停且只能以 0.70 卖出 | 1% | -28,200 |
简化 EV:
\[ EV=0.94\times2,164+0.05\times(-1,500)+0.01\times(-28,200) \approx1,677 \]
这些概率不是事实,只用于说明:低概率信用事件会显著改变规模。不能因为 EV 为正,就使用无法承受 28,200 损失的仓位。
若最大可接受策略损失为 5,000,针对“只能以 0.70
卖出”这一组选定压力情景,损失率约 28.2%:
\[ PositionByLossLimit=\frac{5,000}{28.2\%}\approx17,730 \]
17,730 不是全局最大仓位,因为发行人、bridge
或法律索取权失效时本金仍可能归零。若 100% loss
不能排除,同一损失预算给出的更严格上限为:
\[ PositionByPrincipalToZero=\frac{5,000}{100\%}=5,000 \]
最终上限取
5,000、赎回额度、真实深度、集中度和个人总风险预算中的最小值。若这类黑天鹅无法理解或接受,正确仓位是零。
若发行人只允许特定机构或地区赎回,个人买入后只能:
此时 1.00 不是自己的可执行 exit price。交易属于
stablecoin credit /
convergence,收益取决于其他人的资产负债表和市场信心。
“市场上有人可以赎回”不等于“我可以按相同成本赎回”。赎回能力集中本身可以解释折价为何没有立即消失。
钱包显示 USDx,但地址其实是第三方桥在另一链发行的
bridged USDx。发行人只赎回原生 token。
退出路径变为:
bridged USDx
-> bridge verifier / liquidity
-> native USDx
-> issuer redemption
-> bank settlement
0.03 折价可能主要补偿 bridge backing 与跨链退出风险。若桥暂停,发行人的充足储备也不能直接帮助包装 token 持有人。
在交易前取得:
如果利润来源只能解释为“后来会有人更高价接手”,就不能通过 Opportunity Hunter Step 0。
稳定币低于 1 美元只是价格,不是利润。只有当自己拥有可执行赎回权,并把深度、费用、时间与失败损失全部扣除时,折价交易才接近套利;否则是在承接信用与流动性风险。
练习默认使用公开历史数据、sandbox 或纸面模拟。任何真实资金实验都必须合法、符合雇佣和平台政策,并使用可承受全部损失的极小金额。
你获得 sequence 100 的 snapshot,随后收到
101、103、104。
回答:
检查点:检测 102 缺失;停止信任本地簿;缓存/丢弃规则清楚;重新同步。
订单数量为 5,收到:
E1 fill 2
E2 fill 1
E1 fill 2 duplicate
cancel acknowledged
计算真实成交、取消量和最终仓位;设计崩溃后仍能工作的 execution 去重结构。
账户有 20,000 USDC,持有 2 BTC
线性永续多仓,入场价 60,000,maintenance rate
6%,忽略费用。
分别计算 mark 为
58,000、55,000、52,000 时的
uPnL、equity、MM 和简化清算判断;再对 collateral 加
10% haircut。
复算资金费案例,再加入:
区分已知成本、可估计损失与无法可靠估计的尾部风险。
设计账户级预留服务:
提交状态机、幂等键、持久日志、不变量和 reconciliation 路径。
发送订单
500ms 未收到 ack
客户端重试
第一单已经成交
第二单也被接受
比较没有稳定 client ID 与具有幂等语义时的结果,写出超时恢复 playbook。
为跨场所两腿策略设计触发与恢复:
必须包括停止意图、撤单、继续收 fill、权威查询、残余仓位、人工批准和恢复。
组合当前 Delta 接近 0,但 Gamma 和 Vega 都为负。
解释价格大幅变化、隐含波动率上升以及只按当前 Delta 定仓的风险。
把以下案例分类为纯套利近似、相对价值、规则红利、做市、投资或投机:
每项写出至少三个残余风险。
选择一个公开、合法的结构性机会,填写 opportunity memo。
强制要求:利润来源、为什么轮得到你、衰减信号、四情景 EV、最小验证、退出条件和未知项。
对一个历史回测依次加入:费用加倍、滑点压力、延迟、partial fill、参数扰动、一个月留出集和容量限制。记录每一步怎样改变净收益和 drawdown。
使用最新一手资料完成一份 stock research memo,单独列出市场 Beta、公司经营和估值倍数风险,并解释为什么它不能计入套利策略胜率。
matching 已成交
position service 延迟 800ms
risk engine 读取旧仓位并批准更多订单
实际仓位达到限额 2.3 倍
从账户顺序、risk reservation、fill 传播、对账、降级和 participant-side 限额提出修复,并填写 incident postmortem。
写出:
你提交一笔 swap,RPC 超时;区块浏览器暂时查不到,钱包建议再次发送。回答:
使用 onchain experiment card 写出安全重试与 revoke 步骤。
某 vault 显示 28% APY:
borrower interest estimate 5%
staking estimate 4%
reward token 10%
points scenario 9%
borrow + hedge -6%
manager / performance fee -2%
gas and slippage -1%
指出哪些是 organic、subsidy、mark-to-market、成本和未知;检查是否重复计算;为 reward token 价格减半、points 零分配和退出延迟建立情景。填写 DeFi yield waterfall。
复算 LP 案例,再处理:
0.25、2 和
9;0%、50% 和
120%;40% 卖出;分别报告绝对 PnL、相对 hold、fee、reward、gas 和无法由终点 IL 表达的路径风险。
为同一资产对比较宽区间和窄区间:active time、fee
share、越界库存、调仓频率、gas 与 hedge。然后设计一笔 swap 的
minOut、deadline、quote freshness 和最大 gas gate。
解释过紧和过松的 slippage limit 各自如何失败;列出 private submission 能缓解和不能消除的风险。
复算 循环借贷案例,使用离散三轮而非无限级数;加入:
7%;6%;2%;提交每一步 collateral、debt、HF、净 carry 与 deleverage 路径。不得把 LTV 当 liquidation threshold。
复算 稳定币赎回案例。分别假设:
为每项贴上近似套利、收敛或信用交易标签,并用损失预算决定仓位,而不是只比较 EV。
画出:
ETH -> LST -> LRT -> lending collateral -> borrow stablecoin -> LP vault
对每层列出 token、contract、admin、oracle、operator、bridge、退出和最大损失。把共享 ETH price、operator、oracle、L2 与稳定币流动性的节点合并为共同失败域,而不是报告六项“分散收益”。
选择一个仅用于研究的公开 vault,填写 DeFi protocol review:
convert、preview、max
和真实 withdrawal;只做只读链上查询或 fork,不需要真实入金。
某 yield-bearing asset 的一份 PT 在 180 天后按规则兑换 1
单位底层资产,当前全成本价格为 0.95;YT 当前价格为
0.06。分别在到期前底层收益为
2%、6%、12% 且 points
为零或高价值时:
PT + YT 价格未必机械等于
1;屏幕显示 DEX 买价比 CEX 卖价低 80 bps。给定多档 CEX
order book、AMM reserves、两边 fee、gas、inclusion 概率和 hedge
失败情景,计算不同规模的 realized edge 与容量。
比较:
说明哪一项是同交易原子、同链非原子或跨域非原子。
为以下事件分别写 runbook:
每份必须包括:停止新增、pending transaction、余额查询、repay / hedge / withdraw 顺序、allowance、人工批准、证据保存和恢复条件。
只有在法律、雇佣、平台规则与个人风险允许时,选择经过审查的低复杂度机制,用可承受全部损失的极小金额完成:
fund -> approve -> deposit / swap -> observe -> unwind -> withdraw -> revoke -> reconcile
通过标准是余额和费用全部可解释、退出成功、权限已收回;盈利不是通过标准。若任何一步未知,停止而不是扩容。
选择一段不超过 1000 个区块的公开区间,只用公开数据完成:
GrossArbValue 及 \(t_{mark}\pm 1s\) 的区间;ObservableBuilderPayment,并说明你如何确认 base
fee 已被排除;通过标准是别人能用你的规格复现出同一区间的数字,并且你能指出最可能推翻结论的那一项证据。得不出整合结论也算通过;把不可观测的部分写成已知才算失败。 规格填入 MEV measurement card。
选择一个公开、合法、低容量机会,只完成研究、paper/sandbox 和在政策允许下的最小验证。
交付物:
继续 / 限制 / 退出 结论;毕业标准不是赚钱,而是结论可复核、损失有界、失败后能恢复,并且愿意在证据不支持时退出。
练习册里的题目训练判断,本题集训练计算。每题都有唯一数值答案,解答见计算题集解答。
先算完再对答案。多数题目的第二问是陷阱:它检验你有没有把某个成本项重复扣除、或者漏掉一个不出现在报价里的成本。
约定:除非题目说明,忽略税务;年化统一用 365
天;百分比保留两位小数;金额保留两位小数。
盘口:
bestBid = 100.00, Qb = 300
bestAsk = 100.04, Qa = 100
计算 spread、mid、imbalance 和 microprice。microprice 高于还是低于 mid,这说明什么?
账户余额 20,000 USDC,持有 2 BTC
线性永续多仓,入场价 60,000,maintenance margin rate
6%,忽略费用与 funding。
58,000、55,000、52,000 时的
uPnL、equity、MM requirement,以及是否触发简化清算条件;10% haircut 后,重新解出临界 mark
price。持有 3 BTC
永续空仓。连续三个结算周期:
| 周期 | mark price | funding rate |
|---|---|---|
| 1 | 60,000 | +0.010% |
| 2 | 61,000 | −0.005% |
| 3 | 59,000 | +0.020% |
用 \(accountFundingCashflow=-signedNotional\times fundingRate\) 计算每期现金流和三期合计。哪一期你在付钱?
现货 60,000,73 天后交割的期货
61,200。计算 basis 与年化 basis。
买入 K=3,000 的 call,权利金 150;同时卖出
K=2,800 的 put,权利金 90。
计算 \(S_T\) 为 3,120
和 2,500 时的组合损益,以及只持有 call 时的盈亏平衡点。
同一到期日:远期 \(F=3{,}000\),行权价 \(K=3{,}000\),剩余期限 \(T=0.25\) 年,无风险利率 \(r=4\%\)。市场报价 call
210、put 185。
2,且需占用 1,000
保证金(资本成本 4% 年化),净锁定金额是多少?\(K_1=2{,}800\)、\(K_2=3{,}000\) 的 box,当前价格
197.50,剩余期限 0.5 年。
4% 年化。应该买入还是卖出这个 box?池内
x = 100 ETH、y = 300,000 USDC,f = 0.30%,输入
5 ETH。
3,000 的总差额;计算 \(r=2\)、\(r=0.5\)、\(r=9\) 时的 \(IL(r)\)。为什么 \(r=2\) 和 \(r=0.5\) 结果相同?
初始投入 10,000:2 ETH(当时
2,500)+ 5,000 USDC,投入 50/50
constant-product 池。持有期内 ETH 涨到 5,000,期间累计获得
fee 900,进出 gas 合计 40。
计算持有基准价值、无 fee 的 LP 价值、divergence loss,以及 LP 相对持有的最终净差额。
池内 100 ETH / 300,000 USDC,外部价格从
3,000 变到 3,030。
3,060,重算;抵押 10 ETH,当前价 3,000,liquidation
threshold 82.5%;借出 15,000 USDC。
HF = 1 的 ETH 价格;5,000 USDC 后重算两者。初始资金 10,000,每轮按 b = 0.75
重新抵押,无限级数近似。
5%、借款成本 4%
时,权益的净年化收益是多少?82.5%
下,实际跌多少就会被清算?Vault
TotalAssets = 1,050,000,TotalShares = 1,000,000。你存入
10,500。
2%,你的 share 价值多少?0.5% 后,你的实际持有期收益率是多少?PT 到期可兑现 1.0 单位标的,全成本买价
0.968,剩余 90 天。
0.3% 的滑点与手续费,重算;4.3%,超额部分补偿了什么?某封闭式信托 NAV 45.20,二级市场价
43.60,管理费 2% 年化,无赎回通道。
9
个月后转换为可申赎产品且折价归零,年化毛收益是多少?两边名义各 100,000:场所 A 做空,funding
+0.010% 每 8 小时;场所 B 做多,funding
−0.002% 每 8 小时。持有 30 天,费率不变,每天
3 个结算周期。
初始保证金合计 20,000,另需预留 40,000
空闲保证金作为强平缓冲。开平仓共四条腿,每条 2bp taker
费。
三个互斥且穷尽的结果,按 1 结算,当前 ask 分别为
0.42、0.31、0.24。每笔成交手续费为成交额的
1%,结算后提现费为提现额的 0.5%,距结算
60 天。
某链上永续协议由 LP 池充当所有交易者的对手方。池总资产
100,000,000,其中 ETH 敞口占 35%。你持有
100,000(占池 0.1%)并在 CEX 做空对冲。
30 天内:你分得的 fee 与 borrow fee 合计
1,150;交易者整体盈利导致你分摊的亏损
400。对冲腿每 8 小时收 funding 0.008%(每天 3
期),开平仓两条腿各 2bp。
LPNetPnL 与年化收益率;45%
而你的对冲名义始终固定在初始值,期间 ETH 下跌
10%,未对冲敞口造成多少损失?重算年化。某代币化国债基金 NAV 1.0000,链上二级价格
0.9960,底层收益率 4.30% 年化。一级赎回按
NAV,赎回费 0.10%,T+2 到账。你在二级买入
1,000,000 单位,忽略买入滑点与 gas。
一笔链上闭环套利:
起始 USDC 余额 100,000
结束 USDC 余额 100,850
收据 gas 成本(等值) 12
交易内向 builder 直接转账 300
报价时预估毛价差 1,400
事后估计滑点 200
某人算出
RealizedPnL = 1,400 − 300 − 12 − 200 = 888。
gas_used 2,000,000
effective_gas_price 60 gwei
base_fee 45 gwei
交易内 coinbase transfer 0.02 ETH
GrossArbValue 500 USD
ETH 3,000 USD
ObservableBuilderPayment 与 \(\rho\);NetSearcherProfit。可接受最大损失 5,000,压力情景损失率
35%。另有约束:场所额度 12,000、市场容量
20,000、组合限额 15,000。
计算 positionByLossLimit 与最终可用仓位。
两腿对冲,理论目标数量 0.1234 BTC
腿 A(场所甲)step size = 0.001,min notional = 10 USDT
腿 B(场所乙)step size = 0.01,min notional = 50 USDT
参考价 60,000 USDT
理论毛利 18.00 USDT(对应 0.1234 的完整规模)
每腿 taker 费 2bp,按各自成交名义收取
压力情景:残余敞口按 8% 不利波动计价
毛利与数量成正比。
min notional?信号在 exchange time 10:00:00.000 的行情上产生
该行情的 receive time 为 10:00:00.180
从决策到订单抵达场所的额外延迟 90ms
回测甲:用 exchange time 对齐,假定 10:00:00.000 即可成交
回测乙:用 receive time + 下单延迟对齐
标的在 10:00:00.000 至 10:00:00.400 之间线性上涨 0.06%
参考价 3,000,交易规模 50,000 名义
50,000
名义合多少金额?40 次、每年 250
个交易日,这个偏差一年累计多少?全部做完并核对后,再用练习册的设计题检验判断力。计算正确但判断错误仍然会亏钱;判断正确但算错成本则会把亏损策略当成盈利策略。两者都要。
对答案前请先独立完成计算题集。每题末尾的常见错误比答案本身更值得读。
\[ spread=100.04-100.00=0.04 \]
\[ mid=\frac{100.04+100.00}{2}=100.02 \]
\[ imbalance=\frac{300-100}{300+100}=0.50 \]
\[ microprice=\frac{100.04\times300+100.00\times100}{400}=\frac{40{,}012}{400}=100.03 \]
microprice 100.03 高于 mid
100.02。microprice
用对侧数量加权:买盘量大时它靠近
ask,反映买方压力,是比 mid 更接近下一笔成交的估计。
常见错误:把 microprice
的权重配反,用同侧数量加权,得到 100.01,方向刚好相反。
第 1 问
| mark | uPnL | equity | notional | MM | 触发 |
|---|---|---|---|---|---|
| 58,000 | −4,000 | 16,000 | 116,000 | 6,960 | 否 |
| 55,000 | −10,000 | 10,000 | 110,000 | 6,600 | 否 |
| 52,000 | −16,000 | 4,000 | 104,000 | 6,240 | 是 |
第 2 问 令 \(M\) 为 mark price:
\[ equity=20{,}000+2(M-60{,}000)=2M-100{,}000 \]
\[ MM=0.06\times2M=0.12M \]
\[ 2M-100{,}000<0.12M\ \Rightarrow\ 1.88M<100{,}000\ \Rightarrow\ M<53{,}191.49 \]
第 3 问 haircut 后 \(equity=18{,}000+2(M-60{,}000)=2M-102{,}000\):
\[ 1.88M<102{,}000\ \Rightarrow\ M<54{,}255.32 \]
10% haircut 把临界价抬高了
1,063.83,也就是把可承受跌幅从 11.35% 压到
9.57%。
常见错误:MM 用入场价而不是当前 mark 计算 notional。maintenance requirement 随价格变动,这会让临界价偏离。
| 周期 | signedNotional | 计算 | 现金流 |
|---|---|---|---|
| 1 | −180,000 | \(-(-180{,}000)(0.0001)\) | +18.00 |
| 2 | −183,000 | \(-(-183{,}000)(-0.00005)\) | −9.15 |
| 3 | −177,000 | \(-(-177{,}000)(0.0002)\) | +35.40 |
合计 +44.25。第 2 期你在付钱:funding rate 为负时由空头支付多头。
常见错误:用固定入场 notional 算三期。notional 按当期 mark 重算,第 2、3 期的基数不同。
\[ basis=61{,}200-60{,}000=1{,}200 \]
\[ annualizedBasis=\left(\frac{61{,}200}{60{,}000}-1\right)\frac{365}{73}=0.02\times5=10.00\% \]
常见错误:把 1,200/60,000 = 2%
直接当作收益率报出,漏掉年化;或用 360 天。
盈亏平衡点(仅 call):\(3{,}000+150=3{,}150\)。
\(S_T=3{,}120\):call payoff
120,损益 \(120-150=-30\);put 未行权,收
+90。组合 +60。
\(S_T=2{,}500\):call 归零,\(-150\);put payoff
300,卖方损益 \(90-300=-210\)。组合
−360。
组合在上方收益封顶于权利金净收入,在下方随价格线性放大——这不是中性结构。
常见错误:把"收了净权利金"当成安全垫,忽略卖出 put 的下方线性暴露。
第 1 问
\[ C-P=e^{-0.04\times0.25}(3{,}000-3{,}000)=0 \]
实际 \(210-185=25\),call 相对贵,偏离 25。
第 2 问 卖出 call、买入 put(合成空头 @
3,000),同时买入远期 @
3,000。两个合成头寸到期完全抵消,今日净收
25。
第 3 问
\[ 25-3\times2-1{,}000\times0.04\times0.25=25-6-10=\mathbf{9} \]
理论偏离 25 中有 64%
被交易成本和资本占用吃掉。这是期权相对价值最典型的结果:偏离在报价上看得见,在净额上未必存在。
常见错误:只扣手续费不算保证金占用。合成头寸两边都要保证金,占用期就是持有期。
第 1 问
\[ r_{implied}=\frac{1}{0.5}\ln\frac{3{,}000-2{,}800}{197.50}=2\ln\frac{200}{197.50}=2\times0.0125788=\mathbf{2.52\%} \]
第 2 问 买入 box 等于以 2.52%
存款,低于你 4% 的资金成本,不划算;卖出
box 等于以 2.52% 借款,低于 4%,划算。
第 3 问 卖出 box 是借款。到期确定赔付
200 没有风险,风险在到期之前:mark-to-market
波动触发追加保证金时你无法选择"持有到期",可能被强制平仓在最差的价格上。美式期权还有提前行权风险。
常见错误:把 box 当成"无风险套利"。它的到期损益确定,路径损益不确定,而清算发生在路径上。
第 1 问 \(\Delta x_{eff}=5\times0.997=4.985\)
\[ \Delta y=300{,}000-\frac{30{,}000{,}000}{104.985}=300{,}000-285{,}755.11=\mathbf{14{,}244.89} \]
平均成交价 \(14{,}244.89/5=\mathbf{2{,}848.98}\)。
第 2 问 \(5\times3{,}000-14{,}244.89=\mathbf{755.11}\)
第 3 问 无 fee 反事实:
\[ \Delta y_{nofee}=300{,}000-\frac{30{,}000{,}000}{105}=14{,}285.71 \]
\[ \text{price impact}=15{,}000-14{,}285.71=\mathbf{714.29} \]
\[ \text{fee}=14{,}285.71-14{,}244.89=\mathbf{40.82} \]
两项合计 755.11。注意 impact 是 fee 的 17.5
倍——对这个规模,收紧 fee tier
完全解决不了问题,减小单笔规模才有用。
常见错误:把 755.11 全部叫作 slippage
并试图通过换 fee tier 优化。分不清 impact 与 fee,优化方向就是错的。
\[ IL(2)=\frac{2\sqrt2}{3}-1=-5.72\% \]
\[ IL(0.5)=\frac{2\sqrt{0.5}}{1.5}-1=-5.72\% \]
\[ IL(9)=\frac{2\times3}{10}-1=-40.00\% \]
\(r\) 与 \(1/r\) 结果相同,因为把 \(r\to1/r\) 代入后分子分母同乘 \(\sqrt r\) 即还原原式。经济含义是:divergence loss 只取决于两种资产的相对价格偏离倍数,与哪一种上涨无关。
常见错误:认为"只有下跌才有 IL"。上涨同样有,而且
r=9 时高达 40%。
持有基准:\(2\times5{,}000+5{,}000=\mathbf{15{,}000}\)
LP 终态(\(k=10{,}000\),\(P=5{,}000\)):
\[ x=\sqrt{k/P}=\sqrt2=1.4142,\qquad y=\sqrt{kP}=7{,}071.07 \]
\[ LP=1.4142\times5{,}000+7{,}071.07=\mathbf{14{,}142.14} \]
divergence loss \(=15{,}000-14{,}142.14=\mathbf{857.86}\)(等于 \(15{,}000\times5.72\%\),与题 9 一致)。
最终净差额:
\[ -857.86+900-40=\mathbf{+2.14} \]
900 的 fee 看起来可观,实际只比 divergence loss 多出
42.14,再扣 gas 后几乎全部抵消。Fee APR
高不等于跑赢持有。
常见错误:从 LP 最终余额算出 inventory PnL 后,又扣一次 divergence loss。第 15.4 节明确警告过:两者只能扣一次。
\(L=\sqrt{30{,}000{,}000}=5{,}477.23\),\(\sqrt{3{,}000}=54.7723\)。
第 1 问 \(\sqrt{3{,}030}=55.0454\)
\[ ArbValue=5{,}477.23\times\frac{(55.0454-54.7723)^2}{54.7723}=5{,}477.23\times\frac{0.074627}{54.7723}=\mathbf{7.46} \]
第 2 问 \(\sqrt{3{,}060}=55.3173\)
\[ ArbValue=5{,}477.23\times\frac{(0.545013)^2}{54.7723}=\mathbf{29.70} \]
第 3 问 价格变动翻倍,价值变成 约 4 倍(\(29.70/7.46=3.98\))。这是二阶量,因此 LVR 由波动率驱动,不由"有人犯错"驱动。这也是为什么它是结构性租金:用户再谨慎也不会让它消失。
常见错误:用 \(P_1/\sqrt{P_0}-2\sqrt{P_1}+\sqrt{P_0}\) 这个等价形式直接算。它在数值上是大数相减,浮点精度会毁掉结果;用 \((\sqrt{P_1}-\sqrt{P_0})^2/\sqrt{P_0}\) 才稳定。
第 1 问
\[ HF=\frac{10\times3{,}000\times0.825}{15{,}000}=\frac{24{,}750}{15{,}000}=\mathbf{1.65} \]
\[ 10P\times0.825=15{,}000\ \Rightarrow\ P=\mathbf{1{,}818.18} \]
第 2 问 债务 20,000:
\[ HF=\frac{24{,}750}{20{,}000}=\mathbf{1.2375},\qquad P=\frac{20{,}000}{8.25}=\mathbf{2{,}424.24} \]
多借 5,000(债务 +33%)把清算价从 1,818
抬到 2,424,可承受跌幅从 39.4% 压到
19.2%——腰斩。
常见错误:用 LTV 而不是 liquidation threshold 算清算价。两个参数不同,用错会低估清算价。
第 1 问
\[ GrossCollateral=\frac{10{,}000}{1-0.75}=\mathbf{40{,}000},\qquad GrossDebt=\frac{0.75\times10{,}000}{0.25}=\mathbf{30{,}000} \]
有效杠杆 4×。
第 2 问
\[ \frac{40{,}000\times0.05-30{,}000\times0.04}{10{,}000}=\frac{2{,}000-1{,}200}{10{,}000}=\mathbf{8.00\%} \]
1% 的利差被放大成
8%——同样的倍数也作用在利差反转上。
第 3 问 权益归零:\(40{,}000(1-d)=30{,}000\Rightarrow d=\mathbf{25.00\%}\)
实际清算:
\[ 40{,}000(1-d)\times0.825=30{,}000\ \Rightarrow\ 1-d=0.9091\ \Rightarrow\ d=\mathbf{9.09\%} \]
跌 9.09% 就被清算,不是 25%。 这两个数字的差距是循环杠杆最常被误判的地方。
常见错误:用"权益归零"估计安全边际。清算发生在权益归零之前很久,且清算罚金会让实际损失大于账面。
\[ SharePrice=\frac{1{,}050{,}000}{1{,}000{,}000}=1.05\ \Rightarrow\ shares=\frac{10{,}500}{1.05}=\mathbf{10{,}000} \]
增长 2% 后:\(TotalAssets=1{,}060{,}500\times1.02=1{,}081{,}710\),\(TotalShares=1{,}010{,}000\)
\[ SharePrice=1.071\ \Rightarrow\ \text{你的价值}=\mathbf{10{,}710} \]
退出费后:\(10{,}710\times0.995=\mathbf{10{,}656.45}\)
\[ \text{实际收益率}=\frac{156.45}{10{,}500}=\mathbf{1.49\%} \]
标称 2%,到手
1.49%,退出费吃掉了四分之一。
常见错误:把 share 数量当作资产数量。share 不变而 share price 变化,只看 share 余额会以为什么都没发生。
\[ PTSimpleAPR=\left(\frac{1.0}{0.968}-1\right)\frac{365}{90}=0.033058\times4.0556=\mathbf{13.41\%} \]
含 0.3% 成本后买价 \(0.968\times1.003=0.970904\):
\[ \left(\frac{1.0}{0.970904}-1\right)\times4.0556=\mathbf{12.16\%} \]
相对 4.3% 国债的超额 7.86
个百分点补偿的是:合约漏洞、协议治理与暂停权限、底层收益来源失效、到期前二级流动性不足,以及标的资产本身的风险。它不是无风险利率的替代品。
常见错误:把 PT 的隐含年化直接称为"固定收益"或"链上无风险利率"。固定的是到期兑付比例,不是兑付本身。
第 1 问
\[ Premium=\frac{43.60-45.20}{45.20}=\mathbf{-3.54\%} \]
第 2 问 折价归零:\(45.20/43.60-1=3.67\%\),历时 9 个月:
\[ 3.67\%\times\frac{365}{273.75}=\mathbf{4.89\%} \]
第 3 问 9 个月管理费 \(2\%\times0.75=1.5\%\),净 \(3.67\%-1.5\%=2.17\%\),年化 2.89%。
3.54% 的折价听起来很大,年化扣费后只剩不到
3%,且这个数字**完全依赖"9
个月内转换成功"**这个假设。转换延期到 18
个月,年化腰斩;转换失败,折价可以继续扩大。封闭式产品的折价历史上曾持续两年以上并加深至两位数——没有申赎通道时,收敛需要事件,不是需要时间。
常见错误:把折价率当作预期收益率。没有赎回权时,折价不是"折扣",是市场对费用、流动性和结构风险的定价。
第 1 问 每 8 小时:
\[ A(\text{空}):\ -(-100{,}000)(0.0001)=+10,\qquad B(\text{多}):\ -(100{,}000)(-0.00002)=+2 \]
每期 +12,每天 3 期,30 天:\(12\times3\times30=\mathbf{1{,}080}\)
费用:\(4\times100{,}000\times0.0002=80\)。扣费后 1,000。
第 2 问 占用资本 \(20{,}000+40{,}000=60{,}000\):
\[ \frac{1{,}000}{60{,}000}=1.67\%\ (30\text{ 天})\ \Rightarrow\ \times\frac{365}{30}=\mathbf{20.28\%} \]
第 3 问 忽略缓冲:
\[ \frac{1{,}000}{20{,}000}=5.00\%\ \Rightarrow\ \mathbf{60.83\%} \]
差 40.55 个百分点,虚报了 3 倍。
第 4 问 缓冲的成本只能表达一次:要么把它放进分母(承认它是被占用的资本),要么把它的机会成本放进分子(承认它有替代用途)。两者都做就是对同一笔资本收了两次费,与题 21 的重复扣除是同一类错误。
常见错误:把"不产生收益的保证金缓冲"排除在占用资本之外。它不能挪作他用,就是占用资本;排除它是这类策略最常见的收益虚报来源。
\[ \sum Ask=0.42+0.31+0.24=0.97\ \Rightarrow\ \text{毛锁定}=\mathbf{0.03} \]
手续费 \(0.97\times1\%=0.0097\),提现费 \(1.00\times0.5\%=0.005\):
\[ \text{净额}=0.03-0.0097-0.005=\mathbf{0.0153} \]
占用资金 \(0.97+0.0097=0.9797\):
\[ \frac{0.0153}{0.9797}=1.56\%\ (60\text{ 天})\ \Rightarrow\ \times\frac{365}{60}=\mathbf{9.50\%} \]
理论毛利 3% 中有一半被手续费和提现费吃掉。
第 4 问 使"互斥且穷尽"失效的条件:
常见错误:只核对"事件描述"相同就认为可以跨平台对冲。必须核对裁定来源、争议流程和结算时点三项。
第 1 问 对冲名义 \(100{,}000\times35\%=\mathbf{35{,}000}\)
空头收 funding:\(-(-35{,}000)(0.00008)=+2.80\) 每期,\(\times3\times30=\mathbf{252.00}\)
对冲交易费:\(2\times35{,}000\times0.0002=\mathbf{14.00}\)
第 2 问
\[ LPNetPnL=1{,}150-400+252-14=\mathbf{988} \]
\[ \frac{988}{100{,}000}\times\frac{365}{30}=\mathbf{12.02\%} \]
第 3 问 未对冲敞口 \((45\%-35\%)\times100{,}000=\mathbf{10{,}000}\),下跌 10% 损失 1,000:
\[ 988-1{,}000=\mathbf{-12}\ \Rightarrow\ \mathbf{-0.15\%} \]
1,150 的 fee 分成看着可观,12.02%
的年化也说得过去,但池内权重漂移了 10
个百分点、对冲没跟上,全年收益就归零并转负。这类策略真正的工作量不在建仓,在于持续重算敞口并调整对冲。
常见错误:只看 FeeShare
的年化就下结论。TraderNetLoss
是带符号的,行情单边时它会吞掉全部 fee;InventoryDrift
则要求你把对冲当成一个需要持续维护的头寸,而不是一次性动作。
第 1 问 买入成本 \(1{,}000{,}000\times0.9960=996{,}000\)
\[ \text{折价捕获}=1{,}000{,}000\times(1.0000-0.9960)=4{,}000 \]
\[ \text{赎回费}=1{,}000{,}000\times0.10\%=1{,}000 \]
\[ \text{2 天底层收益}=1{,}000{,}000\times4.30\%\times\frac{2}{365}=235.62 \]
\[ \text{净收益}=4{,}000-1{,}000+235.62=\mathbf{3{,}235.62} \]
\[ \frac{3{,}235.62}{996{,}000}\times\frac{365}{2}=\mathbf{59.29\%} \]
第 2 问 折价率不变意味着买卖价差只反映净值增长,你只赚到底层收益:
\[ 996{,}000\times4.30\%\times\frac{2}{365}=234.67\ \Rightarrow\ \mathbf{4.30\%} \]
第 3 问 差额 55
个百分点全部来自赎回资格,不来自"发现了折价"。没有赎回权时折价一直在那里,你只能拿到底层票息——这与第
20.2 节 ETF
的结论完全一致:收益来自申赎通道,不来自价差本身。
59.29% 不能用于仓位规划,有三个理由:
常见错误:把短持有期的一次性收益年化后当作策略收益率报出。持有期越短,这个数字被放大得越离谱,而它对应的容量往往极小。
第 1 问 用实际余额差,不用报价:
\[ RealizedPnL=850-12-300=\mathbf{538} \]
USDC 余额差 +850 已经包含了 pool fee 与 price
impact;gas 12 与 coinbase transfer 300 以 ETH
计价,是余额差之外的独立现金流,需要单独扣。
第 2 问 两处错误:
1,400 代替实际余额差
850。realized PnL
必须从余额和真实现金流出发,报价只用于事前决策。200。滑点是 \(ScreenPnL\to RealizedPnL\)
的归因项,实际余额里已经体现,再扣一次就是重复扣除。第 18.1 节对这两点都有明确警告。误差 \(888-538=350\),方向是把亏损策略美化成盈利策略。
第 1 问
\[ priority=2{,}000{,}000\times(60-45)\text{ gwei}=0.03\ ETH \]
\[ ObservableBuilderPayment=0.03+0.02=0.05\ ETH=\mathbf{150\ USD} \]
\[ \rho=\frac{150}{500}=\mathbf{0.30} \]
第 2 问 忘记扣 base fee:\(2{,}000{,}000\times60\text{ gwei}=0.12\
ETH\),加 0.02 得
0.14 ETH = 420 USD:
\[ \rho=\frac{420}{500}=\mathbf{0.84} \]
第 3 问 \(\rho=0.30\) 表示只有三成价值付了出去,配合高排他性与顶部位置,指向整合流;\(\rho=0.84\) 则接近竞争性拍卖中的外部 searcher。同一笔交易,一个算错的减法把结论完全反转。 base fee 被销毁,从不进入 builder 口袋。
第 4 问
\[ GasCost=2{,}000{,}000\times60\text{ gwei}=0.12\ ETH=360\ USD \]
\[ NetSearcherProfit=500-360-60=\mathbf{80\ USD} \]
注意只扣了 coinbase transfer 0.02 ETH = 60 USD,没有再扣
ObservableBuilderPayment 全额——其中的 priority fee 已经在
GasCost 里。这与题 21 是同一个陷阱。
\[ positionByLossLimit=\frac{5{,}000}{0.35}=\mathbf{14{,}285.71} \]
\[ \text{最终仓位}=\min(14{,}285.71,\ 12{,}000,\ 20{,}000,\ 15{,}000)=\mathbf{12{,}000} \]
绑定约束是场所额度。损失限额算出的数字只是上限之一,不是目标仓位。
常见错误:把 14,285.71
直接当作仓位下单,忽略场所额度是硬约束——超出部分根本无法执行,或者在需要退出时无法退出。
第 1 问 各腿独立向下取整:
\[ q_A=\left\lfloor\frac{0.1234}{0.001}\right\rfloor\times0.001=\mathbf{0.123},\qquad q_B=\left\lfloor\frac{0.1234}{0.01}\right\rfloor\times0.01=\mathbf{0.12} \]
残余 \(0.123-0.12=\mathbf{0.003\ BTC}\),名义 \(0.003\times60{,}000=\mathbf{180\ USDT}\)。
这 180 USDT
没有对手腿,是未对冲的方向敞口。两笔订单都会被场所接受,没有任何报错。
第 2 问 以最粗腿(\(0.01\))为基准:
\[ q=\left\lfloor\frac{0.1234}{0.01}\right\rfloor\times0.01=\mathbf{0.12} \]
min notional 校验:两腿名义均为 \(0.12\times60{,}000=7{,}200\),\(7{,}200\ge10\) 且 \(7{,}200\ge50\),都满足。残余为零。
第 3 问
\[ GrossSpread=18.00\times\frac{0.12}{0.1234}=\mathbf{17.50} \]
\[ Fees=2\times7{,}200\times0.0002=\mathbf{2.88} \]
\[ Net=17.50-2.88=\mathbf{14.62} \]
第 4 问 独立取整方案的已对冲部分同为 \(0.12\),故毛利同样是
17.50,但手续费按各自名义计:
\[ Fees=0.123\times60{,}000\times0.0002+7{,}200\times0.0002=1.476+1.44=\mathbf{2.916} \]
\[ StressLoss=180\times8\%=\mathbf{14.40} \]
\[ Net=17.50-2.916-14.40=\mathbf{0.19} \]
两方案相差 \(14.62-0.19=\mathbf{14.44}\)。独立取整吃掉了 98.7% 的净收益,而它在下单时不会产生任何错误提示。
常见错误
min notional。本题中两腿名义都远高于阈值,检查显得多余;但当你按第
9.3 节的要求缩小规模以降低风险时,最先触发 min notional
的那条腿决定了整个策略的最小可执行规模——那时这项检查就是唯一挡住你下出废单的东西。0.1234 算,净收益是
18.00 - 2.96 = 15.04,比正确做法高出
0.41。这个偏差方向固定,总是高估。第 1 问
\[ t_{\text{甲}}=\text{10:00:00.000},\qquad t_{\text{乙}}=\text{10:00:00.180}+90\text{ms}=\mathbf{\text{10:00:00.270}} \]
甲假设消息一产生即可成交,抹掉了 180ms 传输与
90ms 下单延迟。
第 2 问 0.06% 在 400ms
内线性展开,270ms 时累计:
\[ 0.06\%\times\frac{270}{400}=\mathbf{0.0405\%}=\mathbf{4.05\ bp} \]
成交价 3,000.000 对 3,001.215。对
50,000 名义:
\[ 50{,}000\times0.000405=\mathbf{20.25} \]
第 3 问
\[ 20.25\times40\times250=\mathbf{202{,}500} \]
单笔 20.25 看起来可以忽略,一年是
202,500——这个量级足以把一个回测显示盈利的策略变成实盘亏损的策略。
第 4 问 属于 Timestamp bias:用事件时间排序,但实盘只能按接收时间行动。
它无法用提高手续费假设抵消,有两个理由:
正确做法不是调成本参数,而是把 event time 定义为
receive time 加上实测的决策与下单延迟分布,重跑回测。
常见错误:认为"延迟只有几百毫秒,对日内以上频率的策略无所谓"。决定影响的不是延迟长度,是延迟期间的价格漂移速度;高波动时段的几百毫秒可以超过全部预期毛利。
如果你在下面任何一项上出错,回到对应章节而不是继续做题:
| 题 | 检验的能力 | 出错时回读 |
|---|---|---|
| 2, 12, 13 | 保证金与清算的临界点 | 第 4、16 章 |
| 6, 7 | 衍生品之间的定价约束 | 第 3、20.1 节 |
| 8, 9, 10, 11 | AMM 成本拆解与 LP 归因 | 第 15、19 章 |
| 10, 17, 21, 22 | 不重复扣除同一项成本 | 第 15.4、18.1、19.9 节 |
| 14, 15, 16, 20 | 标称收益与到手收益的差 | 第 14、17、20.6 节 |
| 18, 20, 23 | 约束边界与假设失效条件 | 第 12、20.6、20.8 节 |
| 19 | 敞口漂移与对冲维护 | 第 20.4 节 |
| 24 | 取整方向与多腿联立 | 第 9.3 节 |
| 25 | 时钟选择与前视偏差 | 第 8.3 节 |
加粗那一行涉及四道题,不是巧合。重复扣除和漏扣是本书出现频率最高的计算错误,也是最容易把亏损策略算成盈利策略的一类。
所有公式均为简化教学模型。实际合约、保证金和费用按目标场所当前规则计算。
\[ spread=bestAsk-bestBid \]
\[ mid=\frac{bestAsk+bestBid}{2} \]
\[ imbalance=\frac{Q_b-Q_a}{Q_b+Q_a} \]
\[ microprice=\frac{bestAsk\times Q_b+bestBid\times Q_a}{Q_b+Q_a} \]
\[ basis=F-S \]
\[ annualizedBasis=\left(\frac{F}{S}-1\right)\frac{365}{T_{days}} \]
\[ accountFundingCashflow=-signedNotional\times fundingRate \]
约定 long signed notional 为正、short 为负;因此正 funding 下多头现金流为负、空头为正。
线性合约:
\[ notional=|quantity|\times multiplier\times markPrice \]
\[ uPnL_{long}=quantity\times multiplier\times(markPrice-entryPrice) \]
\[ callPayoff=\max(S_T-K,0) \]
\[ putPayoff=\max(K-S_T,0) \]
\[ longCallProfit=\max(S_T-K,0)-premium \]
\[ equity=haircutAdjustedCurrentBalance+unrealizedPnL \]
这里假设已结算的 realized PnL、fee 和 funding 已结转进 current balance;未结算应付款需另行扣除。若从 beginning balance 展开,两种口径不得混用。
简化触发条件:
\[ equity<maintenanceMarginRequirement \]
不要用该条件推算真实交易所清算价;真实公式包含阶梯参数、费用、haircut 和组合规则。
\[ ScenarioNetPnL_i=GrossSpread_i+Funding_i+Incentives_i -Fees-Slippage-MarketImpact-BorrowCost -FinancingCost-TransferCost-InfrastructureCost -TaxEstimate-FailureLoss_i \]
\[ ForwardExpectedPnL=\sum_i p_i\times ScenarioNetPnL_i-allocatedFixedCosts-timeCost \]
实际发生后的 realized PnL 用余额差与真实现金流计算;前瞻 failure loss 通过情景概率进入 expected PnL;stress / worst loss 不做概率加权,用于仓位与 reserve。三者不得混用或重复扣除。
\[ APR_{simple}=holdingPeriodReturn\times\frac{365}{holdingDays} \]
取整损耗,两项都进第 6.5 节的情景 PnL;残余项在联立取整正确时为零:
\[ RoundingLoss= \left(1-\frac{q_{executable}}{q_{intended}}\right)\times GrossSpread +|q_{residual}|\times P\times StressAdverseMove \]
pre-trade 检查必须用 \(q_{executable}\) 而不是 \(q_{intended}\) 重算净收益,否则结论方向固定偏乐观。
Constant-product AMM:
\[ x\times y=k \]
若价格定义为每单位 \(X\) 需要多少 \(Y\):
\[ P_{X\ in\ Y}=\frac{y}{x} \]
输入 \(\Delta x\)、fee rate 为 \(f\) 的简化 swap:
\[ \Delta x_{eff}=(1-f)\Delta x \]
\[ \Delta y=y-\frac{xy}{x+\Delta x_{eff}} \]
50/50 constant-product LP 相对持有的 impermanent loss;\(r\) 为一种资产相对另一种资产的价格倍数,忽略 fee:
\[ IL(r)=\frac{2\sqrt{r}}{1+r}-1 \]
借贷池简化 utilization:
\[ U=\frac{TotalBorrowed}{AvailableLiquidity+TotalBorrowed} \]
Aave 类 health factor:
\[ HF=\frac{TotalCollateralValue\times WeightedAverageLiquidationThreshold}{TotalBorrowValue} \]
HF < 1 的清算含义、close factor、bonus、threshold
和资产估值按目标协议版本核验。
每轮按比例 \(b\) 重新抵押的无限级数近似:
\[ GrossCollateralExposure=\frac{InitialCapital}{1-b} \]
\[ GrossDebt=\frac{b\times InitialCapital}{1-b} \]
ERC-4626 类 vault 的简化 share accounting:
\[ SharePrice=\frac{TotalAssets}{TotalShares} \]
真实操作应读取对应
preview、max、fee、rounding 与 withdrawal
constraint。
PT 到期 carry 的简化年化;\(R\) 为到期可兑现价值、\(P_{PT}\) 为全成本买价、\(T\) 为剩余天数:
\[ PTSimpleAPR=\left(\frac{R}{P_{PT}}-1\right)\frac{365}{T} \]
只有在到期资产、兑换权、价格与成本可验证时才有意义;不能把它直接称为无风险利率或 APY。
同一持有期 \(H\) 的链上 realized 收益:
\[ RealizedPnL_H= EndingPortfolioValue_H+ExternalDistributions_H -BeginningPortfolioValue_0-ExternalContributions_H-CashOperatingCosts_H \]
External cashflow 只指跨被跟踪 portfolio 边界的注资和分配;协议内部 deposit / withdraw 不计。估算工时、机会成本和未支付 tax estimate 只进入 forward economic-adjusted PnL。
\[ RealizedYield_H=\frac{RealizedPnL_H}{CapitalAtRisk_H} \]
链上前瞻期望值:
\[ ForwardExpectedPnL_H= \sum_i p_i\times ScenarioNetPnL_{i,H} -AllocatedFixedCosts_H-TimeCost_H-TaxEstimate_H \]
\[ ForwardExpectedYield_H=\frac{ForwardExpectedPnL_H}{CapitalAtRisk_H} \]
积分 / 空投简化期望值:
\[ EV_{points}=p_{eligible}\times expectedAllocationAfterDilution \times realizableTokenPrice-directCosts-timeCost-expectedPositionLoss \]
公式不能把未定义的 points、不可出售 token 或未来方向上涨当作已实现现金流。
\[ positionByLossLimit=\frac{maximumAcceptableLoss}{stressScenarioLossRate} \]
最终仓位还需取市场容量、流动性、场所额度、保证金额度和组合限额的最小值。
\[ PEG=\frac{Forward\ P/E}{expected\ EPS\ growth\ rate\ (\%)} \]
\[ FCFYield=\frac{annualFreeCashFlow}{marketCapitalization} \]
\[ EnterpriseValue=marketCap+debt-cash \]
估值公式的输入比公式更重要。增长率、盈利口径、SBC、周期位置和退出倍数必须经过反向验证。
极端清算损失无法由常规流动性或保险基金吸收时,按规则减少对手方盈利仓位的机制。
订单成交后价格立即朝不利方向移动,常见于报价方被更快或信息更好的交易者击中。
期货或永续相对参考现货的价格差。
按价格和场所规则组织限价订单的中央订单簿。
出于波动、流动性或信用风险,不按市场价格的 100% 计入抵押品价值。
多个仓位共享账户抵押品的保证金模式。
标的价格小幅变化对仓位价值的局部敏感度。
独立于主订单连接的订单和成交回报通道,用于监控与对账。
交易场所返回的订单接受、拒绝、成交、撤销等状态消息。
永续合约多空之间周期性支付的现金流,用于帮助合约价格接近参考现货;不是固定利息。
建立或扩大衍生品仓位所需的初始履约保证。
为单个仓位或子账户隔离保证金的模式。
分别表示最优报价、价格聚合深度和单订单级行情。
用于估值、PnL 或强平检查的稳健参考价,不一定等于最后成交价。
维持仓位所需的最低保证金要求。
自己的交易规模改变订单簿、报价或其他参与者行为造成的成本。
按合约乘数和价格计算的名义风险规模,不等于实际投入保证金。
维护订单意图、状态、成交、撤单、重试和对账的系统。
没有固定到期日,通常通过 funding 与现货参考价保持联系的合约。
根据组合压力情景和部分 offset 计算保证金的模型。
用于避免立即吃单、争取 maker 身份的订单约束;具体处理因场所而异。
价格更优者优先,同价时先到者优先的撮合规则。
只能降低仓位绝对风险、不能增加或反向开仓的订单约束。
比较订单、成交、仓位、余额和外部权威记录,解释并修复差异。
预期价格与实际平均成交价格之间的差异。
在 edge 被 market impact、限额、流动性和竞争显著侵蚀前可部署的规模。
交易场所的运营、信用、托管、法律、规则和提现风险。
ERC-20 持有人授予 spender 可通过 transferFrom
支取一定数量 token 的持续权限,不等于立即转账。
用资产池与确定性定价曲线提供 swap 报价的自动做市合约。
在不同链或执行域之间传递消息、锁定/释放或铸造/销毁资产表示的系统;其安全依赖验证、finality、合约与权限。
从 bundle 与公开 mempool 组装完整区块并向 proposer 出价的主体。builder 同时自营套利时,其内部订单流不经过 bundle 拍卖。
资产二级价格或可兑现价值偏离目标锚定值;偏离是否构成套利取决于真实赎回权和全成本。
由私钥签名直接控制的区块链账户,与由代码规则控制的合约账户相对。
某个区块或状态在协议规则下被视为不可逆的程度;被包含、确认与 finalized 是不同状态。
借贷协议中抵押缓冲相对债务的聚合指标。公式和清算边界必须按协议与版本核验。
AMM LP 相对持有相同初始资产的价值差。退出时差额会实现,“impermanent”不表示没有经济损失。
Layer 1 是底层共识与结算网络;Layer 2 在其上扩展执行并使用不同的数据、证明、sequencer 和退出假设。不要与行情 L1/L2 混淆。
表示 restaked position 索取权的可转让 token,继承底层 staking 并新增 operator、slashing、合约和流动性风险。
表示底层质押资产与奖励索取权的 token;协议赎回价值与二级市场价格可能不同。
AMM LP 相对能按更及时公允价再平衡的基准所损失的价值,与终点 impermanent loss 相关但不相同。
通过包含、排除或改变交易顺序,在普通区块奖励与交易费之外可提取的价值。
把链外或跨市场观测转换为合约可读取数据的机制,引入数据源、更新、staleness、单位、管理员和异常处理风险。
把"提议区块"与"构建区块内容"分离的结构。proposer 只选择出价最高的区块头,不需要自己组装内容,也因此看不到内容直到承诺签名。
收益权拆分中代表到期本金索取权的 token。到期兑换资产仍可能有 depeg、slashing、合约和流动性风险。
在 PBS 中托管区块内容、直到 proposer 承诺签名的中介,用于防止 proposer 看到内容后据为己有。relay 的数据 API 是 builder 出价的公开观测入口。
让已质押资产或其索取权为额外服务提供经济安全并获取报酬的机制,同时增加相关 slashing 与嵌套依赖。
钱包和服务读取链状态、模拟或广播交易的接口。单一 RPC 可能延迟、错误、审查或对 head 认识不一致。
发现可提取机会、构造 bundle 并向 builder 出价的主体。在竞争充分的拍卖中,其出价趋近机会价值,留存利润趋近于零。
部分 L2 中接收、排序并发布交易的组件;宕机或审查会影响用户正常写入和公平访问。
Validator 或 operator 违反协议定义义务时,质押资产被削减的惩罚机制。
部署在链上、按确定规则执行并持有状态的程序;可验证代码不代表没有漏洞、升级权限或经济风险。
区块中最靠前的执行位置。由外部价格漂移产生的 AMM 套利价值一次性归第一个成交者,因此该位置是赢家通吃的竞价对象。
按某种价格口径统计的协议锁定资产总值。TVL 不是偿付能力、退出深度、收入或安全性的充分指标。
接收底层资产、发行 share 并按某种策略管理资产的合约容器;它继承下游风险并新增会计、权限和退出风险。
收益权拆分中取得到期前规则定义的浮动 yield、reward 或 points 的 token;若实际收益不足,可能在到期时失去大部分或全部价值。
项目提供可复制的工作模板:
模板不是官僚表格。每一项都对应一个常见亏损来源:没有写付钱方,容易把自己当成收益接收者;没有画依赖图,容易把嵌套协议误当成分散;没有写未知项,容易把没理解误当成低风险;没有退出条件,容易在 edge 消失后开始赌。
访问日期:2026-07-21。产品、法律和规则会变化,使用前应重新访问原文。
transferFrom 标准。本节链接的可达性与端点行为核验于 2026-08-01。
/relay/v1/data/bidtraces/。proposer_payload_delivered
返回
slot、builder_pubkey、value、block_number
等字段并支持 limit
批量拉取;builder_blocks_received 额外返回
timestamp_ms,但必须按
slot、block_hash、block_number 或
builder_pubkey 逐个查询,否则返回 400。relay 的数据 API 由各 relay 自行运营,覆盖范围、字段与保留期限不一致;跨 relay 汇总前必须逐个确认口径。arXiv 预印本会有多个版本,引用时应同时记录版本号与访问日期。
以上协议的合约、fee、heartbeat、threshold、close factor、withdrawal、slashing 与治理参数均可能按 chain、market 和版本变化。教材引用机制,不把当前数值写成永久规则。
学术论文描述特定样本与时期,不应直接变成今天的交易信号。
具体股票报告还需使用公司最新 10-K/10-Q、earnings release、电话会材料和当日市场数据。
第 10 章综合项目指定的 opportunity-hunter
方法:利润来源、为什么轮得到普通人、窗口衰减、风险/EV/仓位、最小验证和退出。
第 13–18 章继续使用该方法审查 DeFi:把 fee、利息、staking、emissions 和 points 追到最终付钱方,并把合约、oracle、bridge、管理员、流动性与退出聚合为依赖图。
第 11 章综合项目指定的 stock-analyst
方法:宏观、赛道、基本面、估值、强制反向论证和技术确认。教材把其中的数值阈值视为需要重新验证的
heuristic,而不是永久规律。
as of 日期;Idea / Research / Paper / Sandbox / Small Live / Active / Restricted / Retired
最后复核日期:
参与 / 小仓位试验 / 观望 / 放弃
建议资金上限:
一句话理由:
| 风险 | 概率区间 | 最大损失 | 可控性 | 监控 | 缓解措施 |
|---|---|---|---|---|---|
策略:
复核日期:
| ID | 风险 | 触发条件 | 概率区间 | 最坏损失 | 可控性 | 检测指标 | 缓解 | 应急动作 | Owner |
|---|---|---|---|---|---|---|---|---|---|
| R-001 |
逐项列出无法由自己立即控制的资产、私钥、托管账户、稳定币赎回、bridge、合约、API 和退出路径:
数据日期:
当前价格:
结论:关注 / 等待 / 放弃
分类:这是方向性股票研究,不是套利。
| 维度 | 证据 | 得分(0–1) |
|---|---|---|
| 营收增长 | ||
| 利润率路径 | ||
| 网络效应 | ||
| 技术/AI 贡献 | ||
| 可扩展护城河 |
总分:__/5
总计:100%
| 策略 | 收益来源 | 方向暴露 | 资本占用 | 工时 | 净收益 |
|---|---|---|---|---|---|
本周我们最可能错在哪里?
日期:
影响窗口:
实际/潜在损失:
状态:Draft / Reviewed / Closed
发生了什么?为什么重要?
| 时间 | 事件 | 证据 |
|---|---|---|
| Action | Owner | Deadline | 验证方式 | 状态 |
|---|---|---|---|---|
wallet asset
-> receipt / LP / LST / share
-> downstream protocol
-> final reserve / collateral / cashflow
| 项目 | 付钱方 | 毛值 | 可兑现折扣 | 净值 | 证据 |
|---|---|---|---|---|---|
| Organic cashflow | |||||
| Token incentives | |||||
| Points / airdrop EV | |||||
| Mark-to-market | |||||
| Borrow / hedge | |||||
| Receipt gas / execution shortfall / direct orderflow payment | |||||
| Protocol / manager fee | |||||
| Forward expected failure loss |
| 节点 | 作用 | Admin / oracle / bridge | 最大损失 | 可控性 | 与谁共同失效 |
|---|---|---|---|---|---|
| 风险 | 概率区间 | 最大损失 | 可控性 | 监控 | 缓解 / 应急 |
|---|---|---|---|---|---|
| 情景 | 参数变化 | PnL | 可退出性 | 控制动作 |
|---|---|---|---|---|
| Asset / stablecoin depeg | ||||
| Oracle stale / wrong | ||||
| 100% utilization | ||||
| Gas / inclusion shock | ||||
| Chain / sequencer halt | ||||
| Bridge / admin compromise | ||||
| Everyone withdraws |
| 来源 | 最终付钱方 | 数量 | 兑现价格 | 现金价值 | 证据 |
|---|---|---|---|---|---|
| Swap fees | |||||
| Borrow interest | |||||
| Staking reward / fee | |||||
| Liquidation / keeper bounty | |||||
| RWA / other |
Organic subtotal:
| 来源 | 预算承担者 | 数量 | Vest / eligibility | 可实现价格 | 现金价值 |
|---|---|---|---|---|---|
| Token emissions | |||||
| Fee rebate | |||||
| Points / airdrop EV |
Subsidy subtotal:
| 暴露 | 初始数量 / 价格 | 最终数量 / 价格 | PnL | 是否策略 alpha |
|---|---|---|---|---|
| Underlying asset | ||||
| LP inventory | ||||
| LST / LRT discount | ||||
| Reward token | ||||
| Debt token |
Mark-to-market subtotal:
| 成本 | 数值 | 数据来源 |
|---|---|---|
| Borrow / funding | ||
| Hedge | ||
| Receipt gas including included reverts and priority fee | ||
| Execution shortfall / price impact | ||
| Direct builder / relay / bundle payment outside receipt | ||
| Bridge / transfer | ||
| Manager / protocol / performance fee | ||
| Cash-paid operations / services | ||
| Tax actually paid or accrued under stated accounting policy |
Cost subtotal:
Forward-only economic adjustments:
| 调整 | 数值 | 假设 |
|---|---|---|
| Imputed time / opportunity cost | ||
| Tax estimate not yet paid / accrued | ||
| Allocated fixed cost not in portfolio balance |
| 情景 | 概率区间 | PnL | 已在其他行计入? | Expected loss |
|---|---|---|---|---|
Forward expected failure loss subtotal:
realized balance-delta PnL
= ending value + external distributions
- beginning value - external contributions - cash operating costs
forward expected PnL
= probability-weighted scenario PnL - fixed/time costs
stress / worst loss
= non-probability-weighted loss used for position limits
External contributions / distributions 只指跨 tracked-portfolio 边界的资金;协议内部 deposit / withdraw 不作为外部现金流。Imputed time、机会成本和未支付 tax estimate 只进入 forward / economic-adjusted 结果。
initial balance
-> approve / permit
-> deposit / swap / borrow
-> position state
-> claim / repay / unwind
-> withdraw / redeem
-> revoke
-> final balance
| Step | Tx hash | Nonce | Submit time | Included block | Status | Gas | Balance delta |
|---|---|---|---|---|---|---|---|
| Venue | Order / fill ID | Quantity | Price | Fee | Timestamp |
|---|---|---|---|---|---|
| Item | Expected | Event-derived | Balance-derived | Difference | Explanation |
|---|---|---|---|---|---|
| Asset | |||||
| Share / LP / LST | |||||
| Debt | |||||
| Reward | |||||
| Fee / gas | |||||
| External venue |
实验通过只说明这个极小 round trip 在该 block range 成功,不证明合约安全、未来 APY、容量或统计 edge。
用于让一次 MEV 供应链测量可复现、可复核、可被他人证伪。填完之前不要发表任何整合率数字。
| 数据 | 来源 | 抓取时间 | 版本 / 快照 | 完整性检查 |
|---|---|---|---|---|
| blocks / txs | ||||
| traces | ||||
| token transfers | ||||
| pool events | ||||
| relay bidtraces | ||||
| reference prices |
开腿标记:
ObservableBuilderPayment
= gas_used × (effective_gas_price - base_fee)
+ 交易内向 block.coinbase 的直接转账
| 条件 | 阈值 | 依据 | 敏感性 |
|---|---|---|---|
| \(\rho<\tau\) | |||
| \(Exclusivity(a)\) | |||
min_tx_index |
| 因素 | 是否可排除 | 处置方式 | 残余影响方向 |
|---|---|---|---|
| 链下支付不可见 | |||
| 排他订单流协议 | |||
| 参考价误差 | |||
| 非套利的顶部大额交易 | |||
| 对冲腿不可见 | |||
| builder 身份归属 | |||
| 落败出价不可见 | |||
| 聚类误差 |
| 指标 | 点估计 | 区间 | 对 \(\tau\) 的敏感性 |
|---|---|---|---|
| IntegrationShare | |||
| LVR split — searcher | |||
| LVR split — builder | |||
| LVR split — proposer | |||
| Builder HHI |
测量得到的是分配结构,不是任何主体的真实盈亏;不可观测的链下支付与 CEX 腿使个体收益无法从链上确定。