Performance fee can be calculated easily and correctly as long as all investors invest and redeem at the same time (i.e. as long as the number of shares in the fund remains constant over time).

If investors enter and exit at different points in time, then that can lead to unequal treatment of investors and also of the fund manager. This is due to the fact that the number of shares is not constant over time, and we either have to assume certain values (e.g. the current model assumes that the number of shares throughout the period is equal to the number of shares at the end of the period) or we have to keep track of the exact entry and exit points of each share (which requires a lot of on-chain storage).

Performance fee crystallises only after a certain period of time (e.g. after one year or one quarter). This crystallisation period acts as a buffer for short-term fluctuations, and incentivises the fund manager to optimise for long-term performance and not for short-term fluctuations.

Performance fee is paid out by creating shares for the manager, conserving the number of shares that investors hold.

We divide the fund lifetime into periods with constant number of shares, so called

*constant share periods*. We calculate the performance fee at the end of each*constant share period*. A constant share period ends, whenever an investor buys shares or whenever an investor redeems shares.Performance fees calculated at the end of a

*constant share period*are allocated into an account, the*AggregateValueDue*account (which is a liability on the fund's balance sheet).The

*AggregateValueDue*account can increase or decrease, depending on the performance and the number of shares during a*constant share period*. It cannot become negative.In addition to accounting for

*AggregateValueDue*, shares corresponding to that amount are minted (or burned, depending on the performance), and they are held by the VaultProxy itself. Those shares are called*sharesOutstanding.*Those*sharesOutstanding*will be transferred to the manager at the end of the crystallization period (see below)Performance Fee can be paid out to the manager at the end of the crystallisation period (generally a year, or a quarter). The manager has to initiate the transaction. If the

*AggregateValueDue*account has a non-zero balance, the corresponding number of*sharesOutstanding*is paid out and HWM is set to the new value

Assumptions:

management fee is already paid out (shares have been minted and transferred to the manager)

performance fee for previous periods is not paid out but accrued

calculations below can be carried out in the order written down

formulas are written in LaTeX notation

Performance fee percentage:

β$x\%$β

Period number:

β$i$β

Gross asset value (value of assets in fund):

β$GAV$β

Number of shares (before investment or redemption - EXCL. phantom shares):

β$TS_i$β

High watermark:

β$h_i$β

Previous gross share price (read from storage, initially 0):

β$g_{i-1}$β

Current gross share price (i.e. net of management fees, but gross of performance fees due for period)

β$g_i = GAV_{i} / TS_{i}$β

Wealth above HWM created during period:

β$W_i = (max(h_i,g_i) - max(h_i,g_{i-1})) \cdot TS_i$β

Performance fee during period:

β$F_{i} = W_i \cdot x\%$*β*

*AggregateValueDue* carried over from previous period (read from storage):

β$AF_i = max(0,AF_{i-1}+ F_i)$β

*AggregatedValueDue* after period (write to storage):

β$AF_i = max(0,AF_{i-1}+ F_i)$β

NAV after accrual of performance fee:

β$NAV_i = GAV_i - AF_i$β

Net share price after accrual of performance fee:

β$s_i = \frac{NAV_i}{TS_i}$β

Calculate *sharesOutstanding* (equivalent of *AggregatedValueDue*):

β$O_i = \frac{AF_i \cdot TS_i}{GAV_i - AF_i}$β

Load previously minted *sharesOutstanding*:

β$O_{i-1}$β

New shares to be minted (burn if negative)

β$O_i - O_{i-1}$β

Net share price (different formula, same value as above):

β$s_i = \frac{GAV_i}{TS_i + O_i}$β

Performance fee is accrued (see above formulas)

New investor buys `n`

shares at net share price `s_i `

for a total value of

β$V_i = n \cdot s_i$β

New total supply:

β$TS'_i = TS_i + n$β

New GAV:

β$GAV'_i = GAV_i + V_i$β

Performance fee is accrued (see above formulas)

Investor redeems `n`

shares at net share price `s_i`

for a total value of

β$V_i = n \cdot s_i$β

If performance fee is due (i.e. *AggregatedValueDue* is larger than zero), the redeemers portion of the *sharesOutstanding* is transferred to the manager. New number of phantom shares is

β$O'_i = (1- x\%) \cdot O_i$β

*AggregatedValueDue* in storage is reduced by the redeemers portion:

β$AF'_i = (1-x\%) \cdot AF_i$β

New total supply:

β$TS'_i = TS_i + n + x\% \cdot \hat s_i$β

New GAV:

β$GAV'_i = GAV_i - V_i$β

Calculate gross share price (excl. *sharesOutstanding*) (write to storage):

β$g_i = GAV'_i / TS'_i$β

Performance fee is accrued (see above formulas)

If the number of *sharesOutstanding* is greater than zero:

All

*sharesOutstanding*are transferred to the manager.*AggregateValueDue*amount is set to zero.HWM

`h_i`

is set to new value`h_i = g_i = s_i`

(after payout, gross share price and net share price are equal, and HWM is set to that price)

If accrued performance fee is zero:

Do nothing

βesma_34-39-968_final_report_guidelines_on_performance_fees.pdfβ

βUCITS%20Performance%20Fees%20β%20ESMAβs%20call%20for%20harmonisation.pdfβ