Re: random financial portfolios

• To: mathgroup at smc.vnet.net
• Subject: [mg119779] Re: random financial portfolios
• From: Bob Hanlon <hanlonr at cox.net>
• Date: Tue, 21 Jun 2011 08:36:09 -0400 (EDT)

```returns = {0.05, -0.2, 0.15, 0.3};

covariance = {
{0.08, -0.05, -0.05, -0.05},
{-0.05, 0.16, -0.02, -0.02},
{-0.05, -0.02, 0.35, 0.06},
{-0.05, -0.02, 0.06, 0.35}};

data = Table[
weights = RandomReal[{0, 1}, 4];
weights = weights/Total[weights];
{weights.covariance.weights, weights.returns},
{100}];

ListPlot[data, Frame -> True, Axes -> False]

Bob Hanlon

---- Priyan Fernando <priyan.fernando at gmail.com> wrote:

=============
Hi,

Wonder if someone can help me pls; I'm new to mathematica. I want to
generate "random" financial portfolios using the following parameters.

returns = {0.05, -0.2, 0.15, 0.3}
covariance = {{0.08, -0.05, -0.05, -0.05}, {-0.05,
0.16, -0.02, -0.02}, {-0.05, -0.02, 0.35, 0.06}, {-0.05, -0.02,
0.06, 0.35}}

So we need
*weights={w1,w2,w3,w4}*
where each term is a random numbers representing asset the asset weigth
[assume that these must sum  to 1 - a long only portfolio]

I want to randomly change the weights and then calculate porfolio return:
*weights.returns*
and portfolio variance:
*weights.covariance.weights*

Then want to plot the return against risk, for say around 100 simulations.