discard_hypercore_pre_recapitalisation_history

Documentation for eth_defi.research.wrangle_vault_prices.discard_hypercore_pre_recapitalisation_history function.

discard_hypercore_pre_recapitalisation_history(prices_df, logger=<built-in function print>, min_recapitalisation_assets=1000.0, min_recovery_delay=Timedelta('7 days 00:00:00'))

Start a recapitalised Hypercore vault at its new meaningful capital base.

A complete wipe-out followed by new deposits cannot be represented by one continuous share-price series. The old investors have a -100% return, while the new investors must not inherit the destroyed share supply. When a vault has meaningful NAV, reaches zero, and does not regain any positive NAV until after min_recovery_delay, discard its earlier observations from the cleaned output. The raw parquet remains unchanged.

Recovery duration and the new tracking threshold are intentionally separate. The delay is measured to the first value above HYPERCORE_ZERO_NAV_EPSILON, even when that value is below min_recapitalisation_assets. This prevents a sequence such as $2,000 -> $0 -> $900 next day -> $1,000 after seven days from erasing valid history merely because the recovery crossed the display threshold later. Once a durable recovery is established, the first retained observation must have at least min_recapitalisation_assets in NAV and is marked epoch_reset.

Raw scanner epoch_reset values are cleared before applying this rule. They mark arbitrary resets of the reconstructed synthetic supply, including funded vaults, and are not evidence of an economic wipe-out. Only the duration/NAV-qualified marker produced here may split the cleaned performance index.

The July 2026 production snapshot contained four qualifying episodes across 569 Hypercore vaults. HODL My Perps, HLP Liquidator, Rehobot LR, and Sifu all still qualify when measuring the delay to the first positive NAV, removing 369 rows from cleaned output. The stricter definition was chosen because the same snapshot contained hundreds of transient zero observations which must not reset lifetime performance.

Parameters
  • prices_df (pandas.DataFrame) – Vault price data indexed by timestamp, with id, chain, and total_assets columns. It must be sorted by vault and timestamp.

  • logger – Notebook or console logging function.

  • min_recapitalisation_assets (float) – Minimum NAV in USD needed before tracking the new investment epoch.

  • min_recovery_delay (pandas.Timedelta) – Minimum elapsed time between zero NAV and the first later positive NAV.

Returns

Price data without the superseded pre-recapitalisation epochs.

Return type

pandas.DataFrame