trilicity

Threshold rebalancing bots: a trader's $12,000 gas lesson

Portfolio & Risk Automation. Threshold rebalancing bots: a trader's $12,000 gas lesson

A threshold rebalancing bot can reduce portfolio drift without forcing a trade on every calendar date. It can also convert a small allocation error into a sequence of unnecessary swaps, fees, slippage, and taxable disposals.

Threshold rebalancing bots: a trader’s $12,000 gas lesson

On-chain, the difference between a controlled system and an expensive one is often a single parameter: the deviation threshold.

A threshold of 1% appears precise. In a volatile crypto portfolio, it may be operationally irrational. Bitcoin has historically exhibited annual volatility in the range of 40%–50%; Ethereum has commonly been more volatile, at roughly 50%–60%. A portfolio that is not rebalanced can drift 5%–15% from its intended allocation in a quarter. The problem is not whether a bot should trade. The problem is whether the expected reduction in portfolio risk exceeds the full cost of execution.

The trader’s reported $12,000 gas lesson is useful only as a warning about system design. It should not be treated as a verified universal case, a standard smart-contract outcome, or a normal cost of automated rebalancing. The underlying mechanism is more important than the anecdote: overly frequent on-chain execution can consume the portfolio’s edge before the allocation logic has time to produce one.

Threshold rebalancing is a control system, not a calendar feature

A portfolio rebalancing bot maintains target weights across assets. A simple portfolio might specify:

  • 50% BTC
  • 30% ETH
  • 20% stablecoins

A calendar-based bot checks the portfolio on a fixed schedule. It may rebalance daily, weekly, or monthly. A threshold-based bot checks the distance between the current allocation and the target allocation. It trades only when the deviation crosses a predefined limit.

If the target weight of BTC is 50% and the threshold is ±3%, the bot can be configured to act when BTC falls below 47% or rises above 53% of portfolio value. The exact interpretation differs between platforms. Some use absolute percentage-point deviations. Others use relative deviations from the target. That distinction changes the trigger.

For a target weight \(w_i\), the basic deviation can be represented as:

\[

d_i = \frac{w_{i,current} - w_{i,target}}{w_{i,target}}

\]

A trade is triggered when:

\[

|d_i| \geq \theta

\]

where \(\theta\) is the threshold.

This model is simple. The implementation is not. A production bot must also account for:

  • portfolio valuation currency;
  • price-feed latency;
  • minimum order sizes;
  • available liquidity;
  • exchange fees;
  • gas fees;
  • slippage;
  • asset correlation;
  • stablecoin depegging risk;
  • tax-lot creation;
  • trade batching;
  • failed transactions;
  • MEV exposure;
  • execution latency.

The threshold is therefore not a standalone risk setting. It is the opening condition for a chain of execution decisions.

A bot with a 1% trigger may generate more precise allocation control than one with a 5% trigger. That does not mean it produces better net performance. Precision has a cost. In a market with high short-term variance, the allocation can cross the threshold and return inside it before the trade is confirmed. The bot then pays to correct a deviation that no longer exists.

A threshold is not a risk limit. It is a trade-generation rule. The risk limit is the full cost of acting on it.

Why tight thresholds create fee drag

Threshold rebalancing works best when the expected benefit of correcting drift is larger than the cost of correcting it. The benefit is usually expressed through lower concentration risk, lower portfolio variance, or better adherence to a strategic asset allocation. The cost is less abstract:

\[

C_{total} = C_{fees} + C_{gas} + C_{slippage} + C_{MEV} + C_{tax} + C_{failure}

\]

The final term is often ignored. A failed transaction can still consume gas. A partially executed trade can leave the portfolio farther from target. A stale price can trigger an order at a level that no longer reflects the market. These costs are not visible in a basic backtest unless the model includes them explicitly.

Centralized execution

On centralized platforms, rebalancing bots commonly expose threshold intervals between 0.5% and 5% of allocation deviation. Execution is generally cheaper and faster than a sequence of on-chain swaps. The cost model is more stable:

  • trading commission;
  • bid-ask spread;
  • market impact;
  • withdrawal or transfer fees;
  • platform-specific order constraints.

A 0.5% threshold can still overtrade. The exchange may not charge a large nominal fee per order, but the aggregate effect can be material when every small price movement causes a rebalance. A portfolio with correlated assets can produce repeated signals across several pairs. The bot may sell one asset and buy another, only to reverse that trade later.

This creates a form of frictional mean reversion. The portfolio is continuously being pushed toward its target while the market is continuously moving away from it. If the threshold is smaller than the natural noise of the allocation process, the strategy becomes a fee-collection mechanism for the exchange.

On-chain execution

The same logic becomes more severe in decentralized finance. An on-chain rebalance can involve:

1. approval of a token;

2. routing through one or more liquidity pools;

3. swap execution;

4. settlement;

5. portfolio accounting;

6. possible bridging or vault interaction.

Each step may add gas consumption or execution risk. Mainnet gas costs can dominate small rebalances. Even if the swap itself has low price impact, the transaction can be uneconomic relative to the amount being moved.

Layer-2 networks and batching protocols can reduce execution costs. Systems using batching and MEV protection, including implementations built around protocols such as CoW Protocol on Base, may improve the net cost profile compared with direct smart-contract execution on Ethereum mainnet. They do not eliminate risk. They alter the cost distribution.

The bot still needs to model:

  • settlement delay;
  • solver competition;
  • route availability;
  • token support;
  • bridge exposure;
  • oracle design;
  • smart-contract permissions;
  • emergency withdrawal behavior.

A lower gas bill is not equivalent to lower total risk.

The $12,000 gas lesson is a systems failure

A large gas loss attributed to automated rebalancing is not evidence that threshold bots are inherently defective. It is evidence that a deployment allowed transaction frequency and transaction size to become disconnected.

The precise identity and transaction history behind the reported $12,000 incident are not established by the available evidence. The number should therefore be read as an operational example, not as a verified case study. The lesson remains valid because the mechanism is deterministic.

A bot can accumulate excessive gas costs through several paths.

Repeated threshold crossings

Suppose the bot uses a 1% threshold. The portfolio weight moves from 50% to 51.1%, triggering a sale. After execution, the weight returns to 50.4%. A later price move takes it to 51.2%, triggering another sale. The bot has corrected two small deviations without changing the strategic risk in a meaningful way.

This pattern becomes more common when:

  • assets have high volatility;
  • the portfolio contains correlated tokens;
  • the valuation interval is short;
  • execution is delayed;
  • the threshold is close to normal allocation noise.

Multi-asset cascades

A portfolio with ten assets does not generate one independent signal. A move in BTC can change the weights of ETH, stablecoins, wrapped assets, and liquidity positions at the same time. If the bot evaluates each asset separately, one market movement can produce several trades.

The resulting transaction count may be much higher than the portfolio manager expected. The target allocation is one object. The implementation may treat it as ten separate problems.

Gas spikes during market stress

The portfolio is most likely to drift during volatile markets. That is also when liquidity can fragment, spreads can widen, and blockspace can become more expensive. A threshold bot that waits for a deviation signal may therefore receive its highest trade volume at the least favorable execution time.

This creates a negative correlation between trading need and execution quality. A static gas assumption in a backtest will understate the cost.

Rebalance loops

A rebalance loop occurs when the execution itself changes the measured portfolio state and creates a second signal. The causes include:

  • using pre-trade rather than post-trade balances;
  • delayed oracle updates;
  • rounding at token precision limits;
  • ignoring pending transactions;
  • measuring the portfolio in a volatile quote asset;
  • treating a partially filled order as complete.

The bot then attempts to repair its own incomplete accounting. On-chain, each repair costs money.

Tax friction

A threshold trade can be economically negative even if the portfolio remains close to target. Every disposal may create a taxable event, depending on jurisdiction and account structure. Tax impact is not captured by the portfolio’s gross return or by a backtest that records only asset balances.

Tax friction is particularly relevant for small, frequent trades. The bot can maintain allocation accuracy while degrading after-tax performance.

Threshold versus time rebalancing

The choice between threshold and calendar rebalancing is not ideological. It is a cost and variance problem.

Calendar rebalancing offers predictable transaction frequency. A weekly schedule may trade during a quiet market, when the portfolio has barely drifted, but it avoids reacting to every intraday fluctuation. Threshold rebalancing responds to actual deviation. It can remain inactive for long periods and then execute several trades during a volatile session.

The two approaches produce different distributions of turnover.

ParameterThreshold rebalancingTime-based rebalancing
TriggerAllocation deviation exceeds a preset limitFixed date or interval
TurnoverVariable and concentrated during volatile periodsMore predictable
Main riskOver-trading around the thresholdAllowing drift between rebalance dates
Gas exposureCan spike during market stressEasier to batch and schedule
Execution planningRequires live monitoring and cost filtersEasier to plan in advance
Best use casePortfolios where drift directly changes riskPortfolios tolerant of moderate allocation drift
Main failure modeRepeated small correctionsLarge accumulated deviation
Backtest requirementEvent-driven execution modelSchedule-based execution model

A threshold system is not automatically superior because it responds to the portfolio rather than the calendar. A calendar system is not automatically inferior because it tolerates drift. The correct comparison is net risk-adjusted performance after all execution costs.

A useful decision rule is:

\[

E[\Delta R_{risk}] > E[C_{execution}]

\]

where \(E[\Delta R_{risk}]\) is the expected reduction in portfolio risk from rebalancing and \(E[C_{execution}]\) is the expected total cost of the trades.

That inequality must hold over the actual holding period. It is not enough for the strategy to work in a frictionless model.

How to set a threshold without overfitting

The most common configuration error is selecting a threshold because it looks precise in a historical chart. This is over-fitting in operational form. The bot is tuned to past allocation paths rather than to the distribution of future execution costs.

A threshold should be tested against several regimes:

  • low-volatility sideways markets;
  • rapid directional moves;
  • sharp reversals;
  • liquidity deterioration;
  • stablecoin stress;
  • elevated gas prices;
  • delayed execution;
  • exchange downtime;
  • missing price data.

The objective is not to find the threshold with the highest historical return. It is to identify the range in which performance remains acceptable when assumptions are degraded.

The 0.5%–1% range

A threshold in this range provides tight allocation control. It may be appropriate for a large, liquid portfolio with low fees, efficient execution, and a specific mandate to minimize deviation.

It is usually less suitable for small on-chain positions. The expected portfolio benefit from correcting a fraction of a percentage point can be lower than gas, spread, and slippage. The system may also generate excessive transactions when assets fluctuate around the boundary.

The 3% range

A 3% threshold permits moderate drift before execution. This reduces trade frequency and provides a larger expected benefit per transaction. It is often easier to justify in a multi-asset portfolio because the bot is correcting a meaningful allocation change rather than normal price noise.

The trade-off is delayed risk control. If one asset moves rapidly, the portfolio can remain materially exposed before the trigger is reached.

The 5% range and above

A threshold around 5% reduces turnover. It may be appropriate where execution is expensive or where the portfolio is designed to tolerate allocation drift. It also moves the strategy closer to a risk-band system than to continuous maintenance.

At this level, the bot should be evaluated against the portfolio’s actual risk budget. A 5% deviation in a BTC allocation is not equivalent to a 5% deviation in a high-volatility DeFi token. Equal thresholds across assets can create unequal risk changes.

Some institutional frameworks use deviation bands around 5%–10%, depending on mandate and asset class. That does not establish a universal standard. Institutional portfolios typically include larger capital bases, negotiated execution, controlled custody, and formal tax and compliance processes. A retail DeFi wallet cannot assume the same cost structure.

Use hysteresis to prevent boundary oscillation

A bot should not necessarily enter and exit the trigger at the same point. Hysteresis can reduce repetitive trades.

For example:

  • trigger when deviation reaches 3%;
  • execute toward the target;
  • do not consider another rebalance until the deviation reaches 4%, or until a defined cooldown expires.

This creates a deadband. It sacrifices some precision to reduce oscillation. The appropriate width depends on volatility, liquidity, and execution cost.

Add a minimum economic trade size

A threshold alone is insufficient. The system should estimate whether the trade is large enough to justify execution.

A simple filter can compare expected risk correction with estimated total cost:

\[

V_{trade} \times E[\text{risk benefit}] > C_{gas} + C_{fees} + C_{slippage} + C_{MEV}

\]

The expected risk benefit is difficult to estimate precisely. That is not a reason to omit the filter. Even a conservative approximation is better than executing every mathematically valid signal.

A minimum trade value prevents the bot from converting small allocation changes into a high-frequency stream of uneconomic orders.

The execution layer determines the real performance

The phrase “threshold rebalancing bot crypto performance” is incomplete without an execution model. The allocation algorithm determines when to trade. The execution layer determines what the portfolio actually receives.

Slippage

Slippage is the difference between the expected price and the executed price. In a multi-hop swap, it can be caused by:

  • shallow liquidity;
  • large order size;
  • volatile price movement;
  • route fragmentation;
  • adverse selection;
  • stale quotes.

A backtest that uses candle-close prices will usually understate slippage. It assumes that the target price is available in the required size. That assumption fails most often during the exact periods when a threshold bot is most active.

A reliable simulation should apply slippage as a function of order size and liquidity, not as a fixed percentage detached from market conditions.

Latency

A signal is generated from a portfolio state that may no longer exist. Between calculation and confirmation:

  • the asset price can move;
  • the target weight can change;
  • the gas market can reprice;
  • the quoted route can expire;
  • another transaction can alter liquidity.

Latency matters on centralized exchanges and on-chain systems. On-chain execution adds mempool and block-confirmation uncertainty. A bot should include a maximum signal age. If the order cannot be executed within that interval, it should be recalculated or cancelled.

MEV

A public swap can expose information about the intended trade. Sandwich attacks, adverse ordering, and route manipulation can increase the effective cost. MEV protection and batch auctions can reduce some forms of exposure, but they do not turn execution into a risk-free process.

The relevant metric is not only nominal gas. It is implementation shortfall:

\[

\text{Implementation shortfall}

= \text{Decision price} - \text{Net execution price}

\]

The net execution price should include gas, priority fees, slippage, and any measurable MEV loss.

Oracle and valuation risk

A portfolio may be valued in USD, USDC, BTC, or another reference asset. The choice affects when a threshold is crossed. If the quote asset itself moves, the measured allocation can change even when the underlying asset relationship has not.

The oracle must also have:

  • defined update frequency;
  • fallback behavior;
  • deviation limits;
  • stale-data detection;
  • protection against manipulated pools.

A bot that treats an unavailable or stale price as valid can rebalance into a distorted allocation.

A practical architecture for automated portfolio rebalancing

A robust system separates portfolio policy from trade execution. Combining both in one script makes failures difficult to diagnose.

1. Policy layer

The policy layer defines:

  • target weights;
  • permitted assets;
  • minimum and maximum weights;
  • threshold bands;
  • cooldown periods;
  • maximum turnover;
  • rebalance frequency cap;
  • emergency pause conditions.

The policy should be deterministic. If a decision cannot be explained from the input state and configuration, it is not suitable for unattended execution.

2. Measurement layer

The measurement layer calculates current weights from:

  • wallet balances;
  • exchange balances;
  • lending positions;
  • LP positions;
  • accrued yield;
  • pending transactions;
  • debt and collateral;
  • stablecoin exposure.

For DeFi positions, nominal token balances are not enough. A concentrated liquidity position can change its asset composition as price moves. A lending position can accumulate interest while collateral value declines. The bot must measure economic exposure, not merely wallet balances.

3. Cost-estimation layer

Before submitting a transaction, the system estimates:

  • network fee;
  • exchange fee;
  • expected price impact;
  • route quality;
  • gas-price uncertainty;
  • MEV risk;
  • failure probability;
  • tax-lot consequences where applicable.

The bot should reject a mathematically valid rebalance if the estimated cost exceeds the configured budget.

4. Execution layer

Execution should support:

  • batching;
  • partial fills;
  • slippage limits;
  • transaction replacement;
  • nonce management;
  • retry limits;
  • idempotent state updates;
  • post-trade reconciliation.

A retry mechanism without a retry limit is a liability. If a transaction remains pending, the bot must not interpret the absence of confirmation as proof that no trade occurred. It should query the chain and reconcile actual balances before submitting another action.

5. Monitoring layer

Monitoring should record:

  • signal timestamp;
  • valuation timestamp;
  • trigger deviation;
  • expected trade size;
  • actual trade size;
  • gas estimate;
  • gas paid;
  • slippage;
  • execution delay;
  • post-trade allocation;
  • cumulative turnover;
  • cumulative cost.

The minimum useful dashboard is not the portfolio return. It is a decomposition of return into market exposure, allocation effect, fees, gas, slippage, and residual error.

If the bot cannot attribute performance to exposure, allocation, and execution, its backtest is not an evaluation. It is a balance chart.

Risk controls beyond rebalancing

Rebalancing reduces allocation drift. It does not protect the portfolio from every loss mechanism.

Smart stop-loss automation

A stop-loss rule can reduce exposure after a predefined price or volatility event. It also introduces a different set of risks:

  • stop execution during a liquidity gap;
  • triggering on temporary volatility;
  • selling into a wide spread;
  • realizing losses without improving portfolio risk;
  • creating a new allocation imbalance.

A stop-loss should be evaluated as part of the portfolio policy. It should not operate independently from rebalancing. Otherwise, the stop removes one asset and forces the rebalancer to buy it back.

Liquidation protection

For leveraged positions, liquidation protection has priority over strategic allocation. A portfolio can be perfectly balanced and still face forced deleveraging if collateral falls below a protocol threshold.

A liquidation protection bot should monitor:

  • health factor;
  • liquidation threshold;
  • oracle price;
  • collateral concentration;
  • borrow rate;
  • available repayment liquidity;
  • transaction confirmation time.

The protection action may be to repay debt, add collateral, reduce leverage, or close a position. A normal rebalancer is not a substitute for this process.

Automated hedging

An automated hedge can offset a portion of directional exposure through perpetuals, options, or inverse instruments. The hedge introduces basis risk, funding cost, liquidation risk, and counterparty exposure.

The hedge ratio should be defined against the exposure being hedged. A nominal 1:1 hedge can be incorrect when the assets have different volatility, beta, or liquidity. The portfolio must be evaluated on net exposure and net variance.

Yield farming automation

Yield optimizers can improve capital utilization by moving deposits between protocols. They also add smart-contract risk, withdrawal constraints, bridge risk, and reward-token volatility. A higher displayed APY is not a sufficient basis for migration.

The optimizer should compare:

\[

\text{Net yield}

=

\text{base yield}

+

\text{incentive yield}

-

\text{gas}

-

\text{slippage}

-

\text{protocol risk premium}

\]

The final term cannot be measured exactly. It must be treated as a required return for assuming additional failure modes.

What a serious backtest must include

A threshold rebalancing backtest can produce a high Sharpe ratio while remaining operationally useless. The failure usually comes from omitted costs or unrealistic fills.

A credible model should include the following data points:

  • intraday or event-level prices where possible;
  • actual target weights;
  • threshold definition;
  • valuation frequency;
  • trade-size limits;
  • bid-ask spread;
  • variable slippage;
  • exchange fees;
  • gas history or a conservative gas model;
  • failed and delayed transactions;
  • liquidity constraints;
  • portfolio minimums;
  • rebalancing cooldown;
  • tax assumptions;
  • stablecoin and protocol depeg scenarios.

The model should report more than cumulative return. At minimum, it should calculate:

  • annualized return;
  • annualized volatility;
  • Sharpe ratio;
  • maximum drawdown;
  • turnover;
  • number of trades;
  • average trade size;
  • cost per rebalance;
  • percentage of signals rejected by cost filters;
  • allocation tracking error;
  • post-cost performance.

Tracking error is especially relevant. A bot can minimize deviation from target while producing lower returns after costs. Another bot can tolerate more drift but preserve more capital. The decision depends on the mandate.

Stress the assumptions

The system should be tested with degraded parameters:

  • double the estimated slippage;
  • increase gas costs;
  • delay execution by several blocks;
  • remove a liquidity route;
  • widen spreads;
  • reject a portion of transactions;
  • impose a daily turnover cap;
  • apply a sudden 10%–20% asset move.

The point is not to predict the market. It is to identify whether the strategy survives an execution environment that is less favorable than the backtest.

Avoid parameter mining

If the backtest tests thresholds from 0.5% to 5% and selects the best historical value, the result is not automatically robust. The test has searched a parameter space. The selected value may reflect a specific volatility path.

A better approach is to evaluate a range of thresholds and examine the stability of outcomes. If performance collapses when the threshold changes slightly, the system is over-fitted.

Walk-forward testing is preferable. Parameters are selected on one period and evaluated on a later period not used during optimization. The process should be repeated across different market regimes.

Selecting an automated rebalancing tool

The relevant distinction is not between “AI” and “non-AI.” It is between systems with auditable execution logic and systems that hide the cost model behind a performance interface.

A suitable tool should expose:

  • exact threshold semantics;
  • supported asset types;
  • valuation methodology;
  • exchange or protocol integrations;
  • fee schedule;
  • gas-handling logic;
  • slippage controls;
  • transaction simulation;
  • MEV protection;
  • pause and withdrawal controls;
  • historical fills;
  • performance after costs;
  • API and custody permissions.

The tool should also explain whether a threshold is measured in percentage points or relative terms. A target weight of 10% with a relative threshold of 5% triggers at 10.5%. A threshold of five percentage points triggers at 15%. These are not interchangeable settings.

Custody and permissions

A centralized bot may require API access. Withdrawal permission should be disabled unless there is a specific operational requirement. API keys should be restricted by IP where supported and separated from account credentials.

A DeFi bot requires smart-contract approvals and wallet permissions. Unlimited token approvals increase the potential loss if the contract is compromised. The operational design should support limited approvals, revocation, and emergency withdrawal.

Transparency of performance

A platform that publishes only a portfolio growth curve is not providing sufficient evidence. The record should separate:

  • asset price return;
  • rebalancing return;
  • yield;
  • fees;
  • gas;
  • slippage;
  • realized losses;
  • unexecuted signals.

Without this decomposition, the user cannot determine whether the bot generated value or simply remained exposed to a rising market.

A disciplined operating model

The system should begin with a small allocation and a restricted asset universe. This is not a statement about market direction. It is an observability requirement. A portfolio containing BTC, ETH, and stablecoins is easier to reconcile than one containing illiquid governance tokens, LP positions, lending receipts, and bridged assets.

The operating sequence should be explicit:

1. Define target weights and acceptable drift bands.

2. Set a minimum economic trade size.

3. Add a cooldown period or hysteresis band.

4. Estimate total execution cost before every trade.

5. Reject trades that exceed the cost budget.

6. Batch compatible transactions where possible.

7. Reconcile confirmed balances after execution.

8. Track cumulative turnover and implementation shortfall.

9. Pause after repeated failures or abnormal slippage.

10. Review parameter stability using out-of-sample data.

The list is not a consumer checklist. It is the minimum control surface for an automated portfolio process.

The system should also maintain a hard daily turnover limit. A threshold bot that reaches the limit is not malfunctioning by default. The limit is performing its role. It prevents a noisy market, a stale oracle, or a coding error from converting an allocation policy into unlimited transaction generation.

The strict verdict

Threshold rebalancing is useful when allocation drift is a measurable source of portfolio risk and when execution costs are bounded. It is not useful when the threshold is selected for visual precision, the transaction model is incomplete, or the bot treats every trigger as mandatory.

For centralized exchange portfolios, a threshold between 0.5% and 5% can be operationally viable, but the correct level depends on turnover, liquidity, fees, and the desired tracking error. For on-chain portfolios, the threshold must be materially wider unless transactions are batched, gas costs are low, and trade sizes are large enough to absorb execution friction.

The $12,000 gas lesson is therefore not a warning against automation. It is a warning against automation without a cost function.

A rebalancing bot should be judged by post-cost Sharpe ratio, implementation shortfall, turnover, drawdown, and allocation tracking error. If those metrics are unavailable, the system has not demonstrated an edge. It has demonstrated that it can submit transactions.

The risk-adjusted conclusion is narrow: use threshold rebalancing only when the expected reduction in portfolio drift exceeds gas, fees, slippage, MEV, tax friction, and failure risk. Otherwise, a less frequent calendar schedule, wider deviation bands, or manual batching may produce the superior system—not because it is more sophisticated, but because it trades less.

FAQ

Why did the trader lose $12,000 on gas fees?
The loss was a result of a systems failure where the bot's transaction frequency and size became disconnected, leading to excessive on-chain execution costs.
What is the difference between threshold and calendar rebalancing?
Calendar rebalancing occurs on a fixed schedule, whereas threshold rebalancing triggers trades only when the portfolio's asset allocation deviates beyond a predefined limit.
How can I prevent my bot from over-trading?
You can implement a minimum economic trade size filter, use hysteresis to create a deadband, and set a cooldown period to avoid repetitive trades around the threshold.
Does a tighter threshold always lead to better performance?
No. While a tighter threshold provides more precise allocation control, it often results in higher transaction costs and excessive trading that can degrade net performance.
What costs should be included when calculating the total cost of a rebalance?
The total cost includes trading commissions, gas fees, slippage, MEV exposure, taxes, and the potential impact of failed or partially executed transactions.