Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Clarification st: Compute portfolio variance


From   André Gyllenram <[email protected]>
To   <[email protected]>
Subject   RE: Clarification st: Compute portfolio variance
Date   Mon, 17 Sep 2012 13:51:14 +0200

Thank you for your answer Maarten. Can you perhaps be a bit more specific. I have looked at all those commands before. But do not how to use them here.

Maybe I should also clarify that I need the portfolio variance for each individual and time period as a  variable. 

Kind Regards
André Gyllenram



-----------------------------------
> Date: Mon, 17 Sep 2012 11:55:56 +0200
> Subject: Re: Clarification st: Compute portfolio variance
> From: [email protected]
> To: [email protected]
>
> Good places to start would be:
> -help merge-
> -help by-
> -help egen-
> and
> -ssc d egenmore-
>
> Hope this helps,
> Maarten
>
> On Mon, Sep 17, 2012 at 11:37 AM, André Gyllenram
> <[email protected]> wrote:
> > Thank you for your answer Alberto. It made me realize that I have to solve this problem in a different way.
> >
> > I have the historical return data of each of the N stocks in a separate file. It looks like this.
> >
> >
> > date valueStock1 valueStock2 valueStock3 ... valueStock99
> > 19980101 4 19 100 33
> > 19980102 4 49 109 88
> > 19980103 5 60 99 44
> > ... ... ... ... ...
> > 20070101 9 55 126 66
> >
> >
> >
> >
> > In another file I have information about the stocks each individual owns at the beginning of every year during a ten year period. I also have the portfolio weights of the stocks that each individual owns. A small part of the data looks like this.
> >
> >
> > individual date portfolioweight Stock
> > 1 20000101 0.3 Stock1
> > 1 20000101 0.4 stock9
> > 1 20000101 0.2 stock56
> > 1 20000101 0.1 stock77
> > ...
> > 1 20010101 0.8 stock88
> > 1 20010101 0.2 stock1
> > 2 20000101 0.3 stock3
> > 2 20000101 0.2 stock25
> > 2 20000101 0.4 stock1
> > 2 20000101 0.1 stock88
> > 2 20010101 1.0 stock22
> > ...
> > 1897 20000101 0.6 stock23
> > 1897 20000101 0.2 stock33
> > 1897 20000101 0.2 stock77
> >
> > I want to compute the portfolio variance for every individual in every time period. Every individual often only own a small number of stocks in every time period.
> >
> > Is it easy to compute the Var-Cov Matrix if the data is in this format? How do I do that?
> >
> > I am not familiar with Mata, so any code you have is of interest.
> >
> > Kind regards
> > André Gyllenram
> >
> >
> >
> >
> >
> >
> >
> >>Hi André.
> > > It is hard to see how you are using your dataset to compute your
> >> portfolio variance. For example, I do not see where are the weights in
> >> your dataset.
> >
> >> If you had something like a set of vectors (a matrix) of different
> >> combinations of portfolio weights for N stocks, and also if you have
> >> the Var-Cov Matrix (or the historical return data of each of the N
> >> stocks, you can easily compute the Var-Cov matrix), then it is simple
> >> to compute all portfolio variances in only one Matrix multiplication.
> >> It is faster to use MATA for this. MATA is a computer language that
> >> can be invoked from Stata.
> >
> >> In matrix notation, the variance of a portfolio is:
> >> Var(Portfolio) = w' * COV * w
> >> Where COV is the Var-Covar matrix of the N returns considered in the
> >> portfolio, and w can be either a vector or a set of vectors (matrix)
> >> of different portfolio combinations.
> >> If N is too big, you can have problems with Mata to do the matrix
> >> multiplication, but you can use a loop to do N matrix multiplications
> >> using w as a different vector each time.
> >
> >> Let me know if you want to compute different variance of potfolio
> >> combinations, and I can share with you a Mata code I have for doing
> >> this.
> >
> >> I hope this help... Alberto Dorantes
> >
> >
> >
> > ----------------------------------------
> >> From: [email protected]
> >> To: [email protected]
> >> Subject: st: Compute portfolio variance
> >> Date: Mon, 10 Sep 2012 10:56:21 +0200
> >>
> >> Hello,
> >>
> >> I want to compute the portfolio variance for each individual in every time-period.
> >>
> >> Portfolio variance = (weight(1)^2*variance(1) + weight(2)^2*variance(2) + 2*weight(1)*weight(2)*covariance(1,2)
> >>
> >> My data-material is in this format:
> >>
> >>
> >>
> >>
> >>
> >> individual date STOCK varISIN1 varISIN2 ... varISIN199 corrSTOCK1STOCK2 corrSTOCK1STOCK3 ... corrSTOCK99STOCK198
> >> 1 20000101 stock1 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 1 20000101 stock2 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 1 20000102 stock3 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 1 20000102 stock77 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 1 20000103 stock1 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 2 20000101 stock100 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 2 20000101 stock3 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 2 20000101 stock2 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 2 20000102 stock66 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 2 20000103 stock3 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >> 2 20000103 stock22 .3333333 450.3333 30.33333 .7073684 -.5765567 .1696948
> >>
> >>
> >>
> >>
> >> The problem is that every individual do not own every stock. I also have a very large number of individuals so I cannot compute the portfolio variance for every individual and date manually.
> >>
> >>
> >> Does anyone have an idea how to do this?
> >>
> >> Kind regards
> >> André Gyllenram
> >>
> >> *
> >> * For searches and help try:
> >> * http://www.stata.com/help.cgi?search
> >> * http://www.stata.com/support/statalist/faq
> >> * http://www.ats.ucla.edu/stat/stata/
> >
> > *
> > * For searches and help try:
> > * http://www.stata.com/help.cgi?search
> > * http://www.stata.com/support/statalist/faq
> > * http://www.ats.ucla.edu/stat/stata/
>
>
>
> --
> ---------------------------------
> Maarten L. Buis
> WZB
> Reichpietschufer 50
> 10785 Berlin
> Germany
>
> http://www.maartenbuis.nl
> ---------------------------------
>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
 		 	   		  
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index