deploy: 2026-04-20 16:54 UTC

💰 Vender [[ sellModal.symbol ]]

🔮 Simular compra
[[ whatifModal.name ]]
Coste
[[ fmtM(whatifModal.metrics.cost) ]]
% Cartera
[[ whatifModal.metrics.allocPct.toFixed(1) ]]%
Retorno [[ wfPeriodLabel ]]
[[ whatifModal.metrics.histRet != null ? fmtP(whatifModal.metrics.histRet) : '—' ]]
Distribución & rendimiento
📋 Historial de chats
Sin conversaciones guardadas.
[[ c.title ]]
[[ fmtChatDate(c.ts) ]] · [[ c.msgs.length ]] mensajes
Valor mercado
[[ fmtM(portfolio.total_value) ]]
Coste total
[[ fmtM(portfolio.total_cost) ]]
P&L no realizado
[[ fmtM(portfolio.total_pnl) ]]
Rentabilidad
[[ fmtP(portfolio.total_pnl_pct) ]]
Sin datos
Sin posiciones. Añade la primera abajo.
[[ p.shares ]] acc @ [[ fmtM(p.purchase_price) ]]
[[ p.sector||'' ]]
[[ fmtM(p.current_value) ]]
[[ fmtM(p.pnl) ]] ([[ fmtP(p.pnl_pct) ]])
[[ fmtM(p.current_price) ]]/acc
📅 Próximos resultados
Sin próximos resultados.
[[ e.symbol ]]
[[ fmtEarnDate(e.date) ]]
[[ e.days_until===0?'¡Hoy!':e.days_until===1?'Mañana':'en '+e.days_until+' días' ]]
EPS ~$[[ e.eps_avg.toFixed(2) ]]
💰 Transacciones [[ txOpen?'▲':'▼' ]]
Sin transacciones.
[[ tx.type==='buy'?'COMPRA':'VENTA' ]] [[ tx.symbol ]]
[[ tx.shares ]] acc @ [[ fmtM(tx.price) ]]
[[ fmtTxDate(tx.ts) ]] · Total [[ fmtM(tx.total) ]]
[[ fmtM(tx.realized_pnl) ]]
[[ s.symbol ]][[ s.name ]][[ s.type ]]
Sin tickers. Añade uno abajo.
[[ item.symbol ]]
[[ item.name||'' ]]
[[ item.price!=null?fmtM(item.price):'—' ]]
[[ fmtP(item.change_pct) ]]
[[ s.symbol ]][[ s.name ]][[ s.type ]]
🤖 Análisis diario
Analizando cartera...
✓ Sin señales preocupantes.
[[ {drop:'📉',gain:'📈',earnings:'📅'}[s.type]||'⚠️' ]]
[[ s.symbol ]] — [[ s.message ]]
[[ s.type==='drop'||s.type==='gain'?'Precio: $'+s.current_price:s.type==='earnings'?'Próximos resultados':'' ]]
Sin alertas. Crea una abajo.
[[ a.symbol ]]
[[ a.direction==='above'?'por encima de':'por debajo de' ]] $[[ a.threshold ]][[ a.triggered?' — disparada a $'+a.triggered_price:'' ]]
[[ s.symbol ]][[ s.name ]][[ s.type ]]
[[ toastMsg ]]