calculate_lifetime_metrics
Documentation for eth_defi.research.vault_metrics.calculate_lifetime_metrics function.
- calculate_lifetime_metrics(df, vault_db, returns_column='returns_1h', core3_protocols=None, xerberus_pools=None, xerberus_protocols=None, stablecoin_rate_feeder=None)
Calculate lifetime metrics for each vault in the provided DataFrame.
All-time returns
3M returns, latest
1M returns, latest
Volatility (3M)
Lookback based on the last entry.
Each output row contains a
share_price_sourcestring describing how the adapter obtained its share-price observations, orNonefor legacy metadata and adapters without a price source.Each output row also contains a
denomination_token_ratevalue produced byeth_defi.feed.stablecoin_rate.StablecoinRateFeeder.get_denomination_token_rate_section(). The value is aeth_defi.feed.stablecoin_rate.DenominationTokenRatecarrying both USD rate fields and, for non-USD stablecoins, native source currency rate fields.Each output row exports
minimum_depositin denomination-token units andminimum_redemptionin vault-share units.Nonemeans the scanner did not establish the relevant protocol limit, while0means it established that the vault has no minimum for that action.- Parameters
df (pandas.DataFrame) – Cleaned price DataFrame conforming to
CleanedVaultPriceRow. Must have aDatetimeIndex.vault_db (Union[eth_defi.vault.vaultdb.VaultDatabase, dict[eth_defi.vault.base.VaultSpec, eth_defi.vault.vaultdb.VaultRow]]) – Pass all vaults or subset of vaults as VaultRows, or full VaultDatabase
core3_protocols (Optional[dict[str, eth_defi.core3.vault_protocol.Core3ExportRecord]]) – Optional Core3 risk records keyed by our protocol slug, as returned by
eth_defi.core3.vault_protocol.build_core3_protocols_for_export(). Threaded through tocalculate_vault_record()to attach a per-vaultcore3summary.Noneto skip Core3 enrichment.xerberus_pools (Optional[dict[tuple[int, str], eth_defi.xerberus.vault_export.XerberusPoolLookupRow]]) – Optional preloaded Xerberus pool lookup for per-vault scores.
Noneto skip pool-level Xerberus enrichment.xerberus_protocols (Optional[dict[str, eth_defi.xerberus.vault_export.XerberusProtocolExportRecord]]) – Optional Xerberus protocol map for fallback scores and context.
Noneto skip protocol-level Xerberus enrichment.stablecoin_rate_feeder (Optional[eth_defi.feed.stablecoin_rate.StablecoinRateFeeder]) – Stablecoin rate/depeg lookup helper shared across all vault rows in this calculation. If omitted, one default feeder is constructed.
returns_column (str) –
- Returns
DataFrame, one row per vault.
- Return type