Factor fundamental: Interés compuesto $(P/F)$
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 1, step: 1 },
F: { name: 'Valor futuro (F)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'P/F',
value: (p, o) => {
let { n } = p;
let { i } = o;
return i_factor = 1 / (1 + i) ** n;
},
format: ff,
},
P: {
name: 'Valor presente (P)',
value: (p, v) => p.F * v.factor,
format: f$,
},
},
formula: {
tex: '$$\\textrm{P} = \\textrm{F}\\cdot\\frac{1}{(1+i)^n}$$',
dynamic: (p, v) => {
let exp = (p.n === 1) ? '' : `^{${p.n}}`;
return {
'factor': `\\frac{1}{(1 + ${v.i})${exp}}`,
'val * factor': `${p.F}\\frac{1}{(1 + ${v.i})${exp}}`,
'val * factor (num)': `${p.F}*${v.factor}`,
default: `$$ P = (${p.F})\\frac{1}{(1 + ${v.i})${exp}} = ${v.P}$$`
}
},
},
}
Factor fundamental: Interés compuesto $(F/P)$
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 1, step: 1 },
P: { name: 'Valor presente (P)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'F/P',
value: (p, o) => {
let { n } = p;
let { i } = o;
return i_factor = (1 + i) ** n;
},
format: ff,
},
F: {
name: 'Valor futuro (F)',
value: (p, v) => p.P * v.factor,
format: f$,
},
},
formula: {
tex: '$$\\textrm{F} = \\textrm{P}\\cdot(1+i)^n$$',
dynamic: (p, v) => {
let exp = (p.n === 1) ? '' : `^{${p.n}}`;
return {
'factor': `(1 + ${v.i})${exp}`,
'val * factor': `${p.P}(1 + ${v.i})${exp}`,
'val * factor (num)': `${p.P}*${v.factor}`,
default: `$$ F = (${p.P})(1 + ${v.i})${exp} = ${v.F}$$`
}
},
},
}
Factor de valor presente de serie uniforme (FVPSU o $P/A$)
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 1, step: 1 },
A: { name: 'Anualidad (A)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'P/A',
value: (p, o) => {
let { n } = p;
let { i } = o;
let i_factor = (1 + i) ** n;
return (i_factor - 1) / (i * i_factor);
},
format: ff,
},
P: {
name: 'Valor presente (P)',
value: (p, v) => p.A * v.factor,
format: f$,
},
},
formula: {
tex: '$$P = A\\left[\\frac{(1+i)^n-1}{i(1+i)^n}\\right]$$',
dynamic: (p, v) => {
return {
'factor': `\\left[\\frac{(1+${v.i})^{${p.n}}-1}{${v.i}(1+${v.i})^{${p.n}}}\\right]`,
'val * factor': `${p.A}\\left[\\frac{(1+${v.i})^{${p.n}}-1}{${v.i}(1+${v.i})^{${p.n}}}\\right]`,
'val * factor (num)': `${p.A}*${v.factor}`,
default: `$$P = ${p.A}\\left[\\frac{(1+${v.i})^{${p.n}}-1}{${v.i}(1+${v.i})^{${p.n}}}\\right]=${v.P}$$`
}
},
},
}
Factor de recuperación de capital (FRC o $A/P$)
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 1, step: 1 },
P: { name: 'Valor presente (P)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'A/P',
value: (p, o) => {
let { n } = p;
let { i } = o;
let i_factor = (1 + i) ** n;
return (i * i_factor) / (i_factor - 1);
},
format: ff,
},
A: {
name: 'Anualidad (A)',
value: (p, v) => p.P * v.factor,
format: f$,
},
},
formula: {
tex: '$$A = P\\left[\\frac{i(1+i)^n}{(1+i)^n-1}\\right]$$',
dynamic: (p, v) => {
return {
'factor': `\\left[\\frac{${v.i}(1+${v.i})^{${p.n}}}{(1+${v.i})^{${p.n}}-1}\\right]`,
'val * factor': `${p.P}\\left[\\frac{${v.i}(1+${v.i})^{${p.n}}}{(1+${v.i})^{${p.n}}-1}\\right]`,
'val * factor (num)': `${p.P}*${v.factor}`,
default: `$$A = ${p.P}\\left[\\frac{${v.i}(1+${v.i})^{${p.n}}}{(1+${v.i})^{${p.n}}-1}\\right]=${v.A}$$`
}
},
},
}
Factor de cantidad compuesta de una serie uniforme (FCCSU o $F/A$):
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 1, step: 1 },
A: { name: 'Anualidad (A)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'F/A',
value: (p, o) => {
let { n } = p;
let { i } = o;
let i_factor = (1 + i) ** n;
return (i_factor - 1) / i;
},
format: ff,
},
F: {
name: 'Valor futuro (F)',
value: (p, v) => p.A * v.factor,
format: f$,
},
},
formula: {
tex: '$$F = A\\left[\\frac{(1+i)^n-1}{i}\\right]$$',
dynamic: (p, v) => {
return {
'factor': `\\left[\\frac{(1+${v.i})^{${p.n}}-1}{${v.i}}\\right]`,
'val * factor': `${p.A}\\left[\\frac{(1+${v.i})^{${p.n}}-1}{${v.i}}\\right]`,
'val * factor (num)': `${p.A}*${v.factor}`,
default: `$$F = ${p.A}\\left[\\frac{(1+${v.i})^{${p.n}}-1}{${v.i}}\\right]=${v.F}$$`
}
},
},
}
Factor de fondo de amortización $(A/F)$:
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 1, step: 1 },
F: { name: 'Valor futuro (F)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'A/F',
value: (p, o) => {
let { n } = p;
let { i } = o;
let i_factor = (1 + i) ** n;
return i / (i_factor - 1);
},
format: ff,
},
A: {
name: 'Anualidad (A)',
value: (p, v) => p.F * v.factor,
format: f$,
},
},
formula: {
tex: '$$A = F\\left[\\frac{i}{(1+i)^n-1}\\right]$$',
dynamic: (p, v) => {
return {
'factor': `\\left[\\frac{${v.i}}{(1+${v.i})^{${p.n}}-1}\\right]`,
'val * factor': `${p.F}\\left[\\frac{${v.i}}{(1+${v.i})^{${p.n}}-1}\\right]`,
'val * factor (num)': `${p.F}*${v.factor}`,
default: `$$A = ${p.F}\\left[\\frac{${v.i}}{(1+${v.i})^{${p.n}}-1}\\right]=${v.A}$$`,
}
}
},
}
Factor de valor presente de gradiente aritmético $(P_G/G)$
Recordar que el primer gradiente siempre se localiza en t=2.
(se asume que el primer gradiente es
multiplo
n=0)
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 5, step: 1 },
G: { name: 'Gradiente (G)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'P/G',
value: (p, o) => {
let { n } = p;
let { i } = o;
let i_factor = (1 + i) ** n;
return (1 / i) * ((i_factor - 1) / (i * i_factor) - n / i_factor);
},
format: ff,
},
P: {
name: 'Presente (P)',
value: (p, o) => p.G * o.factor,
format: f$,
},
},
formula: {
tex: '$$P_G = \\frac{G}{i}\\left[\\frac{(1+i)^n-1}{i(1+i)^n}-\\frac{n}{(1+i)^n}\\right]$$',
dynamic: (p, v) => {
let { G, n } = p;
let { i } = v;
return {
'factor': `\\frac{1}{${i}}\\left[\\frac{(1+${i})^{${n}}-1}{${i}(1+${i})^{${n}}}-\\frac{${n}}{(1+${i})^{${n}}}\\right]`,
'val * factor': `\\frac{${G}}{${i}}\\left[\\frac{(1+${i})^{${n}}-1}{${i}(1+${i})^{${n}}}-\\frac{${n}}{(1+${i})^{${n}}}\\right]`,
'val * factor (num)': `${G}*${v.factor}`,
default: `$$P_G = \\frac{${G}}{${i}}\\left[\\frac{(1+${i})^{${n}}-1}{${i}(1+${i})^{${n}}}-\\frac{${n}}{(1+${i})^{${n}}}\\right]=${v.P}$$`
}
},
},
}
Factor de valor anual de gradiente aritmético $(A_G/G)$
Recordar que el primer gradiente siempre se localiza en t=2.
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
n: { name: 'Periodo (n)', value: 5, step: 1 },
G: { name: 'Gradiente (G)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
factor: {
name: 'A/G',
value: (p, o) => {
let { n } = p;
let { i } = o;
let i_factor = (1 + i) ** n;
return 1 / i - n / (i_factor - 1);
},
format: ff,
},
A: {
name: 'Anualidad (A)',
value: (p, o) => p.G * o.factor,
format: f$,
},
},
formula: {
tex: '$$A_G = G\\left[\\frac{1}{i}-\\frac{n}{(1+i)^{n}-1}\\right]$$',
dynamic: (p, v) => {
let { G, n } = p;
let { i } = v;
return {
'factor': `\\left[\\frac{1}{${i}}-\\frac{${n}}{(1+${i})^{${n}}-1}\\right]`,
'val * factor': `${G}\\left[\\frac{1}{${i}}-\\frac{${n}}{(1+${i})^{${n}}-1}\\right]`,
'val * factor (num)': `${G}*${v.factor}`,
default: `$$A_G = ${G}\\left[\\frac{1}{${i}}-\\frac{${n}}{(1+${i})^{${n}}-1}\\right]=${v.A}$$`
}
},
},
}
Factor de valor presente de gradiente geométrico $(P_g/A)$
Recordar que el primer gradiente siempre se localiza en t=2.
{
param: {
i: { name: 'Interes (i%)', 'data-type': 'interes', value: 10 },
g: { name: 'Gradiente (g%)', value: 5 },
n: { name: 'Periodo (n)', value: 5, step: 1 },
A: { name: 'Flujo inicial (A)', value: 100 },
},
out: {
i: {
display: false,
value: (p) => ffe(p.i * 0.01),
},
g: {
display: false,
value: (p) => ffe(p.g * 0.01),
},
subfactor: {
name: 'i/g ratio',
format: ff,
value: (p, o) => {
let { n } = p;
let { i, g } = o;
return ((1 + g) / (1 + i)) ** n;
},
},
factor: {
name: 'Pg/A1',
format: ff,
value: (p, o) => {
let { n } = p;
let { subfactor, i, g } = o;
if (subfactor === 1) {
return n / (n + i);
} else {
return (1 - subfactor) / (i - g);
}
},
},
P: {
name: 'Presente (P)',
value: (p, o) => p.A * o.factor,
format: f$,
},
},
formula: {
tex: '$$P_G = A_1\\left[\\frac{1-(\\frac{1+g}{1+i})^{n}}{i-g}\\right] \\quad g \\neq i$$' +
'$$P_G = \\frac{nA_1}{(1+i)} \\quad g = i$$',
dynamic: (p, v) => {
let { n, A } = p;
let { i, g } = v;
let { subfactor } = v._UNFORMATTED;
a = subfactor;
if (subfactor === 1) {
return {
'factor': `\\left[\\frac{${n}}{1+${i}}\\right]`,
'val * factor': `\\frac{(${n})(${A})}{(1+${i})}`,
'val * factor (num)': `${A}*${v.factor}`,
default: `$$P_G = \\frac{(${n})(${A})}{(1+${i})} = ${v.P}$$`
}
} else {
return {
'factor': `\\left[\\frac{1-(\\frac{1+${g}}{1+${i}})^{${n}}}{${i}-${g}}\\right]`,
'val * factor': `${A}\\left[\\frac{1-(\\frac{1+${g}}{1+${i}})^{${n}}}{${i}-${g}}\\right]`,
'val * factor (num)': `${A}*${v.factor}`,
default: `$$P_G = ${A}\\left[\\frac{1-(\\frac{1+${g}}{1+${i}})^{${n}}}{${i}-${g}}\\right] = ${v.P}$$`
}
}
},
},
}