Calculadora do VPL no Python
import pandas as pd def PV01(lista, taxa): "Argumentos: (lista (lista01) de listas com uma data (Ano) e o Fluxo de Caixa, mais a taxa de juros)" #Convertendo a lista em dataframe df = pd.DataFrame(lista, index = ["1", "2", "3", "4", "5"], columns = ["Ano", "Fluxo de Caixa"]) print(df) #Calculando o valor presente df["VP"] = (df["Fluxo de Caixa"])/((1+taxa)**df["Ano"]) print(df) #Soma dos valores presentes SomaPV = df["VP"].sum() print("\nTaxa de Juros:", taxa01, 'Investimento:',investimento) print("\nSoma dos Valores Presente: ", round(SomaPV,2)) VPL = SomaPV - investimento print("\nValor Presente Líquido: ", round(VPL,2)) #Criando uma lista com os dados. #A lista deve ser composta por sublistas contendo a data e o fluxode caixa na data. lista01 = [[1, 100], [2, 100], [3, 100], [4, 100], [5, 100]] #Definindo a taxa de juros e investimento taxa01 = float(input('Qual a taxa de juros?'))/100 investimento = float(input('Qual o valor do Investimento?')) PV01(lista01,taxa01)
Quando os Fluxos de Caixa são diferentes (a função VP do Excel NÃO funciona aqui)/
import pandas as pd def PV02(lista, taxa): "Argumentos: (lista (lista01) de listas com uma data (Ano) e o Fluxo de Caixa, mais a taxa de juros)" #Convertendo a lista em dataframe df = pd.DataFrame(lista, index = ["1", "2", "3", "4", "5"], columns = ["Ano", "Fluxo de Caixa"]) print(df) #Calculando o valor presente df["VP"] = (df["Fluxo de Caixa"])/((1+taxa)**df["Ano"]) print(df) #Soma dos valores presentes SomaPV = df["VP"].sum() print("Taxa de Juros:", taxa02, 'Investimento:', investimento) print("Soma dos Valores Presente: ", round(SomaPV)) VPL = SomaPV - investimento print("Valor Presente Líquido: ",round(VPL)) #Criando uma lista com os dados. #A lista deve ser composta por sublistas contendo a data e o fluxode caixa na data. FC1 = float(input('Dê o valor do FC1:')) FC2 = float(input('Dê o valor do FC2:')) FC3 = float(input('Dê o valor do FC3:')) FC4 = float(input('Dê o valor do FC4:')) FC5 = float(input('Dê o valor do FC5:')) lista02 = [[1, FC1], [2, FC2], [3, FC3], [4, FC4], [5, FC5]] #Definindo a taxa de juros e investimento numFC = 1 taxa02 = float(input('Qual a taxa de juros?'))/100 investimento = float(input('Qual o valor do Investimento?')) PV02(lista02,taxa02)
Aqui vamos calcular o VPL para um fluxo de caixa negativo ou nulo no momento ZERO (hoje) como investimento
def PV03(lista, taxa): "Argumentos: (lista (lista01) de listas com uma data (Ano) e o Fluxo de Caixa, mais a taxa de juros)" #Convertendo a lista em dataframe df = pd.DataFrame(lista, index = ["0", "1", "2", "3", "4", "5"], columns = ["Ano", "Fluxo de Caixa"]) print(df) #Calculando o valor presente df["VP"] = (df["Fluxo de Caixa"])/((1+taxa)**df["Ano"]) print(df) #Soma dos valores presentes SomaPV = df["VP"].sum() print("\nTaxa de Juros:", taxa03) print("\nSoma dos Valores Presente: ", round(SomaPV,2)) VPL = SomaPV print("\nValor Presente Líquido: ",round(VPL,2)) #Criando uma lista com os dados. #A lista deve ser composta por sublistas contendo a data e o fluxode caixa na data. FC0 = float(input('Dê o valor do FC0 ou investimento:')) FC1 = float(input('Dê o valor do FC1:')) FC2 = float(input('Dê o valor do FC2:')) FC3 = float(input('Dê o valor do FC3:')) FC4 = float(input('Dê o valor do FC4:')) FC5 = float(input('Dê o valor do FC5:')) lista03 = [[0, FC0], [1, FC1], [2, FC2], [3, FC3], [4, FC4], [5, FC5]] #Definindo a taxa de juros e investimento numFC = 1 taxa03 = float(input('Qual a taxa de juros? '))/100 PV03(lista03,taxa03)