research.rolling_returns
Documentation for eth_defi.research.rolling_returns Python module.
Used in vault report notebooks to calculate and rolling returns for vaults.
Functions
Calculate daily returns for each vault in isolation. |
|
|
Calculate rolling returns stats for vaults. |
|
Visualise rolling returns from a DataFrame. |
|
Wrap long legend text by inserting line breaks. |
- wrap_legend_text(text, max_length=30)
Wrap long legend text by inserting line breaks.
- calculate_rolling_returns(returns_df, interesting_vaults=None, filtered_vault_list_df=None, period=Timedelta('150 days 00:00:00'), cap=None, clip_down=None, clip_up=None, drop_threshold=None, benchmark_count=10, returns_column='returns_1h', chainify=True, logger=<built-in function print>)
Calculate rolling returns stats for vaults.
Take a snapshot of returns from the return data pool of all vaults
Calculate rolling return chart metrics for those vaults
- Parameters
returns_df (pandas.core.frame.DataFrame) –
Hourly cleaned return data of all vaults as a DataFrame.
See notebook examples.
interesting_vaults (pandas.core.series.Series | None) –
A Series of vault ids to limit the results to.
A list of chain id-address strings.
chainify – Add the chain name in the title.
filtered_vault_list_df (pandas.core.frame.DataFrame | None) –
period (pandas._libs.tslibs.timedeltas.Timedelta) –
cap (float) –
clip_down (float) –
clip_up (float) –
drop_threshold (float) –
benchmark_count (int) –
returns_column (str) –
- Returns
A DataFrame with MultiIndex(id, timestamp) and columns like rolling_1m_returns_annualized.
- Return type
pandas.core.frame.DataFrame
- calculate_daily_returns_for_all_vaults(df_work)
Calculate daily returns for each vault in isolation.
- Parameters
df_work (pandas.core.frame.DataFrame) – DataFrame with hourly share price values.
- Return type
pandas.core.frame.DataFrame
- visualise_rolling_returns(rolling_returns_df, title='1M rolling returns by vault')
Visualise rolling returns from a DataFrame.
- Parameters
df – Calculated with :py:func`calculate_rolling_returns`.
rolling_returns_df (pandas.core.frame.DataFrame) –
- Return type
plotly.graph_objs._figure.Figure