Atul Vinod
Analytics & machine learning
NSE
IST
Scroll

Atul Vinod

I build tools that turn market and business data into decisions. MBA, computer science, open to analytics roles.

Best Sharpe ratio
0.00
Return
0%
Volatility
0%
Portfolios
0

Drag the cloud to turn it. Each point is a random mix of Nifty 50, US equities, gold and bonds; returns are assumed.

VolatilityReturnDiversification Best Sharpe

Selected work

4 projects

About

MBA, B.Tech CS

I started out writing software and moved toward the question software usually skips: what should we actually do with this number?

I'm doing an MBA after a computer science degree, so I sit between the people who build models and the people who act on them. Most of my work is in finance: risk, portfolios and markets.

Right now I'm focused on machine learning in finance, and on making risk models readable by the people who sign off on them. Outside datasets, I read behavioural economics.

AWS Certified Cloud Practitioner. Microsoft Office Specialist, Excel. Google AI Essentials.

Toolkit

Where each tool was used
ScannerRiskPortfolioCustomers
Python
pandas
NumPy
yfinance
scikit-learn
SHAP
SQL
Streamlit
LLM APIs

Also Seaborn, Matplotlib, Vercel, AWS, Git and Excel.

Contact

Replies within a day

Let's talk

Markets, 2026

Swing scanner

Every weekday at 16:30 IST it scans the Nifty 200 and publishes up to three paper trades, or none when the market says no.

How it decides

It reads the market first. When the index is below its 50-day average and breadth is weak, it opens nothing and keeps a watchlist. Otherwise three detectors look for pullbacks to the 20-day average, base breakouts on volume and relative-strength leaders at 52-week highs.

How it keeps itself honest

Every published signal is replayed against later prices, so results are tracked in R, not remembered. Stocks with results due inside the holding window are skipped, and a news check can only downgrade a trade, never promote one.

Reward to risk
at least 2.0, target 2.5R
Stop
no wider than 8%
Time exit
after 15 sessions
Costs
0.25% round trip, counted in

Python, pandas, yfinance, Vercel cron and Blob, Claude or Gemini for news

Source on GitHub
  1. Nifty 200 universe200 stocks
  2. Liquidity and price filterRs 20 Cr turnover
  3. Market regimeon, mixed, off
  4. Three setup detectorspullback, breakout, RS
  5. Score and levelscutoff 65 or 72
  6. Results-date check21-day window
  7. News checkdowngrade only
  8. Paper picksup to 3
Risk-offregime
10setups
0picks

Test run on 27 Oct 2026 data: 192 of 200 symbols in about 40 seconds. Risk-off, so the setups went to the watchlist.

Fraud and risk

Risk engine

A fraud detector that explains itself, so the people who act on an alert can see why it fired.

The problem

Fraud teams drown in alerts. Real signals get lost in operational noise, and analysts stop trusting the scores.

What I built

A hybrid anomaly detector: statistical checks and ML classifiers together, with SHAP turning every score into the few risk drivers behind it, in words a manager can act on.

The result

A 40% reduction in financial risk exposure, faster security audits, and dashboards executives read without a translator.

Python, scikit-learn, SHAP, Streamlit

Source on GitHub
Transaction flaggedHigh risk

How a flagged case reads. Example case, not real data.

Portfolios

Portfolio lab

A Monte Carlo engine that finds the best-Sharpe portfolio from live prices. The cloud on the home page is a small version of it.

What it does

Pulls live prices with yfinance, simulates thousands of random weightings, finds the portfolio with the best return per unit of risk, and reports its Value at Risk.

Why it's useful

The efficient frontier is interactive, so you can see what you give up in return for every step down in risk, instead of reading one optimised answer.

Python, NumPy, yfinance, Streamlit

Source on GitHub

The current home-page simulation, flattened: volatility across, return up, best Sharpe in orange.

E-commerce

Customer map

Raw transactions turned into a list of who to reward, who to win back and who to let go.

Method

RFM segmentation and cohort analysis: how recently each customer bought, how often, and how much, scored 1 to 5 and mapped to segments.

What it changes

Champions get loyalty offers. The at-risk group, once frequent and now quiet, gets the retention budget first.

Python, SQLite, pandas, Seaborn

Source on GitHub

Frequency up the side, recency along the bottom, 5 is best.