Я пытаюсь инициализировать пустую матрицу X с n строками и 4 столбцами. И затем выделение вектора случайных значений запасов для каждого столбца. Каждый столбец представляет разные акции.
Я знаю, что в конечном итоге я должен применить X [, i] = cumsum (X [, i]), чтобы получить фактические значения запасов, но это можно сделать только после распределения значений в первую очередь.
#Inputs mean return, volatility, time period and time step
mu=0.25; sigma=2; T=1; n=2^(12); X0=5;
#Generating trajectories for stocks
#NOTE: Seed is fixed. Changing seed will produce
#different trajectories
dt=T/n
t=seq(0,T,by=dt)
set.seed(201)
X <- matrix(nrow = n, ncol = 4)
for(i in 1:4){
X[,i] <- c(X0,mu*dt+sigma*sqrt(dt)*rnorm(n,mean=0,sd=1))
}
После запуска кода я получаю сообщение об ошибке:
Error in X[, i] <- c(X0, mu * dt + sigma * sqrt(dt) * rnorm(n, mean = 0, :
number of items to replace is not a multiple of replacement length