Performance Share Units-Derivative Valuation in Python

In a previous post, we wrote about Employee Stock Options, a form of financial compensation that a company uses to reward its employees. In this post, we are going to discuss another form of compensation, Performance Share Units.

Performance share units (PSUs) are hypothetical share units that are granted to you based mainly on corporate and/or individual performance. Structurally, they are very similar to restricted stock units except these are more focused on your performance. These notional units fluctuate in value based on the underlying company stock but do not represent actual share ownership until you convert them to shares. They are designed to mirror share ownership and you will generally be granted additional units having the same value as dividends being paid on the regular shares.

Companies typically use PSUs as a form of mid-term compensation as the units usually vest after three years. It converts an amount that would normally be paid as a bonus or other cash remuneration to share ownership. It is meant to encourage employees to meet certain performance targets and maximize share value over the medium-term. If the performance target is not met, the shares the employees could have received are forfeited to the company [1].

The valuation of PSUs is based on the same principles similar to the valuation of stock options.  However, more often than not, the payoff of a PSU is more complex and is usually tied to a relative performance measure. Therefore, Monte Carlo simulation is a preferred choice for pricing PSUs.

To price a PSU, we first simulate the price paths using the following Stochastic Differential Equation:

Performance Share Units


  • St is the stock price at time t,
  • σ denotes the stock volatility,
  • µ is the drift which equals the risk-free rate, and
  • dWt represents the standard normal random variable.

The simulation is carried out until the PSU’s maturity. We then implement the payoff function and calculate the mean value of the payoff. Finally, we discount the mean value to the present and obtain the PSU value.

The Monte Carlo program used for pricing stock options can be modified without difficulty to implement the particular payoff of a PSU. If a relative performance with respect to an index or other stocks is required, then we need to perform Monte Carlo simulations involving multiple assets [2].


[1] The Navigator, RBC Wealth Management,  June 2018

[2] Glasserman, Paul; Monte Carlo Methods in Financial Engineering, Springer; 2003

The Python program below is for performing Monte Carlo simulations.


Further questions

What's your question? Ask it in the discussion forum

Have an answer to the questions below? Post it here or in the forum

Leave a Reply