Welcome to THETAWIKI. If you like to create or edit a page please make sure to login or register an account. All registered users please make sure to provide a valid email address.

CPPI

From ThetaWiki
Jump to: navigation, search

Constant Proportion Portfolio Insurance

This simple CPPI trading strategy has a horizon of n steps over T years and results in a portfolio Pi which denotes the money in each simulated scenario path. This simple case manages a portfolio consisting of d stocks and a money market account. The CPPI strategy chooses d such that the portfolio value Pi never drops below the bond floor F. At each time step, the portfolio is updated according to the position d in stock S and the gain difference between the next stock price S! and its previous value S.

The underlying 'S' and the discount numeraire 'EUR' are processes simulated externally. For example, the process 'S' can be a stock price process that follows a Geometric Brownian Motion or a Heston Volatility process. The discount numeraire 'EUR' can be a constant discount curve as implemented in Discounting, or a stochastic process that has a dynamics as defined in the CIR model.

model CPPI
  import S	"Stock price process"
  import EUR	"Discount numeraire"
  import m	"Multiplier"
  import F	"Bond floor"
  import Pi_0	"Initial Portfolio value"
  import T	"Maturity time"
  import n	"Number of time steps"
  export Pi     "Portfolio value in EUR"
 
  d = (m * (100-F))/S
  Pi = Pi_0
 
  loop n
    Pi = Pi + d*(S!-S)
    %the ThetaML command 'Theta' passes time by 'T/n' years
    Theta T/n
    d = max( 0,(m*(Pi-F))/S )
  end
end