返回文章列表
web3concentrated-liquidity-position-accounting
🔗

An LP Position Can Earn Fees While Losing Ground

A worked concentrated-liquidity journal reconciles inventory, fees, costs, range resets, and benchmarks to show why positive fee income can coexist with underperformance.

iBuidl Research2026-10-2216 min 阅读

A liquidity position can collect trading fees and still finish below the value of simply holding its starting tokens. Fees are one component of performance. Inventory changes, market prices, transaction costs, and later deposits or withdrawals determine the rest of the result.

TL;DR: Keep a token inventory journal and a cash-flow journal, value every component at a consistent timestamp, and compare the position with an explicit benchmark. Separate earned fees from collected fees and reinvested fees. The numerical case below uses a simplified Uniswap v3-style position with hypothetical tokens and prices; it illustrates accounting rather than recommending a range or forecasting returns.

Opening entry: fifty X and one hundred fifty Y

Assume token Y is the reporting unit and price P means units of Y per unit of X. The position's lower price is one and upper price is four. Its initial price is 2.25, whose square root is 1.5. Ignore decimal scaling, tick discretization, fees, and transaction costs while establishing the starting inventory.

For an in-range concentrated-liquidity position, the standard inventory relationships can be written using liquidity L and the square roots of the current and boundary prices. In this example, set L to three hundred. Token X inventory is three hundred times the difference between one divided by 1.5 and one divided by two, giving fifty X. Token Y inventory is three hundred times the difference between 1.5 and one, giving one hundred fifty Y.

These relationships follow the concentrated-liquidity construction described in the Uniswap v3 whitepaper. The example uses convenient continuous prices to make the arithmetic readable; a deployed position uses valid ticks and token units. Uniswap v3 whitepaper

The starting value is fifty times 2.25 plus one hundred fifty, or 262.5 Y. The benchmark is defined at the same moment: hold fifty X and one hundred fifty Y outside the pool, with no trading or later contributions. This benchmark answers whether providing liquidity outperforms holding the same starting inventory. It is not the only possible benchmark, but it is now explicit.

The journal records the position identity, pool, price convention, range, starting token amounts, and valuation time. It does not record only a dollar deposit amount because that would lose the inventory needed to reconstruct the holding benchmark. If X appreciates, the benchmark's value changes even though the holder takes no action.

A different benchmark, such as holding only Y, would answer a different question. The liquidity provider could outperform cash while underperforming the original two-token inventory. Both comparisons may be useful, but neither should be selected after the fact merely because it makes the strategy look better.

Entry two: the price reaches the upper boundary

Now suppose the price moves to four Y per X. Under the simplified inventory relationships, the position holds zero X and three hundred Y at the upper boundary, excluding fees. Its inventory value is therefore three hundred Y. The starting token holder still owns fifty X and one hundred fifty Y, now worth three hundred fifty Y.

The liquidity position has gained 37.5 Y relative to its initial 262.5 value. It has nevertheless fallen fifty Y behind the holding benchmark. This is the central accounting distinction: a positive absolute return and a negative relative result can occur simultaneously.

ItemInitial value at P = 2.25Value at P = 4, excluding fees
Liquidity inventory262.5 Y300 Y
Hold starting fifty X and one hundred fifty Y262.5 Y350 Y
Liquidity inventory minus holding benchmark0Minus 50 Y

The position's changing inventory explains the difference. As price rises through the range, the liquidity provider sells X into Y along the curve. The passive holder retains all fifty X and therefore has more exposure to the final higher price. Calling the fifty-Y gap a fee loss would confuse the source of the difference.

The term impermanent loss is often used for this comparison, but the label can obscure the practical result. The provider has a real mark-to-market shortfall relative to the defined holding benchmark at this time. Whether a later price path changes that gap does not make the present comparison imaginary or guarantee recovery.

A narrow-range strategy intentionally changes inventory quickly over its selected interval. That may be useful for a particular objective, but it should be understood as a trading exposure as well as a fee-earning position. The range does not remove price risk; it shapes how the two token quantities respond to price.

Entry three: add twenty Y of fees and five Y of costs

Assume the position has earned fees valued at twenty Y by the closing timestamp. Also assume total transaction and execution costs, translated into Y at their relevant payment times, sum to five Y. For this simplified period with no additional capital flows, net ending wealth is three hundred plus twenty minus five, or three hundred fifteen Y.

Net profit relative to the initial capital is 52.5 Y, which is twenty percent of 262.5. Relative to the holding benchmark's three hundred fifty Y, the position remains thirty-five Y behind. The fees improved the result, but they did not fully offset the inventory shortfall and costs.

The report should display both calculations rather than announcing a twenty-Y fee yield as though it were the entire investment return. A user who supplied capital wants to know the value of everything they own after the strategy, including the changed inventory. A fee-only number can be positive during a period of substantial total loss.

For the position to match the holding benchmark in this particular case, fees would need to cover the fifty-Y inventory gap plus five Y of costs, or fifty-five Y. That is a break-even accounting calculation under the stated assumptions, not a prediction that the pool can generate those fees.

The fee amount itself needs a valuation convention. If fees arrive in both X and Y, their Y value changes with the price used for valuation. A report that values X fees when earned but the principal inventory at period end mixes conventions unless it explicitly treats the fee collection or conversion as a cash flow.

The journal can retain token quantities and separately calculate values under a consistent reporting policy. That preserves the ability to explain why a fee balance grew in token units while its reported currency value fell. It also avoids treating a changing token price as newly earned trading revenue.

The range can stop earning without disappearing

When price is outside a position's range, its liquidity is not active for swaps at that price. The position becomes concentrated in one token under the standard construction, and it can become active again if price returns. The range therefore affects both inventory and the opportunity to earn fees. Uniswap concentrated-liquidity documentation

In the opening example, a price above four leaves the position holding Y, excluding accumulated fees. If X rises to five, the holding benchmark becomes fifty times five plus one hundred fifty, or four hundred Y. The liquidity inventory remains three hundred Y in this simplified case. Being out of range changes the ongoing comparison even without another transaction by the provider.

At the lower boundary of one, the same position instead holds one hundred fifty X and zero Y, excluding fees. Its value is one hundred fifty Y, while the holding benchmark is fifty plus one hundred fifty, or two hundred Y. The inventory gap is again fifty Y at that boundary, although the absolute values and exposure differ from the upper-boundary case.

These symmetric-looking gaps arise from the chosen numbers and range; they are not a universal property of every concentrated position. A different starting price or interval produces different inventories and comparisons. The ledger should calculate the actual position rather than applying a generic loss percentage based only on the final price move.

The product view should distinguish out of range from closed, empty, or lost. The position still owns assets even while it is inactive for current swaps. A user deciding whether to reposition needs to see its current inventory and the consequences of converting that inventory into a new range.

Collection is a transfer, not a second earning event

In Uniswap v3, fees accrue separately from the principal liquidity and are not automatically added back into the active position. Collecting them moves amounts to a recipient; reinvesting requires an additional action or management strategy. The version-specific distinction matters because other pool designs can handle fees differently. Uniswap fee documentation

The journal therefore has separate columns for fees earned, fees collected, and fees reinvested. If ten Y of previously earned fees are collected into the wallet, the provider's total wealth does not increase by another ten Y at collection. The asset has moved from a claim associated with the position to a wallet balance.

Double counting often occurs when a dashboard adds cumulative collected fees to a wallet balance that already includes those fees and then also includes uncollected fees in the position value. A reconciliation should track where each amount currently resides and whether it has already been included in another balance.

Reinvestment changes the position's capital and future exposure. Suppose the provider collects ten Y, swaps part into X, and adds liquidity. The swap may incur fees, price impact, and transaction costs. The new liquidity may also use a different range. Calling the entire sequence automatic compounding can hide the decisions and costs involved.

The Uniswap position-management documentation distinguishes increasing liquidity, decreasing liquidity, and collecting amounts through separate operations. An accounting system should preserve that lifecycle rather than assuming that every transfer from the position manager represents fee income. Uniswap v3 position management

In particular, amounts made collectible after reducing liquidity can include principal. A transaction labeled collect by a contract interface is not by itself sufficient evidence that all collected tokens are newly earned fees. The journal needs the preceding position changes and the relevant accounting state to classify the flow correctly.

A range reset starts a new exposure, not a new history

The provider may decide to close the original range after price reaches four and establish a new range around the current price. The old position contains Y, so creating the new position may require purchasing X. That trade changes the inventory and can realize the economic consequences of the earlier range path.

Resetting the range does not erase the shortfall relative to the original holding benchmark. A dashboard that starts performance at zero after every rebalance can make an unsuccessful sequence of positions look like a collection of fresh opportunities. Strategy-level accounting must carry the complete history through those resets.

The journal assigns each range its own position record while retaining a parent strategy ledger. It records the assets removed, fees collected, swaps performed, costs paid, assets added, and any idle balances left outside the pool. The sum of those components should reconcile before and after the rebalance, apart from market movement and costs during execution.

A new benchmark can be useful for evaluating the new range's local performance, but it should be labeled as a new comparison. The original strategy benchmark remains relevant for the investor who supplied capital at the beginning. Both can coexist without implying that the reset restored previous losses.

Rebalancing frequency is therefore an economic choice. More frequent adjustments may keep liquidity near the current price, but they also create transaction costs and change inventory exposure. A backtest that assumes costless, instantaneous range resets can materially overstate the result available to a real provider.

The test should use a realistic execution convention. If a strategy decides to rebalance based on a price observed at the end of an interval, it should not assume execution at an earlier favorable price inside that interval. That would introduce information the strategy did not have when it acted.

Fee revenue depends on where liquidity is active

A pool's total trading volume is not the volume a particular position necessarily serves. Fees accrue to liquidity active for the relevant swaps, and the provider's share depends on competing active liquidity. A large pool-wide volume number therefore cannot be multiplied by a fee rate and divided by one position's capital to obtain a reliable personal return.

Consider an illustrative period in which relevant fee revenue available to active providers is one thousand Y. If a position supplies one percent of the active liquidity throughout the relevant activity, its simplified share is ten Y. If additional liquidity enters the same range and halves its share, the same trading activity produces only five Y for that position, ignoring other changes.

The phrase throughout the relevant activity is doing important work. A position can be active for half the time but serve far more or less than half the volume. Time in range is not equivalent to volume in range. A useful analysis connects the position's liquidity share to the actual price path and swap activity.

A narrow range can increase capital concentration, but it also changes how quickly the position becomes inactive and how inventory moves. Comparing ranges only through annualized fees ignores those differences. The proper comparison includes inventory value, earned fees, costs, and the benchmark under the same market path.

Historical fee observations should also be labeled as historical. Annualizing a short period assumes a persistence that may not occur. A day with unusually high volume can produce an attractive extrapolation without providing evidence that the same revenue rate will continue for a year.

Cash flows determine which return calculation is meaningful

The opening example had no later deposits or withdrawals, so a simple percentage return was interpretable. Real providers often add capital, collect fees, and withdraw portions of a position. The difference between ending and starting value then includes investor flows as well as strategy performance.

Suppose a strategy begins with one thousand Y of value, receives another one thousand halfway through the period, and ends with two thousand one hundred. Calling that a one hundred ten percent return would count the new contribution as profit. Net gain before considering flow timing is one hundred, but the appropriate rate depends on the performance question.

A time-weighted approach links returns across subperiods around external flows and can help compare the investment process independently of contribution timing. A money-weighted approach reflects the investor's actual timing of cash flows. The report should identify the method rather than presenting one unlabeled percentage as universally correct.

The classification of a flow must be consistent. Moving fees from the position to a wallet retained inside the strategy may be an internal transfer. Paying those fees out to the investor may be an external withdrawal from the strategy. A ledger that changes this boundary opportunistically can distort returns even when every token transfer is recorded accurately.

Idle balances belong inside the chosen boundary too. If a rebalance leaves some X or Y unused in the wallet, excluding those assets understates wealth; excluding their drag when they remain idle can overstate the managed position's efficiency. The strategy definition determines whether they are included, and the definition should remain stable.

A round trip separates endpoint inventory from path-dependent fees

Suppose price moves from 2.25 to four and then returns to 2.25, with the original range and liquidity unchanged. Ignoring fees and implementation rounding, the position returns to its original fifty X and one hundred fifty Y inventory. The holding benchmark also returns to its initial 262.5-Y value. Under these narrow assumptions, the endpoint inventory gap disappears.

The actual strategy result still depends on what happened along the path. Swaps may have generated fees, transactions may have incurred costs, and the provider may have changed the range. If the provider reset the position at four, the original unchanged-position calculation no longer applies. A statement that losses disappear when price returns needs those conditions attached.

Two price paths with the same starting and ending prices can also generate different fees. One may involve substantial trading through the active range, while another reaches the same endpoint with little relevant volume. Endpoint price data alone are therefore insufficient to reconstruct a fee-generating backtest.

The journal retains both endpoint holdings and the events needed to account for path-dependent revenue and actions. This allows the analyst to explain whether a result came from favorable fee activity, a deliberate rebalance, or simply the final relative price. It avoids attributing every improvement to the provider's range-selection skill.

Valuation should not use the position's own tiny trade as the market

A mark-to-market report needs a defensible price source and timestamp. If a pool is thin or temporarily dislocated, its instantaneous price may differ materially from other relevant markets. Valuing inventory at that price can produce a balance that is mathematically consistent with the pool but misleading as an estimate of realizable wealth.

This does not mean an external price automatically represents what the provider can obtain. Closing a position and converting inventory can incur price impact and fees. The report can distinguish a reference mark from an executable liquidation estimate, explaining the assumptions behind each. Combining the most favorable price from one venue with costless execution elsewhere would overstate the available result.

Gas expenses introduce another currency conversion. Suppose a transaction costs 0.002 units of the network's native asset and that asset is valued at two thousand Y per unit when the cost is paid. The journal records a four-Y expense under that convention. If the native asset later doubles, the historical expense does not automatically become eight Y, though the opportunity cost of retaining the asset is a separate possible comparison.

A fee claim can itself cost more than the value collected. For a small position with three Y of claimable fees and an estimated four-Y collection expense, immediate collection reduces total wealth under those estimates. The decision may still be necessary for other reasons, but the interface should show the amounts rather than presenting collection as a costless increase in profit.

These conventions should be fixed before comparing strategies. A narrow-range strategy with many transactions and a passive strategy with few transactions will look artificially similar if costs are omitted. Consistent valuation and expense treatment make the comparison informative even when neither strategy has a universally superior outcome.

The closing statement has three comparisons

At period end, the provider receives a statement of token inventory, uncollected fees, collected assets still held, external flows, and costs. Each component is valued consistently and reconciled to the underlying records. The statement then reports absolute performance, performance relative to the original token-holding benchmark, and any additional benchmark chosen in advance.

For the worked position, net ending wealth is three hundred fifteen Y, absolute profit is 52.5 Y, and underperformance relative to holding is thirty-five Y. Those numbers describe the same experience from different angles. None should be hidden simply because another produces a more appealing headline.

The most useful liquidity analysis treats fees as revenue earned in exchange for a changing inventory exposure. It asks whether that revenue compensated the provider for the resulting position and costs over the period actually observed. A positive fee counter is evidence of activity; a reconciled ledger is evidence of performance.

Sources

更多文章