Matlab - Cálculo de TIR y VAN multiple

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 4 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Cálculo de TIR y VAN multiple

Publicado por Eugenio (3 intervenciones) el 23/03/2019 14:58:33
Buenas,

tengo una variable matriz CFT_PSF (45947x23), y necesito calcular TIR y VAN siendo el Cashflow cada una de las filas de la variable. Es decir, debería obtener TIR (45947x1) y VAN (45947x1). He probado lo siguiente:


CashFlowDates = ['01/01/2020'
'01/01/2021'
'01/01/2022'
'01/01/2023'
'01/01/2024'
'01/01/2025'
'01/01/2026'
'01/01/2027'
'01/01/2028'
'01/01/2029'
'01/01/2030'
'01/01/2031'
'01/01/2032'
'01/01/2033'
'01/01/2034'
'01/01/2035'
'01/01/2036'
'01/01/2037'
'01/01/2038'
'01/01/2039'
'01/01/2040'
'01/01/2041'
'01/01/2042'];

iop=1:45947
for i=iop
TIR=xirr(CFT_PSF(i,:),CashFlowDates);
VAN=pvvar(CFT_PSF(i,:),0.1);
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Cálculo de TIR y VAN multiple

Publicado por Daniel (354 intervenciones) el 23/03/2019 17:46:05
Hola,

Al iterar tienes que guardar los datos cada vez en una posición diferente de la matriz. En el ejemplo siempre guardas los valores en la misma variable y por eso solo obtienes un valor. Lo mejor es crearlos y luego ir llegando en cada iteración.

1
2
3
4
5
6
7
8
num = size(CFT_PSF, 1);
TIR = zeros(num, 1);
VAN = zeros(num, 1);
 
for i=1:num
    TIR(i) = xirr(CFT_PSF(i,:),CashFlowDates);
    VAN(i) = pvvar(CFT_PSF(i,:),0.1);
end

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar