VicMata commited on
Commit
e1e8259
·
verified ·
1 Parent(s): 232a8d8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -7
app.py CHANGED
@@ -66,14 +66,14 @@ if st.button("Identificar Tickers") and empresa_input:
66
  if len(tickers_detectados) >= 2:
67
  st.session_state["tickers"] = tickers_detectados
68
  for ticker in tickers_detectados:
69
- st.session_state[f"weight_{ticker}"] = round(100 / len(tickers_detectados), 2)
70
  else:
71
  st.warning("Se requieren al menos dos tickers válidos.")
72
 
73
  if "tickers" in st.session_state:
74
  tickers = st.session_state["tickers"]
75
  st.success(f"Tickers detectados: {', '.join(tickers)}")
76
- st.subheader("Asignar pesos a cada activo (la suma debe ser 100%)")
77
 
78
  cols = st.columns(len(tickers))
79
  total_weight = 0
@@ -83,7 +83,7 @@ if "tickers" in st.session_state:
83
  with cols[i]:
84
  key = f"weight_{ticker}"
85
  if key not in st.session_state:
86
- st.session_state[key] = round(100 / len(tickers), 2)
87
 
88
  weight = st.number_input(
89
  f"{ticker} (%)",
@@ -91,15 +91,14 @@ if "tickers" in st.session_state:
91
  max_value=100.0,
92
  value=st.session_state[key],
93
  key=key,
94
- step=0.1,
95
- format="%.2f"
96
  )
97
  weight_inputs.append(weight)
98
  total_weight += weight
99
 
100
- st.markdown(f"**Suma actual:** {total_weight:.2f}%")
101
 
102
- # ✅ Validación estricta
103
  if abs(total_weight - 100.0) > 0.01:
104
  st.warning("⚠️ La suma de los pesos debe ser exactamente 100% para continuar.")
105
  else:
 
66
  if len(tickers_detectados) >= 2:
67
  st.session_state["tickers"] = tickers_detectados
68
  for ticker in tickers_detectados:
69
+ st.session_state[f"weight_{ticker}"] = round(100 / len(tickers_detectados), 0)
70
  else:
71
  st.warning("Se requieren al menos dos tickers válidos.")
72
 
73
  if "tickers" in st.session_state:
74
  tickers = st.session_state["tickers"]
75
  st.success(f"Tickers detectados: {', '.join(tickers)}")
76
+ st.subheader("Asignar pesos a cada activo (múltiplos de 5%)")
77
 
78
  cols = st.columns(len(tickers))
79
  total_weight = 0
 
83
  with cols[i]:
84
  key = f"weight_{ticker}"
85
  if key not in st.session_state:
86
+ st.session_state[key] = round(100 / len(tickers), 0)
87
 
88
  weight = st.number_input(
89
  f"{ticker} (%)",
 
91
  max_value=100.0,
92
  value=st.session_state[key],
93
  key=key,
94
+ step=5.0,
95
+ format="%.0f"
96
  )
97
  weight_inputs.append(weight)
98
  total_weight += weight
99
 
100
+ st.markdown(f"**Suma actual:** {total_weight:.0f}%")
101
 
 
102
  if abs(total_weight - 100.0) > 0.01:
103
  st.warning("⚠️ La suma de los pesos debe ser exactamente 100% para continuar.")
104
  else: