CommunityProgramación y desarrollogithub.com

Indian Stock Analyzer

Analiza acciones listadas en NSE/BSE mediante búsqueda web: noticias actuales, esquemas gubernamentales (PLI, asignaciones presupuestarias), proyectos/gastos de capital de empresas y anuncios corporativos de BSE/NSE. Luego puntúa y clasifica acciones, recomienda momentos de entrada/salida (intradía) o período de tenencia ideal (largo plazo), y selecciona las mejores acciones para un presupuesto dado. Se activa cada vez que el usuario pregunte sobre acciones indias, tickers NSE o BSE, '¿debería comprar X?', comparar varias acciones indias con un presupuesto, momentos de entrada/salida para acciones indias, o mencione trading/inversión en acciones indias, incluso si no pide explícitamente un 'informe' o 'análisis'. Siempre activar para solicitudes que nombren tickers o empresas indias junto a palabras como comprar, invertir, presupuesto, comparar, entrada, salida o mantener.

¿Qué es Indian Stock Analyzer?

Esta skill es un analizador independiente de acciones indias listadas en la Bolsa Nacional de India (NSE) y la Bolsa de Valores de Bombay (BSE). Funciona exclusivamente mediante búsqueda web, sin necesidad de conectores de datos de mercado en vivo, lo que la hace ideal para análisis fundamentales y de noticias. Su utilidad principal es ayudar a inversores y traders a evaluar acciones indias puntuándolas en una escala de 0 a 100 basada en cuatro componentes: sentimiento de noticias (30%), catalizadores próximos (30%), asequibilidad (20%) y nivel de riesgo (20%). Soporta dos modos de análisis: intradía (para trading diario) y largo plazo (para inversión), ajustando la profundidad de búsqueda y los horizontes temporales en consecuencia. La skill investiga precios actuales, anuncios corporativos, esquemas gubernamentales como el PLI, y vistas de analistas, generando un archivo JSON estructurado y un resumen legible en el chat. Incluye advertencias claras de que no es asesoría financiera y recomienda verificar con un asesor registrado en SEBI antes de actuar.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/QUANT-COD-EX/Indian-stock-analyzer/tree/HEAD

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

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

  1. No es asesoría financiera. Cada informe — tanto en línea como en el campo disclaimer del 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.
  2. 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.
  3. 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 null con una nota, no adivine.
  4. 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.
  5. Escriba el archivo JSON en trader/stock-analysis.json en el directorio de trabajo (cree la carpeta trader/ si no existe) en cada ejecución, luego presente un resumen legible en el chat a partir de los mismos datos. Si present_files está 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" → RELIANCE NSE / 500325 BSE).
  • 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:

  1. Precio actual y movimiento reciente — último precio negociado, cambio % de hoy/reciente, rango de 52 semanas (sitios de corredores o noticias).
  2. Noticias actuales — últimas 1–4 semanas de noticias específicas de la empresa.
  3. 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.
  4. 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).
  5. 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.
  6. 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.

ComponentePesoQué mide
Sentimiento de noticias y momentum30%Tono neto de noticias/anuncios recientes (catalizadores positivos vs. elementos negativos/de riesgo encontrados)
Catalizadores próximos30%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 riesgo20% (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, disclaimer
  • stocks[]: cada uno con symbol, 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, o holding_period para largo plazo), sources_used
  • recommendation: 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.

Skills relacionados