[R-SIG-Finance] Value of liquidity
Chiquoine, Ben
BChiquoine at tiff.org
Fri Oct 17 14:27:15 CEST 2008
I found one mistake in the code below. I was forgetting to subtract
.5*vol^2 from my drift term. However the portfolio return and the
expected return still do not match up. They are off by about 1% and I
would think that running this 10,000 times would get the error down
lower than that. Also the volatilities of the underlying assets don't
seem to match the vols that I am feeding them. I'm thinking these
problems are related but still can't seem to find what I'm doing wrong.
Please let me know if anyone sees mistakes that I am still making.
Thanks!
Ben
-----Original Message-----
From: r-sig-finance-bounces at stat.math.ethz.ch
[mailto:r-sig-finance-bounces at stat.math.ethz.ch] On Behalf Of Chiquoine,
Ben
Sent: Thursday, October 16, 2008 4:29 PM
To: markleeds at verizon.net
Cc: r-sig-finance at stat.math.ethz.ch
Subject: Re: [R-SIG-Finance] Value of liquidity
Thanks for everyone's thoughtful responses. Mark, I checked out the
paper you referred me to it's a pretty good read and is available on
ssrn title "portfolio rebalancing: a test of the markwiz-van dijk
heuristic". I am still struggling with the Monte-Carlo simulation so
I'm taking your advice Brian and posting some code. Maybe someone on
this list can give me some guidance as to where I'm going wrong. The
reason I think that I'm making a mistake is that the code below
simulates an equally weighted portfolio with three assets. The problem
is that the average simulated portfolio return is not the same as the
equally weighted return of the underlying assets. I'm not sure if this
is because I'm misinterpreting the drift term or because there is an
error in my code. Any guidance would be greatly appreciated.
Thanks,
Ben
monteCarlo=function(spot,drift,T,nSteps,covmat,nSims=10000){
##this is an alteration of work done by Kris Kumar
##spot = Vector of asset prices at t=0
##drift = Foreign risk - domestic risk for each asset
##T = total time for monte carlo simulation
##nSteps = number of steps (This should be more important for
path dependent options
##covmat= the variance covariance matrix (should be number of
assets squared)
##nSims = number of monte carlo simulations should use 10,000
according to haug
nAssets=nrow(covmat)
path=array(0,c(nSteps,nSims,nAssets))
deltaT=T/nSteps
shocks=array(0,c(nSteps+1,nSims,nAssets))
for(i in 1:nAssets){
shocks[1,,i]=spot[i]
}
muDt=drift*deltaT
covmat=covmat*deltaT
randmat=matrix(rnorm.sobol(nSims,nAssets*nSteps),ncol=nAssets*nSteps)
cholmat=chol(covmat)
for(k in 1:nSims){
randmatt=matrix(randmat[k,],nrow=nSteps,ncol=nAssets)
%*% cholmat
for(l in 1:nSteps){
for(m in 1:nAssets){
shocks[l+1,k,m]=shocks[l,k,m]*exp(muDt[m]+randmatt[l,m])
path[l,k,m]=shocks[l+1,k,m]
}
}
}
return(path)
}
###Make up some data for ret std correl
expret=c(.09,.1,.01)
stdev=c(.17,.195,.055)
expret2=expert-.5*stdev^2
correlation=matrix(c(1,.8,.5,.8,1,.5,.5,.5,1),nrow=3,ncol=3)
###Calculate covariance matrix
covmat=matrix(ncol=3,nrow=3)
for(i in 1:nrow(correlation)){
for(j in 1:ncol(correlation)){
covmat[i,j]=correlation[i,j]*stdev[i]*stdev[j]
}
}
price=c(100,100,100)
T=1
nsteps=1
nsims=10000
path=monteCarlo(price,expret2,T,nsteps,covmat,nsims)
weights=c(1/3,1/3,1/3)
portPath=path[1,,] %*% weights
averagePortReturn=mean(portPath-100)/100
expectedPortReturn=mean(expret)
-----Original Message-----
From: markleeds at verizon.net [mailto:markleeds at verizon.net]
Sent: Thursday, October 16, 2008 2:57 PM
To: Chiquoine, Ben
Cc: r-sig-finance at stat.math.ethz.ch
Subject: RE: [R-SIG-Finance] Value of liquidity
hi: i can't answer your questions below but Markovwtz-Van Dijk (
spelling on Van Djil may be incorrect ) came up with some heuristic a
few years back for balancing the cost of rebalancing versus the expected
gain in return from rebalancing. mark kritzman ( state street ) has a
powerpoint presentation that gives an overview of the idea ( that's on
the net. i can find it , if you can't ) but I don't know the title of
the original paper nor the journal it's in, assuming it was published
somewhere. if you find it, can you let me know where it is. thanks.
On Thu, Oct 16, 2008 at 10:16 AM, Chiquoine, Ben wrote:
> Hi,
>
>
> I am trying to come up with a value for liquidity where I define
> liquidity as the ability to rebalance your portfolio. My thought at
> how
> to do this is to start with a set of assets. Given their expected
> returns, volatilities, and correlations I will pick an efficient
> portfolio. I will then run a Monte-Carlo simulation using the
> efficient
> weights, expected returns, vols, and correlations to look at the
> expected distribution of returns. I will compare this to the return
> distribution from a Monte-Carlo simulation in which my I rebalance my
> portfolio to the efficient weights every year. Eventually I'd like to
> allow or disallow rebalancing to a select subset of the assets in the
> portfolio (say private equity and absolute return) while rebalancing
> to
> optimal weights (as much as possible) the remaining assets. I'm
> really
> new to Monte-Carlo simulation so my question has three parts. First,
> is
> this idea completely crazy? Second, is their a preexisting R package
> that is designed to be used for portfolio asset allocation? Third, if
> no package exists to do this what is the data generating process I
> should use to model portfolio returns for a portfolio with multiple,
> correlated, underlying assets? I hope this is the right forum for
> this
> and that a similar issue had not already been addressed. Thanks in
> advance for any suggestions you can provide.
>
>
> Ben
>
>
> ___________________________________________
> This message and any attached documents contain
> information which may be confidential, subject to privilege or exempt
> from disclosure under applicable
> law. These materials are solely for the use of the intended recipient.
> If you are not the intended recipient of this transmission, you are
> hereby notified that any distribution, disclosure, printing, copying,
> storage, modification or the taking of any
> action in reliance upon this transmission is strictly
> prohibited. Delivery of this message to any person
> other than the intended recipient shall not
> compromise or waive such confidentiality, privilege
> or exemption from disclosure as to this communication.
> If you have received this communication in error, please notify the
> sender immediately and delete
> this message from your system.
> [[alternative HTML version deleted]]
>
> _______________________________________________
> 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.
___________________________________________
This message and any attached documents contain
information which may be confidential, subject to
privilege or exempt from disclosure under applicable
law. These materials are solely for the use of the
intended recipient. If you are not the intended
recipient of this transmission, you are hereby
notified that any distribution, disclosure, printing,
copying, storage, modification or the taking of any
action in reliance upon this transmission is strictly
prohibited. Delivery of this message to any person
other than the intended recipient shall not
compromise or waive such confidentiality, privilege
or exemption from disclosure as to this
communication.
If you have received this communication in error,
please notify the sender immediately and delete
this message from your system.
_______________________________________________
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.
___________________________________________
This message and any attached documents contain
information which may be confidential, subject to
privilege or exempt from disclosure under applicable
law. These materials are solely for the use of the
intended recipient. If you are not the intended
recipient of this transmission, you are hereby
notified that any distribution, disclosure, printing,
copying, storage, modification or the taking of any
action in reliance upon this transmission is strictly
prohibited. Delivery of this message to any person
other than the intended recipient shall not
compromise or waive such confidentiality, privilege
or exemption from disclosure as to this
communication.
If you have received this communication in error,
please notify the sender immediately and delete
this message from your system.
More information about the R-SIG-Finance
mailing list