# pmSolver-methods: Methods: Partial Moment Quadratic Portfolio Solver In pmoments: Partial Moments

## Description

Implements the quadratic portfolio optimization algorithm using the partial co-moments symmetric expectations matrix

## Usage

 `1` ```pmSolver(pcmExpectation, userConstraints, npoints=200, type=c("I","II","III","IV")) ```

## Arguments

 `pcmExpectation` The symmetric co-partial moments. An `PCME` object created by calling the `pcmExpectation` method. `userConstraints` The portfolio constraints object (`userConstraints`) created by calling the `constraints` method. `npoints` (Optional) No of frontier points. `type` Optimization type required. Valid methods are “I” for the Minimum Risk Portfolio, “II” for the Minimizing risk for a given level of return, “III” for maximizing the risk adjusted return for a given risk aversion coefficient, and “IV” for the efficient frontier.

## Value

An object of class `PMSOLVER`.

## 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 47 48 49 50``` ```## Not run: data(djiaret) # calculate sample lower partial moments by bootstrap # REM: for optimization you should use standardized moments # (standardize=TRUE) sample.lpm<-pmExpectation(data=as.matrix(djiaret), method=rep("boot",30), threshold=-0.01, moment=2, type="lower", standardize=TRUE) # calculate sample lower partial co-moment matrix sample.spcm<-pcmExpectation(sample.lpm, corr=cor(as.matrix(djiaret)), tail="lower") ############################################## # Lower Partial Moments Portfolio Optimization ############################################## # Test13: Constraints Setup cst<-constraints(forecasts=apply(as.matrix(djiaret),2,FUN=function(x) mean(x)), portfolioReturn=0.1/252, riskAversion = 2, riskFree=0.05/252, budget = 1, assetsUB = rep(0.25,30),assetsLB=rep(0,30)) # Test14: Minimum Risk Solver (I) port3<-pmSolver(sample.spcm, cst, type="I") show(port3) weightsPie(port3) # Test15: Minimize Risk for given level of Return (II) # REM portfolioReturn=0.1/252 (in constraints) port4<-pmSolver(sample.spcm, cst, type="II") show(port4) weightsPie(port4) # Test16: Maximize the risk adjusted return for a given risk aversion # coefficient (III) getriskAversion(cst) setriskAversion(cst) = 0.1 port5<-pmSolver(sample.spcm, cst, type="III") show(port5) weightsPie(port5) getriskAversion(cst) setriskAversion(cst) = 40 port6<-pmSolver(sample.spcm, cst, type="III") show(port6) weightsPie(port6) # Test17: Efficient Frontier (IV) port7<-pmSolver(sample.spcm, cst, npoints=200, type="IV") plot(port7) dev.new(2) weightsPlot(port7) ## End(Not run) ```

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