Disclaimer: Open-source educational and workflow-automation software only (MIT License). **Not SEBI-registered investment, financial, or tax advice.

** Most day traders lose money. You trade strictly at your own risk — review every line of code before running anything, and keep --paper mode on while testing.

If you ask an AI coding assistant to evaluate an NSE intraday stock setup, it can inspect moving averages, Opening Range levels, and RSI divergences remarkably well.

Ask that same model to calculate your share quantity after 2026 Securities Transaction Tax (STT), NSE turnover charges, Stamp Duty, GST, and Rs. 0.05 tick rounding — and things break fast.

That gap is why I built indian-day-trader-skill (nse-bse-hybrid-trader), taking inspiration from two MIT-licensed open-source repositories:

The Architecture: AI Reasoning vs. Deterministic Math

Instead of mixing prompts and financial arithmetic, the skill splits the workflow across a strict 4-stage pipeline running purely on Python 3.10+ standard library (0 mandatory pip runtime dependencies):

nse_data_loader.py --> nse_timemachine.py --> indian_risk_gate.py --> broker_bridge.py (MTF + Confluence) (10k Monte Carlo + (INR Sizing + Taxes (SQLite Paper Ledger 15m ORB Backtest) + Circuit Breakers or Gated Live REST + SHA-256 Fingerprint) across 9 Brokers) 
  1. The AI Agent (SKILL.md + references/) interprets market structure: Weekly/Daily/5m–15m alignment, 0–6 confluence scoring, RSI divergences, Fibonacci Golden Pocket (50%–61.8%), and SEBI flags (ASM/GSM, F&O ban list, circuit band proximity).
  2. Deterministic Python Scripts (scripts/) execute every calculation with Decimal precision, deterministic RNG seeding (seed=19), SQLite persistence, and SHA-256 verdict signatures.

Real Example: When a 1.71R Trade Becomes 1.40R and -0.289R EV

Let's test SBIN.NS with Rs. 50,000 capital and 1% max risk (Entry = 850, Stop = 843, Target = 862) on Zerodha:

Mentally:

  • Reward = 862 - 850 = Rs. 12
  • Risk = 850 - 843 = Rs. 7
  • Gross R:R = 12 / 7 = 1.714R — passes a >= 1.50 filter on paper.

Now run the deterministic pipeline:

python .agents/skills/nse-bse-hybrid-trader/scripts/nse_timemachine.py \ --symbol SBIN.NS --entry 850 --stop 843 --target 862 \ --mode INTRADAY --broker zerodha --write python .agents/skills/nse-bse-hybrid-trader/scripts/indian_risk_gate.py \ --broker zerodha --symbol SBIN --capital 50000 --risk-pct 1.0 \ --entry 850 --stop 843 --target 862 --segment EQ_INTRADAY \ --timemachine-json .agents/skills/nse-bse-hybrid-trader/state/timemachine_result.json --write 

What the engine actually finds:

  • 10,000-Path Time Machine (59 complete NSE 5m sessions, 15:15 IST square-off cutoff, stop-first check, Rs. 0.05 adverse slippage): only 17.94% of paths hit target before stop, giving -0.2893R net expectancy (and only 4/34 historical 15m ORB hits).
  • Tax-Inclusive Position Sizing (indian_risk_gate.py): caps quantity at 63 shares (Rs. 497.63 total stop loss including Rs. 56.63 round-trip charges).
  • 2026 Tax Drag: round-trip charges at target total Rs. 57.40 (7.59% tax drag), pulling Net R:R down to 1.404 < 1.50.
  • Hard Block + Fingerprint: emits BLOCK (NET_RR_TOO_LOW) signed with a SHA-256 fingerprint, so broker_bridge.py rejects any attempt to stage it.

Built-In Safety & Why Every File Is Auditable

  1. Zero Hidden Packages: Everything from Wilder RSI and VWAP to RFC-6238 TOTP generation, GZIP instrument master parsing, SQLite paper accounting, and REST adapters (urllib.request + HMAC signing) sits cleanly inside readable Python modules using stdlib only.
  2. Paper First (--paper): Default execution writes to a local SQLite database (state/paper_trades.db) and requires no demat account and no API keys.
  3. Explicit Live Gating (--live): Requires open IST market windows (09:30–14:30 for primary entries), synced ScripMaster tokens where mandatory, local .env secrets, and --confirm "CONFIRM LIVE".
  4. Full Audit Guide: README.md includes a file-by-file inspection checklist (including critical behavior like _strip_attached_fields() in broker_bridge.py, which strips attached SL/target fields on non-bracket live orders so traders know to place separate SL/GTT legs).

Try It in 30 Seconds (Paper Mode)

Compatible with Claude Code, Google Antigravity, Cursor, GitHub Copilot, and Cline:

npx skills add aryanpardeshi11/indian-day-trader-skill 

Or run the test suite offline (12/12 unit & mocked 9-broker integration tests):

git clone https://github.com/aryanpardeshi11/indian-day-trader-skill.git cd indian-day-trader-skill python -m pytest -v 

GitHub: https://github.com/aryanpardeshi11/indian-day-trader-skill

Release: https://github.com/aryanpardeshi11/indian-day-trader-skill/releases/tag/v1.1.0

Feedback, PRs for updated broker fee tiers / NSE holiday calendars, and bug reports are very welcome!