Skip to main content

盈亏(PnL)计算说明

要准确评估你的流动性仓位表现,关键是搞清楚盈亏(PnL)是怎么算的。本文介绍我们目前的计算方法,并说明一些需要注意的地方。

当前的计算方式(T1 到 T2)

下图展示了一次提供流动性的完整生命周期:
LP Agent 时间线示意图
(图中标出了 T0、T1、T2、T3 四个时间点) 目前,一个仓位的盈亏是根据以下时刻的代币价格计算的:
  • T1:流动性加入池子的时刻。
  • T2:流动性从池子移除的时刻。
也就是说,我们衡量的是资产在实际提供流动性期间的表现。

“真实”盈亏(T0 到 T3)

实际上,要更准确地反映用户在一轮提供流动性中的整体盈亏,可能还要考虑:
  • T0:用户最初把基础资产(例如 SOL)兑换成池子所需代币时的价格。这才是真正的入场成本。
  • T3:用户把(移除流动性后拿到的)代币换回原来的基础资产(例如 SOL)时的价格。这才是真正的退出价值。
T0(实际兑换)和 T1(添加流动性)之间的时间差,以及 T2(移除流动性)和 T3(换回)之间的时间差,都可能让计算出的盈亏(T1-T2)和用户实际到手的盈亏(T0-T3)不一样,因为在这些时间段里代币价格可能会变。

为什么我们用 T1 和 T2 来计算

用 T0 和 T3 看起来更全面,但由于以下几个原因,我们没法可靠地用这两个时间点做标准化的盈亏计算:
  1. 用户操作的不确定性:
    • 平仓后的决定:在 T2 移除流动性之后,我们不知道用户接下来打算怎么做。他们可能会:
      • 继续持有拿到的代币。
      • 马上换回原来的资产(比如 SOL)。
      • 只兑换一部分代币。
      • 换成完全不同的另一种资产。
    • 开仓前的操作:同样,T0 兑换的具体时间和执行方式也各不相同。
  2. 归因:我们的系统关注的是提供流动性本身的表现。添加流动性之前(T0 到 T1)或移除流动性之后(T2 到 T3)的价格变动,受整体市场走势和用户个人交易决定影响,而不是 LP 策略本身的直接表现。
只看 T1 和 T2,我们就能对流动性仓位在活跃期间的表现给出一致的衡量。用户需要了解其中可能存在的差异,在评估自己的整体财务状况时,把入场(T0)和退出(T3)时间点也考虑进去。

已平仓跟单的 True PnL

跟单仓位平仓后,LP Agent 会逐笔对照链上交易核对它的结果,并在 Copy Logs(跟单日志)里用 True PnL 盾牌标记显示。核对进行中时,PnL 一栏显示 Tallying(统计中)。止盈、止损和带单钱包退出的推送通知,带的都是这个核对过的盈亏。

其他钱包的盈亏

其他钱包投资组合里的盈亏,是根据索引的链上数据算出来的,可能会漏掉仓位之外的兑换、转账,以及用特殊方式开的仓位。所以在查看其他钱包的投资组合时,会有一条提示说盈亏可能不反映他们的实际收益。把它当作参考就好,别当成账本。

Robinhood Chain

Robinhood Chain 的盈亏只计算流动性这一部分,暂时不包括进出仓位时的兑换。完整的限制列表见 Robinhood Chain 集成。