bhardwajaditya/trader-in-news

Monitor de notícias para ações indianas (NSE/BSE). Rastreia notícias de última hora sobre cada ação que você acompanha e sinaliza o que as movimenta: manchetes do Yahoo Finance e Google News (edição Índia), comunicados corporativos das empresas na NSE com fallback para a BSE, e a distância de cada ação do fechamento anterior em rúpias.

O que é trader-in-news?

O trader-in-news é uma skill especializada para agentes de IA (como Claude Code, Cursor, Codex) que automatiza o monitoramento de notícias e comunicados oficiais de ações listadas na NSE e BSE (Índia). Ela verifica feeds como Yahoo Finance RSS, Google News (edição Índia) e comunicados corporativos da NSE (com fallback para a BSE) para cada ativo na watchlist do usuário, portfólio ou tickers especificados. A skill retorna apenas o que é novo desde a última verificação, organizado do mais recente para o mais antigo, exibindo o horário no fuso IST e etiquetando cada item com tags como earnings, analyst, deal, capital, people, halt, regulatory, macro. Itens duplicados são suprimidos automaticamente. Além disso, mostra a distância percentual e em rúpias de cada ação em relação ao fechamento anterior. É particularmente útil para traders que acompanham o mercado indiano e precisam de um resumo rápido de notícias que possam impactar seus setups. A skill respeita regras de rate limiting e não falha se a NSE ou BSE recusar a requisição: ela registra a recusa e continua com as manchetes. Não oferece conselhos de investimento e nunca executa ordens de compra ou venda.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bhardwajaditya/day-trader-skill-india/tree/main/trader-in-news

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que trader-in-news faz?

Um gráfico pode parecer perfeito e ainda assim estar prestes a abrir com gap por causa de uma data de resultados, uma invocação de penhora do promoter ou uma renúncia surpresa do diretor-presidente. Antes que um setup se torne uma negociação, esta skill lê os feeds que carregam essas informações primeiro, para cada ação na watchlist, e informa apenas o que é novo. Ela também exibe a distância de cada ação em relação ao fechamento anterior, para que uma manchete e um movimento fiquem lado a lado.

Ferramenta nesta pasta (Python da biblioteca padrão, sem chaves, sem cadastro):

python3 "${CLAUDE_SKILL_DIR}/news.py"                              # watchlist + plan + portfolio
python3 "${CLAUDE_SKILL_DIR}/news.py" --tickers RELIANCE TCS M&M --hours 12
python3 "${CLAUDE_SKILL_DIR}/news.py" --tickers BSE:500325 HDFCBANK.NS --json
python3 "${CLAUDE_SKILL_DIR}/news.py" --no-filings --no-google     # Apenas manchetes do Yahoo

Símbolos: RELIANCE, RELIANCE.NS, NSE:RELIANCE, RELIANCE.BO, BSE:RELIANCE, 500325.BO, BSE:500325. Um símbolo puro significa NSE (ou default_exchange em trader-in/config.json). Use aspas M&M no shell.

O que ela lê e escreve

arquivo / feedo quê
--tickers, senão trader-in/watchlist.jsonos hits do scanner (trader-in-scanner)
trader-in/plan.jsona negociação que você está planejando (trader-in-exit)
trader-in/portfolio.jsono que você possui (trader-in-broker registra as execuções lá)
RSS de manchetes do Yahoo Financehttps://feeds.finance.yahoo.com/rss/2.0/headline?s=TCS.NS&region=IN&lang=en-IN. Funciona para muitos nomes da NSE, vazio para alguns (RELIANCE.NS, HDFCBANK.NS quando verificado) e frequentemente fora do assunto
Google News RSS, edição Índiahttps://news.google.com/rss/search?q=<empresa>+share&hl=en-IN&gl=IN&ceid=IN:en; o nome da empresa vem da sua watchlist, da exchange ou do gráfico do Yahoo. Títulos que não mencionam a empresa ou seu símbolo são descartados
Comunicados corporativos da NSEhttps://www.nseindia.com/api/corporate-announcements?index=equities&symbol=RELIANCE&from_date=..&to_date=.., após um aquecimento de cookie na página inicial da NSE (a página inicial responde 403 e ainda assim define o cookie; isso é normal)
Comunicados corporativos da BSE (fallback)https://api.bseindia.com/BseIndiaAPI/api/AnnSubCategoryGetData/w?...&strScrip=500325, usada quando a NSE recusa ou para um código de ação da BSE. O código da ação vem de 500325.BO, bse_codes em trader-in/config.json ({"RELIANCE": "500325"}), ou da pesquisa da BSE
Endpoint de gráfico do Yahoo Financeo último preço em relação ao fechamento anterior, em ₹ (não oficial; pode atrasar; o Yahoo não tem gráfico para códigos numéricos da BSE, use RELIANCE.BO)
trader-in/state/news.jsono que já foi exibido (mantido por 30 dias) e os códigos de ação da BSE que encontrou

NSE e BSE estão atrás da Akamai e podem recusar uma máquina (HTTP 401/403/429, ou uma página "Access Denied"). A ferramenta nunca falha por causa disso: ela anota NSE refused ... falling back to BSE, depois exchange filings skipped for X (...); headlines still run se a BSE também recusar. Informe isso no resumo ("nenhum comunicado da exchange pôde ser lido nesta verificação") e aponte o usuário para a página da empresa em nseindia.com / bseindia.com. Na máquina onde foi construída, a NSE respondeu e a BSE recusou.

As regras

  • Manchetes são pistas, não fatos. Antes de informar ao usuário que algo aconteceu, abra a matéria ou o PDF do comunicado e leia-o. Cite a fonte e forneça o link. Nunca resuma uma história atrás de paywall que você não pôde ler: diga isso.
  • Comunicados vencem manchetes. Se um comunicado da exchange e uma manchete discordarem, o comunicado é o que a empresa informou à NSE/BSE sob as regras LODR da SEBI.
  • Diga o que ele toca. Cada item lista os símbolos que toca e suas tags: earnings, analyst, legal, deal, capital, people, risk, halt, regulatory, macro. Comunicados marcados com ! são os que movimentam ações: resultados financeiros, resultado de reunião do conselho, recompra, captação (QIP, preferential, rights), bônus ou desdobramento, aquisição, fusão ou esquema societário, renúncia (acima de tudo de MD, CEO, CFO ou auditor), invocação de penhora, rebaixamento de rating de crédito, inadimplência ou insolvência, suspensão de negociação. Comunicados "General Updates" e "Press Release" são lidos pelo seu texto (uma mudança de MD e CEO registrada como "General Updates" ainda recebe !).
  • Comunicados rotineiros são ocultados (certificados de ações perdidas, cópias de jornais, certificados Reg. 74(5)); a saída os conta e --routine os exibe.
  • MOVING marca uma ação com 3% ou mais de distância do fechamento anterior (--move-pct). Um movimento sem manchete também vale a pena ser mencionado em voz alta. Lembre-se dos limites de preço da NSE: uma ação presa em seu circuito superior ou inferior não pode ser negociada.
  • O Google News faz correspondência por nome, então um homônimo pode aparecer (uma história do Kotak Mahindra Bank sob M&M). Leia o título antes de repeti-lo.
  • Sem previsões. Relate o que foi publicado e a que distância o preço está do fechamento anterior. Nunca diga o que a ação fará em seguida.

Passos

  1. Execute a verificação: python3 "${CLAUDE_SKILL_DIR}/news.py". Código de saída 1 significa nada de novo. --all mostra itens já vistos, --json fornece tudo legível por máquina (horários em UTC mais time_ist), --dry-run deixa o estado inalterado.
  2. Leia os itens importantes: todo comunicado !, qualquer item com tag earnings, halt, legal, regulatory ou risk, e todo símbolo MOVING primeiro. Abra o PDF do comunicado para qualquer item !.
  3. Escreva um breve resumo, por símbolo: o que aconteceu, a fonte e o link, o movimento em ₹ e %, e uma linha sobre por que isso importa para o setup (por exemplo "o conselho se reúne em 5 de novembro para aprovar resultados: um gap ali pode pular qualquer stop, então isso permanece uma negociação intraday").
  4. Se uma história mudar o cenário, informe antes de /trader-in-entry e /trader-in-exit: uma data de resultados dentro da negociação, um circuito, uma invocação de penhora, uma captação. Nunca aja apenas com base em uma manchete.

Durante a sessão: /loop 15m /trader-in-news, ou uma tarefa agendada a cada manhã antes da abertura às 09:15 IST (pré-abertura é das 09:00 às 09:08).

Exemplo

Terça-feira, 2026-10-27, verificado às 15:45 IST com --tickers RELIANCE TCS HDFCBANK:

RELIANCE.NS   ₹1.196,20 -0,47% vs fechamento anterior ₹1.201,80 às 15:28 IST
TCS.NS        ₹2.496,90 -1,50% vs fechamento anterior ₹2.535,00 às 15:28 IST

  2026-10-27 13:56 IST  RELIANCE.NS   Google News   IPO da Jio atrai INR 7,4 trilhões enquanto ação da Reliance Industries aguarda estreia
      via ad-hoc-news.de  tags: capital  https://news.google.com/rss/articles/...
! 2026-10-27 08:02 IST  HDFCBANK.NS   NSE           General Updates: Reg. 30 disclosure: Mudança no Diretor-Presidente e CEO do Banco
      tags: people  https://nsearchives.nseindia.com/corporate/HDFCBANK_27102026080232_SEIntimation_appt_of_AB.pdf

O resumo: "O HDFC Bank informou à NSE às 08:02 IST que seu MD & CEO está mudando. Abra o PDF antes de negociá-lo hoje. Reliance: o IPO da Jio Platforms será listado amanhã, então espere movimentos em todo o grupo. A TCS caiu 1,5% sem nenhum comunicado da empresa; o setor de TI caiu no dia." Se um símbolo não tiver notícias, diga isso em vez de encher o resumo.

O que ela nunca faz

  • Nunca inventa ou embeleza uma história, uma citação ou um número.
  • Nunca negocia com base em notícias e nunca diz ao usuário para comprar ou vender por causa de uma manchete.
  • Nunca sobrecarrega um servidor: uma requisição por feed por símbolo, uma pausa entre chamadas, um aquecimento da página inicial da NSE por execução e, assim que a NSE ou BSE recusa, ela para de perguntar para aquela exchange pelo resto da execução.

Segurança

Educação e ferramentas, não aconselhamento de investimento. Para aconselhamento, consulte um assessor de investimentos registrado na SEBI. Esta skill apenas lê e relata. Nada coloca uma ordem, exceto /trader-in-broker (papel por padrão: um razão simulado local), depois que /trader-in-risk é aprovado e o usuário digita um sim explícito para aquela ordem.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

bhardwajaditya/trader-in-alerts

Price Alerts for Indian stocks (NSE, BSE). Rings when a price, a stop or the opening bell hits. Turns the trade plan into three alerts in one go (the stop, the target and "flat by" at your flat-by time, 15:10 IST by default, before brokers square off MIS at about 15:20), plus above / below / stop / target levels in rupees, percent moves from the previous close for stocks and for Nifty, Bank Nifty or Sensex, any time of day, the 09:15 IST opening bell and the 09:00 pre-open, each ringing once so you are not spammed. Reminds you that the stop and target are separate orders at Zerodha, Upstox and other Indian brokers (no OCO for MIS): when one fills, cancel the other. Knows NSE hours in IST with the 2026 NSE holidays, the Budget-day and Muhurat special sessions, fetches free delayed Yahoo quotes for .NS / .BO tickers one at a time, and writes trader-in/prices.json (INR) for sizing and the risk check. Use when the user says "alert me when", "tell me if Reliance hits 1,200", "watch my stop", "watch my trade",…

bhardwajaditya/trader-in-broker

Order Executor for Indian stocks (NSE, BSE). Turns orders that passed /trader-in-risk into plain tickets for Zerodha Kite (default) or Upstox, and never sends anything without your yes. Indian brokers dropped bracket orders, so one trade becomes three orders: the buy, then a SL-M stop and a LIMIT target. The ticket warns that those two are NOT linked (no OCO). Shows the exact JSON for Kite's place_order MCP tool or the Upstox place-order body (ISIN instrument_token), the estimated costs (brokerage, STT, stamp duty, GST) and the max loss at the stop including costs, in ₹. Paper by default: a local simulated ledger with realised P&L after costs, because Indian brokers have no paper account. Live needs "paper": false, your yes typed word for word, then Claude's own Allow once card. Builds the sell that closes an MIS trade by 15:10 IST, before the broker's ~15:20 auto square-off. Covers connecting the Kite MCP server (tokens never in chat). Use when the user says "place the order", "buy it", "execute", "send…

Habilidades Relacionadas