TradHodlingIndexPool

class TradHodlingIndexPool[source]

Bases: IndexMarketCapPool

Market-cap index pool simulating traditional (off-chain) rebalancing.

Like HodlingIndexPool, this variant only rebalances during the weight_interpolation_period window at the start of each chunk_period and HODLs reserves otherwise. The key difference is that reserve updates model centralised-exchange (CEX) execution costs rather than on-chain AMM swap mechanics:

  • CEX fees (cex_tau): flat proportional fee on sold tokens.

  • Bid-ask spread (cex_spread): per-asset half-spread cost.

  • Market impact (Grinold-alpha model, currently commented out): square-root impact scaled by volatility and volume.

An annual_streaming_fee (default 4 %) is also compounded into a per-step multiplicative fee applied to reserves at each active trading step, modelling the management fee charged by traditional index products.

This pool loads auxiliary market-microstructure data (volatility, volume, spread) via get_data_dict at reserve-calculation time, so it requires the full historic data pipeline to be available.

Inherits weight calculation logic (market-cap weighting) from IndexMarketCapPool and overrides calculate_reserves_with_fees and calculate_reserves_zero_fees.

See also

HodlingIndexPool

On-chain AMM variant (uses G3M swap-fee mechanics).

IndexMarketCapPool

Continuously-rebalanced base class.

calculate_reserves_with_fees(params, run_fingerprint, prices, start_index, additional_oracle_input=None)[source]
Parameters:
Return type:

Array

calculate_reserves_zero_fees(params, run_fingerprint, prices, start_index, additional_oracle_input=None)[source]
Parameters:
Return type:

Array