Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Extension 5 - Pool Compounding #130

Open
wants to merge 39 commits into
base: main
Choose a base branch
from

Conversation

BenSchZA
Copy link
Collaborator

@BenSchZA BenSchZA commented Oct 1, 2021

No description provided.

@rosseyre rosseyre closed this Oct 1, 2021
@rosseyre rosseyre reopened this Oct 1, 2021
@rosseyre
Copy link
Collaborator

rosseyre commented Oct 1, 2021

Still have some unanswered questions about some of the results, and some documentation and plotting cleanups to do.

@rosseyre
Copy link
Collaborator

PR Overview

Implements a pool compounding mechanism as described in no.5 of the model extension roadmap

Experiments set an avg_pool_size parameter which establishes the initial AVG pool size across all pool validator environments. Pool sizes increase as the pool initialises new shared validator instances by pooling returns. New validators from validator-process assemble new pools, as opposed to joining existing pools. See these and additional assumptions in 4_validator_pool_compounding notebook_

NOTE: simulation times are relatively slow as Deepcopy (default_experiment) is currently set to true as it was affecting simulation behaviour (@BenSchZA, perhaps you may be able to assist here? miss those quick simulation times!)

Experiments (WIP)
The experiment notebook is currently presented mainly as a 'control panel', to plot data related to the mechanism, for debugging purposes.

It configures and produces two simulations:

  • Extended time-domain analysis
  • Sweep of pool size (e.g. pool size v.s. yields)

Current status
The expected results are increased yields for larger initial pool sizes, as larger pools are able to initialise shared validators at a higher rate than smaller pools. However, current plots (e.g. AVG Cumulative Profit Yields (%) per pool) show only a modest increase in cumulative yields. The mechanism and/or yield calculations need to be validated further.

**Annomolies / issues **

  • Modest / negligible increase in yields with larger initial pool sizes
  • saw-tooth-like pattern in eth_staked per pool, especially with higher avg_pool_size (see plot)

Key files

Notebooks:

  • 4_validator_pool_compounding

Model

  • validators.py
  • system_metrics.py

Policy functions

validators.py

  • policy_validators:
    Receives shared_validator_instances from policy_shared_validators and allocates them to their respective validator environments.

system_metrics.py

  • policy_shared_validators :
    Disaggregates validator profits at current timestep to pool level & calculates new shared validator instances based on the min stake requirement.
  • policy_pool_yields:
  • Calculates yield metrics at the individual pool level

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants