[R-SIG-Finance] Value of liquidity

Chiquoine, Ben BChiquoine at tiff.org
Thu Oct 16 22:28:56 CEST 2008


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)
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,expret,T,nsteps,covmat,nsims)
weights=c(1/3,1/3,1/3)
portPath=path[1,,] %*% weights

averagePortReturn=mean(portPath)
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. 




More information about the R-SIG-Finance mailing list