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()