▸ Analista Financiero
deploy: 2026-04-20 16:54 UTC
📋 Historial
+ Nueva
[[ themeIcon ]]
💰 Vender [[ sellModal.symbol ]]
Cancelar
[[ sellModal.confirming ? 'Vendiendo...' : 'Confirmar venta' ]]
🔮 Simular compra
✕
[[ whatifModal.calcLoading ? 'Calculando...' : 'Calcular' ]]
[[ 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
[[ p.l ]]
🤖 Consultar con Claude
📋 Historial de chats
✕
+ Nueva conversación
Sin conversaciones guardadas.
[[ c.title ]]
[[ fmtChatDate(c.ts) ]] · [[ c.msgs.length ]] mensajes
✕
[[ chartModal.symbol ]]
[[ p.l ]]
✕
[[ msg.role==='user'?'Tú':'IA' ]]
[[ msg.role==='user'?'Tú':'Analista' ]]
"[[ s ]]"
➤
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) ]]
Distribución
Rendimiento
🔮 Simular
Sin datos
[[ p.l ]]
Sin posiciones. Añade la primera abajo.
[[ p.symbol ]]
[[ 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
Vender
✕
📅 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) ]]
+ Añadir posición
⌄
[[ s.symbol ]]
[[ s.name ]]
[[ s.type ]]
Buscando…
✓ [[ portSymVal.name ]]
✗ No encontrado
Añadir a cartera
🖶 Imprimir informe
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 ]]
Buscando…
✓ [[ wlVal.name ]] · $[[ wlVal.price ]]
✗ No encontrado
Añadir
[[ sym==='ALL'?'Todos':sym ]]
Sin noticias.
[[ it.symbol ]]
[[ it.title ]]
[[ it.publisher ]][[ it.time?' · '+timeAgo(it.time)+' ago':'' ]]
🤖 Análisis diario
[[ analysisLoading?'Analizando...':'Actualizar' ]]
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':'' ]]
💬 Consultar con Claude
[[ notifBtnText ]]
🔍 Verificar alertas ahora
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:'' ]]
✕
+ Nueva alerta
⌄
[[ s.symbol ]]
[[ s.name ]]
[[ s.type ]]
Buscando…
✓ [[ alertSymVal.name ]] · $[[ alertSymVal.price ]]
✗ No encontrado
Por encima de
Por debajo de
Crear alerta
[[ tab.label ]]
[[ toastMsg ]]