varianteport / app.py
Kfong's picture
Update app.py
1d49930 verified
raw
history blame
No virus
1.63 kB
import streamlit as st
import numpy as np
import matplotlib.pyplot as plt
def analizar_inversiones(lista1, lista2):
array1 = np.array(lista1)
array2 = np.array(lista2)
std_dev1 = np.std(array1)
std_dev2 = np.std(array2)
mean1 = np.mean(array1)
mean2 = np.mean(array2)
correlation = np.corrcoef(array1, array2)[0, 1]
fig, ax = plt.subplots()
ax.scatter(array1, array2)
ax.set_xlabel('Lista 1')
ax.set_ylabel('Lista 2')
ax.set_title('Investment graph')
ax.grid(True)
st.pyplot(fig)
# Decidir a cuál invertir más y a cuál menos
if mean1 > mean2:
invertir_mas = "List 1"
invertir_menos = "List 2"
else:
invertir_mas = "List 2"
invertir_menos = "List 1"
st.write("Results of the Analisis:")
st.write(f"Standar desviation of list 1: {std_dev1}")
st.write(f"Standar desviation of list 2: {std_dev2}")
st.write(f"Estimated value list 1: {mean1}")
st.write(f"Estimated value list 2: {mean2}")
st.write(f"Correlation: {correlation}")
st.write(f"Invest more in: {invertir_mas}")
st.write(f"Invest less in: {invertir_menos}")
def main():
st.title("Variance Portfolio")
st.write("Insert the values for the lists:")
# Solicitar al usuario que ingrese los valores de las listas
lista1 = [st.number_input(f"List 1 - Value {i+1}", value=0.0) for i in range(10)]
lista2 = [st.number_input(f"List 2 - Value {i+1}", value=0.0) for i in range(10)]
# Botón para realizar el análisis
if st.button("Make Analisis"):
analizar_inversiones(lista1, lista2)
if _name_ == "_main_":
main()