Analizador de Acciones Indias (NSE/BSE)
Produce un análisis estructurado y respaldado por datos de una o más acciones listadas en NSE/BSE utilizando únicamente búsqueda web (no hay un conector de datos de mercado en vivo disponible). La salida es un archivo JSON que otras skills/sesiones pueden reutilizar, además de un resumen legible en el chat.
Esta es una skill independiente — no depende ni llama a las skills del plugin trader-* (esas son para el mercado estadounidense, impulsadas por conectores). Es para acciones indias, impulsada por búsqueda web.
Requisitos estrictos — siempre
- No es asesoría financiera. Cada informe — tanto en línea como en el campo
disclaimerdel JSON — debe indicar que se trata de un análisis informativo basado en fuentes públicas, no una recomendación de inversión, y que el usuario debe verificar con un asesor registrado en SEBI antes de actuar. Nunca establezca una recomendación como cierta. - Primero preguntar modo. Antes de investigar, siempre pregunte al usuario que elija entre Intradía y Largo plazo usando
ask_user_input_v0, a menos que ya lo hayan indicado sin ambigüedad en su mensaje (por ejemplo, "day trade", "swing today" → intradía; "invertir por 2 años" → largo plazo). Si es ambiguo, pregunte. - Solo búsqueda web para precios, noticias, esquemas, presentaciones. Nunca invente un precio, fecha o presentación. Si no se puede encontrar un número mediante búsqueda, márquelo como
nullcon una nota, no adivine. - Prioridad de fuentes (cite lo que realmente usó en
sources_used):- Primarias/oficiales: BSE (bseindia.com), NSE (nseindia.com), comunicados de prensa del PIB/ministerios gubernamentales, SEBI, documentos del Presupuesto de la Unión
- Investigación de corredores: Groww, Zerodha Varsity/Pulse, Upstox, Angel One
- Noticias financieras principales (para "noticias actuales"): Economic Times, Moneycontrol, LiveMint, Business Standard
- Evite contenido agregador/blog de baja calidad sin firma o fuente primaria.
- Escriba el archivo JSON en
trader/stock-analysis.jsonen el directorio de trabajo (cree la carpetatrader/si no existe) en cada ejecución, luego presente un resumen legible en el chat a partir de los mismos datos. Sipresent_filesestá disponible, presente también el archivo JSON.
Flujo de trabajo
Paso 1 — Recopilar entradas
Del mensaje del usuario, extraiga:
- Acción(es): ticker o nombre(s) de empresa. Resuelva al símbolo NSE/BSE mediante búsqueda si solo se da el nombre de la empresa (por ejemplo, "Reliance" →
RELIANCENSE /500325BSE). - Presupuesto (₹), si ya se indicó en el mensaje. Si no, se recopila en el Paso 2 — siempre se pregunta el presupuesto, ya sea para una sola acción o varias, ya que la asequibilidad es uno de los cuatro componentes de la puntuación. Si el usuario se niega a darlo, proceda con el peso de asequibilidad redistribuido en los otros tres componentes, igual que antes.
Paso 2 — Preguntar modo y presupuesto
Llame a ask_user_input_v0 con hasta dos preguntas en una sola llamada:
- "¿Es para trading intradía (a un día) o inversión a largo plazo?" — opciones:
Intradía,Largo plazo - "¿Cuál es su presupuesto?" — pregunte siempre esto, incluso para una sola acción sin comparación, ya que la asequibilidad es parte de la puntuación. Omita solo si el usuario ya indicó una cifra de presupuesto en su mensaje. Omita la pregunta del modo solo si las palabras del usuario ya hacen que el modo no sea ambiguo — indique su modo inferido en la respuesta si lo omite. El presupuesto aún se pregunta (o confirma) por separado incluso cuando se omite el modo.
Paso 3 — Investigación (por acción, mediante web_search / web_fetch)
Realice búsquedas separadas por acción para cada uno de:
- Precio actual y movimiento reciente — último precio negociado, cambio % de hoy/reciente, rango de 52 semanas (sitios de corredores o noticias).
- Noticias actuales — últimas 1–4 semanas de noticias específicas de la empresa.
- Anuncios/presentaciones corporativas — anuncios de BSE/NSE: resultados, reuniones de junta, aprobaciones de gastos de capital, contratos, recaudaciones de fondos, acciones de promotores. Busque
"<empresa> anuncio BSE"/"<empresa> anuncio corporativo NSE"y obtenga la página BSE/NSE si es accesible; recurra al sitio del corredor o la cobertura de noticias de la misma presentación si el sitio de la bolsa bloquea la obtención. - Esquemas gubernamentales próximos — elegibilidad para el esquema PLI, asignaciones presupuestarias, política sectorial relevante para el sector de la empresa (busque fuentes del PIB/ministerios).
- Proyectos empresariales próximos — nuevas plantas, expansión de capacidad, planes de gastos de capital, adjudicaciones de pedidos, lanzamientos de productos — con plazos previstos si se indican.
- Opinión de analistas/corredores — precio objetivo o perspectivas de la investigación de Groww/Zerodha/Upstox/Angel One si está disponible.
Escale la profundidad de búsqueda según el número de acciones: 1 acción → exhaustiva (6–10 búsquedas); 3+ acciones → 3–5 búsquedas enfocadas cada una, priorizando la actualidad.
Horizonte de tiempo de búsqueda — vincúlelo al modo elegido en el Paso 2. Los sitios de gráficos/corredores indios comúnmente exponen el historial de precios como pestañas: 1D, 5D, 1M, 6M, YTD, 1Y, 5Y, Max. Refleje esa convención al elegir las ventanas de búsqueda:
- Intradía → use solo las ventanas
1D,5D,1M(por ejemplo,"<empresa> precio acción hoy","<empresa> precio acción 5 días","<empresa> acción octubre 2026"usando el mes/año actual real). Descarte o reste peso a cualquier cosa más antigua de ~1 mes; no es relevante para un trade intradía. Si los resultados de precios entran en conflicto o tienen fechas diferentes, prefiera el más reciente y marque explícitamente el precio como potencialmente desactualizado en lugar de presentarlo como actual (la búsqueda no tiene feed en vivo). - Largo plazo → use las ventanas restantes:
6M,YTD,1Y,5Y,Max(por ejemplo,"<empresa> rendimiento acción 1 año","<empresa> retorno 5 años","<empresa> máximo y mínimo histórico","<empresa> rendimiento YTD"). Esto revela catalizadores multianuales, volatilidad histórica y si las noticias actuales son un incidente aislado o parte de una tendencia más larga — no se base únicamente en las noticias de la última semana para una decisión a largo plazo.
Paso 4 — Puntuar cada acción (0–100)
Calcule cuatro sub-puntuaciones, cada una de 0 a 100, luego un total ponderado. Muestre sus puntuaciones de componentes, no solo afirme un número final.
| Componente | Peso | Qué mide |
|---|---|---|
| Sentimiento de noticias y momentum | 30% | Tono neto de noticias/anuncios recientes (catalizadores positivos vs. elementos negativos/de riesgo encontrados) |
| Catalizadores próximos | 30% | Esquemas/proyectos/contratos concretos, con fecha o cercanos que podrían mover la acción — más fuerte si tienen fecha y son específicos, más débil si son especulativos |
| Asequibilidad (ajuste al presupuesto) | 20% | Solo si se da el presupuesto: qué tan bien permite el presupuesto una posición significativa (acciones enteras compradas, capacidad de diversificar en la lista dada) — si no se da presupuesto, redistribuya este peso proporcionalmente en los otros tres |
| Nivel de riesgo | 20% (invertido: menor riesgo → mayor puntuación) | Volatilidad implicada por movimientos recientes de precios, riesgo sectorial/regulatorio, indicadores de apalancamiento/deuda si son visibles en las noticias |
Documente el razonamiento de cada componente brevemente (1–2 líneas) para que la puntuación no sea una caja negra.
Paso 5 — Recomendación de timing
- Modo intradía: Basado en el precio/niveles más recientes encontrados mediante búsqueda (páginas de gráficos de corredores, noticias), sugiera una zona de entrada plausible (por ejemplo, "cerca del soporte de hoy alrededor de ₹X, confirmado en una ruptura por encima de ₹Y") y una zona de salida/stop. Advierta explícitamente que los niveles intradía son sensibles al tiempo y que los datos de búsqueda pueden estar desactualizados para la apertura del mercado — recomiende al usuario confirmar los niveles en vivo en su terminal de corredor antes de actuar. NO afirme precisión en tiempo real.
- Modo largo plazo: Proporcione una estimación del período de tenencia ideal por acción (por ejemplo, "12–24 meses, vinculado al cronograma de pago del esquema PLI" o "3–5 años para que la duplicación de capacidad impulsada por gastos de capital se refleje en ganancias"), vinculada explícitamente al cronograma de catalizadores encontrado en el Paso 3 (fechas de finalización de esquemas/proyectos) en lugar de un valor predeterminado genérico.
Paso 6 — Clasificar y recomendar (varias acciones + presupuesto)
Si se dieron varias acciones con un presupuesto: clasifique por puntuación total, luego indique qué acción(es) apoya mejor el presupuesto — teniendo en cuenta el precio de la acción vs. el presupuesto (asequibilidad de acciones enteras) y si dividir el presupuesto entre las acciones mejor clasificadas para diversificación supera a concentrarlo en la de mayor puntuación única. Explique la compensación; no elija una en silencio.
Paso 7 — Salida
JSON (escribir en trader/stock-analysis.json, esquema completo en references/schema.md):
mode(intraday | long_term),budget,generated_at,disclaimerstocks[]: cada uno consymbol,exchange,last_price,price_as_of,scores(news, catalysts, affordability, risk, total),score_notes,news_summary,catalysts(arreglo con descripción + fecha esperada si se conoce),filings(arreglo),timing(entry/exit para intradía, oholding_periodpara largo plazo),sources_usedrecommendation: lista clasificada + razonamiento de asignación de presupuesto (si corresponde)
Resumen en chat: Una versión concisa y legible de lo mismo — puntuación por acción + razonamiento de 1 línea, la llamada de timing/tenencia, la recomendación de presupuesto y el descargo de responsabilidad. No vuelque el JSON sin procesar en el chat; resúmalo y mencione que el archivo se guardó si se usa present_files.
Consulte references/schema.md para los nombres exactos de los campos JSON y un ejemplo.