[R-SIG-Finance] portfolioFrontier/Spec: targetReturn
Enrico Schumann
enricoschumann at yahoo.de
Fri May 9 11:28:15 CEST 2008
dear josh
as portfolioFrontier seems to trace out the whole frontier of efficient
portfolios, i would not expect that changing the targetReturn and the
riskFreeRate makes a difference.
targetReturn should only be relevant if you look for one specific portfolio,
namely the one that minimises some `risk' measure (say, variance) while at
the same time satisfying your targetReturn constraint. when you plot the
whole frontier, you will get the portfolios for _all_ feasible
targetReturns.
the riskFreeRate should also not have an impact on the shape of the equity
portfolio frontier. all it allows is that you can build linear combinations
between the riskless asset and equity portfolios. (the riskless asset will
have zero risk and is thus a point on the y-axis which you can connect by a
line with any equity portfolio)
regards,
enrico
-----Ursprüngliche Nachricht-----
Von: r-sig-finance-bounces at stat.math.ethz.ch
[mailto:r-sig-finance-bounces at stat.math.ethz.ch] Im Auftrag von Josh Ulrich
Gesendet: Donnerstag, 8. Mai 2008 21:08
An: R-sig-finance
Betreff: [R-SIG-Finance] portfolioFrontier/Spec: targetReturn
List,
I am trying to help a colleague with a question, but I am - by no means - an
expert in this area. The output of the portfolioFrontier function in the
code below doesn't change for different values of targetReturn and
riskFreeRate (in portfolioSpec). I would appreciate if someone could point
me to information on why this should be expected or not.
Best,
Josh
require(TTR)
require(zoo)
suppressMessages(require(fPortfolio))
syms <- c('ABNDX','CAIBX','CWBFX','CWGIX','RYEOX','RYMTX','DBV')
X <- getYahooData(syms[1], start=20070601, quiet=TRUE) X <- zoo( X$Close,
X$Date ) for(i in 2:NROW(syms)) {
print(syms[i])
x <- getYahooData(syms[i], start=20070601, quiet=TRUE) X <- cbind( X, zoo(
x$Close, x$Date ) ) }
colnames(X) <- syms
R <- as.timeSeries(returns(X, percentage = TRUE))
Spec = portfolioSpec(model = list(type = c("MV", "CVaR"),
estimator = c("mean", "cov"), tailRisk = list(), params = list()),
portfolio = list(weights = NULL, targetReturn = NULL,
targetRisk = 4, targetAlpha = 0.05, riskFreeRate = NULL,
nFrontierPoints = 50),
solver = list(solver = c("quadprog", "Rdonlp2", "lpSolve"), trace =
FALSE)) Spec frontier <- portfolioFrontier( R, Spec, c("minW[1:nAssets]=0"))
weightsSlider(frontier)
> sessionInfo()
R version 2.7.0 (2008-04-22)
i386-pc-mingw32
locale:
LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
attached base packages:
[1] tcltk stats graphics grDevices utils datasets methods
[8] base
other attached packages:
[1] fPortfolio_260.72 fAssets_260.72 fRegression_260.72
fMultivar_260.72
[5] sn_0.4-4 mnormt_1.2-1 fTrading_260.72
polspline_1.0.15
[9] nnet_7.2-42 mgcv_1.3-31 fBasics_260.72 fImport_260.72
[13] fSeries_260.72 fCalendar_262.73 fEcofin_260.72
fUtilities_260.72
[17] spatial_7.2-42 RUnit_0.4.17 robustbase_0.2-8 MASS_7.2-42
[21] lpSolve_5.6.2 quadprog_1.4-11 zoo_1.5-3 TTR_0.14-0
loaded via a namespace (and not attached):
Error in x[["Version"]] : subscript out of bounds In addition: Warning
message:
In FUN(c("grid", "lattice")[[2L]], ...) :
DESCRIPTION file of package 'lattice' is missing or broken
--
http://quantemplation.blogspot.com
_______________________________________________
R-SIG-Finance at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only.
-- If you want to post, subscribe first.
No virus found in this incoming message.
Checked by AVG.
07.05.2008
17:23
Checked by AVG.
08.05.2008
17:24
More information about the R-SIG-Finance
mailing list