Update app.py
Browse files
app.py
CHANGED
@@ -40,21 +40,15 @@ def index():
|
|
40 |
|
41 |
anos = list(range(1, 6))
|
42 |
|
43 |
-
#
|
44 |
patrimonio_studio = [capital * ((1 + valorizacao / 100) ** ano) for ano in anos]
|
45 |
-
|
46 |
-
# Renda acumulada do studio (retorno mensal composto)
|
47 |
renda_acumulada_studio = [capital * (((1 + studio_ret / 100) ** (12 * ano)) - 1) for ano in anos]
|
48 |
-
|
49 |
-
# Total studio = patrimônio + renda acumulada
|
50 |
studio_total = [p + r for p, r in zip(patrimonio_studio, renda_acumulada_studio)]
|
51 |
|
52 |
-
# Outros investimentos
|
53 |
franquia = [capital + (franquia_ret * ano) for ano in anos]
|
54 |
acoes = [capital * ((1 + acoes_ret / 100) ** ano) for ano in anos]
|
55 |
renda_fixa_valores = [capital * ((1 + renda_fixa / 100) ** ano) for ano in anos]
|
56 |
|
57 |
-
# Studio ajustado pela inflação (considerando só patrimônio)
|
58 |
studio_ajustado_inflacao = [p / ((1 + inflacao / 100) ** ano) for p, ano in zip(patrimonio_studio, anos)]
|
59 |
|
60 |
dados = {
|
@@ -77,6 +71,7 @@ def index():
|
|
77 |
investimento_mais_valorizado = max(investimentos_finais, key=investimentos_finais.get)
|
78 |
valor_mais_alto = investimentos_finais[investimento_mais_valorizado]
|
79 |
|
|
|
80 |
plt.figure(figsize=(8, 5))
|
81 |
plt.plot(anos, studio_total, label="Studio (Patrimônio + Renda)", marker="o")
|
82 |
plt.plot(anos, franquia, label="Franquia", marker="o")
|
@@ -102,12 +97,11 @@ def index():
|
|
102 |
buf.close()
|
103 |
plt.close()
|
104 |
|
105 |
-
#
|
106 |
df_formatado = df.copy()
|
107 |
for col in df.columns:
|
108 |
if col != "Ano":
|
109 |
df_formatado[col] = df_formatado[col].apply(formatar_brl)
|
110 |
-
|
111 |
tabela = df_formatado.to_html(index=False, classes="table table-striped table-sm", border=0)
|
112 |
|
113 |
analise_final = gerar_analise(investimentos_finais, capital)
|
@@ -151,10 +145,8 @@ def index():
|
|
151 |
comentario_extra=comentario_extra,
|
152 |
resumo=resumo
|
153 |
)
|
154 |
-
|
155 |
return render_template("index.html")
|
156 |
|
157 |
-
|
158 |
@app.route("/download_pdf", methods=["POST"])
|
159 |
def download_pdf():
|
160 |
capital_inicial = float(request.form["capital"])
|
@@ -244,7 +236,6 @@ def download_pdf():
|
|
244 |
Isso indica que ambas as estratégias podem ser consideradas, dependendo do perfil de risco e objetivos do investidor.
|
245 |
"""
|
246 |
|
247 |
-
# Explicação detalhada para o PDF
|
248 |
explicacao_detalhada = f"""
|
249 |
<h3>Explicações e Detalhes</h3>
|
250 |
<p>O investimento <strong>Studio</strong> considera dois componentes importantes: a valorização patrimonial do imóvel e a renda mensal obtida com o aluguel ou uso.</p>
|
|
|
40 |
|
41 |
anos = list(range(1, 6))
|
42 |
|
43 |
+
# Cálculos
|
44 |
patrimonio_studio = [capital * ((1 + valorizacao / 100) ** ano) for ano in anos]
|
|
|
|
|
45 |
renda_acumulada_studio = [capital * (((1 + studio_ret / 100) ** (12 * ano)) - 1) for ano in anos]
|
|
|
|
|
46 |
studio_total = [p + r for p, r in zip(patrimonio_studio, renda_acumulada_studio)]
|
47 |
|
|
|
48 |
franquia = [capital + (franquia_ret * ano) for ano in anos]
|
49 |
acoes = [capital * ((1 + acoes_ret / 100) ** ano) for ano in anos]
|
50 |
renda_fixa_valores = [capital * ((1 + renda_fixa / 100) ** ano) for ano in anos]
|
51 |
|
|
|
52 |
studio_ajustado_inflacao = [p / ((1 + inflacao / 100) ** ano) for p, ano in zip(patrimonio_studio, anos)]
|
53 |
|
54 |
dados = {
|
|
|
71 |
investimento_mais_valorizado = max(investimentos_finais, key=investimentos_finais.get)
|
72 |
valor_mais_alto = investimentos_finais[investimento_mais_valorizado]
|
73 |
|
74 |
+
# Gráfico
|
75 |
plt.figure(figsize=(8, 5))
|
76 |
plt.plot(anos, studio_total, label="Studio (Patrimônio + Renda)", marker="o")
|
77 |
plt.plot(anos, franquia, label="Franquia", marker="o")
|
|
|
97 |
buf.close()
|
98 |
plt.close()
|
99 |
|
100 |
+
# Tabela formatada
|
101 |
df_formatado = df.copy()
|
102 |
for col in df.columns:
|
103 |
if col != "Ano":
|
104 |
df_formatado[col] = df_formatado[col].apply(formatar_brl)
|
|
|
105 |
tabela = df_formatado.to_html(index=False, classes="table table-striped table-sm", border=0)
|
106 |
|
107 |
analise_final = gerar_analise(investimentos_finais, capital)
|
|
|
145 |
comentario_extra=comentario_extra,
|
146 |
resumo=resumo
|
147 |
)
|
|
|
148 |
return render_template("index.html")
|
149 |
|
|
|
150 |
@app.route("/download_pdf", methods=["POST"])
|
151 |
def download_pdf():
|
152 |
capital_inicial = float(request.form["capital"])
|
|
|
236 |
Isso indica que ambas as estratégias podem ser consideradas, dependendo do perfil de risco e objetivos do investidor.
|
237 |
"""
|
238 |
|
|
|
239 |
explicacao_detalhada = f"""
|
240 |
<h3>Explicações e Detalhes</h3>
|
241 |
<p>O investimento <strong>Studio</strong> considera dois componentes importantes: a valorização patrimonial do imóvel e a renda mensal obtida com o aluguel ou uso.</p>
|