Edit: I also misread and gave a suggestion for multi-correlation instead of autocorrelation. Woops!
I haven't tried @Mark_Bailey's suggestion, I think that might be an easier way to do the same thing:
You might try using principal components, create random value for latent variables, then calculate your simulated variables based on those latent variables and add univariate error.
Using this method you can even make data that is similar to your own process by finding your own loading, coefficients, variances, and errors, and then simulating data just like it.
Here is an example:
New Table( "Example Correlated Data",
Add Rows( 100 ),
New Column( "Prin 1", Numeric, "Continuous", Format( "Best", 12 ),
Formula( Random Normal( 0, 1 ) )
),
New Column( "Prin 2", Numeric, "Continuous", Format( "Best", 12 ),
Formula( Random Normal Mixture( [-1, 2], [0.3, 0.6], [0.25, 0.75] ) )
),
New Column( "X1", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Prin 1 * 20 + :Prin 2 * 1 + 5 + Random Normal( 0, 3 ) )
),
New Column( "X2", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Prin 1 * 2 + :Prin 2 * 1 + 3 + Random Normal( 0, 2 ) )
),
New Column( "X3", Numeric, "Continuous", Format( "Best", 12 ),
Formula( :Prin 1 * -1 + :Prin 2 * 0.3 + 200 + Random Normal( 0, 0.2 ) )
)
)