Python - Matemáticas Financieras

#Matemáticas Financieras #30 ejemplos de funciones sobre matemáticas financieras, #interés simple, interés compuesto, etc. en Python: #1. Función para calcular el interés simple: def interes_simple(capital, tasa, tiempo): return capital * tasa * tiempo #2. Función para calcular el monto final en un interés simple: def monto_final_simple(capital, tasa, tiempo): return capital + interes_simple(capital, tasa, tiempo) #3. Función para calcular el interés compuesto: def interes_compuesto(capital, tasa, tiempo): return capital * ((1 + tasa) ** tiempo - 1) #4. Función para calcular el monto final en un interés compuesto: def monto_final_compuesto(capital, tasa, tiempo): return capital * (1 + tasa) ** tiempo #5. Función para calcular la tasa de interés en un interés simple: def tasa_interes_simple(capital, interes, tiempo): return interes / (capital * tiempo) #6. Función para calcular la tasa de interés en un interés compuesto: def tasa_interes_compuesto(capital, monto_final, tiempo): return ((monto_final / capital) ** (1 / tiempo)) - 1 #7. Función para calcular el tiempo en un interés simple: def tiempo_interes_simple(capital, interes, tasa): return interes / (capital * tasa) #8. Función para calcular el tiempo en un interés compuesto: def tiempo_interes_compuesto(capital, monto_final, tasa): return math.log(monto_final / capital, 1 + tasa) #9. Función para calcular el valor presente en un interés simple: def valor_presente_simple(monto_final, tasa, tiempo): return monto_final / (1 + tasa * tiempo) #10. Función para calcular el valor presente en un interés compuesto: def valor_presente_compuesto(monto_final, tasa, tiempo): return monto_final / (1 + tasa) ** tiempo #11. Función para calcular el valor futuro en un interés simple: def valor_futuro_simple(valor_presente, tasa, tiempo): return valor_presente * (1 + tasa * tiempo) #12. Función para calcular el valor futuro en un interés compuesto: def valor_futuro_compuesto(valor_presente, tasa, tiempo): return valor_presente * (1 + tasa) ** tiempo #13. Función para calcular el valor presente neto (VPN): def vpn(flujos, tasa): return sum([flujo / (1 + tasa) ** i for i, flujo in enumerate(flujos)]) #14. Función para calcular la tasa interna de retorno (TIR): def tir(flujos): f = lambda tasa: vpn(flujos, tasa) return optimize.newton(f, 0.1) #15. Función para calcular el período de recuperación de la inversión (PRI): def pri(flujos, inversion): acumulado = 0 for i, flujo in enumerate(flujos): acumulado += flujo if acumulado >= inversion: return i + (inversion - (acumulado - flujo)) / flujo return float('inf') #16. Función para calcular el valor anual equivalente (VAE): def vae(flujos, tasa): n = len(flujos) vpn = sum([flujo / (1 + tasa) ** i for i, flujo in enumerate(flujos)]) return vpn * ((1 + tasa) ** n - 1) / (tasa * (1 + tasa) ** n) #17. Función para calcular el costo anual equivalente (CAE): def cae(inversion, flujos, tasa): vae_ = vae(flujos, tasa) return vae_ / inversion #18. Función para calcular el punto de equilibrio: def punto_equilibrio(costos_fijos, costos_variables, precio): return costos_fijos / (precio - costos_variables) #19. Función para calcular el margen de contribución: def margen_contribucion(precio, costos_variables): return precio - costos_variables #20. Función para calcular el margen de contribución por unidad: def margen_contribucion_unidad(precio, costos_variables): return margen_contribucion(precio, costos_variables) / precio #21. Función para calcular el punto de equilibrio en unidades: def punto_equilibrio_unidades(costos_fijos, margen_contribucion): return costos_fijos / margen_contribucion #22. Función para calcular el punto de equilibrio en dinero: def punto_equilibrio_dinero(costos_fijos, margen_contribucion_unidad): return costos_fijos / margen_contribucion_unidad #23. Función para calcular el índice de rentabilidad: def indice_rentabilidad(inversion, flujos): vpn_ = vpn(flujos, 0.1) return (vpn_ + inversion) / inversion #24. Función para calcular el período de recuperación descontado (PRD): def prd(inversion, flujos, tasa): acumulado = 0 for i, flujo in enumerate(flujos): acumulado += flujo / (1 + tasa) ** i if acumulado >= inversion: return i + (inversion - (acumulado - flujo / (1 + tasa) ** i)) / flujo return float('inf') #25. Función para calcular el valor presente ajustado (VPA): def vpa(flujos, tasa, periodo): return sum([flujo / (1 + tasa) ** (i - periodo) for i, flujo in enumerate(flujos) if i >= periodo]) #26. Función para calcular el valor presente ajustado neto (VPAN): def vpan(inversion, flujos, tasa, periodo): vpa_ = vpa(flujos, tasa, periodo) return vpa_ - inversion #27. Función para calcular el índice de rentabilidad ajustado (IRA): def ira(inversion, flujos, tasa, periodo): vpan_ = vpan(inversion, flujos, tasa, periodo) return (vpan_ + inversion) / inversion #28. Función para calcular el valor presente neto ajustado (VPNA): def vpna(inversion, flujos, tasa, periodo): vpn_ = vpn(flujos[periodo:], tasa) return vpn_ - inversion #29. Función para calcular el índice de rentabilidad neto ajustado (IRNA): def irna(inversion, flujos, tasa, periodo): vpna_ = vpna(inversion, flujos, tasa, periodo) return (vpna_ + inversion) / inversion #30. Función para calcular el valor presente neto incremental (VPNI): def vpni(inversion, flujos1, flujos2, tasa): vpn1_ = vpn(flujos1, tasa) vpn2_ = vpn(flujos2, tasa) return vpn2_ - vpn1_ - inversion

Geogebra Python