<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[QuantInsti Articles]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://www.quantinsti.com/articles/</link><image><url>https://www.quantinsti.com/articles/favicon.png</url><title>QuantInsti Articles</title><link>https://www.quantinsti.com/articles/</link></image><generator>Ghost 3.15</generator><lastBuildDate>Sat, 07 Nov 2026 06:57:10 GMT</lastBuildDate><atom:link href="https://www.quantinsti.com/articles/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[How to Deploy a Trading Bot to a Cloud Server]]></title><description><![CDATA[A step-by-step cloud setup for a retail trading bot: region, static IP for Indian brokers, security, systemd, IST scheduling and tests.]]></description><link>https://www.quantinsti.com/articles/deploy-trading-bot-cloud-server/</link><guid isPermaLink="false">6acc7c172330e00007c6de54</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Ishan Shah]]></dc:creator><pubDate>Tue, 13 Oct 2026 10:11:26 GMT</pubDate><content:encoded><![CDATA[<p><strong>Author:</strong> <a href="https://www.linkedin.com/in/ishan-shah-18393828/">Ishan Shah</a></p><p>A laptop is a poor home for a trading bot. It sleeps when the lid closes, installs updates when it feels like it, drops Wi-Fi and travels with you. Plenty of bots that "worked fine in testing" have missed a day of trades for one of those reasons, with nothing wrong in the strategy at all.</p><p>A small cloud server fixes most of that for about the price of a coffee a week. But moving a bot to the cloud brings traps of its own, and a few of them (time zones, static IPs, daily logins) are specific to trading.</p><h2 id="what-does-a-sensible-setup-look-like">What does a sensible setup look like?</h2><p>A small Linux server in an Indian region, a static IP whitelisted with your broker, the clock and schedule set to IST, the bot run as a supervised service that restarts after a crash, a daily routine to refresh the broker login, and alerts when something breaks. For a retail bot trading through an Indian broker, the essentials are:</p><p>1) Rent a small Linux virtual machine in a region near your broker, such as AWS Mumbai or Hyderabad.</p><p>2) Give it a fixed public IP address and register that address with your broker for API order placement.</p><p>3) Lock it down, with SSH (secure remote login) by key only, from your own IP only.</p><p>4) Install the bot in a Python virtual environment, with API keys kept out of the code.</p><p>5) Run it as a service that restarts on failure and starts again each trading morning.</p><p>6) Schedule everything in IST, since most cloud servers run on UTC.</p><p>7) Add an outside heartbeat check, then test a reboot, a crash and an expired login before trading real money.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/trading-bot-cloud-server-architecture.png" class="kg-image" alt="Cloud server architecture for running a retail trading bot"><figcaption>A small, sensible layout: one server runs the bot, while the heartbeat monitor and the backups live elsewhere, so they keep working when the server doesn't.</figcaption></figure><p>The layout above keeps the pieces that <a href="https://www.quantinsti.com/articles/monitor-trading-bot-real-time">watch the bot</a>, and the copies of its code and logs, off the bot's own server. That way they still work on the day the server doesn't.</p><h2 id="which-cloud-provider-and-server-size-should-i-choose">Which cloud provider and server size should I choose?</h2><p>For a single retail bot, almost any mainstream provider will do, and the smallest instance sizes are usually enough. A bot that waits on a live price feed and makes a decision every minute uses very little CPU. Memory matters more if you load large datasets or machine-learning models.</p><p>As a guide to prices (on-demand, Linux, as published in late September 2026; prices change often, so check the provider's page):</p><!--kg-card-begin: html--><table border="1"><tbody><tr><td><p><strong>Option</strong></p></td><td><p><strong>Size</strong></p></td><td><p><strong>Price</strong></p></td></tr><tr><td><p>AWS EC2 t4g.micro, Mumbai or Hyderabad</p></td><td><p>2 vCPU (ARM), 1 GB</p></td><td><p>about $0.0056 an hour, roughly $4 a month</p></td></tr><tr><td><p>AWS EC2 t3.small, Mumbai or Hyderabad</p></td><td><p>2 vCPU, 2 GB</p></td><td><p>about $0.0224 an hour, roughly $16 a month</p></td></tr><tr><td><p>AWS public IPv4 address (including an Elastic IP)</p></td><td><p>per address</p></td><td><p>$0.005 an hour, about $3.65 a month</p></td></tr><tr><td><p>Amazon Lightsail</p></td><td><p>2 vCPU, 0.5 GB, static IP included</p></td><td><p>$5 a month</p></td></tr><tr><td><p>DigitalOcean Basic droplet (Bangalore region available)</p></td><td><p>1 vCPU, 512 MB</p></td><td><p>$4 a month</p></td></tr></tbody></table><!--kg-card-end: html--><p>Two things in that table catch people out. On EC2, the public IP address costs about as much as the smallest server itself. And the free tiers are less generous than their reputation. AWS now gives new accounts up to $200 of credits for six months, and Google Cloud's always-free VM runs only in US regions, which puts your bot on the wrong continent for an Indian broker.</p><p>Pick a region close to your broker's API servers, which for NSE brokers means Mumbai or another Indian region. Microseconds don't matter here, since retail broker APIs aren't built for latency-sensitive trading (we haven't measured the difference between Indian regions ourselves, and for a strategy that trades every few minutes it's unlikely to matter). The reason to stay close is simpler: a server on another continent adds delay and one more thing to go wrong.</p><h2 id="why-does-the-static-ip-matter">Why does the static IP matter?</h2><p>Under SEBI's retail algo framework, fully applicable to brokers since 1 April 2026, brokers may give API access only through a client-specific API key and a static IP address that the broker has whitelisted. Zerodha, for example, has required a static IP for API order placement since that date, while its market-data and positions APIs still work from any address. You can register a primary and an optional secondary IP, and exchange rules allow one change per calendar week. Other brokers have similar rules, so check yours.</p><p>In practice your server needs a public IP that doesn't change. On AWS, a normal EC2 public address changes every time you stop and start the instance, so it won't do. Allocate an Elastic IP (AWS's name for a fixed address you own until you release it) and attach it instead. Lightsail's static IPs and DigitalOcean's reserved IPs serve the same purpose. Because the registered address can only change once a week, keep the same IP when you rebuild or move a server, and re-attach it rather than allocating a new one. A secondary IP (a second server, or a home connection with a fixed address) makes a sensible fallback.</p><h2 id="how-do-i-set-up-the-server">How do I set up the server?</h2><p>On a fresh Ubuntu LTS server, the core steps are: create a non-root user, lock down SSH and the firewall, install Python and your bot's dependencies, pull your code, store broker keys as environment variables rather than in the code, and run a test before going live. They're much the same on any provider:</p><p><strong>Secure the cloud account first.</strong> Turn on multi-factor sign-in for the provider account and set a billing alert. A stolen cloud login is worse than a stolen server key, because it gives away every server at once.</p><p><strong>Lock down access to the server.</strong> Log in with an SSH key, never a password, and disable password logins. Open inbound SSH (port 22) only to your own IP address in the provider's firewall or security group. A trading bot doesn't need any other inbound ports, because it connects out to the broker and the heartbeat service rather than the other way round. If your home IP changes (many Indian connections do), update the rule, or use the provider's browser-based console as a fallback so you're never locked out.</p><!--kg-card-begin: html--><div style="background:#ffffff;border:1px solid #e1e4e8;border-radius:6px;overflow-x:auto;overflow-y:hidden;margin:0 0 1.2em;text-align:left;"><div style="display:flex;width:max-content;min-width:100%;"><div style="flex:0 0 auto;text-align:right;padding:14px 12px;background:#f6f8fa;color:#b0b6be;border-right:1px solid #e1e4e8;white-space:pre;user-select:none;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">1</div><div style="flex:1 1 auto;padding:14px 16px;white-space:pre;text-align:left;color:#24292e;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">Keep<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>patched,<span style="color: #24292E"> </span>but<span style="color: #24292E"> </span>not<span style="color: #24292E"> </span>during<span style="color: #24292E"> </span>market<span style="color: #24292E"> </span>hours.<span style="color: #24292E"> </span>Apply<span style="color: #24292E"> </span>security<span style="color: #24292E"> </span>updates,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>schedule<span style="color: #24292E"> </span>them<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>any<span style="color: #24292E"> </span>reboots<span style="color: #24292E"> </span><span style="color: #D73A49">for</span><span style="color: #24292E"> </span>evenings<span style="color: #24292E"> </span>or<span style="color: #24292E"> </span>weekends,<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>an<span style="color: #24292E"> </span>automatic<span style="color: #24292E"> </span>update<span style="color: #24292E"> </span>doesn't<span style="color: #24292E"> </span>restart<span style="color: #24292E"> </span>your<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>at<span style="color: #24292E"> </span><span style="color: #005CC5">11</span><span style="color: #24292E"> </span>a.m.<span style="color: #24292E"> </span>On<span style="color: #24292E"> </span>Ubuntu<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>means<span style="color: #24292E"> </span>moving<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>apt-daily-upgrade.timer<span style="color: #24292E"> </span>to<span style="color: #24292E"> </span>an<span style="color: #24292E"> </span>evening<span style="color: #24292E"> </span><span style="color: #005CC5">time</span><span style="color: #24292E"> </span><span style="color: #D73A49">(</span>sudo<span style="color: #24292E"> </span>systemctl<span style="color: #24292E"> </span>edit<span style="color: #24292E"> </span>apt-daily-upgrade.timer<span style="color: #D73A49">)</span><span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>leaving<span style="color: #24292E"> </span>automatic<span style="color: #24292E"> </span>reboots<span style="color: #24292E"> </span>off.</div></div></div><!--kg-card-end: html--><p><strong>Create a normal user for the bot.</strong> Don't run it as root. A separate user with access only to the bot's folder limits the damage if something goes wrong.</p><p><strong>Install your code in a virtual environment.</strong> Clone the strategy from your git repository and create a Python virtual environment (a private set of libraries for this one project). Install pinned versions of your dependencies, because an unplanned library upgrade is a classic way for a bot that worked on Friday to fail on Monday.</p><!--kg-card-begin: html--><div style="background:#ffffff;border:1px solid #e1e4e8;border-radius:6px;overflow-x:auto;overflow-y:hidden;margin:0 0 1.2em;text-align:left;"><div style="display:flex;width:max-content;min-width:100%;"><div style="flex:0 0 auto;text-align:right;padding:14px 12px;background:#f6f8fa;color:#b0b6be;border-right:1px solid #e1e4e8;white-space:pre;user-select:none;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">1</div><div style="flex:1 1 auto;padding:14px 16px;white-space:pre;text-align:left;color:#24292e;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">Keep secrets out of the code. API keys go in an environment file readable only by the bot's user (chmod 600), kept outside the repository folder or listed in .gitignore, or in the provider's secrets manager. Never commit them to git, even to a private repository.</div></div></div><!--kg-card-end: html--><h2 id="why-does-the-server-s-time-zone-matter">Why does the server's time zone matter?</h2><p>Amazon's documentation is explicit that EC2 instances run on UTC by default, and most other providers' images do the same. The NSE's hours are set in IST, which is UTC plus 5:30, with no daylight saving. So a schedule that looks right can fire at the wrong time, because the server reads its clock in UTC. A cron job (a line in Linux's built-in scheduler) written for "09:15" on a UTC server fires at 14:45 IST, forty-five minutes before the equity closes.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/nse-trading-hours-ist-vs-utc.png" class="kg-image" alt="NSE trading hours in IST versus UTC server time"><figcaption>NSE hours in IST with the matching UTC times. A job written for 08:00 on a UTC server runs at 13:30 IST.</figcaption></figure><!--kg-card-begin: html--><div style="background:#ffffff;border:1px solid #e1e4e8;border-radius:6px;overflow-x:auto;overflow-y:hidden;margin:0 0 1.2em;text-align:left;"><div style="display:flex;width:max-content;min-width:100%;"><div style="flex:0 0 auto;text-align:right;padding:14px 12px;background:#f6f8fa;color:#b0b6be;border-right:1px solid #e1e4e8;white-space:pre;user-select:none;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">1</div><div style="flex:1 1 auto;padding:14px 16px;white-space:pre;text-align:left;color:#24292e;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">There<span style="color: #24292E"> </span>are<span style="color: #24292E"> </span>two<span style="color: #24292E"> </span>clean<span style="color: #24292E"> </span>options.<span style="color: #24292E"> </span>Set<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>server<span style="color: #032F62">'s time zone to IST (sudo timedatectl set-timezone Asia/Kolkata) and schedule in IST, or leave it on UTC and convert every time with care. Either works, but mixing them is how you end up trading at the wrong hour. Whichever you choose, write both times in your logs, so that when you read them at 10 p.m. after a bad day there'</span>s<span style="color: #24292E"> </span>no<span style="color: #24292E"> </span>doubt<span style="color: #24292E"> </span>about<span style="color: #24292E"> </span>what<span style="color: #24292E"> </span>happened<span style="color: #24292E"> </span>when.<span style="color: #24292E"> </span>Inside<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot,<span style="color: #24292E"> </span><span style="color: #D73A49">do</span><span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>same<span style="color: #24292E"> </span>thing<span style="color: #24292E"> </span><span style="color: #D73A49">in</span><span style="color: #24292E"> </span>code:<span style="color: #24292E"> </span>compare<span style="color: #24292E"> </span><span style="color: #005CC5">times</span><span style="color: #24292E"> </span>using<span style="color: #24292E"> </span>an<span style="color: #24292E"> </span>explicit<span style="color: #24292E"> </span>Asia/Kolkata<span style="color: #24292E"> </span>zone<span style="color: #24292E"> </span><span style="color: #D73A49">(</span>Python<span style="color: #032F62">'s zoneinfo module does this) rather than the server'</span>s<span style="color: #24292E"> </span><span style="color: #005CC5">local</span><span style="color: #24292E"> </span>time,<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>code<span style="color: #24292E"> </span>is<span style="color: #24292E"> </span>right<span style="color: #24292E"> </span>on<span style="color: #24292E"> </span>any<span style="color: #24292E"> </span>machine.</div></div></div><!--kg-card-end: html--><p>Check the clock is accurate as well. Cloud servers normally sync time automatically (AWS provides a time service that recent Amazon Linux uses by default through chrony, and on Ubuntu you can install chrony and point it at the provider's time source). A clock that drifts by a few seconds skews the bot's view of the open and the close.</p><h2 id="how-do-i-keep-the-bot-running">How do I keep the bot running?</h2><p>Run it as a systemd service rather than in a terminal you leave open. systemd is the program Linux uses to start and supervise background services, and it can start the bot at boot and restart it after a crash, but only if you ask, since by default it doesn't restart anything.</p><!--kg-card-begin: html--><div style="background:#ffffff;border:1px solid #e1e4e8;border-radius:6px;overflow-x:auto;overflow-y:hidden;margin:0 0 1.2em;text-align:left;"><div style="display:flex;width:max-content;min-width:100%;"><div style="flex:0 0 auto;text-align:right;padding:14px 12px;background:#f6f8fa;color:#b0b6be;border-right:1px solid #e1e4e8;white-space:pre;user-select:none;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29</div><div style="flex:1 1 auto;padding:14px 16px;white-space:pre;text-align:left;color:#24292e;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;"><span style="color: #6A737D; font-style: italic"># /etc/systemd/system/tradingbot.service</span>
<span style="color: #D73A49">[</span>Unit<span style="color: #D73A49">]</span>
<span style="color: #24292E">Description</span><span style="color: #D73A49">=</span>Trading<span style="color: #24292E"> </span>bot
<span style="color: #24292E">After</span><span style="color: #D73A49">=</span>network-online.target
<span style="color: #24292E">Wants</span><span style="color: #D73A49">=</span>network-online.target
<span style="color: #24292E">StartLimitIntervalSec</span><span style="color: #D73A49">=</span><span style="color: #005CC5">300</span>
<span style="color: #24292E">StartLimitBurst</span><span style="color: #D73A49">=</span><span style="color: #005CC5">5</span>

<span style="color: #D73A49">[</span>Service<span style="color: #D73A49">]</span>
<span style="color: #24292E">User</span><span style="color: #D73A49">=</span>bot
<span style="color: #24292E">WorkingDirectory</span><span style="color: #D73A49">=</span>/home/bot/strategy
<span style="color: #24292E">EnvironmentFile</span><span style="color: #D73A49">=</span>/home/bot/secrets/bot.env
<span style="color: #24292E">ExecStart</span><span style="color: #D73A49">=</span>/home/bot/strategy/venv/bin/python<span style="color: #24292E"> </span>run_bot.py
<span style="color: #24292E">Restart</span><span style="color: #D73A49">=</span>on-failure
<span style="color: #24292E">RestartSec</span><span style="color: #D73A49">=</span><span style="color: #005CC5">10</span>

<span style="color: #D73A49">[</span>Install<span style="color: #D73A49">]</span>
<span style="color: #24292E">WantedBy</span><span style="color: #D73A49">=</span>multi-user.target
<span style="color: #24292E">Restart</span><span style="color: #D73A49">=</span>on-failure<span style="color: #24292E"> </span>brings<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>back<span style="color: #24292E"> </span><span style="color: #D73A49">if</span><span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>crashes,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>looks<span style="color: #24292E"> </span>like<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>whole<span style="color: #24292E"> </span>answer.<span style="color: #24292E"> </span>There<span style="color: #24292E"> </span>are<span style="color: #24292E"> </span>two<span style="color: #24292E"> </span>catches.<span style="color: #24292E"> </span>By<span style="color: #24292E"> </span>default<span style="color: #24292E"> </span>systemd<span style="color: #24292E"> </span>waits<span style="color: #24292E"> </span>only<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>tenth<span style="color: #24292E"> </span>of<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>second<span style="color: #24292E"> </span>between<span style="color: #24292E"> </span>restarts,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>gives<span style="color: #24292E"> </span>up<span style="color: #24292E"> </span>on<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>service<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>starts<span style="color: #24292E"> </span>five<span style="color: #24292E"> </span><span style="color: #005CC5">times</span><span style="color: #24292E"> </span>within<span style="color: #24292E"> </span>ten<span style="color: #24292E"> </span>seconds,<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>crashes<span style="color: #24292E"> </span>instantly<span style="color: #24292E"> </span>hits<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>limit<span style="color: #24292E"> </span>almost<span style="color: #24292E"> </span>at<span style="color: #24292E"> </span>once.<span style="color: #24292E"> RestartSec</span><span style="color: #D73A49">=</span><span style="color: #005CC5">10</span><span style="color: #24292E"> </span>spaces<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>retries<span style="color: #24292E"> </span>out,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>two<span style="color: #24292E"> </span>StartLimit<span style="color: #24292E"> </span>lines<span style="color: #24292E"> </span>tell<span style="color: #24292E"> </span>systemd<span style="color: #24292E"> </span>to<span style="color: #24292E"> </span>stop<span style="color: #24292E"> </span>after<span style="color: #24292E"> </span>five<span style="color: #24292E"> </span>failed<span style="color: #24292E"> </span>starts<span style="color: #24292E"> </span><span style="color: #D73A49">in</span><span style="color: #24292E"> </span>five<span style="color: #24292E"> </span>minutes,<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>real<span style="color: #24292E"> </span>bug<span style="color: #24292E"> </span>doesn<span style="color: #032F62">'t loop forever. When that happens, nothing on the server will tell you unless you ask it to. (systemd'</span>s<span style="color: #24292E"> OnFailure</span><span style="color: #D73A49">=</span><span style="color: #24292E"> </span>setting<span style="color: #24292E"> </span>can<span style="color: #24292E"> </span>run<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>small<span style="color: #24292E"> </span>script<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>pings<span style="color: #24292E"> </span>your<span style="color: #24292E"> </span>monitor<span style="color: #032F62">'s failure address.) That'</span>s<span style="color: #24292E"> </span>why<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>outside<span style="color: #24292E"> </span>heartbeat<span style="color: #24292E"> </span>described<span style="color: #24292E"> </span><span style="color: #D73A49">in</span><span style="color: #24292E"> </span>our<span style="color: #24292E"> </span>article<span style="color: #24292E"> </span>on<span style="color: #24292E"> </span>monitoring<span style="color: #24292E"> </span>trading<span style="color: #24292E"> </span>bots<span style="color: #24292E"> </span>matters.<span style="color: #24292E"> </span>The<span style="color: #24292E"> </span>bot<span style="color: #032F62">'s output goes to the system journal, which you can read with journalctl -u tradingbot. Copy it, or your own log files, off the server every day, so a dead server doesn'</span>t<span style="color: #24292E"> </span>take<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>evidence<span style="color: #24292E"> </span>with<span style="color: #24292E"> </span>it.
The<span style="color: #24292E"> </span>second<span style="color: #24292E"> </span>catch<span style="color: #24292E"> </span>is<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>clean<span style="color: #24292E"> </span><span style="color: #005CC5">exit</span><span style="color: #24292E"> </span>isn<span style="color: #032F62">'t a failure. If your bot stops itself at the close, Restart=on-failure won'</span>t<span style="color: #24292E"> </span>bring<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>back<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>next<span style="color: #24292E"> </span>morning.<span style="color: #24292E"> </span>Add<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>timer<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>starts<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>on<span style="color: #24292E"> </span>trading<span style="color: #24292E"> </span>mornings:
<span style="color: #6A737D; font-style: italic"># /etc/systemd/system/tradingbot.timer</span>
<span style="color: #D73A49">[</span>Timer<span style="color: #D73A49">]</span>
<span style="color: #24292E">OnCalendar</span><span style="color: #D73A49">=</span>Mon..Fri<span style="color: #24292E"> </span><span style="color: #005CC5">08</span>:00<span style="color: #24292E"> </span>Asia/Kolkata
<span style="color: #24292E">Persistent</span><span style="color: #D73A49">=</span><span style="color: #005CC5">true</span>

<span style="color: #D73A49">[</span>Install<span style="color: #D73A49">]</span>
<span style="color: #24292E">WantedBy</span><span style="color: #D73A49">=</span>timers.target
Reload<span style="color: #24292E"> </span>systemd<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>sees<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>new<span style="color: #24292E"> </span>files,<span style="color: #24292E"> </span><span style="color: #D73A49">then</span><span style="color: #24292E"> </span><span style="color: #005CC5">enable</span><span style="color: #24292E"> </span>both,<span style="color: #24292E"> </span>starting<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>timer<span style="color: #24292E"> </span>straight<span style="color: #24292E"> </span>away:<span style="color: #24292E"> </span>sudo<span style="color: #24292E"> </span>systemctl<span style="color: #24292E"> </span>daemon-reload,<span style="color: #24292E"> </span><span style="color: #D73A49">then</span><span style="color: #24292E"> </span>sudo<span style="color: #24292E"> </span>systemctl<span style="color: #24292E"> </span><span style="color: #005CC5">enable</span><span style="color: #24292E"> </span>--now<span style="color: #24292E"> </span>tradingbot.timer<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>sudo<span style="color: #24292E"> </span>systemctl<span style="color: #24292E"> </span><span style="color: #005CC5">enable</span><span style="color: #24292E"> </span>tradingbot.service.<span style="color: #24292E"> </span><span style="color: #D73A49">(</span>Plain<span style="color: #24292E"> </span><span style="color: #005CC5">enable</span><span style="color: #24292E"> </span>only<span style="color: #24292E"> </span>takes<span style="color: #24292E"> </span>effect<span style="color: #24292E"> </span>at<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>next<span style="color: #24292E"> </span>boot,<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>without<span style="color: #24292E"> </span>--now<span style="color: #24292E"> </span>nothing<span style="color: #24292E"> </span>happens<span style="color: #24292E"> </span>tomorrow<span style="color: #24292E"> </span>morning.<span style="color: #D73A49">)</span><span style="color: #24292E"> </span>Check<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>next<span style="color: #24292E"> </span>run<span style="color: #24292E"> </span><span style="color: #005CC5">time</span><span style="color: #24292E"> </span>with<span style="color: #24292E"> </span>systemctl<span style="color: #24292E"> </span>list-timers<span style="color: #24292E"> </span>tradingbot.timer.<span style="color: #24292E"> </span>Enabling<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>service<span style="color: #24292E"> </span>as<span style="color: #24292E"> </span>well<span style="color: #24292E"> </span>means<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>comes<span style="color: #24292E"> </span>back<span style="color: #24292E"> </span>after<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>reboot<span style="color: #24292E"> </span>mid-session.<span style="color: #24292E"> </span>So<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>should<span style="color: #24292E"> </span>decide<span style="color: #24292E"> </span><span style="color: #D73A49">for</span><span style="color: #24292E"> </span>itself<span style="color: #24292E"> </span>what<span style="color: #24292E"> </span>to<span style="color: #24292E"> </span><span style="color: #D73A49">do</span><span style="color: #24292E"> </span>when<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>starts.<span style="color: #24292E"> </span>On<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>holiday<span style="color: #24292E"> </span>or<span style="color: #24292E"> </span>after<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>close<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>exits<span style="color: #24292E"> </span>quietly,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>otherwise<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>logs<span style="color: #24292E"> </span><span style="color: #D73A49">in</span>,<span style="color: #24292E"> </span>tests<span style="color: #24292E"> </span>itself<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>waits<span style="color: #24292E"> </span><span style="color: #D73A49">for</span><span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>open,<span style="color: #24292E"> </span>as<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>code<span style="color: #24292E"> </span><span style="color: #D73A49">in</span><span style="color: #24292E"> </span>our<span style="color: #24292E"> </span>monitoring<span style="color: #24292E"> </span>article<span style="color: #24292E"> </span>does.<span style="color: #24292E"> </span>The<span style="color: #24292E"> </span>timer<span style="color: #24292E"> </span>knows<span style="color: #24292E"> </span>nothing<span style="color: #24292E"> </span>about<span style="color: #24292E"> </span>exchange<span style="color: #24292E"> </span>holidays,<span style="color: #24292E"> </span>so<span style="color: #24292E"> </span>have<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>check<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>holiday<span style="color: #24292E"> </span>calendar<span style="color: #24292E"> </span>itself<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span><span style="color: #005CC5">exit</span><span style="color: #24292E"> </span>quietly<span style="color: #24292E"> </span>on<span style="color: #24292E"> </span>days<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>market<span style="color: #24292E"> </span>is<span style="color: #24292E"> </span>shut.
One<span style="color: #24292E"> </span>warning<span style="color: #24292E"> </span>before<span style="color: #24292E"> </span>you<span style="color: #24292E"> </span>turn<span style="color: #24292E"> </span>on<span style="color: #24292E"> </span>automatic<span style="color: #24292E"> </span>restarts<span style="color: #24292E"> </span>at<span style="color: #24292E"> </span>all.<span style="color: #24292E"> </span>A<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>that<span style="color: #24292E"> </span>restarts<span style="color: #24292E"> </span>with<span style="color: #24292E"> </span>an<span style="color: #24292E"> </span>empty<span style="color: #24292E"> </span>memory<span style="color: #24292E"> </span>believes<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>holds<span style="color: #24292E"> </span>nothing,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>may<span style="color: #24292E"> </span>place<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>same<span style="color: #24292E"> </span>entry<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>second<span style="color: #24292E"> </span>time.<span style="color: #24292E"> </span>Only<span style="color: #24292E"> </span><span style="color: #005CC5">enable</span><span style="color: #24292E"> </span>restarts<span style="color: #24292E"> </span>once<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>rebuilds<span style="color: #24292E"> </span>its<span style="color: #24292E"> </span>state<span style="color: #24292E"> </span>from<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>broker<span style="color: #24292E"> </span>at<span style="color: #24292E"> </span>startup<span style="color: #24292E"> </span><span style="color: #D73A49">(</span>positions,<span style="color: #24292E"> </span>open<span style="color: #24292E"> </span>orders<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>day<span style="color: #032F62">'s fills). The same goes for a tripped kill switch: store it on disk, and have the bot exit with status 0 when it halts on purpose, so Restart=on-failure leaves it stopped. And a restart policy can'</span>t<span style="color: #24292E"> </span><span style="color: #005CC5">help</span><span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>that's<span style="color: #24292E"> </span>running<span style="color: #24292E"> </span>but<span style="color: #24292E"> </span>stuck,<span style="color: #24292E"> </span>with<span style="color: #24292E"> </span>a<span style="color: #24292E"> </span>dead<span style="color: #24292E"> </span>price<span style="color: #24292E"> </span>feed<span style="color: #24292E"> </span>or<span style="color: #24292E"> </span>an<span style="color: #24292E"> </span>expired<span style="color: #24292E"> </span>login,<span style="color: #24292E"> </span>say.<span style="color: #24292E"> </span>That<span style="color: #24292E"> </span>needs<span style="color: #24292E"> </span>the<span style="color: #24292E"> </span>bot<span style="color: #24292E"> </span>to<span style="color: #24292E"> </span>report<span style="color: #24292E"> </span>its<span style="color: #24292E"> </span>own<span style="color: #24292E"> </span>health,<span style="color: #24292E"> </span>and<span style="color: #24292E"> </span>an<span style="color: #24292E"> </span>outside<span style="color: #24292E"> </span>service<span style="color: #24292E"> </span>to<span style="color: #24292E"> </span>notice<span style="color: #24292E"> </span>when<span style="color: #24292E"> </span>it<span style="color: #24292E"> </span>goes<span style="color: #24292E"> </span>quiet.</div></div></div><!--kg-card-end: html--><h2 id="what-about-the-daily-login">What about the daily login?</h2><p>Indian broker API sessions don't last forever. Kite Connect tokens, for instance, are only valid until early the next morning, and SEBI's framework requires two-factor authentication for API access, so the bot needs a fresh session every trading day.</p><p>Schedule the login well before the open, say 8 a.m. IST, and follow your broker's approved login flow. Read your broker's terms before automating any part of it, since some prohibit that. If automation is allowed, remember that a password and a two-factor secret stored together on the server mean anyone who gets into the server gets into your trading account. Whatever the method, have the bot run a self-test after logging in (fetch a quote, read positions, confirm they match what it expects) and alert you if any step fails. Caught at 8 a.m., a failed login costs ten minutes. Found at 11, it costs the morning's trades.</p><h2 id="what-should-i-test-before-trading-real-money">What should I test before trading real money?</h2><p>Break things on purpose while the stakes are zero. Run the bot in paper mode or at the smallest live size, then confirm it reconnects after a dropped network, refreshes an expired login, survives a reboot, rejects an order that fails a risk check, and reconciles its positions against the broker. Check each of these:</p><ul><li><strong>Reboot the server</strong> mid-session. Does the bot come back, rebuild its positions from the broker rather than its own memory, and carry on without duplicating orders?</li><li><strong>Kill the process hard</strong> (sudo kill -9 with the bot's process ID, or make it exit with an error). Does systemd restart it? Then stop it for good with systemctl stop and check that your heartbeat alert fires.</li><li><strong>Expire the login.</strong> Does the bot notice the error and alert you, or does it sit idle?</li><li><strong>Time out an order.</strong> In a test build, make the order call fail after the order has been sent. Does the bot find the order in the broker's order book instead of sending a second one?</li><li><strong>Cut the network</strong> for a few minutes. Does it reconnect, and does it handle orders that changed while it was away?</li><li><strong>Check the clock.</strong> Does the first action of the day happen at the IST time you intended?</li><li><strong>Trigger the kill switch.</strong> Does it cancel open orders and stop new ones?</li></ul><p>If any of these surprises you, good: you found it before it cost anything.</p><h2 id="frequently-asked-questions">Frequently asked questions</h2><!--kg-card-begin: html--><section class="faq-accordion" aria-label="Frequently Asked Questions">
<details><summary>What's the cheapest way to run a trading bot in the cloud?</summary><div class="faq-content"><p>A small Linux instance in an Indian region, which cost about $4 to $5 a month at mainstream providers in September 2026, plus a static IP where it's charged separately (about $3.65 a month on AWS EC2). Free tiers exist but are time-limited or located in the US.</p></div></details>
<details><summary>Do I need a static IP for algo trading in India?</summary><div class="faq-content"><p>For API order placement, generally yes. SEBI's framework requires API access through a static IP whitelisted by your broker, and Zerodha, for example, has required one since 1 April 2026. Use an Elastic IP or an equivalent fixed address from your cloud provider, not the default address, which can change.</p></div></details>
<details><summary>Which AWS region is best for trading on NSE?</summary><div class="faq-content"><p>An Indian region: Mumbai (ap-south-1) or Hyderabad (ap-south-2), which were priced the same for common small instances in September 2026. The difference between them is unlikely to matter for retail strategies.</p></div></details>
<details><summary>Is it safe to keep broker API keys on a cloud server?</summary><div class="faq-content"><p>It can be, with care. Allow SSH only by key and only from your own IP, and turn on multi-factor sign-in for the cloud account. Keep keys in a file only the bot's user can read (or in a secrets manager), never commit them to git, and rotate them if you think they've leaked.</p></div></details>
<details><summary>How do I keep a Python trading bot running every day?</summary><div class="faq-content"><p>Run it as a systemd service with a restart policy, start it each trading morning with a timer, have it log in and self-test before the open, and add an outside heartbeat check so you're alerted if it stops.</p></div></details>
<style>
  .faq-accordion {
    margin: 16px 0;
    padding: 0;
    font-family: inherit;
  }

  .faq-accordion h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .faq-accordion details {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin: 10px 0;
    overflow: hidden;
  }

  .faq-accordion summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 700;
    list-style: none;
    outline: none;
  }

  /* Remove default marker (Chrome/Safari) */
  .faq-accordion summary::-webkit-details-marker {
    display: none;
  }

  /* Custom chevron */
  .faq-accordion summary::after {
    content: "▾";
    float: right;
    transition: transform 160ms ease;
    font-weight: 700;
  }

  .faq-accordion details[open] summary::after {
    transform: rotate(180deg);
  }

  .faq-content {
    padding: 0 16px 14px;
    color: #111827;
  }

  .faq-content p {
    margin: 10px 0 0;
    line-height: 1.6;
  }

  .faq-content ul {
    margin: 10px 0 0 18px;
  }

  .faq-content li {
    margin: 6px 0;
    line-height: 1.55;
  }

  /* Optional hover/focus polish */
  .faq-accordion summary:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
    border-radius: 12px;
  }
</style>
</section><!--kg-card-end: html--><h2 id="key-points">Key points</h2><ul><li>A small Linux server in an Indian region costs a few dollars a month and removes the laptop's failure modes.</li><li>Under SEBI's framework your broker will generally want a static IP for API order placement, so use an Elastic IP or its equivalent and keep it.</li><li>Most cloud servers run on UTC, so schedule in IST deliberately and use explicit time zones in code.</li><li>Use systemd with a restart policy and a morning timer, rebuild state from the broker at startup, and let an outside heartbeat catch what systemd can't.</li></ul><p>Getting a bot onto a server can be a weekend's work. Getting it to run reliably, day after day, is the part most traders underestimate, and it's the part QuantInsti's EPAT programme spends time on when it takes strategies from backtest to live deployment.</p><p><em>Sources: AWS EC2 on-demand pricing (publication date 25 September 2026), AWS VPC pricing, AWS Free Tier page, and AWS EC2 documentation on time zones and Amazon Time Sync, all read 28 September 2026. Amazon Lightsail, DigitalOcean and Google Cloud free-tier pricing pages, read 28 September 2026. Zerodha support article on static IPs and Kite Connect v3 documentation, read September 2026. SEBI circular on safer participation of retail investors in algorithmic trading, 4 February 2025, and timeline circular of 30 September 2025. systemd.service, systemd.timer and systemd-system.conf documentation.</em></p><h2 id="interested-in-algorithmic-trading">Interested in algorithmic trading?</h2><p><strong>Connect with an </strong><strong><a href="https://www.quantinsti.com/epat">EPAT</a></strong><strong> career counsellor to create a personalised quant career path for you</strong></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[How Do Transaction Costs Affect Automated Trading Performance?]]></title><description><![CDATA[How brokerage, STT, spreads and slippage erode automated strategies, with Indian 2026 cost figures and Nifty and SPY tests.]]></description><link>https://www.quantinsti.com/articles/transaction-costs-automated-trading/</link><guid isPermaLink="false">6acc7c162330e00007c6de4d</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Ishan Shah]]></dc:creator><pubDate>Tue, 13 Oct 2026 10:11:25 GMT</pubDate><content:encoded><![CDATA[<p><strong>Author:</strong> <a href="https://www.linkedin.com/in/ishan-shah-18393828/">Ishan Shah</a></p><p>Here's a rule that sounds sensible. Whenever the S&amp;P 500 ETF (SPY) falls more than 1% in a day, buy it at (or just before) the close and sell at the next day's close, on the idea that sharp one-day drops tend to partly bounce back. From 2006 to September 2026 it made about 4.8% a year before costs, with a Sharpe ratio of 0.47 (annual return divided by volatility). That's less than simply holding SPY, which returned about 11% a year, because the rule sits in cash seven days out of eight. Still, it's positive, and it's a rule you can write in four lines. (It does assume you can trade at the very close that triggered it. Wait for the next day's close instead and the gross return drops to about 3.1% a year.)</p><p>Now charge it 10 basis points (0.1%) each time it buys or sells. Over the same twenty years it loses money, about -0.4% a year, and its Sharpe ratio falls to 0.02.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/transaction-costs-impact-on-spy-strategy.png" class="kg-image" alt="Transaction costs turning a profitable SPY strategy into a loss"><figcaption>The same SPY rule under four cost assumptions, 2006 to 2026. At 10 basis points per side, a profitable rule becomes a losing one. Teaching illustration only.</figcaption></figure><p>Nothing about the rule changed. Only the assumed cost did. SPY itself is one of the cheapest things in the world to trade, and at 1 or 2 basis points per side the rule still made about 4.2% and 3.7% a year. But 10 basis points is roughly what an Indian delivery trade pays in taxes and fees alone (about 11 per side), before any spread, so put the same rule on an Indian stock and the arithmetic starts to look like the red line. It's one of the most common reasons a strategy that shines in a <a href="https://www.quantinsti.com/articles/backtesting-trading/">backtest</a> disappoints live, and it's among the least glamorous (nobody posts screenshots of their contract notes). So it's worth understanding precisely.</p><h2 id="the-short-answer">The short answer</h2><p>Transaction costs cut returns by roughly the cost of one round trip multiplied by the number of round trips a year, so strategies that trade often suffer most. A strategy that trades a few times a year barely notices them, while one that trades daily can have its whole edge erased by a few basis points. The costs themselves are brokerage, taxes and exchange fees, the bid-ask spread, and slippage (the gap between the price you expected and the price you got). Backtest with realistic costs, measure your real costs once live, and prefer strategies whose average profit per trade is several times their cost per trade.</p><h2 id="what-counts-as-a-transaction-cost">What counts as a transaction cost?</h2><p>Every cost of getting in and out of a trade. They split into explicit costs printed on your contract note (brokerage, STT, exchange and SEBI fees, stamp duty and GST) and implicit costs that aren't billed but still bite: the bid-ask spread, slippage, and the market impact of your own order:</p><p><strong>Explicit costs</strong> are the ones on the contract note. In India these are brokerage, securities transaction tax (STT), exchange transaction charges, the SEBI turnover fee, stamp duty and GST. In the US, most stock brokers charge no commission, but small regulatory fees still apply on sales.</p><p><strong>The bid-ask spread</strong> is the gap between the best price someone will pay and the best price someone will sell at. If you buy with a market order and later sell with one, you pay the whole spread across the round trip. On very liquid instruments it's tiny, but on a thinly traded small-cap stock or a far-from-the-money option it can be larger than all the explicit charges put together.</p><p><strong>Slippage and market impact</strong> are the difference between the price when your signal fired and the price you actually got. Part of it is latency (the price moved while your order travelled), and part is your own order moving the price, which matters more as trade size grows. Researchers have found this impact grows roughly with the square root of your order size relative to daily volume (Tóth and co-authors, 2011), so doubling your size raises the cost per share by about 40% (and the total cost of the order nearly threefold). For most retail sizes impact is small, and the spread and fees dominate.</p><h2 id="what-does-a-trade-cost-in-india">What does a trade cost in India?</h2><p>Indian explicit costs are higher than many people expect, mainly because of STT, and they've been rising. In Budget 2026-27, STT on futures went from 0.02% to 0.05% of the sell value, and on options from 0.1% to 0.15% of the premium, both effective 1 April 2026. That puts futures STT at roughly four times its level before October 2024.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/india-round-trip-trading-costs-by-segment.png" class="kg-image" alt="Round-trip trading costs by segment at an Indian discount broker"><figcaption>Round-trip charges by segment at a flat-fee discount broker, using rates published in September 2026. Spread and slippage are extra.</figcaption></figure><p>Working through a flat-fee discount broker's schedule (₹20 or 0.03% per order, whichever is lower), a round trip costs about:</p><ul><li><strong>0.08% (8 basis points)</strong> for ₹1 lakh of intraday equity, where brokerage is the largest part, followed by STT.</li><li><strong>0.22% (22 basis points)</strong> for ₹1 lakh of equity delivery, almost all of it STT at 0.1% on each side.</li><li><strong>0.06% (6 basis points)</strong> for one Nifty futures lot (about ₹15 lakh), almost all of it STT.</li><li><strong>About 1% (96 basis points) of the premium</strong> for one Nifty option lot at a ₹100 premium, because the flat ₹40 of brokerage is large next to a ₹6,500 premium. At larger premiums this falls sharply.</li></ul><p>Two more charges catch bots out. Delivery sales usually carry a flat depository charge per stock sold, which matters on small trades. And an option bought and left to expire in the money attracts STT of 0.15% on its intrinsic value, which can be far larger than the STT on the premium, so many option-buying bots square off before expiry.</p><p>Take intraday equity. If a strategy makes an average of 0.15% per trade before costs, the explicit charges alone take more than half of it, and the spread hasn't been paid yet. SEBI's study of intraday traders (released July 2024, on FY23 data) found that loss-making traders spent an extra 57% of their trading losses on transaction costs. Costs didn't cause those losses, but they made every one of them deeper.</p><h2 id="why-does-trading-frequency-matter-so-much">Why does trading frequency matter so much?</h2><p>A fast rule pays for many more round trips, and each one is chasing a smaller move. A slow strategy making three round trips a year pays three sets of costs. A fast one making thirty pays ten times as much, and its profit per trade is usually smaller.</p><p>We can see this on the Nifty. Take four versions of the same simple momentum rule: hold the index when its return over the last N days is positive, and stay out otherwise, with N set to 3, 20, 100 or 200 days. Then charge each of them costs from zero to 30 basis points per side.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/nifty-momentum-strategy-cost-sensitivity.png" class="kg-image" alt="Nifty momentum strategy Sharpe ratio falling as costs rise"><figcaption>Four momentum rules on the Nifty 50, 2009 to 2026, charged costs from 0 to 30 basis points per side. The fast rule's Sharpe ratio reaches zero at about 11 basis points. Teaching illustration only.</figcaption></figure><p>From 2009 to September 2026, with no costs, the 20-day rule looks best (a Sharpe ratio of 0.82), and the 3-day rule is respectable at 0.62, level with the 100-day rule. But the 3-day rule makes about 31 round trips a year, and its Sharpe ratio hits zero at around 11 basis points per side, well within realistic costs. The 200-day rule trades about three times a year, and at 20 basis points per side it still has a Sharpe ratio of 0.43, barely down from 0.52. At zero cost the order from best to worst was the 20-day, 100-day, 3-day and 200-day rules. At 20 basis points it's 100-day, 20-day, 200-day and 3-day, with the fast rule now deep in negative territory. So costs also change which strategy comes out best.</p><p>One caveat on our test: the Nifty index can't be traded directly, so a real version would go through futures or an ETF, with roll costs or tracking error on top. The ranking would survive that, but every line would shift down. (There's a subtler catch as well. NSE's official closing price is an average of the last half hour's trades, so a backtest that "trades at the close" uses a price nobody traded at exactly.)</p><p>Academic work finds the same pattern at scale. Novy-Marx and Velikov (2016) tested a broad set of published stock-market anomalies after trading costs. Most of those with one-sided monthly turnover below 50% still produced statistically significant returns after costs, at least when designed to keep costs down. Few of those with higher turnover did.</p><h2 id="how-should-i-put-costs-into-a-backtest">How should I put costs into a backtest?</h2><p>Model them explicitly and err high. Charge every trade a realistic round-trip cost, add more slippage than you expect, never assume you trade at the touch, and test how the result changes if costs double. Being pessimistic and specific is what stops a backtest flattering a strategy that can't pay its way. A few habits cover most of it:</p><p><strong>Model every explicit charge.</strong> Use your broker's actual schedule, including STT and stamp duty, rather than a round "0.05%". Rates change, and the 2024 and 2026 STT changes each altered the arithmetic for derivatives strategies.</p><p><strong>Add half the spread per side if you use market orders.</strong> A backtest run on closing prices assumes you traded at the last price, which is usually at or near the midpoint of the spread. In reality you buy at the ask and sell at the bid. Ernie Chan gave a sharp example on his blog in 2015. A daily pairs strategy on two oil ETFs showed a Sharpe ratio of about 1 after deducting 5 basis points per side. Re-running it on actual bid and ask quotes wrecked the equity curve, because the flat cost had hidden a wide spread.</p><p><strong>Add slippage for signals that fire on fast moves.</strong> If a strategy buys breakouts, the price tends to move against it in the very seconds its order is travelling. Start with a few basis points and measure.</p><p><strong>Test a range of costs.</strong> Plot performance against cost per side, as in the chart above. If the strategy only works below 3 basis points and your realistic cost is 8, you've learned something valuable for free.</p><p><strong>Compare the profit per trade with the cost per trade.</strong> This is the quickest sanity check there is. If your average trade makes 0.12% gross and costs 0.10% round trip, the <a href="https://www.quantinsti.com/articles/capital-needed-algorithmic-trading">margin</a> is very thin, and any error in the cost estimate (or any drift in the edge) flips it negative. A comfortable ratio is several times, not one and a bit.</p><h2 id="how-do-i-measure-costs-once-i-m-live">How do I measure costs once I'm live?</h2><p>Record the price at the moment each signal fires, and the actual fill price. The difference, averaged over trades, is your real slippage. Compare it with what the backtest assumed. It's one of the most useful numbers to track (our <a href="https://www.quantinsti.com/articles/monitor-trading-bot-real-time">article on monitoring</a> trading bots explains how), because if live slippage runs at double the assumption, the live results will fall short of the backtest by a predictable amount.</p><p>For context, Frazzini, Israel and Moskowitz (2018) studied $1.7 trillion of real trades by one large institutional manager across 21 developed markets. They found an average implementation shortfall (total cost relative to the price when the decision was made) of about 11 basis points. That's a sophisticated manager with algorithmic execution, not a retail benchmark, but it's a useful reminder that even professionals pay around 10 basis points.</p><h2 id="how-can-i-reduce-transaction-costs">How can I reduce transaction costs?</h2><p>Mostly by trading less, not by hunting a cheaper broker. Fewer round trips, longer holds, patient limit orders instead of chasing the price, and netting trades where you can all help. A lower brokerage shaves a little, but frequency is the lever that actually moves returns:</p><ul><li><strong>Lower your turnover.</strong> Use slower signals, or make it harder to enter a position than to keep one. Novy-Marx and Velikov found this "buy/hold spread" was the single most effective simple way to cut costs.</li><li><strong>Raise the profit per trade.</strong> Filter out marginal signals so that the trades you take have a larger expected move relative to their cost.</li><li><strong>Trade liquid instruments.</strong> Tight spreads and deep order books cut both spread and impact.</li><li><strong>Use limit orders where the strategy allows.</strong> You save the spread, at the risk of not being filled when you most want to be. Test the fill rate with care, since a backtest that assumes every limit order fills is its own kind of overfitting.</li><li><strong>Watch flat fees on small trades.</strong> A flat ₹20 of brokerage is 0.02% of ₹1 lakh but 0.3% of a ₹6,500 option premium. Where fees are fixed per order, trade in larger, fewer orders (our article on starting capital shows what fixed costs do to small accounts).</li><li><strong>Choose the cheaper wrapper.</strong> The same exposure can cost very different amounts as delivery equity, intraday equity or futures.</li></ul><h2 id="frequently-asked-questions">Frequently asked questions</h2><!--kg-card-begin: html--><section class="faq-accordion" aria-label="Frequently Asked Questions">
<details><summary>How much do transaction costs reduce trading returns?</summary><div class="faq-content"><p>Roughly the cost per round trip times the number of round trips a year. At 0.2% per round trip, a strategy trading 50 times a year gives up about 10 percentage points of return annually, while the same cost on a strategy trading three times a year takes about 0.6 points.</p></div></details>
<details><summary>What is slippage in algorithmic trading?</summary><div class="faq-content"><p>The difference between the price when your strategy decided to trade and the price you actually got. It comes from the bid-ask spread, from the price moving while your order travels, and from your own order moving the market. Measure it live by recording both prices for every trade.</p></div></details>
<details><summary>What are the transaction charges for intraday trading in India?</summary><div class="faq-content"><p>At a flat-fee discount broker, a ₹1 lakh intraday round trip costs about ₹83, or 0.08%, in brokerage, STT, exchange fees, stamp duty and GST, at rates published in September 2026. Spread and slippage are extra.</p></div></details>
<details><summary>How do I include transaction costs in a backtest?</summary><div class="faq-content"><p>Model every explicit charge from your broker's schedule, add half the bid-ask spread per side for market orders, add slippage for fast-moving signals, and test how performance changes as costs rise. If the strategy only works at costs below what you'll really pay, it doesn't work.</p></div></details>
<style>
  .faq-accordion {
    margin: 16px 0;
    padding: 0;
    font-family: inherit;
  }

  .faq-accordion h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .faq-accordion details {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin: 10px 0;
    overflow: hidden;
  }

  .faq-accordion summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 700;
    list-style: none;
    outline: none;
  }

  /* Remove default marker (Chrome/Safari) */
  .faq-accordion summary::-webkit-details-marker {
    display: none;
  }

  /* Custom chevron */
  .faq-accordion summary::after {
    content: "▾";
    float: right;
    transition: transform 160ms ease;
    font-weight: 700;
  }

  .faq-accordion details[open] summary::after {
    transform: rotate(180deg);
  }

  .faq-content {
    padding: 0 16px 14px;
    color: #111827;
  }

  .faq-content p {
    margin: 10px 0 0;
    line-height: 1.6;
  }

  .faq-content ul {
    margin: 10px 0 0 18px;
  }

  .faq-content li {
    margin: 6px 0;
    line-height: 1.55;
  }

  /* Optional hover/focus polish */
  .faq-accordion summary:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
    border-radius: 12px;
  }
</style>
</section><!--kg-card-end: html--><h2 id="key-points">Key points</h2><ul><li>Transaction costs include brokerage, taxes and fees, the bid-ask spread and slippage, and the last two never appear on your contract note.</li><li>Annual cost is roughly the cost per round trip times round trips a year, so frequency matters more than the fee schedule.</li><li>In India, an intraday equity round trip costs about 0.08% and a delivery round trip about 0.22% before spread, and F&amp;O STT went up again on 1 April 2026.</li><li>In our Nifty test, a 3-day momentum rule's Sharpe ratio fell to zero at about 11 basis points per side, while a 200-day rule barely moved at 20.</li></ul><p>If you'd like to find your own strategy's break-even cost, Quantra's backtesting courses show how to run a cost-sensitivity test like the ones above, and EPAT covers execution and realistic backtesting in more depth.</p><p><em>Sources: Zerodha charges page and brokerage schedule, read 28 September 2026. NSE circular NSE/FA/73061, 27 February 2026. Union Budget 2026-27 STT changes, effective 1 April 2026, as reported by ICICI Direct and HDFC Securities. SEBI study of intraday traders in the equity cash segment, press release 24 July 2024. Novy-Marx and Velikov (2016), "A Taxonomy of Anomalies and Their Trading Costs", Review of Financial Studies 29(1). Frazzini, Israel and Moskowitz (2018), "Trading Costs", working paper. Tóth et al. (2011), Physical Review X 1. Chan, "Beware of Low Frequency Data", epchan.blogspot.com, 13 April 2015. SPY and Nifty 50 tests: Yahoo Finance daily data, our calculations; Sharpe ratios computed without deducting a risk-free rate.</em></p><h2 id="interested-in-algorithmic-trading">Interested in algorithmic trading?</h2><p><strong>Connect with an </strong><strong><a href="https://www.quantinsti.com/epat">EPAT</a></strong><strong> career counsellor to create a personalised quant career path for you</strong></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[How Much Capital Do You Need to Start Algorithmic Trading?]]></title><description><![CDATA[What really sets the minimum: lot sizes, running costs and risk per trade, with Nifty data, SEBI's FY26 study and the 2026 US PDT change.]]></description><link>https://www.quantinsti.com/articles/capital-needed-algorithmic-trading/</link><guid isPermaLink="false">6acc7c0e2330e00007c6de3f</guid><category><![CDATA[Algo Trading Business]]></category><dc:creator><![CDATA[Ishan Shah]]></dc:creator><pubDate>Tue, 13 Oct 2026 10:11:24 GMT</pubDate><content:encoded><![CDATA[<p><strong>Author:</strong> <a href="https://www.linkedin.com/in/ishan-shah-18393828/">Ishan Shah</a></p><p>It's usually the first question people ask, often before they've written a line of strategy code, and the internet answers it with a wall of contradictory numbers: $1,000, ₹50,000, $25,000, ₹10 lakh. Several of those can be right at once, because the answer depends on what you trade, how often you trade it and how much fixed cost you carry. So rather than add one more number to the pile, let's work out where the number comes from, and then you can size your own account instead of borrowing someone else's figure.</p><h2 id="so-what-s-the-real-minimum">So what's the real minimum?</h2><p>There's no legal minimum for <a href="https://www.quantinsti.com/articles/algorithmic-trading/">algorithmic trading</a> itself in India. In practice the floor comes from three things: the smallest position your instrument allows, the fixed costs of running a system, and a sizing rule that stops any single trade from doing serious damage. For slow strategies in cash equities, a few lakh rupees is a workable start. For futures, options or frequent trading, you need meaningfully more, and it must be money you can afford to lose.</p><p>In the US, the $25,000 pattern day trader minimum is on its way out. That rule required anyone making four or more day trades in five business days in a margin account to hold at least $25,000. The SEC approved FINRA's replacement on 14 April 2026, effective 4 June 2026, swapping the minimum and the day-trade count for an intraday margin standard that applies to every margin account. Brokers have until 20 October 2027 to move over, so yours may still apply the old rule for a while, and the separate $2,000 minimum for opening a margin account isn't part of the change. Check how your broker handles it before you plan around it.</p><h2 id="what-sets-the-floor-in-india">What sets the floor in India?</h2><p>India has never had a rule like the PDT minimum. What sets the floor here is contract size. SEBI raised the minimum value of an index derivatives contract to ₹15 lakh from November 2024. The Nifty lot is currently 65 units (it changed from 75 with the January 2026 contracts, and NSE reviews lot sizes periodically, so check the current figure). At the Nifty's close of 23,140 on 25 September 2026, one lot is about ₹15 lakh of exposure.</p><p>Your broker will ask for a margin of roughly a tenth to an eighth of that (its margin calculator gives the day's figure), so a ₹3 lakh account can hold a lot with room to spare. On paper that sounds fine. But margin is a deposit, not a measure of risk. The risk is ₹15 lakh.</p><h2 id="what-does-one-lot-actually-risk">What does one lot actually risk?</h2><p>This is where most small accounts go wrong, so it's worth doing the arithmetic. Over the past year the Nifty's typical daily move (one standard deviation) was about 0.8%, which on one lot comes to around ₹12,600. The worst day of the past year, 19 March 2026, was a fall of about 3.3%, or roughly ₹49,100. And on 23 March 2020 the index fell 13% in a single session, which at today's lot size and level would be about ₹1.95 lakh on one lot, in one day.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/nifty-futures-lot-loss-by-day.png" class="kg-image" alt="Loss on one Nifty futures lot by type of market day"><figcaption>Loss on a single long Nifty futures lot on three kinds of day, as a share of account size. Nifty 50 daily closes; lot of 65 at the 25 September 2026 level.</figcaption></figure><p>On a ₹2 lakh account, a normal bad day costs about 6%, the worst day of an ordinary year costs a quarter of the account, and a 2020-style crash takes almost all of it. On ₹10 lakh the same crash costs about a fifth, which is painful but survivable.</p><p>SEBI's own data shows the pattern. Its study of individual derivatives traders, published on 20 August 2026, found that 87.7% lost money in FY26. The loss rate was highest among the smallest accounts: 90% of traders using less than ₹1 lakh of margin lost money, against 67.6% of those using ₹10 lakh to ₹1 crore. (SEBI calls these capital-bracket figures indicative, since they come from a sample of about 5,050 traders.) Did a bigger account make traders profitable? No. Two-thirds of the larger accounts still lost money. But the undersized accounts did measurably worse.</p><h2 id="why-do-small-accounts-struggle-with-costs">Why do small accounts struggle with costs?</h2><p>Running an automated strategy has costs that don't shrink with your account. There's market data, which costs about ₹500 a month from one large Indian broker. There's a small cloud server with a fixed IP address, so the bot runs without your laptop (about ₹700 a month at September 2026 list prices). And there's brokerage of ₹20 plus GST per order at a flat-fee broker. The chart shows what those add up to as a share of the account, at three trading speeds.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/algo-trading-running-costs-by-account-size.png" class="kg-image" alt="Algo trading running costs versus account size by trading frequency"><figcaption>Running costs and brokerage as a share of account size, for one round trip a week (green), two a day (blue) and ten a day (red). Illustrative: ₹1,200 a month plus ₹20 and GST per order. Taxes and slippage come on top.</figcaption></figure><p>At one round trip a week (the green line), a ₹1 lakh account pays about 17% of its value each year in running costs and brokerage. At ₹10 lakh the same setup costs under 2%. Trade twice a day (blue) and the ₹1 lakh account needs to earn 38% a year just to cover them. That isn't a realistic target, which is why the small-account answer is almost always "trade less often" rather than "find a better strategy". (The weekly line is a slight overstatement, since many flat-fee brokers charge no brokerage on delivery trades, but the ₹1,200 a month doesn't go away.)</p><p>These costs also come before the ones that scale with trading: securities transaction tax (STT), exchange fees, stamp duty, GST and the bid-ask spread. Our <a href="https://www.quantinsti.com/articles/transaction-costs-automated-trading">article on transaction costs</a> works through those.</p><h2 id="how-much-should-you-risk-per-trade">How much should you risk per trade?</h2><p>Once you know your instrument and your costs, the last input is sizing. A common rule of thumb among systematic traders is to risk a small, fixed share of the account on each trade, often 0.5% to 2%, meaning that if the exit point (the stop) is hit, you lose that fraction. It sounds overly cautious until you see what larger numbers do.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/account-size-risk-of-ruin-simulation.png" class="kg-image" alt="Account size effect on a profitable strategy over 500 simulated trades"><figcaption>Simulation: 500 trades of a modestly profitable strategy (45% winners, winners 1.5 times the size of losers), repeated 4,000 times at five risk levels. Costs ignored.</figcaption></figure><p>The simulated strategy has a real edge, and every version of it makes money on average. Yet at 2% risk per trade, nearly half the paths suffered a 30% drawdown (a fall of 30% from a previous peak) somewhere in their 500 trades. At 5%, every single path did, and 83% fell by half. At 10%, the median path lost about 90% from its peak at some point. The strategy and the edge are identical in every column, and only the size changes. For this strategy the size that maximises long-run growth, known as the Kelly fraction, works out at about 8% per trade, so the 10% column is already past it, where extra risk buys deeper drawdowns and slower growth. Most practitioners who use Kelly bet half of it or less, because the inputs are estimates.</p><p>The simulation is also kind in ways real trading isn't. It ignores costs, assumes the edge is real, and never lets losses cluster together, so real strategies usually do worse than this.</p><p>Now link that back to the lot. If your rule is to risk 1% per trade and your stop on a Nifty futures position is 1% away, one lot risks about ₹15,000, which implies an account of around ₹15 lakh. With a ₹3 lakh account, the same trade risks 5%, and you're in the column of the chart where losing half the account is a matter of time. (A 1% stop is also tight for an index whose ordinary daily move is 0.8%, so expect it to be hit often.)</p><p>And a stop doesn't cap the loss. If the index gaps through it overnight, or on a day like 23 March 2020, you're filled at the next available price, which can be far worse than the stop. Size for the gap you could survive as well as for the stop. This is why the real minimum for futures is set by the lot rather than the margin.</p><h2 id="what-are-realistic-starting-ranges">What are realistic starting ranges?</h2><p>As rough brackets, not rules: for slow cash-equity strategies a few lakh rupees is a workable start, while futures, options or frequent trading need meaningfully more to absorb fixed costs and survive a bad day on one lot. The figures assume Indian markets, a flat-fee broker and money you can afford to lose:</p><!--kg-card-begin: html--><table border="1"><tbody><tr><td><p><strong>Starting capital</strong></p></td><td><p><strong>What it realistically supports</strong></p></td></tr><tr><td><p>Under ₹1 lakh</p></td><td><p>Learning and paper trading. Small live cash-equity trades, a few a month, without paid data or hosting, since ₹1,200 a month would be a large share of capital.</p></td></tr><tr><td><p>₹1 lakh to ₹5 lakh</p></td><td><p>Low-frequency strategies in cash equities or ETFs, holding for days to weeks. One futures lot is a large bet at this size.</p></td></tr><tr><td><p>₹5 lakh to ₹15 lakh</p></td><td><p>A few uncorrelated equity strategies. At the upper end, an occasional single futures lot with a defined exit, sized for gaps.</p></td></tr><tr><td><p>₹15 lakh and above</p></td><td><p>Room for more than one strategy and market, and for futures sized at around 1% risk per trade.</p></td></tr></tbody></table><!--kg-card-end: html--><p>None of these rows is a recommendation to trade derivatives. Futures and options are leveraged, losses can exceed the margin you post, and SEBI's data shows most individual derivatives traders lose money.</p><p>In US markets the low end is more flexible, because fractional shares and micro futures exist. The CME Micro E-mini S&amp;P 500 contract is $5 times the index, a tenth of the full E-mini, and its exchange maintenance margin was about $2,300 to $2,600 per contract in late September 2026. That still means something like $35,000 to $40,000 of exposure per contract at recent index levels, so the same risk-per-trade arithmetic applies, and a broker offering far lower day-trading margin is raising your risk rather than lowering it.</p><p>More capital doesn't buy an edge, but it does buy room: the ability to size positions sensibly and to survive the drawdowns every strategy has. The edge has to come from a tested strategy and disciplined risk control, and that takes the same work whether your account is ₹2 lakh or ₹2 crore. (Our <a href="https://www.quantinsti.com/articles/buy-pre-made-trading-algorithms">article on pre-made</a> trading algorithms shows why testing is harder than it looks.)</p><h2 id="how-do-i-start-with-less">How do I start with less?</h2><p>Start without money, then with a little, then with more. Paper trade first: run the strategy against live market data with no real orders, so you find the bugs (expired logins, rejected orders, wrong lot sizes) for free. Then go live with the smallest size the instrument allows, in a market where that size is small relative to your account, which usually means cash equities rather than F&amp;O. Scale up only after the live results have tracked the <a href="https://www.quantinsti.com/articles/backtesting-trading/">backtest</a> over enough trades to mean something (50 to 100 is a reasonable minimum), with costs included.</p><p>This staged path is slower, and while you're learning, a few extra months cost far less than a blown account.</p><h2 id="frequently-asked-questions">Frequently asked questions</h2><!--kg-card-begin: html--><section class="faq-accordion" aria-label="Frequently Asked Questions">
<details><summary>Can I start algorithmic trading with ₹50,000 or $1,000?</summary><div class="faq-content"><p>You can start learning, and trade small cash-equity positions, but not with the full automated setup. At this size, ₹1,200 a month for data and a server is about 29% of ₹50,000 a year before a single trade. Paper trade first, run the bot on your own machine or on free broker data while you learn, and add paid data and hosting once the account can carry them. Derivatives are a poor fit, since one Nifty futures lot is about ₹15 lakh of exposure.</p></div></details>
<details><summary>Is there a minimum capital requirement for algo trading in India?</summary><div class="faq-content"><p>There's no legal minimum for retail algo trading itself. The practical floor comes from contract sizes (SEBI's ₹15 lakh minimum for index derivatives), broker margin and the running costs of data and hosting. SEBI's retail algo framework governs how algos connect through brokers, not how much capital you need.</p></div></details>
<details><summary>Has the US $25,000 pattern day trader rule been removed?</summary><div class="faq-content"><p>It's being phased out from 4 June 2026, in favour of an intraday margin standard. Brokers can keep applying the old rule until 20 October 2027, and the $2,000 minimum for a margin account still applies, so check how yours handles it.</p></div></details>
<details><summary>Is algorithmic trading profitable for small accounts?</summary><div class="faq-content"><p>It can be, but small accounts face higher costs as a share of capital, less room to size positions sensibly and less cushion for drawdowns. SEBI's FY26 data showed higher loss rates among traders using less than ₹1 lakh of margin. Automation runs your rules faithfully, but it can't make them profitable.</p></div></details>
<style>
  .faq-accordion {
    margin: 16px 0;
    padding: 0;
    font-family: inherit;
  }

  .faq-accordion h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .faq-accordion details {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin: 10px 0;
    overflow: hidden;
  }

  .faq-accordion summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 700;
    list-style: none;
    outline: none;
  }

  /* Remove default marker (Chrome/Safari) */
  .faq-accordion summary::-webkit-details-marker {
    display: none;
  }

  /* Custom chevron */
  .faq-accordion summary::after {
    content: "▾";
    float: right;
    transition: transform 160ms ease;
    font-weight: 700;
  }

  .faq-accordion details[open] summary::after {
    transform: rotate(180deg);
  }

  .faq-content {
    padding: 0 16px 14px;
    color: #111827;
  }

  .faq-content p {
    margin: 10px 0 0;
    line-height: 1.6;
  }

  .faq-content ul {
    margin: 10px 0 0 18px;
  }

  .faq-content li {
    margin: 6px 0;
    line-height: 1.55;
  }

  /* Optional hover/focus polish */
  .faq-accordion summary:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
    border-radius: 12px;
  }
</style>
</section><!--kg-card-end: html--><h2 id="key-points">Key points</h2><ul><li>There's no universal minimum. Instrument size, running costs and your sizing rule set the practical floor.</li><li>One Nifty futures lot is about ₹15 lakh of exposure, and the 23 March 2020 move would have cost about ₹1.95 lakh on it in a single day.</li><li>Risking more than about 2% per trade makes deep drawdowns likely even with a real edge, and a stop doesn't protect you from gaps.</li><li>Paper trade, go live small in cash equities, and scale only after live results match the backtest.</li></ul><p>Working out the capital is the easy part, and building a strategy worth funding is where the work is. QuantInsti's EPAT programme covers strategy design, backtesting, risk management and position sizing if you want to learn that side properly.</p><p><em>Sources: FINRA Regulatory Notice 26-10, 20 April 2026. SEBI study, Trading Behaviour of Individual Traders in the Equity Derivatives Segment (FY25-FY26), 20 August 2026. SEBI circular on measures to strengthen the equity index derivatives framework, 1 October 2024 (minimum contract value). NSE lot-size revision announced October 2025, as reported by Business Standard. CME Group margin page for Micro E-mini S&amp;P 500, read 28 September 2026. Running costs: Zerodha Kite Connect pricing and AWS price lists, September 2026. Nifty 50 figures: Yahoo Finance daily closes, our calculations. Risk-per-trade chart: our simulation.</em></p><h2 id="interested-in-algorithmic-trading">Interested in algorithmic trading?</h2><p><strong>Connect with an </strong><strong><a href="https://www.quantinsti.com/epat">EPAT</a></strong><strong> career counsellor to create a personalised quant career path for you</strong></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="position: relative;min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[How Can I Monitor My Trading Bots in Real Time?]]></title><description><![CDATA[Four layers of trading-bot monitoring, from heartbeats to strategy drift, with lessons from Knight Capital and working Python code.]]></description><link>https://www.quantinsti.com/articles/monitor-trading-bot-real-time/</link><guid isPermaLink="false">6acc7c0f2330e00007c6de46</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Ishan Shah]]></dc:creator><pubDate>Tue, 13 Oct 2026 10:11:24 GMT</pubDate><content:encoded><![CDATA[<p><strong>Author:</strong> <a href="https://www.linkedin.com/in/ishan-shah-18393828/">Ishan Shah</a></p><p>On the morning of 1 August 2012, Knight Capital's order router started sending orders it was never meant to send. In about 45 minutes it made more than 4 million executions in 154 US stocks, built positions worth several billion dollars, and lost the firm more than $460 million. The detail that matters for anyone running a bot, even a small one, comes from the SEC's investigation. Before the market even opened, an internal system had sent 97 automated emails pointing at the problem, and nobody acted on them.</p><p>Ninety-seven warnings, and nobody acted on any of them. That's the difference between sending alerts and monitoring. Monitoring means checks that reach you quickly, somewhere you'll notice, when the bot stops doing what you think it's doing.</p><h2 id="the-short-answer">The short answer</h2><p>Monitor a trading bot at four levels. Is it alive (a heartbeat that an outside service checks)? Does it agree with the broker about positions and orders (reconciliation every few minutes)? Is it within hard limits on size, order rate and daily loss (checked in code before every order, with a kill switch)? And is the strategy still behaving like its <a href="https://www.quantinsti.com/articles/backtesting-trading/">backtest</a> (live profit and loss, trade count and slippage compared with expectations)? Send alerts to your phone, keep them rare enough that you read every one, and make the first three checks automatic.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/trading-bot-monitoring-four-layers.png" class="kg-image" alt="Four layers of real-time trading bot monitoring"><figcaption>Four layers of monitoring. The fast layers catch broken software; the slow one catches a strategy that has quietly stopped working.</figcaption></figure><h2 id="what-actually-went-wrong-at-knight">What actually went wrong at Knight?</h2><p>It's worth getting the mechanism right, because every piece of it has a small-scale equivalent. The SEC's 2013 order describes three failures stacked on top of each other.</p><p>First, a deployment went wrong. New code was meant to go to eight servers, and a technician copied it to only seven. The eighth still carried old, unused code (a function called Power Peg, unused since 2003), and the new release had reused the flag that used to switch it on. Orders that reached the eighth server woke up a routine that kept sending child orders without checking whether the earlier ones had filled.</p><p>Second, the warnings weren't treated as warnings. The 97 emails weren't designed as alerts, and the people receiving them didn't usually read them. Third, the risk tools couldn't stop anything. Knight's main monitoring tool relied entirely on people watching a screen, raised no automated alerts and wasn't connected to order entry. When staff did react, they removed the new code from the seven healthy servers, which made those servers behave like the broken one. Knight later agreed to pay $12 million to settle SEC charges under the market access rule.</p><p>Your bot is almost certainly simpler than Knight's router. But "the code on the server isn't the code I think it is", "the warning went to an inbox nobody reads" and "there was no automatic brake" are the same ways small bots fail.</p><h2 id="layer-1-how-do-i-know-my-bot-is-still-running">Layer 1: How do I know my bot is still running?</h2><p>For a retail bot, the likelier failure is silence rather than a runaway loop. The process crashed at 2 a.m., the server rebooted for maintenance, the internet dropped, or the broker login expired. Zerodha's Kite Connect access tokens, for example, expire at 6 a.m. the next day as a regulatory requirement, and Interactive Brokers designs its TWS and IB Gateway software to be restarted daily. A bot that doesn't handle these events just sits there all day, doing nothing.</p><p>Why not have the bot email you when it fails? Because a crashed bot can't send anything. So the check has to run the other way round: your bot pings an outside service every minute, and the outside service alerts you when the pings stop. This is called a heartbeat, or a dead man's switch. Services such as Healthchecks.io work this way (their free tier covers 20 checks as of September 2026), and because the bot calls out to them, the bot's server doesn't need to accept any incoming connections.</p><!--kg-card-begin: html--><div style="background:#ffffff;border:1px solid #e1e4e8;border-radius:6px;overflow-x:auto;overflow-y:hidden;margin:0 0 1.2em;text-align:left;"><div style="display:flex;width:max-content;min-width:100%;"><div style="flex:0 0 auto;text-align:right;padding:14px 12px;background:#f6f8fa;color:#b0b6be;border-right:1px solid #e1e4e8;white-space:pre;user-select:none;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24</div><div style="flex:1 1 auto;padding:14px 16px;white-space:pre;text-align:left;color:#24292e;max-height:none;height:auto;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size:13px;line-height:1.55;"><span style="color: #D73A49">import</span><span style="color: #24292E"> requests</span><span style="color: #D73A49">,</span><span style="color: #24292E"> time</span>

<span style="color: #24292E">HEARTBEAT_URL</span> <span style="color: #D73A49">=</span> <span style="color: #032F62">"https://hc-ping.com/your-check-uuid"</span>   <span style="color: #6A737D; font-style: italic"># from your monitoring service</span>

<span style="color: #D73A49">def</span><span style="color: #24292E"> </span><span style="color: #6F42C1">heartbeat</span><span style="color: #24292E">(ok</span><span style="color: #D73A49">=</span><span style="color: #005CC5">True</span><span style="color: #24292E">):</span>
    <span style="color: #D73A49">try</span><span style="color: #24292E">:</span>
        <span style="color: #24292E">requests</span><span style="color: #D73A49">.</span><span style="color: #24292E">get(HEARTBEAT_URL</span> <span style="color: #D73A49">if</span> <span style="color: #24292E">ok</span> <span style="color: #D73A49">else</span> <span style="color: #24292E">HEARTBEAT_URL</span> <span style="color: #D73A49">+</span> <span style="color: #032F62">"/fail"</span><span style="color: #24292E">,</span> <span style="color: #24292E">timeout</span><span style="color: #D73A49">=</span><span style="color: #005CC5">5</span><span style="color: #24292E">)</span>
    <span style="color: #D73A49">except</span> <span style="color: #24292E">requests</span><span style="color: #D73A49">.</span><span style="color: #24292E">RequestException:</span>
        <span style="color: #D73A49">pass</span>   <span style="color: #6A737D; font-style: italic"># never let the monitor crash the bot</span>

<span style="color: #6A737D; font-style: italic"># is_trading_day, login_and_self_test, wait_until_open, market_is_open and</span>
<span style="color: #6A737D; font-style: italic"># run_one_cycle are placeholders for your own code.</span>
<span style="color: #D73A49">if</span> <span style="color: #D73A49">not</span> <span style="color: #24292E">is_trading_day():</span>
    <span style="color: #D73A49">raise</span> <span style="color: #24292E">SystemExit(</span><span style="color: #005CC5">0</span><span style="color: #24292E">)</span>      <span style="color: #6A737D; font-style: italic"># weekend or holiday: exit quietly</span>
<span style="color: #24292E">login_and_self_test()</span>        <span style="color: #6A737D; font-style: italic"># fail loudly at 8 a.m., not at 9:15</span>
<span style="color: #24292E">wait_until_open()</span>            <span style="color: #6A737D; font-style: italic"># sleep until 9:15 a.m. IST</span>
<span style="color: #D73A49">while</span> <span style="color: #24292E">market_is_open():</span>
    <span style="color: #D73A49">try</span><span style="color: #24292E">:</span>
        <span style="color: #24292E">run_one_cycle()</span>      <span style="color: #6A737D; font-style: italic"># fetch data, check it's fresh, check signals, place orders</span>
        <span style="color: #24292E">heartbeat(ok</span><span style="color: #D73A49">=</span><span style="color: #005CC5">True</span><span style="color: #24292E">)</span>   <span style="color: #6A737D; font-style: italic"># ping only after a cycle has really succeeded</span>
    <span style="color: #D73A49">except</span> <span style="color: #24292E">Exception:</span>
        <span style="color: #24292E">heartbeat(ok</span><span style="color: #D73A49">=</span><span style="color: #005CC5">False</span><span style="color: #24292E">)</span>  <span style="color: #6A737D; font-style: italic"># tell the monitor straight away</span>
        <span style="color: #D73A49">raise</span>                <span style="color: #6A737D; font-style: italic"># then stop, and let the service manager decide</span>
    <span style="color: #24292E">time</span><span style="color: #D73A49">.</span><span style="color: #24292E">sleep(</span><span style="color: #005CC5">60</span><span style="color: #24292E">)</span></div></div></div><!--kg-card-end: html--><p>A few details in that loop matter more than they look. The ping goes out only after a cycle has succeeded, and a cycle should count as a success only if the prices it used were fresh. A heartbeat sent from a loop that catches and ignores its own errors tells you the process is alive, not that it's trading (an expired login can fail every single cycle while the pings keep coming). The bot also logs in and tests itself well before the open, then waits, so a failed login surfaces while there's time to fix it. And the loop ends at the close, so something has to start it again the next morning, which our <a href="https://www.quantinsti.com/articles/deploy-trading-bot-cloud-server">article on deploying</a> a bot to a cloud server covers. Set the monitoring service's schedule to market hours too, or it'll page you (send the kind of alert that wakes you up) every evening when the pings stop on purpose.</p><p>In a real bot, separate the errors you expect from the ones you don't. Retry a timeout or a rate-limit error a few times, with a short pause, inside the cycle. Let unexpected errors, and anything to do with orders, stop the bot. And never resend an order just because the request timed out, because the broker may have accepted it. Check the order book first.</p><p>Set the grace period a little longer than your loop (say five minutes for a one-minute loop), and send the alert somewhere you'll see it within minutes: a phone push, a Telegram message or an SMS. Email is too easy to ignore, as Knight found. (UptimeRobot, another popular free service, works the opposite way: it polls a web address every five minutes. That suits a dashboard, but it means opening an inbound port on the bot's server, which a push-style heartbeat avoids.)</p><h2 id="layer-2-does-my-bot-agree-with-the-broker">Layer 2: Does my bot agree with the broker?</h2><p>Your bot keeps its own idea of what it holds, and the broker keeps the real one. The two drift apart more often than you'd think. An order gets rejected and the bot never reads the rejection. A partial fill is booked as a full one. A network timeout makes the bot resend an order that had already gone through. Or you place a trade from your phone and forget to tell it.</p><p>The fix is reconciliation, which just means comparing the two records. Every few minutes, pull positions and open orders from the broker and check them against the bot's internal state. If they still differ on a second check a few seconds later (fills in flight can cause a brief, harmless mismatch), stop placing new orders and alert. Don't let the bot "correct" the difference on its own, because a mismatch means something you didn't anticipate has happened, and that deserves a human look.</p><p>Most broker APIs also push order updates as they happen, either over a websocket (a connection that stays open so the broker can send messages instantly) or to a web address you register, called a postback URL. Use them, but treat them as a convenience rather than the source of truth, since a missed message is the very thing reconciliation exists to catch.</p><p>The standard defence against duplicate orders is to give every order your own label. Most broker APIs let you attach a short tag of your choosing to an order, so the bot can record the tag before sending and, after any timeout or restart, look for it in the day's orders before sending anything again.</p><h2 id="layer-3-what-limits-should-a-bot-enforce-on-itself">Layer 3: What limits should a bot enforce on itself?</h2><p>A bot needs to cap its own risk automatically, because no human watching a screen reacts in time to a loop sending ten orders a second. The brakes are a maximum order size, a maximum position per instrument and in total, a daily loss limit that halts trading, and a price sanity check. Enforce each in code before every order goes out:</p><ul><li><strong>Maximum order size and position size</strong>, per instrument and in total.</li><li><strong>Maximum orders per minute.</strong> A normal strategy might send a handful, while a bug sends hundreds. Your broker has its own caps too (as of September 2026, Kite Connect limited accounts to 10 orders a second and 400 a minute), but you want yours to trip well before theirs. Staying under 10 a second also keeps a personal algo below the threshold at which, under the exchanges' standards for SEBI's framework, it would need to be registered through your broker.</li><li><strong>Maximum daily loss.</strong> When realised plus open losses cross it, cancel open orders, then flatten or freeze positions (decide which in advance), and stop.</li><li><strong>Price sanity.</strong> Reject any order priced far from the last traded price, which catches bad data feeds and mistyped parameters.</li></ul><p>The daily-loss stop plus a single "halt everything" command make up your kill switch, and it's worth testing before you need it. Make the halt stick, too. When the kill switch trips, write it to a file with the date and have the bot check for it at startup, so an automatic restart can't quietly switch trading back on, and clear it by hand. It also shouldn't depend on the bot being healthy, since the bot is often the thing that's broken. Know how to cancel orders and square off from your broker's app or website, and try it once. Decide in advance which positions you'd close and how, too, because flattening thin options positions with market orders can itself be expensive. Exchanges have kill switches of their own (SEBI's 2025 retail algo framework describes the exchange's power to halt orders from a particular algo ID as a last line of defence), but that switch protects the market, not your account.</p><p>India has its own textbook case for pre-trade limits. According to the Securities Appellate Tribunal's later order, on 5 October 2012 a dealer at a Mumbai brokerage keyed in a basket order for 17 lakh Nifty units when the client wanted shares worth about ₹17 lakh. The resulting trades came to more than ₹650 crore, and the Nifty fell about 15% in seconds before a circuit breaker halted trading. It was a manual order, not a bot, but code that asks "is this order a hundred times bigger than anything I've sent before?" would have refused it.</p><h2 id="layer-4-is-my-strategy-still-working">Layer 4: Is my strategy still working?</h2><p>This is the hardest layer, because nothing is broken. Fills are fine, limits are respected, the dashboard is green, and the bot looks healthy. Meanwhile the strategy has stopped earning. Markets change, edges decay, and a backtest that was partly luck drifts back towards zero.</p><p>So the practical question is whether a losing stretch is bad luck or a broken strategy, and that's a statistics question. Your backtest gives you an expected daily return and a volatility, and from those you can draw the range that live cumulative returns should be inside on any given day about 95% of the time (the expected path, plus or minus two standard deviations). Losses inside that range are consistent with the backtest. A move below it suggests something has changed.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/trading-bot-strategy-drift-detection.png" class="kg-image" alt="Detecting trading bot strategy drift in simulated profit and loss"><figcaption>Simulation: the strategy stops working on day 60 and the P&L leaves the expected range on day 135. Across 500 simulated runs the median delay was 69 trading days.</figcaption></figure><p>The chart shows the uncomfortable part. In our simulation the strategy goes from earning about 0.08% a day to losing about 0.2% a day on day 60, which is a sharp break. Even so, in this run the profit and loss didn't leave the band until day 135. Across 500 runs the median delay was 69 trading days, more than three months, and about one run in ten still hadn't crossed it when the simulation ended at day 250. There's a second catch. Because you look every day, a strategy that's working fine will sometimes dip below the band by luck: 13% of runs did so in the 60 days before the break. So treat a crossing as a reason to investigate and cut size, rather than an automatic verdict.</p><p>The simulation also makes life easy: a clean break on one day, well-behaved returns and a backtest volatility you can trust. Real decay is usually gradual, which makes it harder to spot. Two refinements help. Centre the band on a haircut of the backtest return (half is a common starting point), since backtests tend to be optimistic. And a sequential test designed for this job, such as a CUSUM chart, usually spots a break sooner at the same false-alarm rate, though still not quickly. That's why layer 4 can't replace the fast layers, and why position size matters so much: small positions buy you the time to find out.</p><p>Alongside profit and loss, track a few numbers that move faster. If a strategy that should trade 20 times a month but traded 3 times, it probably has a data or signal problem. If live slippage (the gap between the price when the signal fired and the fill price) runs at double what the backtest assumed, the backtest was optimistic, as our <a href="https://www.quantinsti.com/articles/transaction-costs-automated-trading">article on transaction costs</a> explains. And win rate and average win and loss tend to drift before total profit does.</p><h2 id="how-should-alerts-reach-me">How should alerts reach me?</h2><p>Rarely, and loudly. An alert channel that fires fifty times a day trains you to ignore it, which puts you back in Knight's position. A reasonable split is:</p><ul><li><strong>Page-worthy (phone push or call):</strong> heartbeat missing, reconciliation mismatch, daily loss limit hit, kill switch triggered, login failed before the open.</li><li><strong>Daily summary (message or email):</strong> profit and loss, trades, slippage against the backtest, any warnings.</li><li><strong>Logs only:</strong> everything else.</li></ul><p>If you use a Telegram bot for alerts, batch messages rather than sending one per tick. Telegram asks bots to avoid sending more than about one message a second in a single chat, and a burst of alerts during a real problem is when you'd hit that limit.</p><p>For those who want dashboards, open-source tools such as Prometheus and Grafana can chart everything above. They're useful, but a dashboard is something you have to look at, whereas the alerts are what find you.</p><h2 id="frequently-asked-questions">Frequently asked questions</h2><!--kg-card-begin: html--><section class="faq-accordion" aria-label="Frequently Asked Questions">
<details><summary>Can I monitor my trading bot from my phone?</summary><div class="faq-content"><p>Yes. Point your heartbeat service and your alerts at a phone push app, Telegram or SMS, and keep your broker's mobile app installed so you can cancel orders and square off by hand if the bot misbehaves.</p></div></details>
<details><summary>How do I stop a trading bot that's out of control?</summary><div class="faq-content"><p>Build a kill switch before going live: a single command, plus an automatic trigger on a daily loss limit, that cancels open orders and blocks new ones. Because the bot itself may be what's broken, also know how to cancel and square off from your broker's app or website.</p></div></details>
<details><summary>How often should I check my bot's positions against the broker?</summary><div class="faq-content"><p>Every few minutes during market hours, plus once before the open and once after the close. On any mismatch, stop new orders and alert, rather than letting the bot fix it on its own.</p></div></details>
<details><summary>Do I need Grafana or a dashboard to monitor a bot?</summary><div class="faq-content"><p>No. Dashboards help with analysis, but the essentials are automated checks and a small number of alerts that reach your phone. Start there and add charts later.</p></div></details>
<style>
  .faq-accordion {
    margin: 16px 0;
    padding: 0;
    font-family: inherit;
  }

  .faq-accordion h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .faq-accordion details {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin: 10px 0;
    overflow: hidden;
  }

  .faq-accordion summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 700;
    list-style: none;
    outline: none;
  }

  /* Remove default marker (Chrome/Safari) */
  .faq-accordion summary::-webkit-details-marker {
    display: none;
  }

  /* Custom chevron */
  .faq-accordion summary::after {
    content: "▾";
    float: right;
    transition: transform 160ms ease;
    font-weight: 700;
  }

  .faq-accordion details[open] summary::after {
    transform: rotate(180deg);
  }

  .faq-content {
    padding: 0 16px 14px;
    color: #111827;
  }

  .faq-content p {
    margin: 10px 0 0;
    line-height: 1.6;
  }

  .faq-content ul {
    margin: 10px 0 0 18px;
  }

  .faq-content li {
    margin: 6px 0;
    line-height: 1.55;
  }

  /* Optional hover/focus polish */
  .faq-accordion summary:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
    border-radius: 12px;
  }
</style>
</section><!--kg-card-end: html--><h2 id="key-points">Key points</h2><ul><li>The likeliest failure for a small bot is silence, so a heartbeat to an outside service comes first.</li><li>Reconcile with the broker every few minutes, and tag orders so a retry can't double a position.</li><li>Enforce size, order-rate, daily-loss and price limits in code, and make a tripped kill switch survive a restart.</li><li>Spotting a strategy that has stopped working takes weeks or months, so keep positions small enough to survive the wait.</li></ul><p>A bot that runs unattended is only as safe as the checks around it. If you want to go deeper into execution, risk controls and taking strategies live, that's a core part of QuantInsti's EPAT programme, and Quantra's automated-trading courses cover the Python side step by step.</p><p><em>Sources: US SEC, In the Matter of Knight Capital Americas LLC, Release No. 34-70694, 16 October 2013. Securities Appellate Tribunal order, Emkay Global Financial Services vs SEBI, 26 August 2014. SEBI circular on safer participation of retail investors in algorithmic trading, 4 February 2025. Zerodha Kite Connect v3 documentation (user, websocket and exceptions pages), read September 2026. Interactive Brokers, daily and weekly reauthentication documentation. Telegram Bot FAQ. Healthchecks.io and UptimeRobot pricing and documentation pages, read September 2026. Drift chart: our simulation.</em></p><h2 id="interested-in-algorithmic-trading">Interested in algorithmic trading?</h2><p><strong>Connect with an </strong><strong><a href="https://www.quantinsti.com/epat">EPAT</a></strong><strong> career counsellor to create a personalised quant career path for you</strong></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="position: relative;min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Managed Service or Build Your Own Algo Trading System?]]></title><description><![CDATA[Convenience or control? Fees, skills, time and a five-question framework for choosing between a managed service and your own system.]]></description><link>https://www.quantinsti.com/articles/managed-build-algo-trading-system/</link><guid isPermaLink="false">6acc7c0d2330e00007c6de38</guid><category><![CDATA[Algo Trading Business]]></category><dc:creator><![CDATA[Ishan Shah]]></dc:creator><pubDate>Tue, 13 Oct 2026 10:11:23 GMT</pubDate><content:encoded><![CDATA[<p><strong>Author:</strong> <a href="https://www.linkedin.com/in/ishan-shah-18393828/">Ishan Shah</a></p><p>Here's a sum worth doing before signing up for anything. Put ₹2 lakh behind a strategy that makes 12% a year before fees, pay ₹1,500 a month for the service that runs it, and 9 of those 12 percentage points go to the subscription. Put ₹25 lakh behind the same strategy and the same fee takes less than one point. So the managed-versus-build question starts with arithmetic, and only after that does it become a question of skills, time and temperament.</p><h2 id="convenience-or-control">Convenience or control?</h2><p>It comes down to convenience against control. A managed service or configurable platform gets you live quickly with little or no code, but you depend on someone else's logic, infrastructure and risk controls, and when it loses money you usually can't tell why. Building your own takes months and real skill, and in return you can see, test and change everything. Plenty of traders end up in between, writing their own strategy logic and renting the data, <a href="https://www.quantinsti.com/articles/backtesting-trading/">backtesting</a> and execution plumbing.</p><h2 id="what-do-managed-and-build-your-own-really-mean">What do "managed" and "build your own" really mean?</h2><p>A managed service runs someone else's strategy on their infrastructure, so you choose the settings and they handle the rest. Building your own means you write the rules, the backtest and the execution, and you own every decision. Most traders sit somewhere between those two ends of the spectrum.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/managed-vs-build-algo-trading-spectrum.png" class="kg-image" alt="Spectrum from managed service to fully self-built algo trading system"><figcaption>The spectrum from fully managed to fully custom. Moving right, you write more of the stack yourself.</figcaption></figure><p>At the managed end sit copy trading, a bought bot or a managed account: you pick, it trades. Next come platforms with prebuilt strategies and rule builders, where you set parameters without writing code. Further right are hosted frameworks, where you write the strategy in Python and the platform supplies data, a backtester and broker connections. At the far end is the fully custom build, where the strategy, data pipeline, backtester, execution layer and monitoring are all your own code.</p><p>What matters is how much of the logic you can see and change, whatever the tool. A drag-and-drop platform where you've set every rule yourself gives you more understanding than a Python bot copied from a forum that you can't explain (its author may not be able to explain it either).</p><h2 id="what-s-the-case-for-a-managed-service">What's the case for a managed service?</h2><p>Mostly speed. You can be live in days rather than months, without maintaining servers, handling broker logins or cleaning data. For someone who wants to find out whether <a href="https://www.quantinsti.com/articles/systematic-trading/">systematic trading</a> suits them at all, that's a quick way to learn.</p><p>The costs are real, though, and they're easy to underweight at the start. The biggest is that a trader can't see inside the strategy. A losing month could be the kind of market it's designed to struggle in, or a sign it has stopped working, and from the outside there's no way to tell. (Our <a href="https://www.quantinsti.com/articles/buy-pre-made-trading-algorithms">article on pre-made</a> trading algorithms explains why that so often ends with people quitting at the bottom.) When volatility halves or a rule changes, you also wait for the provider to adapt.</p><p>The edge is shared as well. A strategy followed by many subscribers trades the same signals at the same time, and shared or published edges tend to shrink. McLean and Pontiff (2016) found that published stock-return patterns lost about 58% of their returns once the papers were out.</p><p>Then there are fees. Subscriptions are fixed costs, and fixed costs punish small accounts, whereas performance fees take a share of profits whatever the account size.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/managed-service-fees-vs-returns.png" class="kg-image" alt="How subscription and performance fees erode a 12% gross return"><figcaption>What a subscription, a performance fee and your own running costs leave of the same hypothetical 12% gross return. Fee levels are illustrative round numbers, not any provider's prices.</figcaption></figure><p>The 12% here is an assumption chosen to make the arithmetic visible, not an expected return (many strategies earn less than that or lose money, and the fees are charged regardless). On a ₹2 lakh account, the ₹1,500 subscription leaves 3 of the 12 points. On ₹25 lakh it takes less than a point. A 20% performance fee takes 2.4 points at every size, though only in a year when the strategy makes a new high.</p><p>Running your own code isn't free either. About ₹1,200 a month covers a broker's market data and a small <a href="https://www.quantinsti.com/articles/deploy-trading-bot-cloud-server">cloud server</a> with a static IP, at September 2026 list prices, and at ₹2 lakh that's 7.2 of the 12 points (the dark blue line). So a small account pays heavily whichever route it takes. Building wins on control, and on cost only once the account is larger. We've kept the chart deliberately simple (one gross return, three round-number fee levels, no taxes), so plug in your provider's real schedule before drawing conclusions. On small accounts, the gap between fee structures can easily be larger than the gap between strategies.</p><p>SEBI's rules give you one more check. Under its retail algo framework, providers offering algos through brokers must be empanelled with the exchanges, black-box providers must register as research analysts, and brokers may not refer to the past or expected returns of an algo. A provider advertising returns is a warning sign on its own.</p><h2 id="what-s-the-case-for-building-your-own">What's the case for building your own?</h2><p>Building gives you what a managed service can't. You know what the strategy does, you can test it however you like, and you can diagnose a drawdown because you wrote the rules. Nobody else is trading your signals, and you can change the strategy when the market changes. Small size can even help here. A strategy that can only absorb ₹20 lakh is useless to a fund, so nobody large is competing for those trades, and no vendor has a reason to sell it either.</p><p>The trade-off is effort. Building needs Python, some statistics and a backtesting habit that doesn't fool itself. It also needs the operational work of running a bot unattended, which our <a href="https://www.quantinsti.com/articles/monitor-trading-bot-real-time">articles on monitoring</a> trading bots and on deploying a bot to a cloud server cover. The learning curve is steep at first. Plan for months of part-time work before the first live trade, and expect most of your first strategy ideas not to survive testing, which is normal.</p><p>There's a subtler risk too: building makes it easier to overfit, because nothing stops you trying variation after variation. In the Nifty test in our article on pre-made algorithms, the best of 449 moving-average rules went from a backtest Sharpe ratio of 0.95 to 0.20 on data it hadn't seen. (The Sharpe ratio is annual return divided by volatility; higher is better.) Control over the code only helps if you also resist the urge to keep tuning it.</p><h2 id="how-do-i-decide">How do I decide?</h2><p>Decide by your honest answers to five questions: how much you need to understand what you're running, whether you can code, how much time you have, how much capital is at stake, and whether you actually enjoy the building. Answer them for the person you are now, not the one you plan to be in a year:</p><p>1) <strong>Skills.</strong> Are you comfortable with Python and basic statistics, or willing to spend a few months learning?</p><p>2) <strong>Time.</strong> Evenings and weekends for months of development and testing, or something running soon? Time is what the build path mainly costs.</p><p>3) <strong>How much you need to understand.</strong> If a three-month losing streak would make you switch off a strategy you can't explain, you need to be able to explain it, and that favours building.</p><p>4) <strong>Goal.</strong> A side interest, or a long-term systematic practice or career? The more seriously you mean it, the more the effort of building is worth it, because each skill makes the next one easier.</p><p>5) <strong>Capital and cost structure.</strong> Fixed subscriptions weigh heavily on small accounts. Performance fees weigh the same at any size. The building has setup and running costs of its own. Put your real numbers into the arithmetic above.</p><p>If most answers point to speed and low effort, start managed, with small money, and treat it as an experiment. If they point to control, understanding and the long game, invest in building.</p><h2 id="what-s-the-middle-path">What's the middle path?</h2><p>You don't have to pick an extreme. A practical middle path is to write your own strategy logic and run it on hosted infrastructure, so the rules are yours while someone else handles data feeds, backtesting and broker connections. Hosted frameworks make this realistic without a full custom stack. QuantInsti's own Blueshift is one: you write strategies in Python and backtest them on its data, and at the time of writing it supports live trading through a small set of brokers (check the current list and terms). Whichever platform you use, the test is the same. Can you see and change every rule, and can you reproduce its backtest numbers yourself?</p><h2 id="what-skills-do-i-need-to-build-my-own">What skills do I need to build my own?</h2><p>Python first, then enough statistics to tell when a result is probably luck, then backtesting with its traps (costs, look-ahead bias, overfitting), then risk management and position sizing, which our <a href="https://www.quantinsti.com/articles/capital-needed-algorithmic-trading">article on starting capital</a> covers. The operational side of running a live system comes last, and nobody needs all of it on day one.</p><h2 id="frequently-asked-questions">Frequently asked questions</h2><!--kg-card-begin: html--><section class="faq-accordion" aria-label="Frequently Asked Questions">
<details><summary>Is it hard to build your own algo trading system?</summary><div class="faq-content"><p>It takes real effort but is learnable. The core skills are Python, statistics, backtesting and risk management, and the main cost is time rather than money. Hosted frameworks cut the infrastructure work so you can concentrate on the strategy.</p></div></details>
<details><summary>Are managed trading services worth it?</summary><div class="faq-content"><p>They can be a fast way to start, or to find out whether systematic trading suits you. On a small account, though, the fees can take most of what a strategy earns, the edge is shared with other subscribers, and you often can't inspect or change the logic.</p></div></details>
<details><summary>Can I switch from a managed service to my own system later?</summary><div class="faq-content"><p>Yes, and some traders do exactly that. The switch is easier if, while using the service, you learn to read its results critically: drawdowns, costs, and how live performance compares with the backtest.</p></div></details>
<details><summary>Do professional traders build their own systems?</summary><div class="faq-content"><p>Systematic firms generally build or heavily customise their strategy logic and risk controls, because a shared edge decays and they need to understand what they run. Many still buy or rent infrastructure such as data feeds and execution.</p></div></details>
<style>
  .faq-accordion {
    margin: 16px 0;
    padding: 0;
    font-family: inherit;
  }

  .faq-accordion h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .faq-accordion details {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin: 10px 0;
    overflow: hidden;
  }

  .faq-accordion summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 700;
    list-style: none;
    outline: none;
  }

  /* Remove default marker (Chrome/Safari) */
  .faq-accordion summary::-webkit-details-marker {
    display: none;
  }

  /* Custom chevron */
  .faq-accordion summary::after {
    content: "▾";
    float: right;
    transition: transform 160ms ease;
    font-weight: 700;
  }

  .faq-accordion details[open] summary::after {
    transform: rotate(180deg);
  }

  .faq-content {
    padding: 0 16px 14px;
    color: #111827;
  }

  .faq-content p {
    margin: 10px 0 0;
    line-height: 1.6;
  }

  .faq-content ul {
    margin: 10px 0 0 18px;
  }

  .faq-content li {
    margin: 6px 0;
    line-height: 1.55;
  }

  /* Optional hover/focus polish */
  .faq-accordion summary:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
    border-radius: 12px;
  }
</style>
</section><!--kg-card-end: html--><h2 id="key-points">Key points</h2><ul><li>The choice is convenience against control, and most traders end up somewhere on the spectrum between the two.</li><li>Fixed fees, whether a subscription or your own data and server, weigh heavily on small accounts. Performance fees take the same share at any size.</li><li>Building lets you see and change every rule, but it also makes overfitting easier.</li><li>A common middle path is your own strategy logic on hosted infrastructure.</li></ul><p>Whichever route you take, being able to read a backtest and a drawdown critically will make you a better judge of any service you use. EPAT, QuantInsti's executive programme, builds those skills end to end, from strategy design through backtesting to live deployment. If you'd rather start with one piece at a time, Quantra has short self-paced courses on each of them.</p><p><em>Sources: McLean and Pontiff (2016), Journal of Finance 71(1). SEBI circular on safer participation of retail investors in algorithmic trading, 4 February 2025, and timeline circular of 30 September 2025. SEBI circular on performance or return claimed by platforms offering algorithmic strategies, 2 September 2022. Running-cost estimate: Zerodha Kite Connect data pricing and AWS EC2 and VPC price lists, read September 2026. Fee chart: hypothetical illustration, our calculations.</em></p><h2 id="interested-in-algorithmic-trading">Interested in algorithmic trading?</h2><p><strong>Connect with an </strong><strong><a href="https://www.quantinsti.com/epat">EPAT</a></strong><strong> career counsellor to create a personalised quant career path for you</strong></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="position: relative;min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Is It Profitable to Buy Pre-Made Trading Algorithms?]]></title><description><![CDATA[Why bought trading algorithms often disappoint, what a 449-rule Nifty test shows about backtests, and a checklist before you pay.]]></description><link>https://www.quantinsti.com/articles/buy-pre-made-trading-algorithms/</link><guid isPermaLink="false">6acc7c032330e00007c6de31</guid><category><![CDATA[Algo Trading Business]]></category><dc:creator><![CDATA[Ishan Shah]]></dc:creator><pubDate>Tue, 13 Oct 2026 10:11:22 GMT</pubDate><content:encoded><![CDATA[<p><strong>Author:</strong> <a href="https://www.linkedin.com/in/ishan-shah-18393828/">Ishan Shah</a></p><p>Search "best AI trading bot" and you'll find hundreds of products, each with an equity curve that climbs steadily from the bottom left of the chart to the top right. The pitch is simple: skip the years of learning, buy an algo trading bot and switch it on. So does it work?</p><p>Sometimes, but the odds are worse than the marketing suggests. You can make money with a bought algorithm, yet the evidence gives you good reasons to expect much less than the sales page shows. Many products are sold mainly on a <a href="https://www.quantinsti.com/articles/backtesting-trading/">backtest</a>, and the backtest you're shown is usually the best of many tries. An edge sold to many people also tends to shrink as they all trade it. And a black box gives you no way to tell a normal losing streak from a broken strategy. Buying is only reasonable when you can check a live track record that includes <a href="https://www.quantinsti.com/articles/transaction-costs-automated-trading">costs</a>, and when you understand what the strategy does.</p><h2 id="why-do-backtests-look-so-much-better-than-live-results">Why do backtests look so much better than live results?</h2><p>Mostly because the backtest was chosen with hindsight. When a vendor tries hundreds of variations of a rule and keeps the one with the best past returns, that figure reflects luck as much as skill. Live, the luck doesn't repeat, so the results drift back towards ordinary.</p><p>Let's run the experiment a vendor might run. We took the Nifty 50 index from 2009 to 2017 and tested 449 versions of one of the oldest rules there is. Hold the index when a fast moving average is above a slow one, and step aside when it drops below. The fast average ranged from 5 to 100 days and the slow one from 20 to 300 days, and every buy and every sell was charged 5 basis points (0.05%).</p><p>The winner, a 100-day average against a 210-day one, had a Sharpe ratio of 0.95 over those nine years. (The Sharpe ratio is the annual return divided by its volatility, so higher means more return for each unit of risk. We haven't subtracted interest on cash, which in India ran at several percent a year over this period, so every Sharpe ratio here is higher than the textbook version would be. That doesn't change which rule came out on top or how it fared afterwards.) Simply holding the index managed 0.86 over the same years, so the rule looked like a modest improvement on doing nothing. So far, so good. Notice, though, that the winner sits at the very edge of the range we searched (100 days was the longest fast average we tried), which is itself a warning sign that the "best" setting is partly an accident of where we stopped.</p><p>Then we ran the same 449 rules from January 2018 to September 2026, a period none of them had seen (traders call this testing "out of sample", as opposed to the "in sample" period the rules were tuned on). The winner's Sharpe ratio fell to 0.20, which ranked it 378th out of 449. The ten best backtests averaged 0.89 before and 0.22 after. Holding the index, meanwhile, delivered 0.63. The rule that looked best in the backtest did far worse than doing nothing clever at all.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/pre-made-algorithm-backtest-vs-buy-and-hold.png" class="kg-image" alt="Backtested moving-average rules underperforming buy-and-hold on the Nifty"><figcaption>Each dot is one moving-average rule. All ten best rules in the 2009 to 2017 backtest (amber) landed well below buy-and-hold afterwards. Nifty 50 daily data; teaching illustration only.</figcaption></figure><p>The dashed diagonal marks where a rule would sit if it did as well afterwards as in its backtest, and almost every dot is below it. Part of that is the market itself, since buy-and-hold also slipped from 0.86 to 0.63. But the ranking tells the more important story. Across the 449 rules, backtest Sharpe and later Sharpe were negatively correlated (about -0.36): the slow rules that suited 2009 to 2017 did worse afterwards, and faster ones that had looked mediocre did better. The ordering the search produced carried no useful information about the next nine years. That's what overfitting looks like, since the search found the settings that happened to suit one stretch of history, accidents included.</p><p>Our test has limits worth stating. It's one market, one family of rules and one split of the data, and 5 basis points per side is less than many retail traders pay. So it's an illustration, and on its own it proves little. The larger evidence points the same way, though. One of the largest public studies of this question used 888 strategies written by users of the Quantopian platform, each with at least six months of out-of-sample results from paper trading after the strategy was written. Wiecki and co-authors (2016) found that the backtest Sharpe ratio explained less than 2.5% of the variation in out-of-sample Sharpe. They also found that the more a strategy had been backtested, the wider the gap between its backtest and what followed, which is what you'd expect if much of the extra testing was curve fitting.</p><h2 id="how-many-tries-does-it-take-to-fake-a-good-backtest">How many tries does it take to fake a good backtest?</h2><p>Fewer than you'd think. Suppose none of your strategy ideas has any edge at all, so each one's daily returns are pure noise. Test one and its backtest Sharpe will hover around zero. Test a hundred and keep the best, and the best will look quite good.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/backtest-overfitting-best-of-many-tries.png" class="kg-image" alt="How testing many zero-edge strategies inflates a backtest Sharpe ratio"><figcaption>Simulation: every strategy has a true Sharpe ratio of exactly zero, tested on five years of daily returns. The best of 100 shows a Sharpe near 1.1 by luck alone.</figcaption></figure><p>In our simulation the best of 100 zero-edge strategies had a median backtest Sharpe of about 1.1 over five years. Bailey, Borwein, López de Prado and Zhu (2014) worked out the same result on paper: with five years of data, trying about 45 independent configurations is enough to expect a Sharpe of 1 in the backtest and 0 afterwards. Variations of one rule are closely related, so they count as fewer independent tries than their number suggests, but they still add up. Bailey and López de Prado later turned this into a correction called the deflated Sharpe ratio, which marks a backtest down for the number of trials behind it. Their broader point is the one to remember as a buyer. A backtest that doesn't tell you how many variations were tried can't be judged, because you have no idea how much of it is luck.</p><p>Vendors almost never tell you that number. That's not always bad faith (many simply don't keep count), but it means the curve on the sales page is the maximum of an unknown number of tries, and you should discount it accordingly.</p><h2 id="why-would-anyone-sell-a-profitable-algorithm">Why would anyone sell a profitable algorithm?</h2><p>It's the right question to ask, and it has a plain answer: a genuine edge is a limited resource. If a strategy buys a stock just before it rises, every extra rupee following the same signal pushes the entry price up and the profit down. Sell the strategy to thousands of subscribers and they end up competing with each other for the same trades.</p><p>Academic research shows the same decay on a larger scale. McLean and Pontiff (2016) followed 97 stock-return patterns that had been published in finance journals. Returns were about 26% lower after the original study's sample period ended, and about 58% lower once the paper was out. The first drop is roughly what you'd expect if part of each original result was luck, the overfitting problem from earlier. The authors attribute the further drop mainly to investors reading the paper and trading the signal. Even so, the average pattern kept some of its return.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/published-strategy-returns-decay.png" class="kg-image" alt="Published trading strategy returns decaying after publication"><figcaption>Average returns of 97 published return predictors, indexed to the original study sample. Source: McLean and Pontiff (2016), Journal of Finance.</figcaption></figure><p>A published paper is, in effect, an edge given away for free, and a strategy sold to a crowd of subscribers is the same thing with a price tag. So a seller with a real, scalable edge usually has more reason to trade it quietly than to sell it. There are legitimate exceptions: the seller may lack capital, the strategy may suit a market they don't trade, or they may simply earn more from software than from trading. But the question deserves an answer before you pay.</p><h2 id="what-s-wrong-with-a-black-box">What's wrong with a black box?</h2><p>When you can't see the logic, you can't interpret the losses. Every strategy has drawdowns (stretches where it falls below its previous high), and a good one can spend months underwater. If you know it's a trend-following system, you know that choppy, sideways markets are its bad weather, and you can judge whether the current drawdown is normal. With a black box, a losing month tells you nothing, and many buyers do the natural thing and switch it off at the bottom.</p><p>A black box also can't adapt. When the market's character shifts (volatility halves, say, or a rule change alters how a contract trades), you're left waiting for the vendor to notice.</p><p>In India there's a regulatory angle too. SEBI's retail algo framework was set out in a circular of 4 February 2025 and has been fully applicable to brokers since 1 April 2026. Under it, providers offering algos to retail clients through brokers must be empanelled with the exchanges, and each algo's orders carry an exchange-issued ID. Providers of black-box algos, whose logic isn't disclosed to the user, must also register with SEBI as research analysts and keep a research report for each algo.</p><p>Registration doesn't make a product profitable. But a provider selling algos through a broker should be able to show its empanelment (and, for a black box, its research analyst registration), and if it can't, ask why before you pay. SEBI has also warned investors, back in June 2022, that unregulated algo platforms advertising high returns offer no grievance redressal if things go wrong.</p><h2 id="when-does-buying-make-sense">When does buying make sense?</h2><p>Buying isn't always a mistake. It's reasonable when you can verify a live track record net of costs, you understand what the strategy does and can sit through its drawdowns, the price is fair next to the cost of building it yourself, and you're paying for convenience rather than a borrowed edge. In practice that means several conditions holding at once:</p><ul><li><strong>There's a live track record as well as a backtest.</strong> Ideally a year or more (and even a year is a short sample), including real commissions and slippage, and verified by a broker statement or a third party rather than a screenshot. Our article on transaction costs shows how much they can change the picture.</li><li><strong>You know the worst drawdown and could sit through it.</strong> A strategy with a 35% historical drawdown will, sooner or later, show you one of similar size or larger. If that would make you switch it off, it's the wrong strategy for you, however good the average looks.</li><li><strong>The logic is explained, at least in outline.</strong> You don't need the code, but you should know what kind of strategy it is (trend following, mean reversion, options selling) and when it's expected to struggle.</li><li><strong>It fits your capital, market and hours.</strong> A strategy built for US futures may not translate to Nifty options, and one that needs ₹25 lakh to diversify won't behave the same on ₹2 lakh.</li><li><strong>The seller can say how the backtest was built:</strong> how many variations were tried, which period was held back for testing, and what costs were assumed.</li></ul><p>If a seller can't or won't answer these, treat that as the answer.</p><h2 id="what-are-the-warning-signs">What are the warning signs?</h2><p>Some claims should end the conversation. Walk away from any product that promises guaranteed or fixed monthly returns, or "no losing months". Be wary of win rates of 90% or more quoted without the size of the losses (a strategy that wins small 95% of the time and loses big the other 5% is a well-worn way to empty an account). The same goes for logic that's "proprietary" and can never be described, backtest screenshots with no live statements, and countdown timers on the price. (A real edge rarely comes with a sale that ends at midnight.)</p><p>These aren't hypothetical. In January 2024 the US Commodity Futures Trading Commission issued an advisory titled "AI Won't Turn Trading Bots into Money Machines". One case it cited was a bot programme that promised monthly returns of 10% or more and took about $1.7 billion in bitcoin from at least 23,000 people. It turned out to be a Ponzi scheme.</p><h2 id="buy-or-build">Buy or build?</h2><p>For many traders the real question isn't which algorithm to buy but whether to buy at all. Notice that every item on the checklist above, from reading a track record to asking how a backtest was built, is a skill you'd also use to build your own strategy. We look at that choice in our <a href="https://www.quantinsti.com/articles/managed-build-algo-trading-system">article on managed services</a> versus building your own. The checklist is worth learning either way, because it's the same one you'd apply to your own backtests.</p><h2 id="frequently-asked-questions">Frequently asked questions</h2><!--kg-card-begin: html--><section class="faq-accordion" aria-label="Frequently Asked Questions">
<details><summary>Is it worth buying a trading bot?</summary><div class="faq-content"><p>It can be, if you can verify a live track record net of costs, understand what the strategy does and accept its drawdowns. Many bots are sold mainly on backtests, which are a weak guide: in one study of 888 strategies, backtest Sharpe explained less than 2.5% of the variation in out-of-sample Sharpe.</p></div></details>
<details><summary>How do I verify a seller's track record?</summary><div class="faq-content"><p>Ask for broker statements or a third-party verified record covering at least a year of live trading, with commissions and slippage included. Compare the live results with the backtest for the same period. If live performance is much weaker, the backtest was probably overfitted.</p></div></details>
<details><summary>Why would someone sell a profitable trading algorithm instead of using it?</summary><div class="faq-content"><p>Selling a strategy to many users tends to erode its edge, so a seller with a real, scalable edge usually earns more by trading it. There are legitimate reasons to sell (limited capital, a market the seller doesn't trade, a software business), but ask the question before you pay.</p></div></details>
<details><summary>Are algo strategies sold in India regulated?</summary><div class="faq-content"><p>Under SEBI's retail algo framework, providers offering algos through brokers must be empanelled with the exchanges, and black-box algo providers must also register as SEBI research analysts. That's a minimum check, not evidence that a strategy will make money.</p></div></details>
<style>
  .faq-accordion {
    margin: 16px 0;
    padding: 0;
    font-family: inherit;
  }

  .faq-accordion h2 {
    margin: 0 0 12px;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .faq-accordion details {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    margin: 10px 0;
    overflow: hidden;
  }

  .faq-accordion summary {
    cursor: pointer;
    padding: 14px 16px;
    font-weight: 700;
    list-style: none;
    outline: none;
  }

  /* Remove default marker (Chrome/Safari) */
  .faq-accordion summary::-webkit-details-marker {
    display: none;
  }

  /* Custom chevron */
  .faq-accordion summary::after {
    content: "▾";
    float: right;
    transition: transform 160ms ease;
    font-weight: 700;
  }

  .faq-accordion details[open] summary::after {
    transform: rotate(180deg);
  }

  .faq-content {
    padding: 0 16px 14px;
    color: #111827;
  }

  .faq-content p {
    margin: 10px 0 0;
    line-height: 1.6;
  }

  .faq-content ul {
    margin: 10px 0 0 18px;
  }

  .faq-content li {
    margin: 6px 0;
    line-height: 1.55;
  }

  /* Optional hover/focus polish */
  .faq-accordion summary:focus-visible {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.35);
    border-radius: 12px;
  }
</style>
</section><!--kg-card-end: html--><h2 id="key-points">Key points</h2><ul><li>A bought algorithm can make money, but expect less than advertised: sellers usually show the best of many backtests, and shared edges shrink.</li><li>In our Nifty test, the best of 449 moving-average rules went from a Sharpe ratio of 0.95 in the backtest to 0.20 on data it hadn't seen.</li><li>Ask for a live, cost-inclusive record, the worst drawdown, an outline of the logic and the number of variations tested.</li><li>Any promise of fixed returns or no losing months is a reason to walk away.</li></ul><p>If you'd like to run a test like the 449-rule experiment on your own ideas, Quantra's self-paced backtesting courses walk you through it step by step. QuantInsti's Executive Programme in Algorithmic Trading (EPAT) goes further into strategy design, validation and risk management, which is the toolkit for judging any algorithm on its evidence rather than its sales page.</p><p><em>Sources: Wiecki, Campbell, Lent and Stauth (2016), "All That Glitters Is Not Gold", Journal of Investing 25(3). Bailey, Borwein, López de Prado and Zhu (2014), "Pseudo-Mathematics and Financial Charlatanism", Notices of the AMS 61(5). McLean and Pontiff (2016), "Does Academic Research Destroy Stock Return Predictability?", Journal of Finance 71(1). Bailey and López de Prado (2014), "The Deflated Sharpe Ratio", Journal of Portfolio Management 40(5). SEBI circular on safer participation of retail investors in algorithmic trading, 4 February 2025, and timeline circular of 30 September 2025. SEBI press release 20/2022, 10 June 2022. CFTC customer advisory, 25 January 2024. Nifty 50 test: Yahoo Finance daily closes, September 2007 to September 2026 (2007 and 2008 used only to warm up the moving averages), our calculations; Sharpe ratios computed without deducting a risk-free rate.</em></p><h2 id="interested-in-algorithmic-trading">Interested in algorithmic trading?</h2><p><strong>Connect with an </strong><strong><a href="https://www.quantinsti.com/epat">EPAT</a></strong><strong> career counsellor to create a personalised quant career path for you</strong></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="position: relative;min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" async></script><!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role]]></title><description><![CDATA[This report examines how algo trading practitioners are using AI for hiring and skills, where they place their trust and their doubts, and the key splits around experience, institutional versus retail roles, and geography.]]></description><link>https://www.quantinsti.com/articles/state-of-ai-in-trading-2027/</link><guid isPermaLink="false">6abe496c2330e00007c6ddd4</guid><category><![CDATA[AI for Trading]]></category><dc:creator><![CDATA[Kshitij Maurya]]></dc:creator><pubDate>Thu, 01 Oct 2026 13:18:13 GMT</pubDate><media:content url="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/state-of-ai-in-trading-2027-trader.png" medium="image"/><content:encoded><![CDATA[<h2 id="executive-summary">Executive Summary</h2><ul><li>This report draws on a voluntary survey of 185 practitioners, students, and career-changers conducted during and after the 16th Anniversary Annual Algo Trading Conference (ATC 2026), roughly 2% of the 8,965 people registered. Nobody was required to answer; every view here is something a respondent chose to share.</li><li>Half of respondents (49.2%) say the skill that will matter most for getting hired into markets over the next two years is getting real work out of AI tools. Writing and reading code came last, at 7.7%.</li><li>The single biggest worry about AI in trading is a familiar one: results that look good in a backtest and fall apart live (38.9%), followed by everyone converging on the same generated ideas (22.2%).</li><li>The entry-level job outlook splits in a way that doesn't follow a simple story: people one to three years into their careers are the most likely of any bracket to say the role will have fewer seats (39.5%), while brand-new entrants and the most senior respondents land close together instead.</li><li>More than a quarter of respondents (27.9%) haven't used AI for anything in their trading workflow yet.</li><li>India, the Americas, and Europe/UK each responded in a distinct pattern, on adoption, on what worries them, and on how they see the entry-level role changing.</li></ul><h2 id="a-few-things-that-stood-out">A Few Things That Stood Out</h2><h3 id="coding-didn-t-disappear-from-the-hiring-conversation-it-just-stopped-being-the-whole-conversation">Coding didn't disappear from the hiring conversation, it just stopped being the whole conversation</h3><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/state-of-ai-in-trading-2027-trader.png" alt="State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role"><p>Respondents across every experience bracket rated getting usable work out of AI tools above coding ability as a hiring differentiator. That's a perception from the practitioners surveyed, not a confirmed employer requirement, worth reading in full before drawing a conclusion either way.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/hiring-criteria-ai-trading-roles.png" class="kg-image" alt="State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role"><figcaption><em>What will matter most for getting hired into markets over the next two years.</em></figcaption></figure><h3 id="the-oldest-fear-in-systematic-trading-is-still-the-biggest-one">The oldest fear in systematic trading is still the biggest one</h3><p>More respondents named a backtest that looks good and then fails live as their top concern about AI (38.9%) than any other option, ahead of everyone converging on the same ideas (22.2%) and existing skills counting for less (16.7%).</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/biggest-concerns-ai-in-trading.png" class="kg-image" alt="State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role"><figcaption><em>Biggest concern about AI in trading right now.</em></figcaption></figure><h3 id="one-experience-group-stands-out-on-the-entry-level-outlook">One experience group stands out on the entry-level outlook</h3><p>It's not the newest entrants, and it's not the most senior respondents either. The full report breaks down exactly which group stands out, and why the usual junior-versus-senior explanation doesn't hold up against the data.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/entry-level-role-outlook-by-experience.png" class="kg-image" alt="State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role"><figcaption><em>View on the entry-level role, by years of experience.</em></figcaption></figure><h3 id="institutional-and-retail-practitioners-aren-t-afraid-of-the-same-thing">Institutional and retail practitioners aren't afraid of the same thing</h3><p>One group worries most about explainability. The other worries most about overfitting. The report splits this out by role.</p><h3 id="where-you-re-trading-from-changes-what-you-believe-about-ai">Where you're trading from changes what you believe about AI</h3><p>India, the Americas, and Europe/UK diverge sharply on adoption, trust, and the entry-level outlook, enough that a single global number would hide more than it reveals.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/10/ai-adoption-gap-by-region.png" class="kg-image" alt="State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role"><figcaption><em>Share of respondents who haven't used AI for anything in their trading workflow yet, by region.</em></figcaption></figure><h2 id="what-s-in-the-full-report">What's in the Full Report</h2><p>The PDF goes well beyond these highlights, with the complete breakdown by role, experience bracket, and region, including:</p><ul><li>Who participated, and how the sample breaks down by role and experience</li><li>How AI actually shows up in the trading workflow today, not just whether it's used</li><li>A full look at what practitioners are worried about, split by institutional versus retail respondents</li><li>The complete hiring-skill and entry-level findings, with the experience-bracket analysis in full</li><li>A region-by-region breakdown across India, the Americas, and Europe/UK</li><li>Practical takeaways for practitioners, educators, and employers reading the data</li></ul><h2 id="-download-the-full-report">📄 Download the Full Report</h2><p>State of AI in Trading 2027: A Pulse Check on AI, Skills, and the Entry-Level Role</p><!--kg-card-begin: html--><p style="text-align: left;"><a href="https://www.quantinsti.com/articles/state-of-ai-in-trading-2027" class="download-button button"> Visit blog to download </a></p><!--kg-card-end: html--><p><em>Compiled by Kshitij Maurya and Nikhil Khandelwal, with contributions from Dhrumin Vora, Mahavir Bhattacharya, Nitesh Khandelwal, and Vivek Krishnamoorthy.</em></p><p>Curious how the AI-fluency finding connects to what's already changing in trading workflows more broadly? See our <a href="https://www.quantinsti.com/articles/ai-for-trading">overview of how AI is being used in trading</a>. Curious where the entry-level roles this report discusses actually sit? See our <a href="https://www.quantinsti.com/articles/quant-roles">guide to the different roles across algorithmic trading</a>.</p><p><br></p><p><br></p>]]></content:encoded></item><item><title><![CDATA[Vaibhav Goel: From Bank Risk Systems to Building Quant Models]]></title><description><![CDATA[A market risk analyst turned quant developer, Vaibhav Goel used EPAT to turn five years of scattered market exposure into a structured, scalable trading framework.]]></description><link>https://www.quantinsti.com/articles/vaibhav-goel-bank-risk-systems-quant-models-algorithmic-trading-case-study/</link><guid isPermaLink="false">6a954973000def0007faf3bb</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Sana Patel]]></dc:creator><pubDate>Mon, 31 Aug 2026 09:59:39 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!-- Student intro block — place at top of blog body -->
<div class="student-intro" style="display:flex;align-items:center;gap:24px;padding:24px;margin:0 0 32px;background:#f4f7fb;border-left:4px solid #009f54;border-radius:8px;flex-wrap:wrap;">
  <div class="student-intro__photo" style="width:120px;height:120px;min-width:120px;flex:0 0 120px;border-radius:50%;overflow:hidden;border:3px solid #ffffff;box-shadow:0 2px 8px rgba(0,0,0,0.12);background:#e6ebf2;">
    <img src="https://d2a032ejo53cab.cloudfront.net/Course/Units/Coding/UnitContent/z1CBlM92/Vaibhav-Goel-2-1-1.png" alt="Vaibhav Goel, EPAT alumnus and Quant Developer" loading="lazy" style="width:100%;height:100%;object-fit:cover;object-position:center top;display:block;margin:0;">
  </div>
  <div class="student-intro__text" style="flex:1;min-width:240px;">
    <p style="margin:0 0 2px;font-family:'Open Sans',Arial,sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#009f54;">
      EPAT Alumni Story
    </p>
    <h3 style="margin:0 0 10px;font-size:20px;line-height:1.3;color:#173871;">
      Vaibhav Goel
    </h3>
    <p style="margin:0;font-family:'Open Sans',Arial,sans-serif;font-size:17px;line-height:1.55;color:#333;">
      A Quant Developer at Morgan Stanley (via EY) in Mumbai, Vaibhav spent years moving from
      back-office code to the risk desk, carrying deep but scattered market knowledge. Through EPAT
      he tied five years of exposure into a structured, repeatable framework, from statistics to
      options theory to execution, and found a disciplined edge in option selling. Today he trades
      positional options with growing consistency and, as he puts it, "the goal is very clear," a
      prop trading firm of his own.
    </p>
  </div>
</div><!--kg-card-end: html--><p>Most traders spend years chasing a high risk-reward ratio on a low win rate. Vaibhav Goel wanted the opposite. "My mindset was never like a 20 or 30% accuracy," he says. "I wanted something which is much more accurate, much more predictable, and which can be scaled easily." That single preference, held long before he had the tools to act on it, ended up shaping his entire trading career.</p><p>Vaibhav completed his B.Tech in computer science from NIT Kurukshetra and began his career as a software developer at Société Générale in Bangalore, decommissioning the bank's legacy middle-office and back-office applications, the very systems that traders and risk desks relied on every day. That work pulled him toward the functional side of finance, from OTC derivatives to options and futures. Three years in, he moved onto the trading floor as a market risk analyst on a one-delta and volatility desk, working with VaR, stress scenarios, and sensitivities like delta, gamma, and vega. Stints at HSBC and, today, a role as a Quant Developer at Morgan Stanley (via EY) in Mumbai followed.</p><p>By the time he found EPAT, Vaibhav already knew a great deal about markets. The problem was that none of it was organised. This is the story of how he turned five years of scattered exposure into a structured, repeatable framework, and why he now credits a single philosophy on option selling with changing how he trades.</p><h2 id="why-algo-trading"><strong>Why Algo Trading?</strong></h2><p>Vaibhav's frustration was practical. He had been trading on the side for years, but the results, while often profitable, were never consistent enough to scale. "In the past I have been profitable, but it was not so consistent," he recalls. "The scaling was very difficult."</p><p>He worked through the options methodically. In the cash segment he traded stocks like HDFC on longer, monthly timeframes and generated returns of 20 to 30% in a good year. Those were solid numbers, but they did not convince him. "If you have a capital of 50 lakh or 20 lakh, it doesn't make sense to get a 20% return, and then it will take maybe 20 years to reach 10 crore," he explains. "Hardly we have 20 to 25 years where you can be in the market and generate a good capital base." He wanted more from each year.</p><p>So he moved into derivatives, where most people begin with option buying and futures. Each avenue had a catch. Intraday option buying was full of noise and, with a steady stream of regulatory changes, hard to manage alongside a job. Futures were costly and inconsistent. Option selling worried him most of all, because of the fat tail. "If there is a 10% shock on the downside and the market opens 10% gap down, then whatever portfolio of options you are holding will be blown," he says. Having built VaR and stress models inside a bank, and knowing those same models failed in 2008, he could not shake the concern. What he needed was not another strategy tip. He needed a framework.</p><h2 id="why-epat"><strong>Why EPAT?</strong></h2><p>The nudge came from LinkedIn. Vaibhav came across a QuantInsti alumnus whose progress caught his attention, and it made him ask a simple question: where had this person learned quant in such a structured way? "In the last three to five years I had already got exposure on multiple aspects of finance and algos," he says, "but they were not structured. It was more bits and pieces."</p><p>That was the gap EPAT filled. He had tried assembling an education from free videos, blogs, and finance certifications, but found the material scattered across sources and rarely built for trading specifically. "Things are there, but it's so much scattered around," he says. "Specifically for trading, I did not find much content which was organised, which QuantInsti provided." He also valued that the curriculum kept evolving. "One thing which I liked about QuantInsti was that they keep changing the curriculum based on the requirements."</p><p>He enrolled and completed the executive programme, treating it not as an introduction to markets, since he already had that, but as the connective tissue that would tie his existing knowledge into something he could actually build on.</p><h2 id="how-epat-shaped-his-thinking"><strong>How EPAT Shaped His Thinking</strong></h2><p>The turning point was options. For years Vaibhav had avoided option selling because of tail risk. What changed his mind was Euan Sinclair's teaching on how a disciplined, repeated selling programme behaves over time. "Even if the 2008 financial crisis occurs, if you are continuously selling that same 20-delta option, over a period of time you will know that implied volatility will always be greater than realized volatility," he explains. There is a persistent fear premium baked into put options, and harvesting it patiently, rather than fearing a single gap, was a philosophy he could commit to. "Out of so many people I have learned from, his philosophy actually hit me hard."</p><p>Two other faculty members reshaped how he approached the work. Nitin Aggarwal's sessions on statistics settled a long-running tension for him about how much of the market can really be predicted. "The best thing that you can do is get the data from the historical data, and from that do the back testing. That is the maximum that you can do," he says. "That gave me a boost. The best thing I have is the historical data, not the theories or the predictions that other people are trying to justify." In markets full of subjectivity, that was his anchor to objectivity.</p><p>The third was execution. Robert Kissell's module on market microstructure covered ground that was entirely new to Vaibhav. "That was something I had not come across before," he says. Learning about impact cost and timing risk from someone who had run a trading desk at a major bank changed how he thought about getting in and out of positions. "That helped me a lot in understanding how the execution-level things happen." Taken together, the modules gave him what no single source had, a complete frame that ran from statistics to options theory to execution.</p><h2 id="the-real-challenge"><strong>The Real Challenge</strong></h2><p>For Vaibhav, the hard part was never the mechanics of any one trade. It was reconciling how much of the market can be quantified with how much cannot. "Everything in the market cannot be quantified," he says, "because at the end of the day it's the people who are running the businesses. So the behavioral aspect definitely comes into the market."</p><p>That belief shaped how far he was willing to automate. He built and quantified his research process and his framework, but deliberately stopped short of full automation. "If I give everything to the system, then it becomes a little difficult in case the situation changes suddenly," he explains. "I have left room for my own experience to get into the model." The initial process runs automatically, while the judgment stays human.</p><p>The value of that decision showed up in March 2026, when a sharp, war-driven crash hit the market. His models, built largely around mean-reverting behaviour, were not designed for that kind of shock. "In those scenarios the models usually don't work that good," he says. Because he had kept manual control over his option-selling adjustments, he could respond to the fat-tail event rather than be run over by it. The challenge, in other words, was knowing exactly where the machine should end and the trader should begin.</p><h2 id="life-after-epat"><strong>Life After EPAT</strong></h2><p>Today Vaibhav trades positional options, working monthly and bimonthly expiries, and combines three lenses he has built over his career: fundamentals, technicals, and now quant. The positional approach solves a problem that had frustrated him for years. "In intraday, the transaction costs are extremely high, especially in India, and I see they are not going to go down, only up," he says. A longer holding period keeps costs low enough for the strategy to scale. "From there I became consistent, and now I'm able to scale my capital size."</p><p>The programme also reshaped his day job. He still returns to the curriculum. "Yesterday only I was referring to it," he says, describing how the object-oriented concepts and the NumPy, pandas, and scikit-learn foundations continue to support his quant development work, including on FRTB models. "It's some basic things, but still it helps a lot. The base is still the one that helps me."</p><p>And EPAT opened doors. Vaibhav credits the programme with helping him land his current quant developer role, and with connecting him to a network he did not have before. He mentions meeting other alumni who have gone on to build their own firms, and being part of a community where paths that once felt distant start to look reachable. "That networking matters a lot," he says.</p><h2 id="epat-and-the-role-of-ai"><strong>EPAT and the Role of AI</strong></h2><p>Vaibhav uses large language models where they earn their keep, in research and rapid prototyping. "The coding part, mostly I use Gemini or Claude," he says. When he has a hypothesis, the tools let him test it almost immediately. "If you want to do vectorized backtesting, with the use of LLM models it becomes extremely fast. They actually tell you whether it is statistically possible or whether you are making just a hypothetical theory."</p><p>He gives a concrete example. Building a screen with a fixed set of rules, he used Python to filter the entire Indian universe down to the handful of names worth a closer look. "Out of 5,000 stocks, you only need to check 10," he says. "It immediately gives me the stocks falling under that criteria, and then you can make decisions." The automation removes grunt work without removing him from the decision.</p><p>But he is clear-eyed about what AI cannot replace. Having worked with neural networks, including CNNs and RNNs, back in his college days, he argues that machine learning only helps once the fundamentals are in place. "Unless you know the basic models and how to build them, AI will not be that much helpful," he says. "Even if you know machine learning models, you don't know how to actually use that model in your development." For him, the tools accelerate a trader who already understands the underlying structure. They do not manufacture that understanding.</p><h2 id="looking-ahead"><strong>Looking Ahead</strong></h2><p>Vaibhav's long-term goal is unambiguous: his own prop trading firm, based in Mumbai. "The goal is very clear. The only thing is the timing," he says. He tried once before, in 2022, and is candid about why it did not work. "I was not able to be successful because of the less market experience, less capital size, and I did not have that kind of networking."</p><p>All three of those constraints have eased. His trading has become more consistent and scalable, his capital base is growing, and through EPAT he has built the network he lacked the first time. He is not rushing. "Not immediately, but the road map is in the next five years or so," he says. "That is the ultimate goal, to have my own prop trading firm and set it up in Mumbai."</p><p>If he has one piece of advice for people considering EPAT, especially those new to markets, it is to be patient with the material. "It's a good course, but if you are totally new, it will take time to absorb the content," he says. And the payoff, he notes, often arrives later than people expect. "Even when you pass the entire executive program, five or six months down the line you will realize the importance of it, not immediately. Specifically if you are going into your own business, that content is much more helpful in becoming successful."</p><p>Vaibhav began his career maintaining the systems that traders leaned on, always one layer removed from the decisions themselves. The arc since then has been about closing that distance, from back-office code to the risk desk, from scattered knowledge to a structured framework, and now toward a firm of his own. The predictable, scalable edge he wanted from the start is no longer just a preference. It is how he trades.</p><h2 id="frequently-asked-questions"><strong>Frequently Asked Questions</strong></h2><p><strong>Can a risk or back-office professional move into algorithmic trading?</strong> Yes, and that background can be an advantage. Vaibhav's years working with VaR, stress scenarios, and derivatives sensitivities gave him a strong grasp of risk before he ever built a strategy. The step that often remains is turning that scattered exposure into a structured, repeatable framework, which is where a programme like EPAT fits.</p><p><strong>Is option selling too risky for individual traders?</strong> Option selling carries genuine tail risk, and a sharp gap in the market can cause significant losses, as Vaibhav experienced with the March 2026 crash. The approach he adopted treats it as a disciplined, repeated process while keeping manual control over adjustments during shocks. Anyone considering option selling should size positions carefully and understand the fat-tail exposure before scaling.</p><p><strong>Why choose positional trading over intraday in India?</strong> High transaction costs are the main reason Vaibhav shifted to positional options on monthly and bimonthly expiries. Intraday strategies incur frequent costs that are difficult to overcome at scale, particularly in the Indian market. A longer holding period reduces the drag from those costs and makes a strategy easier to grow.</p><p><strong>Do I need to know programming before starting EPAT?</strong> A coding background helps, but it is not the only path. EPAT covers Python foundations including object-oriented concepts and libraries like NumPy, pandas, and scikit-learn. Learners without a technical background should expect to invest extra time in the programming modules, while those from a software background can build on what they already know.</p><p><strong>How much of trading can actually be automated?</strong> Vaibhav's view is that the research process and framework can be quantified and automated, but full automation is rarely wise. Because market behaviour includes a human element that models cannot fully capture, he deliberately keeps judgment in the loop for sudden regime changes. Where the machine ends and the trader begins is a decision each person has to make deliberately.</p><p><strong>How useful are AI tools like LLMs for building trading strategies?</strong> They are useful for rapid prototyping and vectorized backtesting, letting a trader test a hypothesis quickly and check whether it holds up statistically. They are less useful as a substitute for understanding. As Vaibhav puts it, the tools accelerate someone who already grasps the underlying models rather than creating that knowledge from scratch.</p><p><strong>Does EPAT help with career moves and networking?</strong> Vaibhav credits EPAT with helping him land his quant developer role and with connecting him to an alumni network he did not have before. Being around others who have built their own firms made ambitious goals feel more reachable. Outcomes vary from person to person, but the community and network are a meaningful part of the experience.</p><p><strong>How long before the EPAT content pays off?</strong> Vaibhav is candid that the value often arrives later than people expect, sometimes five or six months after completing the programme. He advises newcomers to be patient with the material, since some concepts take time to absorb and apply. The content tends to become more valuable as learners put it to work, particularly for those building their own trading business.</p><h3 id="next-steps">Next Steps</h3><p>If you are just getting started with algorithmic trading, begin with the<a href="https://quantra.quantinsti.com/"> Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore<a href="https://quantra.quantinsti.com/"> Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the<a href="https://www.quantinsti.com/epat"> Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><p><strong>Schedule an EPAT counselling call</strong> To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.<br></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Santanu Nandi: From Banking Systems to Building a Trading Desk]]></title><description><![CDATA[A backend developer with 20+ years across India and the US, Santanu Nandi used EPAT to turn a long-standing interest in trading into a systematic path forward.]]></description><link>https://www.quantinsti.com/articles/santanu-nandi-banking-systems-trading-desk-algorithmic-trading-case-study/</link><guid isPermaLink="false">6a8e815a000def0007faf383</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Sana Patel]]></dc:creator><pubDate>Thu, 27 Aug 2026 11:52:44 GMT</pubDate><content:encoded><![CDATA[<p>For most of his career, Santanu Nandi worked behind the scenes of the financial industry. A backend developer with more than two decades of experience across India and the United States, he spent years building and supporting the banking systems that quietly keep the industry running.</p><p>He worked across many domains during that time, from credit card services to retail banking. But one area kept pulling at his attention in a way the others never did.</p><p>"I found that trading, or front office, is something which interests me more actually, in comparison to any other like credit card services or retail banking," he recalls. That interest would eventually reshape how he thought about the next stage of his career.</p><h2 id="why-algorithmic-trading"><strong>Why Algorithmic Trading?</strong></h2><p>Working closely with trading systems gave Santanu a view into a part of the industry he wanted to understand at a deeper level. The more time he spent around it, the clearer a pattern became. The future of trading was moving toward algorithmic execution, Python, machine learning, and data-driven decision-making.</p><p>These were not skills he could pick up passively on the job. They formed a distinct discipline with its own logic, and he recognised that the gap between building systems for traders and thinking like a quantitative trader was wider than it looked from the outside.</p><p>He knew these were capabilities he needed to add to his own portfolio if he wanted to move closer to the front office work that interested him.</p><h2 id="the-search-for-structure"><strong>The Search for Structure</strong></h2><p>Like many professionals exploring a new field, Santanu started where most people start, with online resources. The problem was not scarcity. It was the opposite.</p><p>There were countless articles, videos, and tutorials available, and sorting the useful from the irrelevant took more effort than the learning itself. "If I go to Google, I can find a lot of links. But what is relevant and what is not, that filtering itself is sometimes difficult," he explains. "You spend a lot of time filtering out the wrong things."</p><p>What he wanted was structure. A learning path that connected the dots between trading, finance, mathematics, programming, and machine learning, rather than a scattered collection of tutorials that never quite added up to a whole. After weighing his options and talking them through with peers in the industry, he came across EPAT.</p><h2 id="why-epat"><strong>Why EPAT?</strong></h2><p>What first drew Santanu in was the promise of a strong foundation. What he found once he began was larger than he expected. "I thought the window would be small, but then I found there's a bigger window," he says. "It not only gives a foundation, but it gives a lot of references so that I can enhance my skills."</p><p>The value equation mattered too. Having spent much of his career in the United States, Santanu was familiar with the cost of executive education there. Measured against comparable programmes abroad, EPAT offered a way to build specialised skills at a fraction of that cost, which made the decision easier to justify while working full-time.</p><p>For him, the appeal was not a single feature but the way the programme joined disciplines that usually sit apart. Before EPAT, he understood trading concepts on their own. What he lacked was a clear picture of the broader ecosystem that surrounds them, and that was precisely the gap the programme helped him close.</p><h2 id="balancing-epat-with-a-full-time-career"><strong>Balancing EPAT With a Full-Time Career</strong></h2><p>Completing EPAT while working full-time in New Jersey was not easy. The six-month curriculum covers a wide range of topics, and keeping pace with classes, assignments, and professional responsibilities took discipline. There were nights spent catching up on coursework after office hours and weekends set aside entirely for learning.</p><p>Those constraints also made the wins more satisfying. When his scores came back strong, the effort felt validated. "Some of the tests I scored 100 out of 100," he recalls. "That gives a kind of pleasure. It's like a dopamine. You feel that okay, in the next one also I have to do something like that."</p><p>Looking back, he believes the programme's real strength was not teaching individual topics in isolation, but showing how they fit together inside quantitative trading. That connective view, more than any single lesson, was what turned scattered knowledge into something he could build on.</p><h2 id="the-topics-that-stood-out"><strong>The Topics That Stood Out</strong></h2><p>Given his software background, it is no surprise that Python became one of Santanu's favourite parts of the curriculum. But his interests reached well past programming.</p><p>Machine learning, options trading, statistics, portfolio analysis, and quantitative modelling all stood out as areas he enjoyed exploring in depth. What kept him engaged was how applicable the material felt. A few sessions leaned more on memorisation than application, but he found the large majority of the content directly relevant to the work he wanted to do.</p><p>That practical emphasis mattered to someone who had spent years shipping real systems. The curriculum was not an abstract exercise for him. It was a set of tools he could imagine putting to use.</p><h2 id="building-toward-something-of-his-own"><strong>Building Toward Something of His Own </strong></h2><p>Many learners join EPAT to advance within their current careers. Santanu's ambition points somewhere further out.</p><p>His long-term goal is to build something of his own, a trading desk driven by systematic strategies and supported by the quantitative skills he has been developing. "Having something of my own, and creating a company of my own which does trading, that will give me the ultimate pleasure," he says.</p><p>The path will not be simple. Working inside a banking environment brings compliance considerations that make any transition more involved, and he is clear-eyed about that. For now, his plan is to revisit the course material, deepen his understanding, refine his strategies, and keep building toward the larger vision. What gives him confidence is that the resources do not stop at graduation. Through project support, alumni communities, mentors, and continued access to material, he sees EPAT as something that extends well past its six months.</p><p>For Santanu, EPAT delivered more than a certificate. It provided structure in a field crowded with information, connected concepts that had felt disconnected, and opened possibilities he now intends to pursue. As he puts it, "EPAT is the course which will give me a lot of skill sets. It gives a foundation, but it also opens a much bigger window." The window he once thought was small turned out to be the beginning of something much larger.</p><h2 id="frequently-asked-questions"><strong>Frequently Asked Questions</strong></h2><p><strong>Can software developers transition into algorithmic trading?</strong> Yes. A software background is a strong starting point, since programming, data handling, and systems thinking carry over directly. What developers typically need to add is the finance, statistics, and quantitative modelling layer, which is exactly what a structured programme like EPAT is designed to build.</p><p><strong>Is Python enough to get started in algorithmic trading?</strong> Python is a core tool and one of the most widely used languages in the field, but it is one piece of a larger picture. Effective algorithmic trading also draws on statistics, machine learning, options and portfolio concepts, and an understanding of market structure. The programming becomes far more useful once it sits on that broader foundation.</p><p><strong>How hard is it to complete EPAT while working full-time?</strong> It takes real commitment. The six-month curriculum is demanding, and many working professionals rely on evenings and weekends to keep up, as Santanu did while based in New Jersey. The structure and defined timeline can actually help, giving busy learners a clear path to follow rather than an open-ended study plan.</p><p><strong>Why choose a structured programme over free online resources?</strong> Free resources are abundant, but sorting the relevant from the irrelevant can consume significant time. A structured programme connects trading, finance, mathematics, programming, and machine learning into a coherent sequence, which reduces wasted effort and shows how the pieces fit together.</p><p><strong>What topics does EPAT cover beyond programming?</strong> The curriculum spans machine learning, options trading, statistics, portfolio analysis, and quantitative modelling, among other areas. The emphasis is on how these disciplines combine within quantitative trading rather than on any single subject in isolation.</p><p><strong>Does EPAT support learners after the programme ends?</strong> Yes. Beyond the core coursework, learners have access to project support, alumni communities, mentors, and continued resources. Many graduates, Santanu included, treat the programme as an ongoing reference rather than a one-time course.</p><p><strong>Can I run my own trading strategies while working in banking?</strong> It depends on your employer's compliance policies, which often place restrictions on trading activity for those working in banking or financial institutions. Anyone considering this should review their firm's rules carefully and plan around them. It is worth understanding these constraints early rather than after the fact.</p><p><strong>Is EPAT good value compared to other executive programmes?</strong> For learners familiar with the cost of executive education abroad, EPAT is often seen as offering specialised, application-focused skills at a considerably lower cost. Value ultimately depends on your goals, but the breadth of the curriculum relative to its price is a common reason professionals choose it.</p><h3 id="next-steps">Next Steps</h3><p>If you are just getting started with algorithmic trading, begin with the<a href="https://quantra.quantinsti.com/"> Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore<a href="https://quantra.quantinsti.com/"> Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the<a href="https://www.quantinsti.com/epat"> Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><p><strong>Schedule an EPAT counselling call</strong> To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.</p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Fatema Alkhabbaz: From Strategic Treasury to Building Her Own Edge in Algorithmic Trading]]></title><description><![CDATA[Treasury analyst Fatema Alkhabbaz used EPAT to learn Python from scratch and build systematic strategies, betting that the future of treasury is quantitative.]]></description><link>https://www.quantinsti.com/articles/treasury-algorithmic-trading-epat-success-story-fatema-alkhabbaz/</link><guid isPermaLink="false">6a854552000def0007faf27f</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Sana Patel]]></dc:creator><pubDate>Wed, 19 Aug 2026 07:21:25 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!-- Student intro block — place at top of blog body -->
<div class="student-intro" style="display:flex;align-items:center;gap:24px;padding:24px;margin:0 0 32px;background:#f4f7fb;border-left:4px solid #009f54;border-radius:8px;flex-wrap:wrap;">
  <div class="student-intro__photo" style="width:120px;height:120px;min-width:120px;flex:0 0 120px;border-radius:50%;overflow:hidden;border:3px solid #ffffff;box-shadow:0 2px 8px rgba(0,0,0,0.12);background:#e6ebf2;">
    <img src="https://d2a032ejo53cab.cloudfront.net/Course/Units/Coding/UnitContent/AYIQ8x5x/Fateema-A.png" alt="Fatema Alkhabbaz, EPAT alumna and Senior Treasury Analyst" loading="lazy" style="width:100%;height:100%;object-fit:cover;object-position:center top;display:block;margin:0;">
  </div>
  <div class="student-intro__text" style="flex:1;min-width:240px;">
    <p style="margin:0 0 2px;font-family:'Open Sans',Arial,sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#009f54;">
      EPAT Alumni Story
    </p>
    <h3 style="margin:0 0 10px;font-size:20px;line-height:1.3;color:#173871;">
      Fatema Alkhabbaz
    </h3>
    <p style="margin:0;font-family:'Open Sans',Arial,sans-serif;font-size:17px;line-height:1.55;color:#333;">
      A Senior Treasury Analyst in Bahrain, Fatema moved beyond the conventional finance path to
      build her own edge in algorithmic trading. Through EPAT she learned Python from scratch,
      built a statistical arbitrage strategy, and grounded every idea in proper research and
      back-testing before deploying capital. Today she is laying the foundations for her own
      quantitative desk and, as she puts it, "now I have the tools that I can proceed forward."
    </p>
  </div>
</div><!--kg-card-end: html--><p>In most treasury departments across the Gulf, the walls are lined with the same set of credentials. CFA. CISI. CPA. They are the traditional markers of a serious finance career, and Fatema Alkhabbaz worked alongside plenty of colleagues who held them. But she was looking beyond the conventional path, toward a field that was still taking shape in her market: algorithmic trading.</p><p>Fatema works as a Senior Treasury Analyst at a bank in Bahrain, where her role spans treasury projects, strategic initiatives, and long-range planning rather than day-to-day trading and dealing. She does not come from a quantitative or engineering background. Yet today, she is designing systematic trading strategies, writing Python from scratch, and laying the foundations for her own quantitative research capability. The bridge between those two versions of herself is the Executive Programme in Algorithmic Trading (EPAT).</p><p>Her story is less about a career switch than a career expansion, seeing where finance was heading, recognising an opportunity early, and deciding to build the skills to pursue it. At the time, algorithmic trading was not yet a mainstream conversation in Bahrain's treasury community. For Fatema, that was part of the attraction. The field was still open, and she wanted to learn how to build inside it.</p><h2 id="why-algo-trading"><strong>Why Algo Trading?</strong></h2><p>The pull toward algorithmic trading had been there since 2019, quietly, but it kept slipping off Fatema's radar. What brought it back into focus was a change at work which exposed her to a part of the wider organization where algorithmic trading was already more established.</p><p>It gave her a glimpse of how differently a treasury function could operate, and made the direction feel tangible.</p><p>"They don't have traders, they actually have algo traders," she recalls. " From there, I understood that this was where the industry was heading." For someone whose job is to think about direction and strategy, the signal was hard to ignore. She saw two opportunities layered on top of each other. The first was institutional: she could develop the technical capabilities to help bridge the gap between traditional treasury and the more quantitative direction she was seeing across the wider group. The second was personal.</p><p>"I really want to learn algo trading for myself. I want to have my own private desk at home. I want to do something for myself," she explains. "So it was a two in one thing for me."</p><p>Importantly, this was not a mandate from above. This was not something she was required to pursue. She chose it herself, driven by curiosity, ambition, and the sense that she had found a field worth building into.</p><p>She wasn't waiting for a job title to tell her what to learn. She saw where the industry was moving and decided to build the capability herself.</p><h2 id="why-epat"><strong>Why EPAT?</strong></h2><p>Fatema did look at alternatives before committing. What set EPAT apart, in her assessment, was that it was practical rather than theoretical. That distinction mattered enormously given her goal. She was not looking for a credential to hang on a wall or a qualification that only opened doors inside an institution. She wanted to be able to build things herself and eventually put her own money to work.</p><p>"With EPAT I'm sure that I can see opportunities for myself. I can build things for myself," she says. "That's what differentiates EPAT for me from any other professional course." She also framed the decision in the language of her own discipline. To a treasury professional, everything is a question of value and return. "It has a better value for money, a better ROI, compared to any other courses I found in the market."</p><p>When she finally looked at the curriculum, the hesitation vanished. "I just made the decision. I took my savings and made this investment," she recalls. "When I looked at the agenda, when I looked at the topics, I found this is what I want to do, and I just signed up."</p><h2 id="learning-python-with-a-purpose"><strong>Learning Python With a Purpose</strong></h2><p>Python was not new to Fatema in the sense that she had tried, several times, to teach herself. It was new in the sense that none of those attempts had stuck. "I tried to learn Python many times at home alone using YouTube, but because I didn't use it, I kept forgetting it," she says. In early 2025 she took it more seriously, working through online courses, but something was still missing. The material was generic. It taught data, but it did not connect that data to finance, trading, or treasury. "I was learning data, but I was not applying it."</p><p>EPAT changed the equation by giving the learning a spine. "With EPAT I really learned Python from scratch. It was structured, it was clear, it was grounded in finance," she explains. The difference was purpose. When each concept was tied to a reason she cared about, the knowledge finally held. "Because I had a purpose, it was easier for me to learn. It was easier for me to know what I was doing and how to use it."</p><p>That shift, from abstract tutorials to grounded application, is a recurring theme for career changers who arrive at EPAT without a programming background. The code becomes learnable precisely because it is attached to a problem worth solving.</p><h2 id="how-epat-rewired-her-thinking"><strong>How EPAT Rewired Her Thinking</strong></h2><p>Ask Fatema what changed during the programme and she does not reach for a single feature. She reaches for the way she thinks. "It changed the way I think in general. It rewires your brain and how to think," she says. The sharpest shift was in her understanding of what algorithmic trading actually involves.</p><p>Before EPAT, she had absorbed the popular version of the idea, the one sold by consumer trading apps where automation is treated as the whole game. She is blunt about the flaw in that picture. "People automate the trade and they think they're doing a good job, even though they automate their losses, not their profits." What EPAT gave her instead was the discipline that is supposed to come first.</p><p>"In EPAT you have the actual structure, the actual research, the actual science behind what you're doing," she explains. She describes the groundwork that precedes any deployment: a proper backtest, the honesty not to cheat on that backtest, the vigilance against overfitting, and even the step of testing the backtest itself with tools like a confusion matrix. "There is a lot of work to do before just automating the trade. After you have the research and everything, then you can say, okay, now it's time to automate and deploy this into production." She calls that framework a game changer, then reconsiders and lands on something more foundational. "Maybe it's a good foundation, honestly."</p><p>Not every module went down smoothly. She is candid that one stretch tested her. "The only thing that gave me a panic attack was options and volatility trading," she admits, laughing at the memory. But the statistics modules were where she found her footing and her fascination, from ARIMA to ARCH and GARCH, and above all statistical arbitrage. "This was like magic for me. You long a few assets and short some, and you have the spread, and from this spread you make the P&amp;L. This strategy for me was like, wow."</p><h2 id="the-capstone-statistical-arbitrage"><strong>The Capstone: Statistical Arbitrage</strong></h2><p>That fascination became her capstone project. Working with a mentor, Fatema built a statistical arbitrage strategy, but the real value was in the questions the mentor kept pushing back at her. "He always let me question myself," she says. One of those questions reframed how she thought about edge.</p><p>The strategy produced a modest but stable return, and the mentor pressed her to compare it against a simpler alternative. What if, during a strong momentum period, she had just gone long the assets instead of arbitraging them? She would have captured more upside. But the comparison sharpened her appreciation of what arbitrage actually offered. "It's only six percent profit in maybe six months, but it has very low drawdown, and I can add leverage into it. Instead of six I can make twelve percent P&amp;L with a drawdown of maybe two percent." The point was not raw return. It was return per unit of risk, and the control that comes with it.</p><p>The mentor also pushed her toward walk forward optimization, running simulations in her code to see how the strategy might behave in a live market and using those results to refine it. "The thought process and the analysis, I learned so much from it," she says. "I have the engine itself."</p><p>Interestingly, statistical arbitrage will not be the first strategy she deploys with real money. She has thought carefully about sequencing. "Part of me doesn't want to start with shorting as my first strategy," she explains, noting the operational complexity that short selling adds. Her plan is to begin with long only and momentum strategies, get comfortable with live operations, and then fold statistical arbitrage in as one sleeve of a larger portfolio. "Once I feel comfortable, I will add more operational complexities. That's my perspective." It is a measured, risk-aware roadmap, the kind that reflects a treasury mind more than a gambler's.</p><h2 id="the-future-of-treasury-is-quantitative"><strong>The Future of Treasury Is Quantitative</strong></h2><p>One line from Fatema's own writing captures her larger thesis: the future of treasury is quantitative. She means it concretely, and her experience in treasury has given her a close view of what that transition requires.</p><p>The shift toward quantitative treasury, she argues, starts with something less visible but equally important: data and infrastructure readiness. Applying quantitative methods in a banking environment is not simply about building models. It requires reliable, structured data, the right infrastructure, and processes that make that data usable.</p><p>Fatema has increasingly focused on the technical foundations needed to support more quantitative decision-making within treasury: understanding how data is sourced, structured, cleaned, and prepared for analysis, while also considering how the underlying infrastructure needs to evolve to support automation and future quantitative models.</p><p>For her, this foundation is essential. "You cannot build the brain without the data and the infrastructure," she explains. The goal is to create an environment where data can be consistently prepared, monitored, and made ready for models and automation.</p><p>In her view, becoming more quantitative is not simply about developing algorithms. It is about building the infrastructure that allows those algorithms to work reliably in a real banking environment.</p><p>Looking beyond her current work, she describes wanting to develop a more robust quantitative framework for FX warehousing, one that could incorporate market conditions, macroeconomic signals, momentum, currency carry, and sentiment into a systematic scoring framework. "That's more robust than manual monitoring," she says. "In the world of banking now, every second matters."</p><p>For Fatema, quant is not a niche specialization bolted onto treasury. It is the underlying engine. "Quant is the main engine, the brain. You're building the brain of how everything is going to work and automate."</p><h2 id="epat-and-the-role-of-ai"><strong>EPAT and the Role of AI</strong></h2><p>Fatema is refreshingly practical about how she closes the gap between what she knows and what a project demands. Her advice to people from a similar background is straightforward: do the actual work yourself, take on projects that stretch your capabilities, and use modern tools to accelerate the learning process.</p><p>"Even at my job, I started to focus on that direction, take on the technical side of projects, digging deep into the details," she says. "Even when I didn't know coding much, I have my secret amazing method: on-the-job learning. Do your own research, ask AI, learn, apply, and move forward."</p><p>For Fatema, AI is not a substitute for understanding the work. It is a tool that helps her move faster from a question to research, experimentation, and application. That mindset has allowed her to take on increasingly technical projects while continuously building her skills along the way.</p><p>She also values that EPAT has not treated its curriculum as finished. "After I graduated, I keep seeing them update the content. They are adding things about AI agents," she notes, pointing to it as one reason she recommends learning from a single, maintained source rather than stitching together scattered tutorials. The combination she describes, structured foundations from EPAT and AI as an everyday collaborator, is exactly how many practitioners now move from idea to implementation.</p><h2 id="looking-ahead"><strong>Looking Ahead</strong></h2><p>At the time of this conversation, Fatema was roughly a month past her capstone, having taken a long break before returning to build in earnest. She has a time plan. The first strategy is in research and development now, with a goal of having something ready for live testing by October. "By then I think I can have a proper answer," she says, referring to how the strategy performs in live conditions.</p><p>Her ambitions are not confined to her own portfolio. Recognising that algorithmic trading is still an emerging field in Bahrain and the wider GCC, she offered to help change that as an EPAT ambassador in her country, including connecting the programme with leading local institutions in banking and finance. Her reasoning is characteristically direct. Fresh graduates in a crowded market, she argues, do not need to pile on yet another traditional certificate. "People should focus on this, because it's the future. Actually, it's not the future, it's the present." She also sees a chance to reach her community in its own language. "I can reach them in Arabic. I'm already thinking of doing some social media. It will be a win win."</p><p>Fatema Alkhabbaz set out to do two things at once, to bring something new to her institution and to build something of her own. What connects both is the conviction that started her journey and now defines it. The tools exist, the discipline can be learned, and the space is wide open for whoever moves first. "Now I have the tools that I can proceed forward," she says. For her, that is not the end of the story. It is the foundation.</p><h2 id="frequently-asked-questions"><strong>Frequently Asked Questions</strong></h2><p><strong>Do I need a quantitative or engineering background to move into algorithmic trading?</strong> No. Fatema came from a treasury and finance background rather than engineering or computer science. A structured programme can teach the programming and quantitative methods from the ground up, and existing finance experience often transfers directly into strategy design and risk thinking.</p><p><strong>Is programming knowledge required before starting EPAT?</strong> It helps, but it is not a prerequisite. Fatema had tried to learn Python on her own several times without it sticking. She found the code became learnable through EPAT because it was tied to finance and trading problems she cared about, rather than taught in the abstract.</p><p><strong>Can algorithmic trading skills be applied inside a treasury or banking role?</strong> Yes. Fatema is applying quantitative methods to treasury work, including data and infrastructure readiness and a more systematic approach to areas such as FX warehousing. Her larger thesis is that the future of treasury is quantitative, and that building the right data foundation comes first.</p><p><strong>What is statistical arbitrage, and why was Fatema drawn to it?</strong> Statistical arbitrage involves going long some assets and short others to trade the spread between them. Fatema valued it for its low drawdown and the control it offers, prioritising return per unit of risk over raw return, with the option to add leverage carefully.</p><p><strong>Should statistical arbitrage be a beginner's first live strategy?</strong> Not necessarily. Fatema plans to begin with long only and momentum strategies to get comfortable with live operations, then fold statistical arbitrage in as one sleeve of a larger portfolio, since short selling adds operational complexity.</p><p><strong>How does Fatema use AI in her workflow?</strong> She treats AI as a tool to move faster from a question to research, experimentation, and application, not as a replacement for understanding. Her method is on-the-job learning: do your own research, ask AI, learn, apply, and move forward.</p><p><strong>How long does it take to build a working strategy after EPAT?</strong> It varies. At the time of the conversation, Fatema was about a month past her capstone, with her first strategy in research and development and a goal of live testing by October. Building something reliable takes testing and iteration rather than a single breakthrough.</p><p><strong>Is algorithmic trading established in Bahrain and the wider GCC?</strong> It is still an emerging field there, which Fatema sees as an opportunity. She has offered to help grow it as an EPAT ambassador, including reaching her community in Arabic and connecting the programme with local banking and finance institutions.</p><h3 id="next-steps">Next Steps</h3><p>If you are just getting started with algorithmic trading, begin with the<a href="https://quantra.quantinsti.com/"> Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore<a href="https://quantra.quantinsti.com/"> Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the<a href="https://www.quantinsti.com/epat"> Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><p><strong>Schedule an EPAT counselling call</strong> To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.</p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[Prompts for Backtesting Using Claude]]></title><description><![CDATA[Six sequenced prompts that take a momentum research paper from summary to adaptation, data, backtest, and a critical review of the results in Claude.]]></description><link>https://www.quantinsti.com/articles/prompts-for-backtesting-using-claude/</link><guid isPermaLink="false">6a84652b000def0007faf219</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[MOHIT KARWAL]]></dc:creator><pubDate>Tue, 18 Aug 2026 14:14:02 GMT</pubDate><content:encoded><![CDATA[<p>Watch the complete session below, where all the prompts are demonstrated live in Claude, from research paper to finished backtest dashboard.</p><p></p><!--kg-card-begin: html--><style>
  .auth-only, .guest-only {
    display: none;
  }
  #auth-loader {
    text-align: center;
    padding: 30px;
  }
  .loader-spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #000;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px;
    animation: spin 1s linear infinite;
  }
  @keyframes spin {
    100% { transform: rotate(360deg); }
  }
  .video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }
  .video-wrapper iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
  }
  .video-thumb {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
  }
  .video-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.4s ease;
  }
  .thumb-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.25);
    transition: background 0.4s ease;
  }
  .watch-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 500;
    color: #fff;
    background: #009F54;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    position: absolute;
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
  .watch-btn:active {
    transform: scale(0.97);
  }
  .play-icon-wrap {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.35s ease, transform 0.35s ease;
    transform: scale(0.8);
    pointer-events: none;
  }
  .ripple-ring {
    position: absolute;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.5);
    animation: ripple-out 2s ease-out infinite;
    opacity: 0;
  }
  .ripple-ring:nth-child(2) { animation-delay: 0.6s; }
  .ripple-ring:nth-child(3) { animation-delay: 1.2s; }
  @keyframes ripple-out {
    0%   { transform: scale(1);   opacity: 0.6; }
    100% { transform: scale(2.2); opacity: 0; }
  }
  .video-thumb:hover img {
    filter: brightness(0.45);
  }
  .video-thumb:hover .thumb-overlay {
    background: rgba(0, 0, 0, 0.45);
  }
  .video-thumb:hover .watch-btn {
    opacity: 0;
    transform: scale(0.85);
    pointer-events: none;
  }
  .video-thumb:hover .play-icon-wrap {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
  }
</style>

<div id="auth-loader">
  <div class="loader-spinner"></div>
  Checking access...
</div>
<div class="auth-only">
  <div class="video-wrapper">
    <iframe src="https://www.youtube.com/embed/DIQdd21CoIQ?autoplay=1&mute=1&rel=0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
    </iframe>
  </div>
</div>
<div class="guest-only">
  <div class="video-thumb" onclick="handleLoginClick()">
    <img src="https://d2a032ejo53cab.cloudfront.net/Course/Units/Coding/UnitContent/JS7QaMIc/Group-6007.png" alt="Course thumbnail">
    <div class="thumb-overlay">
      <button class="watch-btn">
        <svg width="16" height="16" viewbox="0 0 16 16" fill="#fff">
          <polygon points="3,2 13,8 3,14"/>
        </svg>
        Login &amp; Watch Now
      </button>
      <div class="play-icon-wrap">
        <div class="ripple-ring"></div>
        <div class="ripple-ring"></div>
        <div class="ripple-ring"></div>
        <svg width="72" height="72" viewbox="0 0 72 72" fill="none" xmlns="http://www.w3.org/2000/svg">
          <circle cx="36" cy="36" r="35" stroke="rgba(255,255,255,0.9)" stroke-width="1.5"/>
          <polygon points="28,20 54,36 28,52" fill="white"/>
        </svg>
      </div>
    </div>
  </div>
</div>

<script>
(function () {
  function showLoader(show) {
    const loader = document.getElementById('auth-loader');
    if (loader) loader.style.display = show ? 'block' : 'none';
  }
  function injectAuthContent() {
    document.querySelectorAll('.auth-iframe').forEach(iframe => {
      const src = iframe.getAttribute('data-src');
      if (src) iframe.setAttribute('src', src);
    });
  }
  function showAuthContent() {
    document.querySelectorAll('.auth-only').forEach(el => el.style.display = 'block');
    document.querySelectorAll('.guest-only').forEach(el => el.style.display = 'none');
    injectAuthContent();
  }
  function showGuestContent() {
    document.querySelectorAll('.auth-only').forEach(el => el.style.display = 'none');
    document.querySelectorAll('.guest-only').forEach(el => el.style.display = 'block');
  }
  function handleAuth(user) {
    if (user && user.email) {
      showAuthContent();
    } else {
      showGuestContent();
    }
    showLoader(false);
  }
  function initAuthCheck() {
    showLoader(true);
    if (typeof window.ssoGetUserInfo === 'function') {
      try {
        const result = window.ssoGetUserInfo();
        if (result && typeof result.then === 'function') {
          result.then(handleAuth).catch(() => handleAuth(null));
        } else {
          handleAuth(result);
        }
      } catch (err) {
        console.error('SSO error:', err);
        handleAuth(null);
      }
    } else {
      handleAuth(null);
    }
  }
  document.addEventListener('DOMContentLoaded', initAuthCheck);
})();

function handleLoginClick() {
  window.ssoLogin(false, false);
}
</script>
<!--kg-card-end: html--><p><a href="https://www.quantinsti.com/articles/backtesting-trading/">Backtesting</a> a trading strategy with AI works best when the process is broken into clear, structured steps.</p><p>Below is a sequence of <strong>six prompts</strong> designed to take you from understanding a momentum research paper to adapting the strategy, pulling market data, running a backtest, and critically reviewing the results.</p><p>You can use these prompts one after another in Claude.</p><!--kg-card-begin: markdown--><p>A sequence of six prompts that take a momentum research paper from summary, through adaptation and data pull, to a backtest and a critical review of the results.</p>
<hr>
<h2 id="prompt1summarisethetradingmechanics">Prompt 1: Summarise the trading mechanics</h2>
<blockquote>
<p>I have uploaded a research paper on momentum. Read it and give me the trading mechanics as a compact summary card: what it trades, how it selects instruments, entry and exit, and rebalance frequency. Short bullets only, maximum 4 per section, no long paragraphs.</p>
</blockquote>
<hr>
<h2 id="prompt2checkwhataretailtradercanactuallyimplement">Prompt 2: Check what a retail trader can actually implement</h2>
<blockquote>
<p>As a retail trader, what parts of this would be hard to implement exactly as written? Answer as two short lists: Hard to use as-is, and What survives. Maximum 4 bullets each, one line per bullet.</p>
</blockquote>
<hr>
<h2 id="prompt3adaptthestrategyandbuildastrategycard">Prompt 3: Adapt the strategy and build a strategy card</h2>
<blockquote>
<p>Adapt it to: 11 US sector ETFs, long only, ranked on 12-month return, top 3 equal weight, rebalanced monthly. Create an artifact: a clean one-page strategy card with five sections, Universe, Entry Rule, Exit Rule, Position Sizing, Rebalance Frequency, and below it a simple flowchart of the monthly decision: rank all 11, is the ETF in the top 3, buy or hold, did it drop out, sell. Minimal text, visual layout.</p>
</blockquote>
<hr>
<h2 id="prompt4pullthedataandrankit">Prompt 4: Pull the data and rank it</h2>
<blockquote>
<p>Using the Alpaca connection, fetch 12-month total returns for XLK, XLF, XLY, XLE, XLV, XLI, XLP, XLU, XLB, XLRE, XLC. Show the result as a ranked horizontal bar chart artifact, highest to lowest, top 3 highlighted in green. One line per ETF, no commentary.</p>
</blockquote>
<hr>
<h2 id="prompt5backtestandbuildadashboard">Prompt 5: Backtest and build a dashboard</h2>
<blockquote>
<p>Backtest this exact rule over the past 5 years: rank monthly on 12-month return, hold the top 3 equal weight, rebalance on the first trading day of each month, benchmark SPY buy and hold. Present the results as an interactive trading dashboard artifact, dark professional theme like a real trader terminal: an equity curve of strategy vs SPY, four metric cards, total return, CAGR, Sharpe, max drawdown, and a small monthly returns strip. Short labels only, 4 to 5 sections maximum, no paragraphs.</p>
</blockquote>
<hr>
<h2 id="prompt6challengethebacktest">Prompt 6: Challenge the backtest</h2>
<blockquote>
<p>Assume this backtest is misleading. Give me only the 4 strongest reasons not to trust it, as a compact red-flag checklist card, one line each, no explanation longer than one sentence.</p>
</blockquote>
<hr>
<h2 id="noteonrisk">Note on risk</h2>
<p>These prompts are for research and educational use. Backtested results are hypothetical, reflect the assumptions and data used, and do not indicate future performance. Trading carries the risk of loss of capital.</p>
<!--kg-card-end: markdown--><hr><h2 id="frequently-asked-questions">Frequently Asked Questions <br></h2><p><strong>Do I need to know Python to use these prompts?</strong><br>No, the assistant writes and runs the code for the data pull and the backtest. That said, being able to read the code it produces is what separates using a backtest from trusting one, and anyone planning to trade the result should be able to check the rebalance logic and the return calculation themselves.</p><p><strong>Can I use a data source other than Alpaca?</strong></p><p>Yes. Prompt 4 names Alpaca only because it is the connection used in this example. Substitute whatever market data source you have available, and if none is connected, ask the assistant to work from a CSV of historical prices you upload instead.</p><p><strong>Why 11 sector ETFs rather than individual stocks?</strong></p><p>Sector ETFs sidestep two problems that make retail equity backtests unreliable: survivorship bias, since delisted stocks vanish from most free datasets, and the data volume needed to rank a full cross section every month. The universe is small enough to verify by hand, which matters when you are checking whether the process works at all.</p><p><strong>Is five years long enough to test a momentum strategy?</strong></p><p>Usually not. Five years is a reasonable first pass because the data is easy to obtain and the result arrives quickly, but momentum strategies have historically gone through multi-year stretches of underperformance, and a window that misses one of those will flatter the rule. Extending the test to fifteen or twenty years is the natural follow up.</p><p><strong>What is the single most common flaw in AI-generated backtests?</strong></p><p>Lookahead bias, usually through a ranking that is computed on data the strategy would not have had at the rebalance date. It is worth asking the assistant directly to trace, for one specific rebalance, exactly which observations went into the ranking and what date each one became available.</p><p><strong>How do I add transaction costs to the backtest?</strong></p><p>Ask for it explicitly as a follow up to Prompt 5, specifying a per-trade cost in basis points and applying it to the turnover at each rebalance. For a monthly sector rotation the turnover is low enough that costs rarely change the conclusion, but the number should be in the model rather than assumed away.</p><p><strong>Can this sequence be used for strategies other than momentum?</strong></p><p>Yes. The six steps are agnostic to the underlying idea, and only Prompt 1 and Prompt 3 need rewriting for a different paper or a different universe. The value comes from the separation of steps, not from the specific momentum rule used here.</p><p><strong>Should I trade a strategy that performs well in this backtest?</strong></p><p>Not on this evidence alone. A single backtest on one universe, one lookback, and one five year window is a starting point for research, and the responsible next steps are out-of-sample testing, parameter sensitivity checks, and paper trading before any capital is committed</p><hr><h2 id="next-steps">Next Steps</h2><p>If you are just getting started with algorithmic trading, begin with the <a href="https://quantra.quantinsti.com/">Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore <a href="https://quantra.quantinsti.com/">Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the <a href="https://www.quantinsti.com/epat">Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><p><strong>Schedule an EPAT counselling call.</strong> To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.</p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html--><p>Disclaimer: This webinar and recap are for educational and informational purposes only. Nothing discussed constitutes financial advice. Please conduct your own research and consult a qualified financial advisor before making any investment decisions.</p>]]></content:encoded></item><item><title><![CDATA[Aman Chaure: An Engineer's Disciplined Shift to Algo Trading]]></title><description><![CDATA[Aman Chaure left software engineering for systematic trading through EPAT. A story of discipline, doubt, and building an automated portfolio that lasts.]]></description><link>https://www.quantinsti.com/articles/aman-chaure-epat-success-story-systematic-algorithmic-trading/</link><guid isPermaLink="false">6a82def674e6f000074e7310</guid><category><![CDATA[Learn Algo Trading]]></category><dc:creator><![CDATA[Sana Patel]]></dc:creator><pubDate>Tue, 18 Aug 2026 10:16:36 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!-- Student intro block — place at top of blog body -->
<div class="student-intro" style="display:flex;align-items:center;gap:24px;padding:24px;margin:0 0 32px;background:#f4f7fb;border-left:4px solid #009f54;border-radius:8px;flex-wrap:wrap;">
  <div class="student-intro__photo" style="width:120px;height:120px;min-width:120px;flex:0 0 120px;border-radius:50%;overflow:hidden;border:3px solid #ffffff;box-shadow:0 2px 8px rgba(0,0,0,0.12);background:#e6ebf2;">
    <img src="https://d2a032ejo53cab.cloudfront.net/Course/Units/Coding/UnitContent/FTairORl/Aman-Chaure.png" alt="Aman Chaure, EPAT alumnus and systematic algo trader" loading="lazy" style="width:100%;height:100%;object-fit:cover;object-position:center top;display:block;margin:0;">
  </div>
  <div class="student-intro__text" style="flex:1;min-width:240px;">
    <p style="margin:0 0 2px;font-family:'Open Sans',Arial,sans-serif;font-size:0.8rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#009f54;">
      EPAT Alumni Story
    </p>
    <h3 style="margin:0 0 10px;font-size:20px;line-height:1.3;color:#173871;">
      Aman Chaure
    </h3>
    <p style="margin:0;font-family:'Open Sans',Arial,sans-serif;font-size:17px;line-height:1.55;color:#333;">
      A mechanical engineer turned systematic trader, Aman moved from manual, intuition-driven
      experimentation to a disciplined, evidence-based process. Through EPAT he learned to develop
      strategies, back-test every idea, and manage risk before deploying capital. Today he runs an
      automated portfolio built in Python alongside a teammate and, as he puts it, "you have to love
      the process, the adaptation part and the discipline part."
    </p>
  </div>
</div><!--kg-card-end: html--><p>Most people who end up automating financial markets do not begin there. Aman Chaure certainly did not. He finished his bachelor's in mechanical engineering in 2021 and moved straight into a stable software development role built around automation, systems, and structured problem solving. On paper, it was a logical, orderly career.</p><p>Beneath the routine, though, a different curiosity was forming. The market movements of 2020 and 2021 pulled his attention toward finance, not as a spectator, but as someone who wanted to understand the mechanics underneath the price action. The engineer in him could not watch a moving market without asking how it worked, and then asking the question that would reshape his career: could any of this be automated?</p><p>What follows is a story less about markets and more about mindset. It is about choosing a path, committing to it fully, and learning that in systematic trading, discipline tends to outlast brilliance.</p><h2 id="why-algo-trading"><strong>Why Algo Trading?</strong></h2><p>Aman's route into trading ran through code, not charts. His day job revolved around automation and systems, so when the markets caught his interest, his instinct was not to watch prices but to interrogate the process behind them. Curiosity quickly narrowed into a single, defining question: what if this could also be automated?</p><p>That question led him to algorithmic trading. He started the way many self-taught traders do, experimenting manually and trying to build a feel for the market. It did not take long to reach the limit of that approach. Intuition, he found, was fragile. It worked until it did not, and it gave him nothing he could measure, repeat, or improve. What he needed was structure, a systematic way to approach markets rather than a series of educated guesses.</p><h2 id="why-epat"><strong>Why EPAT?</strong></h2><p>By 2022, that need for structure had hardened into a decision. Aman enrolled in the Executive Programme in Algorithmic Trading (EPAT). For him it was not simply a line to add to a resume; it was a career decision, and he treated it as one.</p><p>He had already left his software job before the program began, a choice that says a great deal about how he approached the transition. "I had already left my job because I knew clearly that if I'm working on something else, maybe I won't be able to give it my 100 percent," he recalls. Going all in was not recklessness. It was the same logic he applied to systems, removing the variables that dilute focus and committing fully to the one that matters.</p><h2 id="how-epat-shaped-his-approach"><strong>How EPAT Shaped His Approach </strong></h2><p>EPAT gave him direction in a space that can feel overwhelming to newcomers. Instead of scattered tutorials and conflicting opinions, he now had a structured path that moved through strategy development, backtesting, and risk management in a deliberate sequence.</p><p>Just as valuable as what the program taught him was what it taught him to leave out. He learned not only what to do, but what to ignore. For someone entering a field flooded with information, that filter proved to be one of the most useful skills of all. It turned a vague ambition into a workable method, giving him a way to separate signal from noise before a single trade was placed.</p><h2 id="building-something-real"><strong>Building Something Real </strong></h2><p>Learning was only the starting point. After completing the program, Aman looked for a collaborator who shared his conviction, someone equally committed to a disciplined, systematic approach rather than a hunch-driven one. He found a teammate with that same vision, and together they set about replacing randomness with structure.</p><p>Their strategies were built on logic rather than instinct, focused on areas such as volatility-based trading and momentum. By the end of 2023, the work had produced something concrete. "I had automated a basic portfolio using code written entirely by myself and my teammate," he says. "From that point until today, it's running in a seamless fashion."</p><p>That running system became the foundation everything else was built on. It was evidence that the method worked, and a baseline they could measure and improve against. From there, consistency stopped being an aspiration and became a daily practice.</p><h2 id="the-real-challenge"><strong>The Real Challenge</strong></h2><p>The learning phase, it turned out, was the easier part. The real test arrived when live capital entered the equation. "The real challenge actually came when real money got involved," he explains. Drawdowns, uncertainty, and a steady stream of external noise made the day-to-day far more complex than any backtest had suggested.</p><p>In those moments, the hardest problem was not the strategy. It was discipline. The temptation to react to every move, to switch systems, to abandon a working process in search of something that felt better, was always present. Aman's response was to lean on process over impulse. "Sticking to the process and not making any abrupt decisions," as he puts it, became his anchor. A system is only as good as a trader's willingness to let it run, and holding that line through both winning and losing stretches is where much conviction is won or lost.</p><p>It is worth being clear here. Systematic trading does not remove risk. Drawdowns are part of the process, and no method guarantees a particular outcome. What discipline offers is not certainty but the ability to keep executing a tested process when emotion pushes in the opposite direction.</p><h2 id="epat-and-the-role-of-ai"><strong>EPAT and the Role of AI </strong></h2><p>As the broader technology landscape shifted, particularly with the rise of AI, execution became faster and more efficient. Work that once took days could be compressed into hours, and the operational overhead of running a systematic strategy dropped considerably.</p><p>Aman's view of these tools is measured. He treats AI as an accelerant, not an edge in itself. Faster execution and cleaner workflows are useful, but they do not, on their own, produce an advantage in the market. The edge still comes from the quality of the underlying logic and the discipline to apply it, something no tool can supply. In his hands, AI speeds up a process that already works rather than substituting for the thinking behind it.</p><h2 id="looking-ahead"><strong>Looking Ahead</strong></h2><p>Today, Aman's attention has moved toward refinement. Rather than chasing new strategies, he is focused on improving execution, reducing slippage, and strengthening the overall system. In systematic trading, small inefficiencies compound, and even a strong strategy can be eroded by poor execution, so this attention to detail is where much of the real work now lives.</p><p>He frames his journey not as a destination but as an ongoing process of learning and adaptation. Asked what advice he would offer others considering the same path, his answer returns to the theme that has defined his story. "You have to love the process, the adaptation part and the discipline part," he says. In a field where consistency is fragile, that affection for the process may be the most durable edge of all.</p><h2 id="frequently-asked-questions"><strong>Frequently Asked Questions</strong></h2><p><strong>Do I need a finance background to move into algorithmic trading?</strong> No. Aman came from mechanical engineering and a software development role, with no formal finance training. A structured program can help you build the market knowledge you lack, while your existing analytical and problem-solving skills often transfer directly.</p><p><strong>Is a programming background necessary?</strong> It helps considerably. Aman's coding experience let him build and automate strategies himself rather than depending on others. That said, programming can be learned as part of the journey, and EPAT covers the coding needed to develop and backtest strategies from the ground up.</p><p><strong>Should I quit my job to pursue algo trading, the way Aman did?</strong> That was a personal decision based on his own circumstances and conviction, not a formula to copy. Many people study alongside a full-time job. The right approach depends on your finances, risk tolerance, and how much time you can commit, so weigh it carefully before making any drastic move.</p><p><strong>What does EPAT actually cover?</strong> EPAT moves through strategy development, backtesting, and risk management in a structured sequence, along with the programming and quantitative foundations behind them. The value Aman highlights is direction: a clear path through a field that otherwise floods newcomers with scattered information.</p><p><strong>How long does it take to build a working automated strategy?</strong> It varies widely. Aman completed EPAT in 2022 and had an automated portfolio running by the end of 2023, working alongside a teammate. Building something reliable takes time, testing, and iteration rather than a single breakthrough.</p><p><strong>What is the hardest part of systematic trading?</strong> For Aman, it was not building strategies but maintaining discipline once real money was involved. Drawdowns and market noise create constant pressure to abandon a working process. Sticking to a tested system through both good and bad stretches is often the real challenge.</p><p><strong>Can AI give me a trading edge?</strong> AI can make execution faster and workflows more efficient, but Aman is careful to note that tools alone do not create an edge. The advantage still comes from sound logic and the discipline to apply it. Treat AI as an accelerant for a process that already works, not a substitute for it.</p><p><strong>Where should a beginner start?</strong> Start with the fundamentals of data, strategy logic, and coding for finance before committing real capital. Aman's team focused on areas like volatility-based trading and momentum, but the specific approach matters less than building a structured, testable process and understanding the risks involved.</p><h3 id="next-steps">Next Steps </h3><p>If you are just getting started with algorithmic trading, begin with the<a href="https://quantra.quantinsti.com/"> Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore<a href="https://quantra.quantinsti.com/"> Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the<a href="https://www.quantinsti.com/epat"> Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><p><strong>Schedule an EPAT counselling call</strong> To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.<br></p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html-->]]></content:encoded></item><item><title><![CDATA[From CA to Quant: Manikandan's EPAT Journey]]></title><description><![CDATA[How chartered accountant Manikandan K traded discretionary decisions for systematic research, discovered volatility modelling through EPAT, and now chases alpha as an independent quant.]]></description><link>https://www.quantinsti.com/articles/manikandan-epat-success-story-ca-quant-algorithmic-trading/</link><guid isPermaLink="false">6a606c0074e6f000074e72a8</guid><category><![CDATA[Quant Jobs]]></category><category><![CDATA[Quant Roles]]></category><dc:creator><![CDATA[MOHIT KARWAL]]></dc:creator><pubDate>Thu, 23 Jul 2026 10:10:27 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: html--><!-- Student intro block — place at top of blog body -->
<div class="student-intro" style="display:flex;align-items:center;gap:24px;padding:24px;margin:0 0 32px;background:#f4f7fb;border-left:4px solid #009f54;border-radius:8px;flex-wrap:wrap;">
  <div class="student-intro__photo" style="width:120px;height:120px;min-width:120px;flex:0 0 120px;border-radius:50%;overflow:hidden;border:3px solid #ffffff;box-shadow:0 2px 8px rgba(0,0,0,0.12);background:#e6ebf2;">
    <img src="https://d1rwhvwstyk9gu.cloudfront.net/qi-cms-blog-prod/2026/07/Headshot-jpeg.jpg" alt="Manikandan K, EPAT alumnus and independent quant researcher" loading="lazy" style="width:100%;height:100%;object-fit:cover;object-position:center top;display:block;margin:0;">
  </div>
  <div class="student-intro__text" style="flex:1;min-width:240px;">
    <p style="margin:0 0 4px;font-size:0.8rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#009f54;">
      EPAT Alumni Story
    </p>
    <h3 style="margin:0 0 8px;font-size:1.3rem;line-height:1.3;color:#173871;">
      Manikandan K
    </h3>
    <p style="margin:0;font-size:0.95rem;line-height:1.55;color:#333;">
      A chartered accountant turned independent quant researcher, Manikandan moved from
      discretionary, mood-driven trading to evidence-based quantitative research. Through EPAT
      he learned to model volatility, reason in market regimes, and back-test every idea before
      deploying capital. Today he builds research workflows in Python and, as his LinkedIn post
      put it, "the pursuit of alpha continues."
    </p>
  </div>
</div><!--kg-card-end: html--><p>Most chartered accountants build careers around certainty. The numbers reconcile, the tax filings are due on fixed dates, and the work rewards precision and repetition. Manikandan K started down exactly that path, mastering financial reporting, audit, and tax like everyone else in his cohort. Then a single subject in his CA curriculum cracked the door open to a very different world.</p><p>Strategic financial management, one of the eight subjects in the chartered accountancy program, introduced him to derivatives, options, and portfolio construction. "There is a world which revolves around finance," he recalls thinking. That spark sat quietly for years while he did the conventional work, until curiosity pulled him from investing into equities, then futures, then options, and eventually into a question he could not shake: why did his discretionary trading feel fundamentally unsustainable, even when it worked?</p><p>This is the story of how a chartered accountant with no coding background transitioned from discretionary decision-making to evidence-driven quantitative research, and why he now describes himself as an independent quant researcher chasing alpha.</p><h2 id="from-ledgers-to-live-markets">From Ledgers to Live Markets</h2><p>Manikandan's route into trading was gradual and self-directed. Coming from a science background, he chose chartered accountancy because he liked how the course "molds a person," and he spent his early years doing the standard work of financial reporting, audit, and tax. But the theory he had absorbed in strategic financial management kept nagging at him. "I am a chartered accountant and I have studied theoretically, I should apply it, at least for my sake," he remembers deciding.</p><p>He began with investments, then moved deeper. Where he lives in the south of India, he observed, wealth traditionally revolves only around real estate and gold. "People don't have an idea about the modern financial products," he says, and for a while he considered starting an investment planning consultancy to fill that gap. The more he traded, though, the more a doubt surfaced: this was not how institutions operated.</p><p>That gap between retail intuition and institutional method became the central problem of his journey. He kept asking practitioners whether what they did was sustainable over the long term, and the answers were unsettling. Even the government was warning that most traders lose money. Yet he knew chartered accountants who traded successfully. "People are saying this is not sustainable for a long term, but the people in my domain were doing it successfully. So what am I missing?"</p><h2 id="why-systematic-trading">Why Systematic Trading?</h2><p>The honest answer, he eventually concluded, was that discretionary trading rests on the least reliable foundation of all: the trader's own mood. "Our mindset will not be the same every day," he explains. "Sometimes when we are good, it is not good for the market. We can tend to be overenthusiastic, punch in more orders." On a bad day, the same trader hesitates on a genuinely good setup.</p><p>He offers a small, telling example from his own testing. He was working a one-to-two risk-reward ratio, capped at two trades a day. The first trade won, and the day felt aligned. On the second trade, a good mood made the market "look so better," and he missed a small detail that turned into a loss. Frustrated at his own mistake, he broke his own rule and took a third trade he would never have taken on a normal day. It backfired too. "Even when your mood is good it can backfire, and even when your mood is not better it can go another way," he says. He realised that the largest source of uncertainty wasn't always the market—it was the decision-making process itself.</p><p>Systematic trading offered the obvious antidote. "The main specialty of systematic trading is your mood has got nothing to do with this. That itself is a major win." The biggest advantage of systematic trading isn't simply removing emotions. It's ensuring every trading decision is supported by research, historical validation and a repeatable process before capital is ever deployed. More importantly, the transition wasn't from manual trading to automation. It was from opinions to hypotheses. Every trading idea became something to test rather than something to believe.</p><h2 id="why-epat">Why EPAT?</h2><p>Before EPAT, Manikandan tried to close the gap on his own. A friend introduced him to how US markets operate, and he took courses covering concepts beyond standard technical indicators, things like fair value gaps and order blocks. He learned them, but the missing link remained. "This is not sustainable for a long term. I should do something different to take it long term."</p><p>When he came across the EPAT curriculum, it read differently from everything else he had studied. It promised the structured, institutional approach he had been circling for years without being able to name. He looked at the syllabus, liked what he saw, and enrolled. The appeal was not a single trick or indicator but a complete way of thinking about markets, from hypothesis to back-test to execution.</p><p>What EPAT reframed for him most sharply was the relationship between analysis and action. In discretionary options trading, he notes, most people watch volatility and open interest, then reach a conclusion and punch in a trade based on a strategy. "They see the volatility, but they don't use it the way quant people use it." EPAT taught him to treat volatility not as a passing observation but as something to model and act on deliberately.</p><h2 id="the-volatility-aha-moment">The Volatility Aha Moment</h2><p>Ask Manikandan which idea from the program stayed with him, and he does not hesitate. "I had no idea that volatility could often be modelled more reliably than price direction. That completely changed how I thought about risk management and options strategies. That itself was a big aha moment." Across years of self-study and even his CA curriculum, he had never encountered the notion that you could forecast volatility more reliably than direction, then build a trade around it.</p><p>The insight reshaped how he thinks about edge. "Predicting volatility is much better than predicting the prices," he says, and using that, "we can trade." Rather than betting on whether an asset rises or falls, he learned to reason about the range and behavior it is likely to exhibit, and to detect the market regime he is operating in. Different regimes call for different strategies, and news events, which discretionary traders are usually told to avoid entirely, become tradable when approached systematically. "Why are you leaving money on the table when you understand the ideas better?"</p><p>What made the concept doubly valuable was its reusability. The same volatility forecast that drives dynamic risk management on the equities side can seed entirely new strategies on the options side. "It's a multi-level use, all from the same derivations," he observes. One idea, learned once, paying off across several parts of his trading.</p><h2 id="the-coding-hurdle">The Coding Hurdle</h2><p>For a chartered accountant, the intimidating part of any quant program is the programming. Manikandan was candid about starting near zero. "The last code I did was during my school days, C and C++, a very basic level," he says. For years afterward he wrote no code at all. Ahead of the program he spent a few hours on basic Python through YouTube lectures, enough to grasp the shape of it, but no more.</p><p>EPAT, he found, met him where he was. "They started from the ground root level, and the mentors were also very good at teaching from the ground root level," he says. Because the material assumed no prior experience, coding never became the barrier he had feared. "I don't think coding was a hurdle for me to understand the concepts." Today, he is comfortable building research workflows in Python, implementing statistical time-series models and continuously improving his programming skills.</p><p>His approach to that practice reveals something about his temperament. When he gets an idea, he tries to translate it into code himself before reaching for help. Errors come, and he works back through them on Google Colab, asking what was wrong with his thinking. The mentors reinforced this, showing him not just fixes but which sources to consult when stuck. The result is understanding that sticks rather than answers that evaporate.</p><h2 id="epat-and-the-role-of-ai">EPAT and the Role of AI</h2><p>Given how easy it would be to lean on large language models for every coding problem, Manikandan is deliberately restrained. "I don't want to go to an LLM immediately. I want to think for myself, because that creates a much better understanding of what is happening," he explains. For him, understanding always comes before optimisation. The objective is not simply to produce working code, but to understand why the underlying model behaves the way it does.</p><p>That discipline extends to how he sees AI reshaping his original profession, and it is the crux of his advice to other chartered accountants. The routine work that traditionally absorbs young CAs, particularly financial reporting and tax, is exactly the kind of task AI automates most easily. "The roles are going to get very limited," he warns. "More people need to venture into new horizons."</p><p>He is also alert to how AI and alternative data are expanding what quant work can do. He points to satellite imagery and credit card usage data being used to gauge whether a company is growing, or to measure footfall at a business. "This alternate data is being used much more prevalently than before," he notes, and connecting those disparate signals is precisely the kind of interrelation that excites him about the field.</p><h2 id="advice-for-fellow-cas">Advice for Fellow CAs</h2><p>Manikandan believes the chartered accountancy background is an asset in quant finance, not a liability, provided you know how to use it. "I see quantitative finance as an extension of the evidence-based mindset developed through auditing. Just as auditors gather evidence before forming an opinion, quantitative researchers gather evidence before accepting or rejecting an investment hypothesis. The discipline is remarkably similar”. We understand accounting, finance, auditing &amp; how tax works," he says. That breadth, he argues, gives CAs "a knack" for the interconnected reasoning that finance rewards, whether on the sell side across risk management, quant trading, and research, or on the buy side.</p><p>The most transferable skill, in his view, is stamina. "CA students actually spend more than 14 hours every day sitting and studying," he says. "The same applies for quant. We need to sit, do research, study different things, and try different things." The willingness to focus for long stretches, which the CA grind instills, maps directly onto the demands of early quant work.</p><p>Curiosity is the second ingredient. Chartered accountancy, he points out, is never a single subject but a web of accountancy, tax, law, audit, and information systems that you learn to interrelate. "The same applies for quant. It is not just one field. You can apply the concepts you learned in various different ways." Predict volatility, and you can deploy it for risk management and in derivatives alike. For CAs weighing the leap, his message is simple: finance is a big ocean with many branches, and quant is one of the most rewarding places to swim.</p><h2 id="looking-ahead">Looking Ahead</h2><p>Manikandan's ambition is unambiguous, if patient. "My long-term goal was to start a hedge fund." he says. He entered EPAT imagining he would build a strategy, capture alpha, and go independent quickly. The program changed that calculus. He now sees how much there is to learn about how large institutions actually operate before striking out alone.</p><p>So the near-term plan is experience. "I should join a hedge fund or a big institution where things happen on a large scale, to understand that better," he says, with the goal of founding his own fund in perhaps ten to fifteen years. In the meantime, balancing ongoing CA exams with quant study, he is working through a series of projects on the concepts he has learned, including experiments with SARIMA and GARCH models to strengthen his understanding of statistical forecasting and dynamic risk management before progressing to larger institutional-grade research projects.</p><p>For now, as his LinkedIn post put it, “The pursuit of alpha continues”. It is a fitting phrase for someone who spent years sensing that something was missing from his trading and finally found the structure to name it. The chartered accountant who once traded on mood now reasons in regimes, volatility forecasts, and back-tested hypotheses, and he is only getting started.</p><h3 id="next-steps">Next Steps </h3><p>If you are just getting started with algorithmic trading, begin with the<a href="https://quantra.quantinsti.com/"> Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore<a href="https://quantra.quantinsti.com/"> Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the<a href="https://www.quantinsti.com/epat"> Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><h3 id="schedule-an-epat-counselling-call">Schedule an EPAT counselling call </h3><p>To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.</p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html--><p><br></p><p><br></p>]]></content:encoded></item><item><title><![CDATA[How Mayank Hedaoo Traded His Way Back with EPAT]]></title><description><![CDATA[After his quant firm in France shut down, Mayank Hedaoo used EPAT's faculty and placement support to land a bond trading role in global commodity markets.]]></description><link>https://www.quantinsti.com/articles/mayank-hedaoo-epat-success-story-algorithmic-trading/</link><guid isPermaLink="false">6a60687f74e6f000074e7250</guid><category><![CDATA[Quant Jobs]]></category><category><![CDATA[Quant Roles]]></category><dc:creator><![CDATA[MOHIT KARWAL]]></dc:creator><pubDate>Thu, 23 Jul 2026 10:09:30 GMT</pubDate><content:encoded><![CDATA[<p>When a quantitative finance professional loses their job abroad and returns home to find the doors largely shut, the next move is rarely straightforward. Mayank Hedaoo had spent years building a career that cut across engineering, equity research, and climate science. </p><blockquote>"I was already working as a quant analyst and as a research engineer. I was working in France," he recalls. "My company got shut down and I had to move back." He had managed passive indexes for firms benchmarked against MSCI and Morningstar, written code for scope-three emissions calculations, and read the quantitative finance canon cover to cover. But re-entering India's quant job market after an overseas stint, he found the gate had narrowed considerably. "In India they only hire from IIT, and outside they need a PhD," he explains. "That is where it was hard to enter."</blockquote><p>Rather than waiting out the market, Mayank chose to act. He enrolled in the Executive Programme in Algorithmic Trading (EPAT) at QuantInsti, and within months had accepted a role that, by his own account, exceeded every expectation he had set for himself. Today he trades cotton options and futures at ICE and at exchanges in China, operating in one of the more specialised corners of global commodity markets.</p><p>His path from Paris to the trading desk offers a useful illustration of what EPAT can do for someone who already understands the theory but needs the right network and credentials to break through.</p><hr><h2 id="why-algo-trading">Why Algo Trading? </h2><p>Mayank's interest in quantitative finance did not begin with EPAT. By the time he enrolled, he already had substantial experience on both the research and the implementation side of the field. As a quant analyst, he had worked on index construction and maintenance for some of the most recognised names in passive investing. Scientific Beta, a firm known for building factor-based equity indexes, was among his employers. Before that, his MSC and MBA had given him a thorough grounding in the academic literature that underpins algorithmic strategy development.</p><p>His subsequent stint as a research engineer added an unexpected dimension to his profile. The role sat at the intersection of quantitative methods and climate science, focused on calculating scope-three emissions for organisations. "It was a bit quantitative because it involved calculations of scope-three emissions," he notes, adding that the coding and research skills carried over even if the subject matter had shifted. He also observed that the move was not entirely unusual for people with his background: "All the quant firms try to hire those that have a research background, especially in a quantitative field." The experience reflected a broader truth about quantitative professionals: the analytical toolkit is often portable across domains, even when the domain itself is unfamiliar.</p><p>When his French employer ceased operations, Mayank found himself re-entering a job market that had become more selective, not less, about academic pedigree for quant research roles. The skills were there; the credential gap and the placement network were not.</p><hr><h2 id="why-epat">Why EPAT? </h2><p>Mayank cites two reasons for choosing EPAT, and he is precise about both of them. The first was the faculty. For someone who had spent years studying from textbooks, the prospect of engaging directly with the authors behind those texts was a genuine draw. It was not an abstract benefit; it was a chance to resolve questions and hear context that no textbook could fully convey.</p><blockquote>"The faculty that is teaching me in this course is actually the same faculty whose books I read in my MSC and MBA."</blockquote><p>The second reason was more pragmatic. A college senior had recommended EPAT specifically because of its lifetime placement service. Mayank was candid about his thinking at the time: he calculated that even if the next several months of job searching went nowhere, there was a structured fallback.</p><blockquote><em>"I decided to take this programme for two reasons. One was the faculty. The second reason was the lifetime placement service. I thought that maybe through your placement service I can actually find a job, which I did. I got the job through placement."</em></blockquote><p>That combination, intellectual credibility in the faculty and practical utility in the placement infrastructure, is what made EPAT stand out from the alternatives he considered. For a professional re-entering the market after an involuntary gap, both factors mattered in equal measure.</p><hr><h2 id="the-epat-experience">The EPAT Experience </h2><p>Mayank came to EPAT with more prior knowledge than the average enrollee. He had spent considerable time on self-directed study before enrolling. "I had read books of Ernie Chan," he says, referring to the widely read practitioner texts on quantitative trading strategies. He had also worked through much of the foundational academic literature by following citation trails from one source to the next. As a result, he found that many modules reinforced rather than introduced concepts. </p><blockquote>He is candid about this: <br>"I wouldn't say I learned anything new across the board."</blockquote><p>Where the programme did add value was in areas he had not encountered directly in his work. Translating a strategy from a research notebook into a production-ready system involves a distinct set of engineering considerations, and this was territory Mayank had not mapped in depth before.</p><blockquote><em>"System architecture and stuff, that was something new for me, and options and futures strategies. I had read books, I had learned, but the programme treated them with a rigour that matched what I was expecting from the faculty."</em></blockquote><p>His approach to learning is characteristic of someone who treats any course as a starting point rather than an endpoint. For Mayank, the value of a well-structured programme lies partly in the references it surfaces, the papers and frameworks it points toward, as much as in the content it delivers directly.</p><blockquote><em>"Whenever I'm reading something, then the resources that they cite, I go to those resources."</em></blockquote><p>EPAT provided that signposting alongside the formal curriculum, and for a practitioner already comfortable with the fundamentals, that chain of references was among the most durable parts of the experience.</p><hr><h2 id="life-after-epat">Life After EPAT </h2><p>The placement outcome exceeded Mayank's expectations by a considerable margin. </p><blockquote>"I'm a bond trader right now," he says. "I'm particularly involved in trading cotton options and futures at ICE and in China." </blockquote><p>It is a niche role: cotton derivatives sit in a corner of the commodities market where fundamental knowledge of the physical market intersects with quantitative strategy and risk management across multiple geographies and trading sessions.</p><p>His reaction to the outcome was unambiguous. He had entered the placement process after a period of professional disruption, with expectations calibrated to match the difficulty of re-entering the market. The result cleared that bar by a significant margin.</p><blockquote><em>"I'm highly delighted with the company that I'm working with, the process, the payment that I'm getting. Everything was above expectation."</em></blockquote><p>The role also represents a meaningful convergence of his varied background. Bond and commodity trading draws on the quantitative analysis skills he developed as a quant analyst, the research rigour he practised as an engineer, and the options theory he studied both before and during EPAT. The path to this point was not linear, but each stage turns out to have contributed something to the work he does now.</p><hr><h2 id="looking-ahead">Looking Ahead</h2><p>Mayank keeps a close eye on where the field is moving, and he is direct about what he thinks matters most in the near term. When asked about topics worth exploring further in algo trading, he did not hesitate.</p><blockquote>"Just go deep on MCP and agents. Those are the hot topics right now and very few people are doing it."</blockquote><p>Model Context Protocol (MCP) and AI agent frameworks are reshaping how quantitative researchers interact with data, tools, and strategy infrastructure. The ability to build and deploy autonomous agents that can reason over market data, execute research workflows, and adapt to changing conditions is an emerging frontier in systematic trading. Mayank's interest in this area reflects both his technical background and his instinct for where durable skill-building opportunities lie.</p><p>For someone who spent time as a research engineer before returning to finance, the convergence of AI tooling and quantitative trading is a natural next area of focus. The skills he built across both domains position him well for the work ahead.</p><hr><p>Mayank Hedaoo's story is, in one sense, about resilience: a career interrupted and then rebuilt on firmer ground. But it is also about preparation. He arrived at EPAT already equipped with significant knowledge and used the programme for what he specifically needed, faculty access, structured exposure to systems and derivatives, and a credible route back into the market through placement. "The faculty that is teaching me is actually the same faculty whose books I read," he had said before enrolling. By the time his EPAT journey was over, that statement had become more than a reason to join. It had become a description of how far he had come.</p><hr><h2 id="frequently-asked-questions">Frequently Asked Questions </h2><!--kg-card-begin: html--><!-- EPAT FAQ — collapsible accordion. Paste into blog post body. -->
<style>
.epat-faq{max-width:760px;margin:24px auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1a1a1a}
.epat-faq h2{font-size:1.5rem;margin:0 0 16px;color:#0f2b46}
.epat-faq details{border:1px solid #e2e6ea;border-radius:8px;margin-bottom:10px;background:#fff;overflow:hidden;transition:box-shadow .2s}
.epat-faq details[open]{box-shadow:0 2px 10px rgba(0,0,0,.06)}
.epat-faq summary{list-style:none;cursor:pointer;padding:16px 48px 16px 18px;font-weight:600;font-size:1.02rem;position:relative;color:#0f2b46}
.epat-faq summary::-webkit-details-marker{display:none}
.epat-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:#1e88e5;transition:transform .2s}
.epat-faq details[open] summary::after{content:"\2212";transform:translateY(-50%) rotate(180deg)}
.epat-faq summary:hover{background:#f6f9fc}
.epat-faq .faq-body{padding:0 18px 18px;line-height:1.6;color:#33404d}
</style>
<div class="epat-faq">
  <details>
    <summary>Is EPAT suitable for someone who already has a background in quantitative finance?</summary>
    <div class="faq-body">Yes. EPAT accommodates participants across experience levels. For those with prior quant knowledge, the programme provides structured exposure to specific areas such as systems architecture, derivatives strategies, and execution frameworks, while the faculty interactions and placement support add value independent of what participants already know.</div>
  </details>
  <details>
    <summary>Can EPAT help with finding a job after a career gap or international relocation?</summary>
    <div class="faq-body">EPAT's lifetime placement assistance is specifically designed to support participants who are re-entering the job market, including those who have relocated or experienced a gap in employment. Mayank Hedaoo is one example of someone who secured a role through this service after returning to India from abroad.</div>
  </details>
  <details>
    <summary>Do I need a PhD or an IIT background to pursue a career in algo trading?</summary>
    <div class="faq-body">Not necessarily. While research-heavy quant roles at certain firms do have strict academic requirements, there is a broad range of opportunities in trading, strategy development, and portfolio management that value practical skills and relevant credentials. Completing a programme like EPAT can help bridge credential gaps for experienced professionals.</div>
  </details>
  <details>
    <summary>What is cotton futures trading, and how does it relate to algorithmic trading?</summary>
    <div class="faq-body">Cotton futures are standardised contracts to buy or sell a fixed quantity of cotton at a predetermined price on a future date, traded on exchanges like ICE. Algorithmic and quantitative methods are applied in this market to analyse price relationships, manage hedging positions, and develop systematic trading strategies, particularly across interconnected exchanges in different geographies.</div>
  </details>
  <details>
    <summary>What topics in algo trading are gaining the most traction right now?</summary>
    <div class="faq-body">Based on current practitioner interest, Model Context Protocol (MCP) and AI agent frameworks are among the most actively discussed areas. These technologies allow trading systems and research workflows to be built around autonomous AI agents that can interact with data sources, execute tasks, and adapt over time, representing a significant shift in how quant infrastructure is designed.</div>
  </details>
  <details>
    <summary>How important is it to read beyond the course materials when studying algo trading?</summary>
    <div class="faq-body">Following the references cited in books and courses is one of the most effective ways to deepen understanding. Foundational texts often point toward academic papers, datasets, and frameworks that are not covered in depth within the course itself. Developing a habit of tracing those citations builds a much richer understanding of the field over time.</div>
  </details>
  <details>
    <summary>What kind of prior experience is useful before enrolling in EPAT?</summary>
    <div class="faq-body">Participants come from a wide range of backgrounds including finance, engineering, mathematics, and computer science. Prior exposure to any of these fields is useful. Familiarity with basic programming and financial markets is helpful but not a prerequisite, as the programme is structured to build those skills systematically from the ground up.</div>
  </details>
  <details>
    <summary>How does EPAT's placement service work for international or non-traditional candidates?</summary>
    <div class="faq-body">QuantInsti's placement support is available to EPAT graduates on a lifetime basis, meaning it extends beyond the programme period. Candidates with non-traditional backgrounds or who are applying from outside standard hiring pipelines have used this service to connect with firms that might not have been accessible through conventional job search channels.</div>
  </details>
</div><!--kg-card-end: html--><hr><h3 id="next-steps">Next Steps </h3><p>If you are just getting started with algorithmic trading, begin with the<a href="https://quantra.quantinsti.com/"> Quantitative Trading Free Learning Track</a>. It includes beginner-friendly courses covering data basics, trading strategies, and coding for finance.</p><p>Once you are ready to go deeper, explore<a href="https://quantra.quantinsti.com/"> Quantra's Algorithmic Trading for Beginners Learning Track</a>, which offers hands-on, application-focused modules to build your skills step by step.</p><p>For those looking for a comprehensive, guided journey with mentorship, live lectures, and career support, the<a href="https://www.quantinsti.com/epat"> Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><hr><h3 id="schedule-an-epat-counselling-call">Schedule an EPAT counselling call </h3><p>To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.</p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html--><p><br></p><p><br></p>]]></content:encoded></item><item><title><![CDATA[From Student to Hiring Leader: Ishwar’s Full-Circle EPAT Journey in the Age of AI]]></title><description><![CDATA[Discover how Ishwar C. moved from deep theoretical finance knowledge to practical trading system design through EPAT, and how he now hires and mentors the next generation of quants.]]></description><link>https://www.quantinsti.com/articles/ishwar-epat-success-story-student-hiring-leader-algorithmic-trading/</link><guid isPermaLink="false">6a60661b74e6f000074e7225</guid><category><![CDATA[Quant Roles]]></category><category><![CDATA[Quant Jobs]]></category><dc:creator><![CDATA[MOHIT KARWAL]]></dc:creator><pubDate>Thu, 23 Jul 2026 10:09:04 GMT</pubDate><content:encoded><![CDATA[<p>Some journeys into quantitative finance begin with a job title. Others begin with a curiosity that refuses to go away.</p><p>For Ishwar C, that curiosity began more than two decades ago. His path through the world of finance, analytics, and quantitative thinking has been marked by academic depth, professional rigor, and a constant desire to keep learning. But even with an already impressive set of credentials, one important gap remained: the ability to turn financial theory into complete, execution-ready systems.</p><p>That is where EPAT entered the story.</p><p>Today, Ishwar is not only a seasoned quant professional working on sophisticated risk analytics systems for global institutions, but also a hiring leader who actively evaluates and recruits quantitative talent. His journey has come full circle. He once joined EPAT to sharpen his own practical edge. Now, he recognizes that same edge in candidates who come from the programme.</p><h2 id="the-origin-of-his-quant-journey"><strong>The Origin of His Quant Journey</strong></h2><p>Ishwar’s fascination with quantitative finance began in the early 2000s in New York, while he was pursuing a Master of Science in Industrial Engineering at the University at Buffalo. It was there, while studying mathematical finance, that he first encountered the intellectual pull of the quant world, including ideas such as Brownian motion and stochastic calculus.</p><p>After returning to India, he went on to complete an MBA from IIM Calcutta in 2007, where he studied alongside QuantInsti Co-Founder Rajib Ranjan Borah. From there, he built a strong career in corporate finance and banking, taking on quantitative roles at institutions such as ICICI Bank and Credit Suisse.</p><p>Over the years, he accumulated an extraordinary list of qualifications, which he jokingly describes as an <em>“alphabet soup of credentials,” </em>including CFA, FRM, CAIA, and CQF. But despite this strong theoretical foundation, he knew something important was still missing.</p><h2 id="the-gap-between-theory-and-execution">The Gap Between Theory and Execution</h2><p>Ishwar had the theory. He had the financial designations. He had years of experience in serious institutions. But building a complete trading workflow, from strategy ideation to data handling, backtesting, debugging, and live execution, was a different challenge altogether.</p><p>That realization led him to EPAT in 2021.</p><p>He was not looking for another certification just to add to the list. He was looking for practical application. He wanted a more structured methodology that could connect ideas to implementation in a way that academic and theoretical programmes often do not.</p><p>Reflecting on the value he found, Ishwar says:</p><blockquote>“I have earned practically every designation on the market, but EPAT is safely the best certification in terms of value for money.”</blockquote><p>That line says a great deal. For someone with such a deep educational background, EPAT stood out not because it added theory, but because it forced a different style of thinking, one grounded in system design, practical constraints, and the realities of implementation.</p><h2 id="professional-excellence-in-quant-development">Professional Excellence in Quant Development</h2><p>Today, Ishwar serves as the Lead Quant Developer at Clearwater Analytics, where he works in a sophisticated ecosystem serving major institutions, including large technology firms, hedge funds, and pension funds. His team works on the company’s cross-asset risk analytics platform, Beacon.</p><p>The environment he describes is one where every financial instrument is treated as an object inside a graph database, and where models such as Black-Scholes and stochastic volatility are built directly into the system. This is not abstract finance. It is industrial-strength quantitative engineering.</p><p>His current role reflects the exact kind of transition many aspiring quants hope to make: from understanding models conceptually to working on systems that support real institutions, real portfolios, and real risk decisions.</p><h2 id="ai-vibe-coding-and-the-need-for-judgment">AI, Vibe Coding, and the Need for Judgment</h2><p>As the industry evolves, Ishwar has strong views on one of the biggest shifts in modern development: AI-assisted coding.</p><p>He speaks openly about the rise of what he calls “vibe coding,” where developers can use tools such as Claude and Gemini to generate working code rapidly. In his view, coding itself is no longer the main bottleneck. Today, someone can describe a strategy in plain language and get a functional implementation within minutes.</p><p>But that is only the beginning.</p><p>According to Ishwar, the real work starts after the code appears. He argues that strategy generation is a tiny fraction of the process, while the overwhelming majority of development time is spent debugging, validating, and correcting what AI produces.</p><blockquote>“The strategy itself takes about 0.0001% of the time to get made,” while “99.99% of development time is spent on debugging” AI-generated code.</blockquote><p>This is where judgment becomes the defining skill.</p><p>He warns that AI tools make mistakes consistently, and that blindly trusting them can be dangerous. To work effectively in this environment, professionals need what he calls “X-ray vision”, the ability to second-guess AI, interrogate its suggestions, and know when a plausible-looking answer is actually wrong.</p><p>He gives the example of building a momentum strategy for US equities. When his AI assistant suggested adding a regime filter, Ishwar recognized that it was actually harming the strategy’s performance. It was his own foundational understanding that allowed him to challenge the suggestion and make the right call.</p><p>For him, the real differentiator in the AI era is not access to tools. It is the ability to reason.</p><blockquote>“You need the judgment… That judgment, that ability to reason is exactly what programs like EPAT provide.”</blockquote><h2 id="a-hiring-leader-s-view-on-epatians">A Hiring Leader’s View on EPATians</h2><p>One of the most compelling parts of Ishwar’s story is what happened after EPAT.</p><p>Over the past several months, he has been actively building quantitative development and engineering teams in Mumbai and Noida. That means interviewing large numbers of candidates and evaluating them through a rigorous scoring system based on Python fundamentals and quantitative reasoning.</p><p>And it is there, across the interview table, that his journey becomes especially meaningful.</p><p>Ishwar says he has noticed a clear difference in candidates who come from EPAT.</p><p>“EPAT program graduates are generally more prepared and sharper regarding quant concepts and systemic system design.”</p><p>He notes that many candidates struggle when asked about topics such as the Black-Scholes model or even foundational Python distinctions like the difference between a set and a tuple. EPATians, by contrast, tend to display a different kind of confidence, not because they memorize everything, but because they know how to reason through unfamiliar questions.</p><p>That, for Ishwar, is the real hallmark of strong training.</p><p>“They display a certain confidence because the program teaches them how to think, not what to think.”</p><p>This is perhaps the strongest possible endorsement, not just from an alumnus, but from someone now responsible for identifying high-potential quant talent.</p><h2 id="a-lifelong-learning-community">A Lifelong Learning Community</h2><p>For Ishwar, EPAT was never a six-month transaction. It became part of a larger learning journey.</p><p>He describes it as an unmatched lifelong learning experience and values the ecosystem as an ongoing community, one where people remain connected, continue learning, and help each other grow.</p><p>That sense of continuity matters deeply to him. He actively gives back as an alumni ambassador, mentoring learners, advising professionals on educational choices, and even encouraging others in adjacent fields, such as AI, to consider the programme.</p><p>In that sense, Ishwar’s story is not just about personal success. It is about community, continuity, and the compounding nature of structured learning. He joined EPAT to strengthen his own practical understanding. He now recruits from the alumni pool, mentors others, and advocates for the kind of reasoning-based education that remains valuable even in the age of AI.</p><p>That is what makes his journey feel truly full circle.</p><h2 id="frequently-asked-questions">Frequently Asked Questions</h2><!--kg-card-begin: html--><style>
.epat-faq{max-width:760px;margin:24px auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1a1a1a}
.epat-faq h2{font-size:1.5rem;margin:0 0 16px;color:#0f2b46}
.epat-faq details{border:1px solid #e2e6ea;border-radius:8px;margin-bottom:10px;background:#fff;overflow:hidden;transition:box-shadow .2s}
.epat-faq details[open]{box-shadow:0 2px 10px rgba(0,0,0,.06)}
.epat-faq summary{list-style:none;cursor:pointer;padding:16px 48px 16px 18px;font-weight:600;font-size:1.02rem;position:relative;color:#0f2b46}
.epat-faq summary::-webkit-details-marker{display:none}
.epat-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:#1e88e5;transition:transform .2s}
.epat-faq details[open] summary::after{content:"\2212";transform:translateY(-50%) rotate(180deg)}
.epat-faq summary:hover{background:#f6f9fc}
.epat-faq .faq-body{padding:0 18px 18px;line-height:1.6;color:#33404d}
</style>
 
<div class="epat-faq">
  <details>
    <summary>Why would someone with many financial credentials still choose EPAT?</summary>
    <div class="faq-body">Because theoretical knowledge and industry designations do not automatically translate into execution-ready trading workflows. Ishwar chose EPAT to bridge the gap between theory and practical system building.</div>
  </details>
 
  <details>
    <summary>What did EPAT add to Ishwar's professional toolkit?</summary>
    <div class="faq-body">It helped him think more systematically about quantitative problem-solving, including strategy design, debugging, system constraints, and implementation in real-world contexts.</div>
  </details>
 
  <details>
    <summary>What is Ishwar's view on AI-generated code in trading?</summary>
    <div class="faq-body">He believes AI has made coding faster, but not easier in the deeper sense. The real challenge lies in debugging, validating, and exercising judgment over what AI produces.</div>
  </details>
 
  <details>
    <summary>What makes reasoning so important in the AI era?</summary>
    <div class="faq-body">Because access to AI tools is increasingly common. What separates strong professionals from weak ones is the ability to ask better questions, assess outputs critically, and know when the AI is wrong.</div>
  </details>
 
  <details>
    <summary>How do EPATians stand out in interviews, according to Ishwar?</summary>
    <div class="faq-body">He says they tend to be more prepared, sharper in quant concepts, and better at reasoning through unfamiliar questions, especially in Python and system design discussions.</div>
  </details>
 
  <details>
    <summary>What is one big takeaway from Ishwar's journey?</summary>
    <div class="faq-body">That in quantitative finance, continuous learning matters at every stage, and that practical, reasoning-based education can remain valuable even for highly accomplished professionals.</div>
  </details>
</div><!--kg-card-end: html--><h3 id="next-steps">Next Steps</h3><p>If you already have a strong finance, analytics, or technical background but feel a gap between theory and execution, Ishwar’s story offers a useful perspective. The next leap in your journey may not come from collecting more concepts. It may come from learning how to apply them in a more structured, practical, and system-oriented way.</p><p>For those looking for a comprehensive and guided journey with mentorship, live lectures, and career support, the <a href="https://www.quantinsti.com/epat">Executive Programme in Algorithmic Trading (EPAT)</a> provides a complete foundation for launching or accelerating a career in this field.</p><hr><h3 id="schedule-an-epat-counselling-call">Schedule an EPAT counselling call</h3><p>To understand if EPAT is the right choice for you, talk to one of our specialists who have counselled thousands of learners over the past decade and helped them make the right career decision.</p><!--kg-card-begin: html--><div class="calendly-inline-widget" data-url="https://calendly.com/counsellor-1/speak-to-epat-counsellors?month=2025-04&embed_type=Inline&hide_gdpr_banner=1" style="min-width:320px;height:630px;"></div>
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js"></script>
<!--kg-card-end: html--><p><br></p>]]></content:encoded></item></channel></rss>