Omega          package:PerformanceAnalytics          R Documentation

_c_a_l_c_u_l_a_t_e _O_m_e_g_a _f_o_r _a _r_e_t_u_r_n _s_e_r_i_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Keating and Shadwick (2002) proposed Omega (referred to as Gamma
     in their original paper) as a way to capture all of the higher
     moments of the returns distribution.

_U_s_a_g_e:

     Omega(R, L = 0, method = c("simple", "interp", "binomial", "blackscholes"), output = c("point", "full"), rf = 0)

_A_r_g_u_m_e_n_t_s:

       R: a vector, matrix, data frame, timeSeries or zoo object of
          asset returns 

       L: L is the loss threshold that can be specified as zero, return
          from a benchmark index, or an absolute rate of return - any
          specified level 

  method: one of: simple, interp, binomial, blackscholes 

  output: one of: point (in time), or full (distribution of Omega) 

      rf: risk free rate, in same period as your returns 

_D_e_t_a_i_l_s:

     Mathematically, Omega is: integral[L to b](1 - F(r))dr /
     integral[a to L](F(r))dr

     where the cumulative distribution F is defined on the interval
     (a,b). L is the loss threshold that can be specified as zero,
     return from a benchmark index, or an absolute rate of return - any
     specified level. When comparing alternatives using Omega, L should
     be common.

     Input data can be transformed prior to calculation, which may be
     useful for introducing risk aversion.

     This function returns a vector of Omega, useful for plotting.  The
     steeper, the less risky.  Above it's mean, a steeply sloped Omega
     also implies a very limited potential for further gain.

     Omega has a value of 1 at the mean of the distribution.

     Omega is sub-additive.  The ratio is dimensionless.

     Kazemi, Schneeweis, and Gupta (2003), in "Omega as a Performance
     Measure" show that Omega can be written as: Omega(L) = C(L)/P(L)
     where C(L) is essentially the price of a European call option
     written on the investment and P(L) is essentially the price of a
     European put option written on the investment.  The maturity for
     both options is one period (e.g., one month) and L is the strike
     price of both options.

     The numerator and the denominator can be expressed as: exp(-rf) *
     E[max(x - L, 0)] exp(-rf) * E[max(L - x, 0)] with exp(-rf)
     calculating the present values of the two, where rf is the
     per-period riskless rate.

     The first three methods implemented here focus on that
     observation. The first method takes the simplification described
     above.  The second uses the Black-Scholes option pricing as
     implemented in fOptions.  The third uses the binomial pricing
     model from fOptions.  The second and third methods are not
     implemented here.

     The fourth method, "interp", creates a linear interpolation of the
     cdf of returns, calculates Omega as a vector, and finally
     interpolates a function for Omega as a function of L.  This method
     requires library 'Hmisc', which can be found on CRAN.

_V_a_l_u_e:

_A_u_t_h_o_r(_s):

     Peter Carl

_R_e_f_e_r_e_n_c_e_s:

     Keating, J. and Shadwick, W.F. The Omega Function. working paper.
     Finance Development Center, London. 2002. Kazemi, Schneeweis, and
     Gupta. Omega as a Performance Measure. 2003.

_S_e_e _A_l_s_o:

     'Ecdf'

_E_x_a_m_p_l_e_s:

         data(edhec)

         for(i in 1:13) { print(colnames(edhec)[i]); print(Omega(edhec[,i], method="simple")) }

         Omega(edhec[,13],method="interp",output="point")

         Omega(edhec[,13],method="interp",output="full")

