<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aryan Pardeshi</title>
    <description>The latest articles on DEV Community by Aryan Pardeshi (@aryanpardeshi11).</description>
    <link>https://dev.to/aryanpardeshi11</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4235341%2Ff10ff49d-514b-4afd-b6a7-c4d049b1037e.jpg</url>
      <title>DEV Community: Aryan Pardeshi</title>
      <link>https://dev.to/aryanpardeshi11</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aryanpardeshi11"/>
    <language>en</language>
    <item>
      <title>Why Mental Risk-Reward Fails on NSE Intraday (and Building an Open-Source AI Skill to Catch It)</title>
      <dc:creator>Aryan Pardeshi</dc:creator>
      <pubDate>Mon, 09 Nov 2026 14:43:55 +0000</pubDate>
      <link>https://dev.to/aryanpardeshi11/why-mental-risk-reward-fails-on-nse-intraday-and-building-an-open-source-ai-skill-to-catch-it-5bmj</link>
      <guid>https://dev.to/aryanpardeshi11/why-mental-risk-reward-fails-on-nse-intraday-and-building-an-open-source-ai-skill-to-catch-it-5bmj</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; Open-source educational and workflow-automation software only (MIT License). **Not SEBI-registered investment, financial, or tax advice.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;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.&lt;/p&gt;

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

&lt;p&gt;That gap is why I built &lt;strong&gt;&lt;a href="https://github.com/aryanpardeshi11/indian-day-trader-skill" rel="noopener noreferrer"&gt;&lt;code&gt;indian-day-trader-skill&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt; (&lt;code&gt;nse-bse-hybrid-trader&lt;/code&gt;), taking inspiration from two MIT-licensed open-source repositories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/Bhala-Srinivash/nse-trading-skills" rel="noopener noreferrer"&gt;&lt;code&gt;Bhala-Srinivash/nse-trading-skills&lt;/code&gt;&lt;/a&gt; for NSE/BSE technical frameworks and market conventions&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/Jakeschincariol/day-trader-skill" rel="noopener noreferrer"&gt;&lt;code&gt;Jakeschincariol/day-trader-skill&lt;/code&gt;&lt;/a&gt; for stdlib-only deterministic Monte Carlo verification and tamper-evident risk gating&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Architecture: AI Reasoning vs. Deterministic Math
&lt;/h2&gt;

&lt;p&gt;Instead of mixing prompts and financial arithmetic, the skill splits the workflow across a strict 4-stage pipeline running purely on &lt;strong&gt;Python 3.10+ standard library&lt;/strong&gt; (&lt;code&gt;0&lt;/code&gt; mandatory &lt;code&gt;pip&lt;/code&gt; runtime dependencies):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nse_data_loader.py  --&amp;gt;  nse_timemachine.py  --&amp;gt;  indian_risk_gate.py  --&amp;gt;  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)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The AI Agent (&lt;code&gt;SKILL.md&lt;/code&gt; + &lt;code&gt;references/&lt;/code&gt;)&lt;/strong&gt; interprets market structure: Weekly/Daily/5m–15m alignment, &lt;code&gt;0–6&lt;/code&gt; confluence scoring, RSI divergences, Fibonacci Golden Pocket (&lt;code&gt;50%–61.8%&lt;/code&gt;), and SEBI flags (ASM/GSM, F&amp;amp;O ban list, circuit band proximity).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deterministic Python Scripts (&lt;code&gt;scripts/&lt;/code&gt;)&lt;/strong&gt; execute every calculation with &lt;code&gt;Decimal&lt;/code&gt; precision, deterministic RNG seeding (&lt;code&gt;seed=19&lt;/code&gt;), SQLite persistence, and SHA-256 verdict signatures.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Real Example: When a &lt;code&gt;1.71R&lt;/code&gt; Trade Becomes &lt;code&gt;1.40R&lt;/code&gt; and &lt;code&gt;-0.289R&lt;/code&gt; EV
&lt;/h2&gt;

&lt;p&gt;Let's test &lt;strong&gt;SBIN.NS&lt;/strong&gt; with &lt;code&gt;Rs. 50,000&lt;/code&gt; capital and &lt;code&gt;1%&lt;/code&gt; max risk (&lt;code&gt;Entry = 850&lt;/code&gt;, &lt;code&gt;Stop = 843&lt;/code&gt;, &lt;code&gt;Target = 862&lt;/code&gt;) on Zerodha:&lt;/p&gt;

&lt;p&gt;Mentally:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reward = &lt;code&gt;862 - 850 = Rs. 12&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Risk = &lt;code&gt;850 - 843 = Rs. 7&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Gross R:R = &lt;code&gt;12 / 7 = 1.714R&lt;/code&gt; — passes a &lt;code&gt;&amp;gt;= 1.50&lt;/code&gt; filter on paper.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now run the deterministic pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python .agents/skills/nse-bse-hybrid-trader/scripts/nse_timemachine.py &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--symbol&lt;/span&gt; SBIN.NS &lt;span class="nt"&gt;--entry&lt;/span&gt; 850 &lt;span class="nt"&gt;--stop&lt;/span&gt; 843 &lt;span class="nt"&gt;--target&lt;/span&gt; 862 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--mode&lt;/span&gt; INTRADAY &lt;span class="nt"&gt;--broker&lt;/span&gt; zerodha &lt;span class="nt"&gt;--write&lt;/span&gt;

python .agents/skills/nse-bse-hybrid-trader/scripts/indian_risk_gate.py &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--broker&lt;/span&gt; zerodha &lt;span class="nt"&gt;--symbol&lt;/span&gt; SBIN &lt;span class="nt"&gt;--capital&lt;/span&gt; 50000 &lt;span class="nt"&gt;--risk-pct&lt;/span&gt; 1.0 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--entry&lt;/span&gt; 850 &lt;span class="nt"&gt;--stop&lt;/span&gt; 843 &lt;span class="nt"&gt;--target&lt;/span&gt; 862 &lt;span class="nt"&gt;--segment&lt;/span&gt; EQ_INTRADAY &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--timemachine-json&lt;/span&gt; .agents/skills/nse-bse-hybrid-trader/state/timemachine_result.json &lt;span class="nt"&gt;--write&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What the engine actually finds:&lt;/p&gt;

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




&lt;h2&gt;
  
  
  Built-In Safety &amp;amp; Why Every File Is Auditable
&lt;/h2&gt;

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




&lt;h2&gt;
  
  
  Try It in 30 Seconds (Paper Mode)
&lt;/h2&gt;

&lt;p&gt;Compatible with &lt;strong&gt;Claude Code&lt;/strong&gt;, &lt;strong&gt;Google Antigravity&lt;/strong&gt;, &lt;strong&gt;Cursor&lt;/strong&gt;, &lt;strong&gt;GitHub Copilot&lt;/strong&gt;, and &lt;strong&gt;Cline&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add aryanpardeshi11/indian-day-trader-skill
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or run the test suite offline (12/12 unit &amp;amp; mocked 9-broker integration tests):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/aryanpardeshi11/indian-day-trader-skill.git
&lt;span class="nb"&gt;cd &lt;/span&gt;indian-day-trader-skill
python &lt;span class="nt"&gt;-m&lt;/span&gt; pytest &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/aryanpardeshi11/indian-day-trader-skill" rel="noopener noreferrer"&gt;https://github.com/aryanpardeshi11/indian-day-trader-skill&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Release:&lt;/strong&gt; &lt;a href="https://github.com/aryanpardeshi11/indian-day-trader-skill/releases/tag/v1.1.0" rel="noopener noreferrer"&gt;https://github.com/aryanpardeshi11/indian-day-trader-skill/releases/tag/v1.1.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback, PRs for updated broker fee tiers / NSE holiday calendars, and bug reports are very welcome!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
      <category>fintech</category>
    </item>
  </channel>
</rss>
