pmUtility: Methods: Partial Moments Utility In pmoments: Partial Moments

Description

An interesting Utility function characterized by upper to lower partial moments.

Usage

 `1` ```pmUtility(data, threshold, urc, lrc, lmoment = 1, umoment = 1) ```

Arguments

 `data` A data vector of differences or returns for which the utility is to be calculated. `threshold` The threshold value for dividing upper to lower utility. `urc` Upper Partial Moment Utility Risk Aversion Coefficient. `lrc` Lower Partial Moment Utility Risk Aversion Coefficient. `lmoment` Lower Moment (need not be integer, but must be positive). `umoment` Upper Moment (need not be integer, but must be positive).

Value

An object of class `PMU`

Note

Has methods for show, plot and lines.
This is an interesting utility allowing for the representation of the well known S-shaped utilty discussed in Kahnemann and Tversky's prospect theory. Alternatively, and depending on the coefficients chosen, an inverse S-shaped utility can be constructed. Portfolio optimization with respect to this utility function is non-trivial as it is non-quasi concave, and genetic optimization methods have been suggested.

Alexios Ghalanos

References

Farinelli, S. and Tibiletti, L. , Sharpe thinking in asset ranking with one-sided measures, European Journal of Operational Research Volume 185, Issue 3, 16 March 2008, Pages 1542-1547.

Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46``` ```## Not run: data(djiaret) # Test18: Partial Moments Utility Test and Plots (S-Shaped) putil1<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1, lmoment=0.2,umoment=0.2) show(putil1) plot(putil1,col=2) putil2<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=0.3, umoment=0.3) lines(putil2,col=3,text.col=3) putil3<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=0.4, umoment=0.4) lines(putil3,col=4) putil4<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=1.2, umoment=0.4) lines(putil4,col=5,text.col=5) abline(v=0,col="grey") leg.text<-c(paste("LM=",putil1@lmoment,", UM=",putil1@umoment,", LC=",putil1@lrc,", UC=",putil1@urc,sep=""), paste("LM=",putil2@lmoment,", UM=",putil2@umoment,", LC=",putil2@lrc,", UC=",putil2@urc,sep=""), paste("LM=",putil3@lmoment,", UM=",putil3@umoment,", LC=",putil3@lrc,", UC=",putil3@urc,sep=""), paste("LM=",putil4@lmoment,", UM=",putil4@umoment,", LC=",putil4@lrc,", UC=",putil4@urc,sep="")) legend("topleft",legend=leg.text,col=2:5,fill=2:5,cex=0.8) # Test19: Partial Moments Utility Test and Plots (Inverse S-Shaped) putil1<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=2.2, umoment=2.2) show(putil1) plot(putil1,col=2) putil2<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=2.3, umoment=2.3) lines(putil2,col=3,text.col=3) putil3<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=2.4, umoment=2.4) lines(putil3,col=4) putil4<-pmUtility(as.matrix(djiaret[,1]),threshold=0,urc=1,lrc=1,lmoment=2.5, umoment=2.5) lines(putil4,col=5,text.col=5) abline(v=0,col="grey") leg.text<-c(paste("LM=",putil1@lmoment,", UM=",putil1@umoment,", LC=",putil1@lrc,", UC=",putil1@urc,sep=""), paste("LM=",putil2@lmoment,", UM=",putil2@umoment,", LC=",putil2@lrc,", UC=",putil2@urc,sep=""), paste("LM=",putil3@lmoment,", UM=",putil3@umoment,", LC=",putil3@lrc,", UC=",putil3@urc,sep=""), paste("LM=",putil4@lmoment,", UM=",putil4@umoment,", LC=",putil4@lrc,", UC=",putil4@urc,sep="")) legend("topleft",legend=leg.text,col=2:5,fill=2:5,cex=0.8) ## End(Not run) ```

pmoments documentation built on May 31, 2017, 1:48 a.m.