Spaces:
Sleeping
Sleeping
Commit
•
29b7b1b
1
Parent(s):
1b93bee
Update app.py
Browse files
app.py
CHANGED
@@ -1,8 +1,11 @@
|
|
1 |
-
from
|
2 |
import numpy as np
|
3 |
|
4 |
-
|
|
|
5 |
def analizar_inversion(proyectos, pesos, tasas_retorno):
|
|
|
|
|
6 |
correlacion = np.corrcoef(pesos, tasas_retorno)[0, 1]
|
7 |
desviacion_pesos = np.std(pesos)
|
8 |
desviacion_retorno = np.std(tasas_retorno)
|
@@ -17,12 +20,44 @@ def analizar_inversion(proyectos, pesos, tasas_retorno):
|
|
17 |
"proyecto_min": proyecto_min
|
18 |
}
|
19 |
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
25 |
resultado = analizar_inversion(proyectos, pesos, tasas_retorno)
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
-
app.run()
|
|
|
1 |
+
from flask import Flask, request, jsonify
|
2 |
import numpy as np
|
3 |
|
4 |
+
app = Flask(__name__)
|
5 |
+
|
6 |
def analizar_inversion(proyectos, pesos, tasas_retorno):
|
7 |
+
# Aquí iría tu función de análisis de inversión
|
8 |
+
# Por ejemplo:
|
9 |
correlacion = np.corrcoef(pesos, tasas_retorno)[0, 1]
|
10 |
desviacion_pesos = np.std(pesos)
|
11 |
desviacion_retorno = np.std(tasas_retorno)
|
|
|
20 |
"proyecto_min": proyecto_min
|
21 |
}
|
22 |
|
23 |
+
@app.route("/analizar-inversion", methods=["POST"])
|
24 |
+
def analizar_inversion_endpoint():
|
25 |
+
data = request.json
|
26 |
+
proyectos = data["proyectos"]
|
27 |
+
pesos = data["pesos"]
|
28 |
+
tasas_retorno = data["tasas_retorno"]
|
29 |
+
|
30 |
resultado = analizar_inversion(proyectos, pesos, tasas_retorno)
|
31 |
+
|
32 |
+
return jsonify(resultado)
|
33 |
+
|
34 |
+
if __name__ == "__main__":
|
35 |
+
app.run(debug=True)
|
36 |
+
import streamlit as st
|
37 |
+
import requests
|
38 |
+
|
39 |
+
def analizar_inversion_api(proyectos, pesos, tasas_retorno):
|
40 |
+
url = "http://localhost:5000/analizar-inversion"
|
41 |
+
data = {"proyectos": proyectos, "pesos": pesos, "tasas_retorno": tasas_retorno}
|
42 |
+
response = requests.post(url, json=data)
|
43 |
+
return response.json()
|
44 |
+
|
45 |
+
st.title("Análisis de Inversión")
|
46 |
+
|
47 |
+
proyectos = st.text_input("Proyectos (separados por comas)")
|
48 |
+
pesos = st.text_input("Pesos (separados por comas)")
|
49 |
+
tasas_retorno = st.text_input("Tasas de Retorno (separadas por comas)")
|
50 |
+
|
51 |
+
if st.button("Analizar"):
|
52 |
+
proyectos = proyectos.split(",")
|
53 |
+
pesos = [float(p) for p in pesos.split(",")]
|
54 |
+
tasas_retorno = [float(r) for r in tasas_retorno.split(",")]
|
55 |
+
|
56 |
+
resultado = analizar_inversion_api(proyectos, pesos, tasas_retorno)
|
57 |
+
|
58 |
+
st.write("Correlación entre pesos de inversión y tasas de retorno:", resultado["correlacion"])
|
59 |
+
st.write("Desviación estándar de los pesos de inversión:", resultado["desviacion_pesos"])
|
60 |
+
st.write("Desviación estándar de las tasas de retorno:", resultado["desviacion_retorno"])
|
61 |
+
st.write("Proyecto con mayor tasa de retorno:", resultado["proyecto_max"])
|
62 |
+
st.write("Proyecto con menor tasa de retorno:", resultado["proyecto_min"])
|
63 |
|
|