harmonixfi / core-smart-contract

Core smart contracts of Harmonix Finance
https://harmonix.fi/
3 stars 1 forks source link

Define return, APR for stable coin #11

Closed baonguyen1904 closed 6 months ago

baonguyen1904 commented 6 months ago

Re-define performance tracking:

https://github.com/yearn/yearn-exporter/blob/master/yearn/apy/v2.py

Calculate Annualized ROI:

# calculate our annualized return for a vault
pps_delta = (after.price - before.price) / (before.price or 1)
block_delta = after.block - before.block
days = block_delta / blocks_per_day
annualized_roi = (1 + pps_delta) ** (365.2425 / days) - 1

month_ago_apy = calculate_roi(now_point, month_ago_point)

compounding = 52  # weeks
compounding = 12  # months

# calculate our APR after fees
# if net_apy is negative no fees are charged
apr_after_fees = compounding * ((net_apy + 1) ** (1 / compounding)) - compounding if net_apy > 0 else net_apy