Hello everyone, I have just started to learn Julia, and Julia is the only language with which I’ve worked for more than 3 months, so I am new to programming in general.
I need to make 46 future quarterly estimates of interest rate data. After having estimated the coefficients of an autoregressive AR(5), I found its companion matrix to get
Xt+1 = Companion(Φ(5)) * Xt
in order to compute the future 46 Xt+1.
I tried to do some research on how to come up with a loop that saves my next 40 estimates in an array, but I’m not sure how to do this. Other topics do not seem related to the collection of iterations, hence, I hope you can help me and that this is not too silly, thank you for your attention.
What I have tried to do up to now is:
maxiter = 46
oldΔp = pastΔp[:, 1]       #past interest rates, column 1 for country 1
iter = 1
while iter <= maxiter
    futΔp = βcomp_US * oldΔp           #Companion(Φ(5)) * Xt
    #replace and continue
    oldΔp = futΔp
    iter = iter + 1
end     
#=if I do return(futΔp) I only get a 5x1 matrix with only one 
new observation at the top
I don't know how to index each result, or just save the 
new observations for each iteration in a new array =#
Alternatively, following Sargent QuantEcon example, to create a function for fixed points
iv = pastΔp[:, 1]    #past interest rates, column 1 for country 1
maxiter = 46
function futurevalues(f::typeof(f); iv::Vector{Float64}, maxiter::Int64)
    #setup the algorithm, literally identical to Sargent's one
    x_old = iv
    iter = 1
    while iter <= maxiter
        x_new = f(x_old)
        x_old = x_new
        iter = iter + 1
    end
    return (x_old, iter) 
end
f(v) = βcomp_US * v   #Companion(Φ(5)) * Xt
v_initial = pastΔp[:, 1]   #past interest rates, column 1 for country 1
maxiter = 46
println(futurevalues(f, v_initial, maxiter))   #probably nonsense