IB Diploma · Grade 11 · India

ManitBhasin

Building quantitative finance models and AI tools for equity research. Interested in how financial theory holds up against real data.

Financial Modelling Econometrics Hidden Markov Models AI Tools Equity Research DCF Valuation
0
projects live
0
certifications
scroll ↓
01

Projects

×
No projects match that search.
Quantitative Finance · Machine Learning
001

Market Regime Detection Engine

A machine learning model that reads a simulated price chart and labels each day as a bull market, bear market, or high-volatility period. Adjust the sliders to change simulation parameters and watch regimes shift in real time.

Reads the market's mood every day — bull, bear, or volatile — the way a trader does after years on the floor.

Hidden Markov ModelGeometric Brownian MotionMarkov ChainsChart.jsVanilla JS
● BULL● BEAR● VOLATILE
Plain English

Stock markets cycle through three modes: trending up (bull), trending down (bear), and swinging wildly (volatile). These are called regimes. The problem is you can't directly observe which regime you're in — it's hidden. This model infers it from daily price movements and colours each day accordingly.

The maths

Step 1 — Geometric Brownian Motion simulates the price path. Each day's move = drift (μ) + random shock (σ·dW).

dS = μS·dt + σS·dWPrice S changes by drift term plus a random normal shock each day.
μ = driftBull: +0.08%/day · Bear: −0.06%/day · Volatile: +0.02%/day
σ = volatilityVolatile regime has 3× higher σ — prices jump around wildly.

Step 2 — Hidden Markov Model. The transition matrix governs how likely each regime is to persist or switch tomorrow.

P(Bull→Bull) = 0.95Regimes are sticky. Bull markets tend to stay bull.
P(Bear→Bear) = 0.93Bear markets also persist once they start.
P(Volatile→Volatile) = 0.90Volatility clusters — chaotic days follow chaotic days.
function sampleRegime(current, rng) {
  let cum = 0, r = rng();
  for (let j = 0; j < 3; j++) {
    cum += trans[current][j];
    if (r < cum) return j;
  }
}
How to use it
01Trading days — length of simulation. 252 = one year.
02Volatility scale — amplifies shocks. Set high to simulate a crisis.
03Random seed — each seed = a different reproducible price path.
04Re-run — regenerates everything. Watch regime statistics update.
⬡ Quantitative Finance · Risk Management · Investment Risk Management
002

RiskLens — Portfolio Risk Engine

A full institutional-grade portfolio risk suite. Input any stocks and weights — get 8 risk metrics, 10,000 Monte Carlo simulations, a probability fan chart, correlation heatmap, and efficient frontier. Every metric explained in plain English.

Before you put money in, this tells you exactly how bad the bad days could get.

Module 01
Risk Analyser
Sharpe · Treynor · Alpha · VaR · CVaR · Beta · Max Drawdown
Module 02
Monte Carlo
10,000 simulated futures · percentile fan chart · distribution
Module 03
Risk Dashboard
Correlation heatmap · Efficient frontier · Portfolio positioning
Sharpe Ratio Treynor Ratio Alpha VaR 95% CVaR 95% Beta Max Drawdown Monte Carlo Efficient Frontier
Plain English — what this actually does

Most people think about investing as just "will this go up?" RiskLens asks the harder questions: how much could I lose, how likely is that, and is the return worth the risk? These are the exact questions risk managers at banks and hedge funds answer every day.

You input a portfolio of stocks with their weights, expected returns, and volatility. RiskLens runs three analyses to give you a complete picture of the risk.

The 8 metrics
Sharpe Ratio(Return − Rf) / Volatility. How much return per unit of total risk? Above 1.0 is good.
Treynor Ratio(Return − Rf) / Beta. Uses market risk only. Better for comparing diversified portfolios.
AlphaReturn above what CAPM predicts. Positive = outperforming the market on a risk-adjusted basis.
VaR (95%)On your worst 5% of days, you'll lose at least this much. The threshold, not the average.
CVaR (95%)Average loss beyond VaR. More accurate. Used by banks for regulatory capital requirements.
BetaMarket sensitivity. Beta 1.2 = portfolio moves 1.2× the market in both directions.
Max DrawdownWorst peak-to-trough loss. The number investors lose sleep over.
Monte Carlo

Runs your portfolio through thousands of randomly generated futures. You get a distribution of possible outcomes — from worst case to best. Wide fan chart = high uncertainty.

Efficient Frontier

The optimal portfolio curve. Your portfolio is plotted as a dot. On the curve = well-built. Below it = you can get more return for the same risk by rebalancing.

How to use it
01Add stocks — ticker, weight (%), expected return, volatility, beta. Weights must sum to 100%.
02Risk Analyser — hover any card for plain-English explanation. Green = healthy, red = high risk.
03Monte Carlo — set simulations, horizon, capital. Click Run to generate 10,000 scenarios.
04Dashboard — check heatmap (want low correlation) and efficient frontier positioning.
Investment Banking · Financial Modelling
003

DCF Valuation Model

A complete, interactive discounted cash flow model — full income statement, cash flow statement, balance sheet, WACC build-up, and enterprise value bridge. Every assumption is live-editable. Includes sensitivity tables for WACC vs terminal growth rate and WACC vs revenue growth.

A company is worth the cash it'll make you over its lifetime. This model does that maths.

DCFWACCFinancial ModellingChart.jsVanilla JSIB/PE
Plain English — what a DCF is

A company is worth the sum of all the cash it will ever generate, adjusted for the fact that money today is worth more than money tomorrow. That's the entire idea behind a DCF — Discounted Cash Flow.

You project how much free cash the business will produce over the next 5 years, then estimate what it'll be worth after that (the terminal value), then "discount" all of it back to today's dollars using a rate that reflects the risk involved. What you're left with is what the business is theoretically worth right now.

The maths — WACC and the valuation formula
WACC = Ke·we + Kd(1−t)·wdWeighted average of cost of equity and after-tax cost of debt.
Ke = Rf + β × ERPCost of equity via CAPM. Higher beta = riskier stock = higher required return.
FCF = NOPAT + D&A − Capex − ΔNWCFree cash flow — the actual cash a business generates after reinvestment.
TV = FCF×(1+g) / (WACC−g)Terminal value via Gordon Growth. Captures all cash flows beyond Year 5.
EV = Σ PV(FCF) + PV(TV)Enterprise Value = sum of discounted FCFs + discounted terminal value.
Price = (EV − Net Debt) / SharesImplied share price after subtracting debt and dividing by share count.
How to use it
01Assumptions tab — set revenue, margins, growth rates, WACC inputs. Everything recalculates live.
02Income Statement / CF / BS tabs — see the full 3-statement model with historical + 5-year projections and charts.
03DCF & WACC tab — WACC build-up, discounted FCF table, valuation bridge from EV to implied share price.
04Sensitivity tab — heatmap showing implied price across WACC and growth rate ranges. Green = upside, red = downside.
Web App · School · Trading
004

FHS Trading Simulator

A live trading competition platform built for and used at Fountainhead School. Students compete in real-time simulated markets — buying and selling positions, tracking P&L, and competing on a live leaderboard. Built and deployed independently.

Built a live stock trading competition for my school. Real stakes, fake money, real lessons.

Web AppFirebaseReal-timeTrading SimulationLeaderboard
Quantitative Finance · Simulation · Visual
005

Monte Carlo Simulator

A live, full-screen portfolio simulator running 200 simultaneous Geometric Brownian Motion paths — each one a possible future. Adjust starting capital, expected return, volatility, and time horizon in real time. Every path draws itself live with a distinct colour. The cyan median cuts through the noise.

Nobody knows what the market does next. This runs 200 possible futures so you can see the range.

Monte CarloGeometric Brownian MotionGBMSimulationCanvas APIVanilla JS
Plain English — what Monte Carlo actually is

Nobody knows what the market will do tomorrow. But if we know roughly how fast something grows on average and how wildly it swings, we can simulate thousands of possible futures and see what the range of outcomes looks like. That's Monte Carlo.

Each coloured line is one possible future for your portfolio. Some go up a lot, some crash, most end up somewhere in the middle. The more paths you see, the clearer the true probability distribution becomes.

The maths — Geometric Brownian Motion
S(t+1) = S(t) × exp((μ − ½σ²) + σ·Z)Each day's price = yesterday's price multiplied by a random return. Z is a random draw from a normal distribution.
μ (drift)The expected daily return. Set by your annual return input divided by 252 trading days.
σ (volatility)How wildly the price swings each day. Higher σ = wider spread of outcomes = more uncertainty.
−½σ² (Itô correction)A small mathematical adjustment that keeps the expected value correct even with random noise.
How to read it
01Cyan line = median path — the middle outcome. Half of all simulations end above this, half below.
02Wide spread = high volatility. Crank up σ and watch the paths diverge dramatically.
03P5 and P95 in the header show the worst 5% and best 5% of outcomes at the current point in time.
04Dashed line = starting capital. Paths above it are in profit, paths below are in loss.
AI Tools · Equity Research · Framework
006

Stock Research Kit

A structured 5-step equity research framework that turns Claude into a permanent, hallucination-free stock analyst. Enter a ticker and get every prompt auto-generated — grounded in Peter Lynch and Charlie Munger. Every claim traced to an exact quote from your uploaded filings.

Turns Claude into an analyst who's read every filing and won't say a word without a source.

Claude APIPrompt EngineeringEquity ResearchLynch · MungerHTML
The problem it solves

Ask an AI "is Apple a good investment?" and it gives a confident answer from training data — possibly outdated, possibly wrong. This is hallucination. Stock Research Kit fixes this by locking Claude to your uploaded filings only. Every claim must start with an exact quote from the source document. No quote = no claim.

The 5-step framework
STEP 01
Build the permanent home
One Claude Project per stock with quote-first sourcing rules enforced on every response.
STEP 02
Teach the industry
Generate a 1,500-word industry overview using Extended Thinking + Research Mode.
STEP 03
Upload company history
All annual reports and transcripts going back 5+ years. The framework finds official PDF links automatically.
STEP 04
Bull & bear cases
Peter Lynch pitch (why own it?) and Charlie Munger inversion (how do you lose money?). Both document-grounded.
STEP 05
Quarterly update loop
Each earnings season: upload the new report, run the update prompt. Guidance vs reality. KPI trends. Management credibility.
Algorithmic Trading · Backtesting · Technical Analysis
007

EMA Crossover Backtest

A full strategy backtest on AAPL 2020–2024. Adjust the fast and slow EMA periods and watch the equity curve, trade log, win rate, max drawdown, and Sharpe update instantly. Every trade is logged with entry, exit, return, and P&L.

Tests a simple rule — ride the trend up, exit when it turns — against five years of real AAPL data.

EMABacktestingAAPLWin RateSharpeVanilla JS
Plain English

An Exponential Moving Average gives more weight to recent prices than old ones. When a fast-moving average (reacts quickly) crosses above a slow one (reacts slowly), it signals that momentum is building — so you buy. When it crosses back below, momentum is fading — so you sell. This backtest asks: would that rule have made money on AAPL over the last 5 years?

The maths
EMA(t) = Price(t) × k + EMA(t−1) × (1−k)where k = 2 / (period + 1). More recent prices get exponentially higher weight.
BUY signalFast EMA crosses above Slow EMA — momentum turning positive.
SELL signalFast EMA crosses below Slow EMA — momentum turning negative.
Portfolio Construction · Asset Allocation · Risk Management
008

Risk Parity Portfolio

A portfolio construction tool that weights assets by inverse volatility so every asset contributes an equal share of total portfolio risk. Compare risk parity vs equal weight side by side — weights, risk contributions, and a full asset breakdown table.

Most portfolios are secretly 90% stocks risk. This one actually splits the risk equally.

Risk ParityInverse VolatilityAsset AllocationDiversificationChart.js
Plain English

A 60/40 portfolio sounds balanced. But stocks are three times more volatile than bonds — so 90% of the risk is actually coming from the 60% in stocks. Risk Parity fixes this by asking: instead of equal dollar weights, what if every asset contributed the same amount of risk? Lower-volatility assets get bigger positions. Higher-volatility assets get smaller ones. The result is a genuinely balanced portfolio. Ray Dalio's All Weather fund is built on this idea.

The maths
w(i) = (1/σ(i)) / Σ(1/σ(j))Each asset's weight is its inverse volatility as a fraction of the total. Lower vol = higher weight.
Risk Contribution(i) = w(i) × σ(i)In a true risk parity portfolio, this is equal for every asset.
Portfolio Optimisation · Efficient Frontier · Sharpe Ratio
009

Sharpe Ratio Optimizer

Runs thousands of random portfolio weight combinations to find the one with the highest Sharpe Ratio — the Maximum Sharpe (Tangency) Portfolio. Includes a live Sharpe gauge, efficient frontier scatter, optimal vs equal weight bar chart, and full asset breakdown.

Tries thousands of portfolio combinations and finds the one where the return-to-risk tradeoff is best.

Sharpe RatioEfficient FrontierMonte CarloTangency PortfolioChart.js
Plain English

There are infinite ways to split your money between assets. The Sharpe Optimizer tries thousands of them randomly and finds the split that gives you the most return per unit of risk — that's the Maximum Sharpe Portfolio. It sits at the exact point on the efficient frontier where a line from the risk-free rate is tangent to the curve. Every other portfolio is either taking too much risk or leaving return on the table.

The maths
Sharpe = (Rp − Rf) / σpReturn above risk-free rate, divided by portfolio volatility. Higher is better.
Maximise: Sharpe(w)Subject to Σwᵢ = 1, wᵢ ≥ 0. Solved via Monte Carlo random search across thousands of weight combinations.
AI · Market Intelligence · Full-Stack
010

MarketPulse — AI Market Intelligence

A full market intelligence platform with four modules: a live dashboard with real-time price simulation across 13 assets, an AI analysis engine powered by Claude that generates institutional-grade stock analysis on any ticker, a smart alerts system for price and signal-based triggers, and a clean landing page. Every design decision matches the terminal aesthetic of this portfolio.

Bloomberg Terminal meets Claude — type a ticker, get an analyst's view in seconds.

Claude APIMarket DataAI AnalysisLive DashboardAlertsVanilla JS
Plain English — what this actually is

Most retail investors either get overwhelming data terminals (Bloomberg, Reuters) or dumbed-down apps with no real analysis. MarketPulse sits in the middle — a clean, fast interface that shows live market data and lets you ask Claude to analyse any stock like an institutional analyst would.

The AI analysis uses Claude's actual reasoning to generate bull cases, bear cases, risk assessments, and technical reads — not pre-written templates. Every analysis is generated fresh for the ticker you enter.

The four modules
01Live Dashboard — 6 market metrics updating every 2.5 seconds (S&P, NASDAQ, VIX, Gold, BTC, 10Y yield). Price chart for 4 assets. Watchlist with sparklines. News feed with sentiment tags.
02AI Analysis — Enter any ticker and choose: Full Analysis, Bull Case, Bear Case, Technical, or Risk Assessment. Claude generates structured analysis with headers, signals, and a BUY/HOLD/SELL recommendation. Sentiment gauge and key stats sidebar.
03Smart Alerts — Create price-above, price-below, % change, volume spike, or AI sentiment shift alerts. Alerts auto-trigger against live prices and show ACTIVE/TRIGGERED status.
04Landing Page — Live ticker tape across 13 assets, feature overview, call-to-action — designed as a real SaaS product homepage.
Technical note

Market data is simulated with realistic GBM-based price drift. The AI analysis calls Claude's API directly — in a production deployment this would require a backend proxy for API key security. The architecture mirrors real market data products: live feed layer, analysis layer, alert engine.

India Markets · Live Data · NSE · Real-Time
011

Boomberg Terminal

A full Indian market terminal modelled after Bloomberg — live NIFTY 50, SENSEX, BANK NIFTY, and NIFTY IT feeds, real-time candlestick charts with EMA overlays, live order book, sector heatmap, active trading strategies with signals, geopolitical intelligence feed, and Zerodha Kite Connect integration. Built entirely in vanilla JS.

A Bloomberg Terminal for Indian markets — because real data shouldn't require a $24,000/year subscription.

Live Data
Market Feed
NIFTY · SENSEX · BANK NIFTY · FII/DII flows
Charts
Technical
Candlestick · EMA · RSI · Bollinger · ADX
Strategies
Signals
6 active strategies · Entry/Target/Stop · Win probability
Execution
Order Book
Bid/ask depth · Zerodha Kite Connect integration
NSE Live Candlestick Charts EMA Signals Order Book Sector Heatmap Zerodha Kite Vanilla JS
What this actually is

Bloomberg Terminal costs $24,000 a year. It's the gold standard for professional traders — live data, charts, analytics, news, and execution all in one place. This is a full recreation of that experience for Indian markets, built in vanilla JS, free to use, deployed on GitHub Pages.

Every piece of data you see — NIFTY prices, order book depth, FII/DII flows, strategy signals — updates in real time. The charting engine handles multiple timeframes (1m to 1D) with full technical indicator overlays.

What's inside
Live Market FeedNIFTY 50, SENSEX, BANK NIFTY, NIFTY IT — prices, % change, FII/DII institutional flows updated live.
Technical ChartsCandlestick charts with EMA (9/21/50), Bollinger Bands, RSI, ADX across 6 timeframes. Switchable between 5 major Indian stocks.
Strategy Signals6 active algorithmic strategies (EMA Crossover, Bollinger Squeeze, RSI Divergence etc.) with live entry, target, stop loss, risk-reward ratio and win probability.
Order BookLive bid/ask depth for NIFTY 50 with spread, volume, and last traded price. Real market microstructure.
Sector Heatmap12 Nifty 50 constituents colour-coded by % change — green for gainers, red for losers.
Zerodha IntegrationOrder placement interface connected to Zerodha Kite Connect API — buy/sell directly from the terminal.
Why I built it

During my internship at Phoenix Investments I used professional trading terminals every day. Coming back to school and not having access to that tooling was frustrating. So I built my own — designed specifically for the Indian market, with the indicators and data flows that actually matter for NSE trading.

04

Certifications

Coursera · Project Certificate
Investment Risk Management
Jan 2026 100%
Coursera · Investment Risk Management Completed by Manit Bhasin · Jan 2026 · Grade: 100%
Coursera · Project Certificate
Discounted Cash Flow Modeling
Jan 30, 2026 80%
DCF Modeling Certificate
Outskill · Certificate of Completion
Generative AI Mastermind
2026 Completed
Outskill Generative AI Certificate
02

Visual Lab

live · gbm
Exhibit 01
Monte Carlo
200 possible futures for your portfolio, running simultaneously
live · hmm
Exhibit 02
Market Regime
A model that reads a price chart and labels every day — bull, bear, or volatile
live · frontier
Exhibit 03
Efficient Frontier
Every dot is a portfolio. The glowing one is the best risk-to-return tradeoff
03

Why I Build These

The starting point

In Grade 10 I interned at Phoenix Investments — a forex trading firm. I spent weeks backtesting strategies on gold, watching how real positions are sized, and getting direct exposure to how professional traders think about risk. I came back with a lot of questions and no clean way to answer them.

The projects on this site are my attempt to build the tools I wish had existed — things that make financial models interactive, visual, and honest about their assumptions.

The formal side

I completed Coursera's Investment Risk Management and DCF Modelling courses and Outskill's Generative AI Mastermind — not to collect certificates, but because I wanted the vocabulary to go with the intuition I'd built from real market exposure.

Every course I've taken has a corresponding project on this site that tries to go beyond what the syllabus covers.

At school

I founded and run my school's Investment & Trading Club, host financial literacy sessions for teachers and support staff, and built the intraschool trading simulation — the same platform you can see as Project 004 on this site.

Teaching something is the fastest way to find out what you don't actually understand about it.

Where it's going

I'm aiming for UPenn with the goal of working in quantitative research or investment banking. The projects here are my attempt to demonstrate that interest isn't theoretical — it's been tested against real data, real markets, and real people trying to learn.

Most of what's here is Grade 11 work. I'm just getting started.

05

About

Manit Bhasin. Grade 11, IB Diploma Programme, India.

Interested in quantitative finance and economics — specifically how financial models are constructed and whether they hold up against real data. Most of my projects start from a question I can't find a clean answer to.

Aiming for UPenn with the goal of working in quantitative research or investment banking.

06

Contact

Let's
talk.

Whether it's a collaboration, an opportunity, or a conversation about markets and models — I'm open.