I am curious how one can generate simulated time series data. I found a list of simulated series here and a similar tool for stock market. What is the best way to generate domain specific time series data with some desired patterns? How should one approach this problem? I know this question is not very complete yet so please feel free to suggest modifications.

  • $\begingroup$ Could you explain what you mean by "domain specific" and "desired patterns"? Is it about numerical solutions (aka simulations) of stochastic ordinary differential equations? If so, have a look at the books by Peter Kloeden and Eckhard Platen. Are you looking for numerical algorithms or (non exclusive or) for software? $\endgroup$ – Tim van Beek Oct 6 '10 at 15:57
  • $\begingroup$ Hidden Markov models are used for many such models where the hidden state, that which isn't observed, is discrete. When the hidden state is continuous, one could use Linear Dynamical Systems. However, I agree with Tim, the question needs to be "fleshed out" before a good answer can be given. $\endgroup$ – Kelly Davis Aug 30 '13 at 14:25

For instance, if you want to simulate an AR1 process in MATLAB, you could proceed as follows:

alpha = 0.8; % Value smaller than 1 for the process to be stationary

sigma = 1.3;

M = 1e3; X = zeros(M, 1); X(1) = randn; % Initialize

for k = 2:M

X(k) = alpha*X(k-1) + randn*sigma;


This generates M points in time of the model:

$$X_k = \alpha X_{k-1} + \sigma u_k,$$

where $u_k$ is a standard normal variable.

If you want a more sophisticated model for some natural (or synthetic) phenomenon then you would have to specify that model. To find a model for the movement of a stock price is a difficult problem. To calibrate (that is, to find the parameters of) such a model is also a difficult problem.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.