Hello everyone,

I have a dataset (nrow = 10,000 ncol = 29) called random_draws for a factor model.

the first 27 columns are exchange rate returns, 28th and 29th columns are the factors observations.

I want to calculate exchange rate returns with the following factor model formula:

FX_returns = mean(i) + std_returns(i) * (rho1 * w1 + sqrt(1 - rho1^2) * w(i))

+ std_returns(i) * (rho2 * w2 + sqrt(1 - rho2^2) * w(i))

w: factor values

w(i): idiosyncratic values

The code I have right now is the following:

`set.seed(123) # Set a seed for reproducibility`

`num_draws <- 10000`

`num_pairs <- 27`

`num_variables <- num_pairs + 2`

`for (i in 1:num_pairs) {`

` rho1 <- factor1_loadings[i]`

` rho2 <- factor2_loadings[i]`

`factor1_shocks <- random_draws[, num_pairs + 1]`

`factor2_shocks <- random_draws[, num_pairs + 2]`

` independent_shocks <- random_draws[, i]`

` FX_returns[, i] <- mean_returns[i] + std_returns[i] * (rho1 * factor1_shocks + sqrt(1 - rho1^2) * (independent_shocks)+ std_returns[i] * (rho2 * factor2_shocks + sqrt(1 - rho2^2) * independent_shocks)`

`} `

factor1_loadings is a vector of factor loadings for the first principal component I got from a PCA and factor2_loadings is the same but for the second principal component

factor1_shocks are observations from the 28th column in the dataset

factor2_shocks are the observations from the 29th column in the dataset

independent _shocks are the observations per column from 1-27

I have calculated the mean and standard deviation of each column 1-27 which are the mean and standard deviations for each exchange rate

I want to place the FX returns outputs in a dataset with nrow = 10000 and ncol = 27 (same number of exchange rates)

The error code I keep getting is this one:

Error in FX_returns[, i] <- mean_returns[i] + std_returns[i] * (rho1 * :

incorrect number of subscripts on matrix

Can anyone help with how to fix this code so that it works?