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

Base high water mark calculation on net of fees NAV #62

Open
wphan opened this issue Dec 5, 2024 · 0 comments
Open

Base high water mark calculation on net of fees NAV #62

wphan opened this issue Dec 5, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@wphan
Copy link
Member

wphan commented Dec 5, 2024

the high water mark (HWM) is currently based on the gross value before fees are taken out, rather than the net value after fees.

This makes it harder than intended for managers to earn fees on new profits since they must exceed the previous peak value before fees were deducted, rather than the actual net asset value after fees.

Code reference:

let profit = total_amount.cast::<i64>()?.safe_sub(

Specific code snippets:

// How profit is calculated - shows gross HWM tracking
let profit = total_amount.cast::<i64>()?.safe_sub(
    self.get_net_deposits()
        .safe_add(self.get_cumulative_profit_share_amount())?,
)?;

// Updates gross HWM tracking
self.set_cumulative_profit_share_amount(
    self.get_cumulative_profit_share_amount()
        .safe_add(profit_u128.cast()?)?,
);

// Fee calculation and application
let profit_share_shares: u128 =
    vault_amount_to_depositor_shares(profit_share, vault.total_shares, vault_equity)?;
self.decrease_vault_shares(profit_share_shares, vault)?;
vault.user_shares = vault.user_shares.safe_sub(profit_share_shares)?;
This can create such problems as:
  1. Managers don’t earn fees on legitimate new value creation if below the gross HWM

  2. Creates higher hurdles for earning performance fees after drawdowns

  3. Could incentivize suboptimal trading patterns for depositors to work around the HWM structure

Example:
Traditional NAV (net HWM):

  1. Deposit $100
  2. Make $100 in PnL
  3. Apply 30% fees -> $70 Net PnL and $30 to fund manager
  4. New HWM -> $170 (Next fee triggers above $170)

Current Implementation (gross HWM):

  1. Deposit $100
  2. Make $100 in PnL
  3. Apply 30% fees -> $70 Net PnL and $30 to fund manager
  4. New HWM -> $200 (Next fee triggers above $200)

In the gross HWM case, if the vault drops to $180 and then recovers to $190, no new fees would be charged despite $10 of new value creation, as it hasn’t exceeded the $200 gross HWM.

Request: update the HWM calculation to use net profits by tracking the value after performance fees are taken. This would more accurately reflect new value creation and align incentives better and Net NAV in general is the industry standard in TradFi.

@wphan wphan added the enhancement New feature or request label Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant