Trader Hybride NSE/BSE
Un module de renseignement et d'exécution de trading découplé pour les actions et produits dérivés indiens. L'LLM effectue
un raisonnement technique probabiliste et d'analyse de structure de marché (synthèse nse-trading-skills), tandis que des scripts Python déterministes
imposent le dimensionnement en INR, le courtage précis par courtier, les calculs de taxes statutaires indiennes, la simulation Monte Carlo sur 10 000 chemins
et le contrôle d'exécution papier/réel multi-courtiers (architecture day-trader-skill).
Courtiers Indiens Pris en Charge
Sélectionnez un courtier via --broker <nom> (ou définissez "default_broker" dans
trading_rules.json) :
angel_one— Angel One SmartAPI (--broker angel_one, par défaut)zerodha— Zerodha Kite Connect v3 (--broker zerodha/ aliaskite)upstox— Upstox API v3 (--broker upstox)dhan— DhanHQ API v2 (--broker dhan)fyers— Fyers API v3 (--broker fyers)groww— Groww Trading API v1 (--broker groww)kotak_neo— Kotak Neo Trade API (--broker kotak_neo/ aliaskotak)icici_breeze— ICICI Direct Breeze API v1 (--broker icici_breeze/ aliasbreeze)shoonya— Finvasia Shoonya Noren API (--broker shoonya/ aliasfinvasia)
Inspectez les profils de frais, les endpoints et les clés .env requises à tout moment avec :
python .agents/skills/nse-bse-hybrid-trader/scripts/broker_bridge.py brokers
Configuration & Références
- Valeurs par défaut, profils de frais des courtiers et barème fiscal : trading_rules.json
- Calendrier des jours fériés NSE/BSE : nse_holidays.json
- Cadres techniques (3-Screen MTF, Confluence 0-6, Divergence RSI, Fibonacci, Trailing Hybride) : technical_frameworks.md
- Règles réglementaires indiennes et matrice API/produits multi-courtiers : indian_market_rules.md
Pipeline Opérationnel en 5 Étapes Clés
Ne reposez jamais sur un calcul mental pour le dimensionnement des positions, la charge fiscale ou l'estimation de probabilité. Exécutez cette séquence depuis
.agents/skills/nse-bse-hybrid-trader/ (ou passez les chemins des scripts depuis la racine de l'espace de travail) :
Étape 1 & 2 : Structure du Marché Indien & Confluence Multi-Timeframes
Exécutez nse_data_loader.py pour récupérer les données en direct NSE/BSE 5m, 1d et 1wk et calculer les EMA
20/50/200, PDH/PDL/PDC, Plage d'Ouverture 15m (ORH/ORL), VWAP Intraday Ancrée, RSI(14) + divergences, MACD, ADX,
Bandes de Bollinger, ATR(14), retracements/extensions Fibonacci, RVOL, et un Score de Confluence de 0 à 6 :
python .agents/skills/nse-bse-hybrid-trader/scripts/nse_data_loader.py --symbol "<TICKER>" --json
Appliquez les garde-fous dans indian_market_rules.md et les cadres dans technical_frameworks.md :
- Horaire IST : Observer uniquement pendant
09:00-09:15(pré-ouverture) et09:15-09:30(Plage d'Ouverture). L'exécution intraday principale s'effectue09:30-14:30 IST. Bloquez les nouvelles entrées intraday après14:30 IST; liquidez les positions intraday ouvertes avant15:10 IST. - Vérifications Réglementaires : Vérifiez les bandes de circuit (
2%/5%/10%/20%), le statut SEBIASM/GSM, l'étatBannière F&ONSE (MWPL >95%), et le risque pin/gamma du jour d'expiration. Passez--fno-ban,--asm-gsm,--circuit-bandou--delivery-pctlorsque connu. - Coordonnées : Établissez une
entréeconcrète, unstop_lossstructurel (invalidation + tampon ATR, arrondi aux ticks deRs. 0,05), unecible_1(>= 1,5 R:R net) et unecible_2. Ignorez les configurations avec un score de confluence <3/6.
Étape 3 : Machine à Voyager dans le Temps Intraday / Swing (nse_timemachine.py)
Testez les coordonnées de trading contre 10 000 chemins bootstrapés tirés des sessions intraday 5m des 60 derniers jours du ticker (tronqués strictement à
15:15 IST, vérification stop-avant conservatrice, glissement de 1 tick) ou un pool quotidien de 2 ans (--mode SWING),
plus une relecture historique du ORB 15m (passez --broker <COURTIER> pour la charge de frais spécifique au courtier) :
python .agents/skills/nse-bse-hybrid-trader/scripts/nse_timemachine.py --symbol "<TICKER>.NS" --entry <ENTRÉE> --stop <STOP> --target <CIBLE_1> --mode <INTRADAY|SWING> --broker <COURTIER> --write --json
- Condition de Validation : Exiger une Espérance positive ajustée des taxes (
avg_net_r > 0) ainsi que le dépassement du seuil de probabilité actif dans trading_rules.json :r_breakeven(par défaut) :target_first_resolved_pct >= (1 + tax_drag_r) / (1 + R)— marge réaliste ajustée au R après les charges indiennes.strict_55(remplacement via--gate-mode strict_55) :target_first_resolved_pct >= 55%— filtre ultra-sélectif à haut taux de réussite.- Les deux seuils sont toujours rapportés ; si la porte active renvoie
NO-TRADE, rétrogradez immédiatement la configuration.
Étape 4 : Porte de Risque Déterministe, Frais de Courtier & Taxes (indian_risk_gate.py)
Calculez la taille exacte en INR des actions/lots, les frais de courtage spécifiques au courtier (par exemple, frais de livraison zéro pour Zerodha/Dhan/Shoonya contre Rs. 10/ordre pour Kotak Neo contre plans en pourcentage/plafonnés pour Angel One/Groww/ICICI Breeze), les charges statutaires (taux STT 2026, Frais de Transaction NSE, Frais SEBI, Droit de Timbre, Frais de Dépositaire, GST 18%), et vérifiez tous les coupe-circuits durs :
python .agents/skills/nse-bse-hybrid-trader/scripts/indian_risk_gate.py --broker <COURTIER> --symbol "<TICKER>" --capital <CAPITAL_INR> --risk-pct <PCT_RISQUE> --entry <ENTRÉE> --stop <STOP> --target <CIBLE_1> --segment <EQ_INTRADAY|EQ_DELIVERY|FNO_FUT|FNO_OPT> --timemachine-json .agents/skills/nse-bse-hybrid-trader/state/timemachine_result.json --write --json
- Coupe-circuits durs : Risque max/transaction
1,0%par défaut (2,0%plafond dur), dimensionnement incluant les taxes, R:R net min>= 1,5, perte quotidienne max3,0%(vérifiée automatiquement contre le registre papier SQLite), arrondi exact à l'action entière / lot F&O, verrouillage de la fenêtre IST, et vérifications des circuits/ban. - Ne jamais outrepasser un verdict
BLOQUÉ.
Étape 5 : Préparation d'Ordres Multi-Courtiers & Envoi Papier/Réel (broker_bridge.py)
Uniquement après que les Étapes 3 et 4 aient renvoyé RÉUSSI :
-
(Optionnel, une fois par jour par courtier) Synchroniser le master des instruments vers SQLite local (recherche symbole/token/taille de lot
<2ms— prend en charge.json,.json.gzet.csv) :python .agents/skills/nse-bse-hybrid-trader/scripts/broker_bridge.py sync-scrip --broker <COURTIER>(Passez
--offline <chemin>pour des masters CSV ou JSON personnalisés/exportés, par ex. Kotak Neo / ICICI Breeze / Shoonya.) -
Registre Papier (Par Défaut) : Préparer avec empreinte de risque vérifiée, payload natif du courtier, et glissement de tick simulé de
Rs. 0,05:python .agents/skills/nse-bse-hybrid-trader/scripts/broker_bridge.py stage --broker <COURTIER> --symbol "<TICKER>" --segment <SEGMENT> --entry <ENTRÉE> --stop <STOP> --target <CIBLE_1> --risk-json .agents/skills/nse-bse-hybrid-trader/state/risk_verdict.json --paper -
Envoi Multi-Courtiers Réel (
--live) : Nécessite une fenêtre d'exécution IST ouverte, token résolu (pourangel_one,upstox,dhanou tout contrat F&O), identifiants du courtier dans.env(vérifiez la sous-commandebrokers), et confirmation explicite en passant--live --confirm "CONFIRMER LIVE".- smartapi_bridge.py reste un alias complet rétrocompatible par défaut vers
angel_one.
- smartapi_bridge.py reste un alias complet rétrocompatible par défaut vers
Format de Sortie Requis
Présentez toujours les analyses finales de trading dans cette structure en 4 blocs :
- Contexte Marché & Réglementaire : Ticker, Courtier, Segment, Phase IST, Statut Circuit/ASM/Bannière F&O, Biais HTF, Notes RVOL & % de livraison.
- Matrice de Configuration Technique : Entrée, Stop-Loss, Cible 1, Cible 2 (alignés au tick de Rs. 0,05), Score de Confluence (
X/6), et déclencheurs exacts (VWAP, ORH/ORL 15m, poche Fib, Divergence RSI, PDH/PDL). - Machine à Voyager dans le Temps & Porte de Risque Ajustée des Taxes : Taille de Position (Actions/Lots), Marge Requise, Frais de Courtier +
Charges Statutaires & Seuil de Rentabilité (INR), R:R Net après Taxes, % de Première Cible Monte Carlo & EV Net, et Verdict de la Porte (
RÉUSSI/BLOQUÉ). - Ticket d'Exécution Actionnable : Commande CLI
broker_bridge.pyprête à exécuter et payload JSON/format natif du courtier.
Ce qu'Elle Ne Fait Jamais
- Ne passe jamais un ordre réel automatiquement ou à partir d'une exécution planifiée/en arrière-plan (
--paperest toujours la valeur par défaut). - N'outrepasse jamais un verdict
BLOQUÉd'indian_risk_gate.pyou un verdictNO-TRADEdense_timemachine.py. - Ne demande, ne stocke et n'affiche jamais les clés API, MPIN ou secrets TOTP des courtiers dans le chat (les clés restent dans le fichier local
.env). - Ne repose jamais sur un calcul mental pour le dimensionnement des positions en INR, les taxes statutaires ou l'estimation du taux de réussite.
- Ne traite jamais une simulation historique de la Machine à Voyager dans le Temps ou un niveau de stop-loss comme un ordre garanti ou une prédiction.
Sécurité, Revue de Code & Avertissement sur les Risques
- Tradez à vos propres risques — l'auteur n'est pas responsable : Outil éducatif et d'automatisation uniquement, PAS un conseil en investissement, financier ou fiscal enregistré auprès du SEBI. Vous assumez 100% de la responsabilité pour tout trade, bug, erreur API, glissement, gel de circuit ou perte financière.
- Révisez chaque fichier avant exécution : Inspectez
config/trading_rules.json(taux de courtage/STT/GST),config/nse_holidays.json(jours fériés de la bourse) etscripts/broker_bridge.pyavant l'exécution en réel. Notez que_strip_attached_fields()supprimeattached_stoploss_triggeretattached_target_pricesur les ordres réels non-ROBO/non-BO, donc les traders utilisant des modes d'ordre sans bracket doivent placer et vérifier des ordres stop-loss/cible/GTT séparés sur leur terminal de courtier. - Avertissement sur les données non officielles : Les bougies en direct intégrées utilisent le endpoint gratuit non officiel de Yahoo Finance (5m/1d/1wk), qui peut avoir du retard, limiter le débit ou manquer des actions corporatives. Vérifiez les cotations en direct directement avec votre courtier avant d'agir.