Sample from aggregate portfolio distribution versus individual asset distributions











up vote
1
down vote

favorite












Suppose I have three assets $x_1,x_2,x_3$ in a portfolio with weights $W=begin{bmatrix} w_1 \ w_2 \ w_3 end{bmatrix} $, expected returns $R=begin{bmatrix} mu_1 \ mu_2 \ mu_3 end{bmatrix}$, and a covariance matrix $V$.



The expected return of my portfolio is $mu_p=W^TR$ and the variance of my portfolio is $sigma^2_p=W^TVW$.



I would like to run Monte Carlo simulations on my portfolio using a normal distribution.



I can do this either by:




  1. Sampling from the distribution of portfolio returns $N(mu_p,sigma^2_p)$.

  2. Sample from the three individual asset returns and use those three returns to compute my overall portfolio return.


First, how would I accomplish the second approach (would I be sampling from a multivariate normal distribution)?



Second, are these two approaches equivalent as long as I assume that the weights $W$ of my portfolio remain the same?










share|improve this question


























    up vote
    1
    down vote

    favorite












    Suppose I have three assets $x_1,x_2,x_3$ in a portfolio with weights $W=begin{bmatrix} w_1 \ w_2 \ w_3 end{bmatrix} $, expected returns $R=begin{bmatrix} mu_1 \ mu_2 \ mu_3 end{bmatrix}$, and a covariance matrix $V$.



    The expected return of my portfolio is $mu_p=W^TR$ and the variance of my portfolio is $sigma^2_p=W^TVW$.



    I would like to run Monte Carlo simulations on my portfolio using a normal distribution.



    I can do this either by:




    1. Sampling from the distribution of portfolio returns $N(mu_p,sigma^2_p)$.

    2. Sample from the three individual asset returns and use those three returns to compute my overall portfolio return.


    First, how would I accomplish the second approach (would I be sampling from a multivariate normal distribution)?



    Second, are these two approaches equivalent as long as I assume that the weights $W$ of my portfolio remain the same?










    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      Suppose I have three assets $x_1,x_2,x_3$ in a portfolio with weights $W=begin{bmatrix} w_1 \ w_2 \ w_3 end{bmatrix} $, expected returns $R=begin{bmatrix} mu_1 \ mu_2 \ mu_3 end{bmatrix}$, and a covariance matrix $V$.



      The expected return of my portfolio is $mu_p=W^TR$ and the variance of my portfolio is $sigma^2_p=W^TVW$.



      I would like to run Monte Carlo simulations on my portfolio using a normal distribution.



      I can do this either by:




      1. Sampling from the distribution of portfolio returns $N(mu_p,sigma^2_p)$.

      2. Sample from the three individual asset returns and use those three returns to compute my overall portfolio return.


      First, how would I accomplish the second approach (would I be sampling from a multivariate normal distribution)?



      Second, are these two approaches equivalent as long as I assume that the weights $W$ of my portfolio remain the same?










      share|improve this question













      Suppose I have three assets $x_1,x_2,x_3$ in a portfolio with weights $W=begin{bmatrix} w_1 \ w_2 \ w_3 end{bmatrix} $, expected returns $R=begin{bmatrix} mu_1 \ mu_2 \ mu_3 end{bmatrix}$, and a covariance matrix $V$.



      The expected return of my portfolio is $mu_p=W^TR$ and the variance of my portfolio is $sigma^2_p=W^TVW$.



      I would like to run Monte Carlo simulations on my portfolio using a normal distribution.



      I can do this either by:




      1. Sampling from the distribution of portfolio returns $N(mu_p,sigma^2_p)$.

      2. Sample from the three individual asset returns and use those three returns to compute my overall portfolio return.


      First, how would I accomplish the second approach (would I be sampling from a multivariate normal distribution)?



      Second, are these two approaches equivalent as long as I assume that the weights $W$ of my portfolio remain the same?







      monte-carlo statistics modern-portfolio-theory






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 14 hours ago









      cpage

      378




      378






















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          2
          down vote













          For the first case, you would directly sample $n$ random normals $x$ and compute:
          $$R^p_i = mu_p + sigma_p x_i, i in [1,n]$$



          For the second case, you can sample $n$ x $3$ independent normals, compute the Cholesky decomposition matrix $C$ of $V$, which is the matrix $C$ such that $V=C^t C$, and get $n$ samples of vectors $X$ of size 3.



          The return $R_i$ for random draw $i$ is given by:
          $$R_i = mu_p + C . X_i, i in [1,n]$$
          You can check for high values of $n$ the convergence towards the limit values:
          $$E(R_i) = R$$
          $$Cov(R_i) = V$$
          The portfolio return is then computed as:
          $$R^p_i = W.T R_i$$
          and you can check it converges towards the same mean and variance $mu_p$, $sigma_p^2$ for a large enough $n$.



          The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals.






          share|improve this answer








          New contributor




          Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.


















          • How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
            – cpage
            12 hours ago




















          up vote
          0
          down vote













          Basically what @sebapi said.
          "The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals."



          Q: How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?



          A: You might use scipy.stats.multivariate_normal (rv = multivariate_normal(mean=None, cov=1, allow_singular=False))






          share|improve this answer





















            Your Answer





            StackExchange.ifUsing("editor", function () {
            return StackExchange.using("mathjaxEditing", function () {
            StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
            StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
            });
            });
            }, "mathjax-editing");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "204"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fquant.stackexchange.com%2fquestions%2f42750%2fsample-from-aggregate-portfolio-distribution-versus-individual-asset-distributio%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            2
            down vote













            For the first case, you would directly sample $n$ random normals $x$ and compute:
            $$R^p_i = mu_p + sigma_p x_i, i in [1,n]$$



            For the second case, you can sample $n$ x $3$ independent normals, compute the Cholesky decomposition matrix $C$ of $V$, which is the matrix $C$ such that $V=C^t C$, and get $n$ samples of vectors $X$ of size 3.



            The return $R_i$ for random draw $i$ is given by:
            $$R_i = mu_p + C . X_i, i in [1,n]$$
            You can check for high values of $n$ the convergence towards the limit values:
            $$E(R_i) = R$$
            $$Cov(R_i) = V$$
            The portfolio return is then computed as:
            $$R^p_i = W.T R_i$$
            and you can check it converges towards the same mean and variance $mu_p$, $sigma_p^2$ for a large enough $n$.



            The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals.






            share|improve this answer








            New contributor




            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.


















            • How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
              – cpage
              12 hours ago

















            up vote
            2
            down vote













            For the first case, you would directly sample $n$ random normals $x$ and compute:
            $$R^p_i = mu_p + sigma_p x_i, i in [1,n]$$



            For the second case, you can sample $n$ x $3$ independent normals, compute the Cholesky decomposition matrix $C$ of $V$, which is the matrix $C$ such that $V=C^t C$, and get $n$ samples of vectors $X$ of size 3.



            The return $R_i$ for random draw $i$ is given by:
            $$R_i = mu_p + C . X_i, i in [1,n]$$
            You can check for high values of $n$ the convergence towards the limit values:
            $$E(R_i) = R$$
            $$Cov(R_i) = V$$
            The portfolio return is then computed as:
            $$R^p_i = W.T R_i$$
            and you can check it converges towards the same mean and variance $mu_p$, $sigma_p^2$ for a large enough $n$.



            The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals.






            share|improve this answer








            New contributor




            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.


















            • How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
              – cpage
              12 hours ago















            up vote
            2
            down vote










            up vote
            2
            down vote









            For the first case, you would directly sample $n$ random normals $x$ and compute:
            $$R^p_i = mu_p + sigma_p x_i, i in [1,n]$$



            For the second case, you can sample $n$ x $3$ independent normals, compute the Cholesky decomposition matrix $C$ of $V$, which is the matrix $C$ such that $V=C^t C$, and get $n$ samples of vectors $X$ of size 3.



            The return $R_i$ for random draw $i$ is given by:
            $$R_i = mu_p + C . X_i, i in [1,n]$$
            You can check for high values of $n$ the convergence towards the limit values:
            $$E(R_i) = R$$
            $$Cov(R_i) = V$$
            The portfolio return is then computed as:
            $$R^p_i = W.T R_i$$
            and you can check it converges towards the same mean and variance $mu_p$, $sigma_p^2$ for a large enough $n$.



            The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals.






            share|improve this answer








            New contributor




            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.









            For the first case, you would directly sample $n$ random normals $x$ and compute:
            $$R^p_i = mu_p + sigma_p x_i, i in [1,n]$$



            For the second case, you can sample $n$ x $3$ independent normals, compute the Cholesky decomposition matrix $C$ of $V$, which is the matrix $C$ such that $V=C^t C$, and get $n$ samples of vectors $X$ of size 3.



            The return $R_i$ for random draw $i$ is given by:
            $$R_i = mu_p + C . X_i, i in [1,n]$$
            You can check for high values of $n$ the convergence towards the limit values:
            $$E(R_i) = R$$
            $$Cov(R_i) = V$$
            The portfolio return is then computed as:
            $$R^p_i = W.T R_i$$
            and you can check it converges towards the same mean and variance $mu_p$, $sigma_p^2$ for a large enough $n$.



            The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals.







            share|improve this answer








            New contributor




            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.









            share|improve this answer



            share|improve this answer






            New contributor




            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.









            answered 13 hours ago









            Sebapi

            211




            211




            New contributor




            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.





            New contributor





            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.






            Sebapi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
            Check out our Code of Conduct.












            • How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
              – cpage
              12 hours ago




















            • How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
              – cpage
              12 hours ago


















            How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
            – cpage
            12 hours ago






            How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?
            – cpage
            12 hours ago












            up vote
            0
            down vote













            Basically what @sebapi said.
            "The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals."



            Q: How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?



            A: You might use scipy.stats.multivariate_normal (rv = multivariate_normal(mean=None, cov=1, allow_singular=False))






            share|improve this answer

























              up vote
              0
              down vote













              Basically what @sebapi said.
              "The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals."



              Q: How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?



              A: You might use scipy.stats.multivariate_normal (rv = multivariate_normal(mean=None, cov=1, allow_singular=False))






              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                Basically what @sebapi said.
                "The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals."



                Q: How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?



                A: You might use scipy.stats.multivariate_normal (rv = multivariate_normal(mean=None, cov=1, allow_singular=False))






                share|improve this answer












                Basically what @sebapi said.
                "The two approaches are equivalent so long as the random normal variables generated are iid gaussian normals."



                Q: How does this compare to using docs.scipy.org/doc/numpy-1.15.1/reference/generated/…?



                A: You might use scipy.stats.multivariate_normal (rv = multivariate_normal(mean=None, cov=1, allow_singular=False))







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 10 hours ago









                TomDecimus

                414




                414






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fquant.stackexchange.com%2fquestions%2f42750%2fsample-from-aggregate-portfolio-distribution-versus-individual-asset-distributio%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bundesstraße 106

                    Verónica Boquete

                    Ida-Boy-Ed-Garten