Skip to content
All library documents

Simulating Independent Stock Prices from Return and Volatility Inputs

Article Quant Q&A · Author: user7294

Summary

The document asks how to simulate daily prices for a ten-asset stock portfolio over a long horizon when each asset has an expected return and volatility, and cross-asset correlations are initially assumed to be zero. The response suggests drawing a random return for each asset on each day, using the supplied mean and standard deviation as distribution parameters. With zero correlations, each asset’s random draws can be generated independently, corresponding to a diagonal covariance matrix.

To avoid simulated values falling below zero, the answer suggests exponentiating the random draws before applying them to prices. This is a brief conceptual recipe, not a fully specified simulation model: it does not state a precise return distribution, clarify whether the inputs are daily or annualized, or give the price-update equation and initialization. The exponential transformation is also not a complete treatment of calibration or realism. In practice, distributional assumptions, time scaling, and dependence structure should be chosen to match the intended use; assuming zero correlation may understate portfolio co-movement.

Key ideas

  • Generate a random return draw for each asset and day using assumed return and volatility parameters.
  • A zero-correlation assumption permits independent draws and a diagonal covariance matrix.
  • Exponentiating simulated returns can help keep simulated prices positive.
  • The response leaves distribution choice, input scaling, and price-update details unspecified.

Tags

Full text
# How do I simulate stock prices for a 10 asset portfolio, over a period of 10 years in MATLAB?


# How do I simulate stock prices for a 10 asset portfolio, over a period of 10 years in MATLAB?












If I have given vectors for return and volatility (i.e. I have two 1x10 vectors), and I assume at first that their correlation is 0 (meaning my covariance-variance matrix is just diagonal), how do I simulate daily stock prices for the 10 year period?

## Answer by Konsta (score 1)

https://quant.stackexchange.com/a/10306

A very simple approach could be the following: draw a random number for each day for each stock. If you refer to "average/mean" by return and to "standard deviation/variance" by volatility, you could use these for the distribution parameters of the random numbers per stock. If you dislike that values can go below zero, apply Euler's exponential function on each random number. This link and its references explain a similar approach.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.