Skip to content

About

Nas

Finance student · Quant tools builder

BA Finance, University of Manchester (2024–2027) · MARA Scholar

About me

I'm a final-year BA Finance student at the University of Manchester on a MARA Scholarship, interested in quantitative research, trading and investment banking. I built FinQuantPro to turn what I learn in derivatives, portfolio theory and econometrics into tools people can actually use. Every model here is implemented from scratch and tested.

About this site

FinQuantPro started as a simple Streamlit app and was rebuilt as a full website. The options tools run directly in your browser, so they respond instantly. The portfolio, earnings and news tools run on a Python server.

  • Next.js
  • TypeScript
  • Tailwind
  • shadcn/ui
  • ECharts
  • FastAPI
  • Python (NumPy, SciPy, pandas)
  • Redis (Upstash)
  • Vercel
  • Render
  • GitHub Actions

Methodology

Copilot

The Copilot answers questions in plain English. An AI model reads your question and picks which FinQuantPro tool to run. The tool does all the maths in Python, so every number comes from the models, not the AI. It's tested on 20 sample questions to check it picks the right tool, fills in the right details, and stays fast and cheap. It can still misread a question, and it only knows what the tools tell it. To keep costs down, you can send up to 10 messages a minute and 50 a day. Not investment advice.

Black-Scholes pricer (/pricer)

Constant volatility, a constant risk-free rate, and a continuous dividend yield. Exercise is European only. The spot is lognormal, with no jumps and no transaction costs. Theta is shown per day, and vega and rho per 1% move.

Strategy builder

Expiry payoff is the sum of the legs. The dashed “today” curve prices options with Black-Scholes and dividend yield zero. Probability of profit is the risk-neutral lognormal chance that expiry P&L is positive. Early exercise, margin, and borrowing limits are left out. Auto-priced premiums are model prices, not market quotes.

Implied volatility

One volatility is assumed for the whole life of a European option. Newton-Raphson uses Black-Scholes vega and falls back to bisection when the slope is tiny or the step leaves the bracket. Prices outside the no-arbitrage bounds have no solution.

Portfolio optimiser

Means and covariances are historical, and historical means are noisy. Weights are long-only and fully invested. There are no trading costs, borrow fees, or short sales. The frontier describes the sample, not a forecast.

News sentiment

VADER scores the headline and summary as a lexicon. It misses sarcasm, context, and whether the news is already in the price. The label is not a forecast and not investment advice.

Earnings (/earnings)

Looks at how a stock moves around its earnings announcements compared with the market, and whether that move is bigger than normal day-to-day noise. It also shows how big a move the options market expects at the next announcement. It covers US-listed stocks only. When we tested the data, earnings times for non-US stocks were often off, which would put the price reaction on the wrong day. The main limits are that analyst forecasts and reported earnings aren't always calculated the same way, the page doesn't capture guidance or revenue, each stock only has a few dozen reports, and the pooled study uses today's S&P 100, which leaves out companies that dropped out.

Read the full study →

Earnings glossary

SUE
Standardised unexpected earnings. How far results beat or missed the forecast, scaled by how big that company's recent surprises usually are.
CAR
Cumulative abnormal return. The stock's move against the market, added up over a short window around earnings.
ERC
Earnings response coefficient. How much the announcement-day move tends to grow when the surprise is larger.
BMP
A statistical test on announcement moves that asks whether the average reaction is bigger than day-to-day noise.
PEAD
Post-earnings announcement drift. The tendency for prices to keep moving in the surprise direction after the first day or two.
Straddle
Buying a call and a put with the same strike. A simple options package whose cost approximates the market's expected move size.
Term structure
Comparing implied volatility on expiries before and after earnings to isolate the extra move priced for the report itself.

Market Making Lab (/market-making)

ext{P\&L} pprox frac12\,\Gamma_0\,S_0^2\,(\sigma_r^2-\sigma_i^2)\,T

Four simulations of how market makers earn and lose money. Quote and survive has a dealer quote around a random price against uninformed orders and informed traders who see the price some steps ahead, and finds the half-spread with the highest expected profit, judged with paired standard errors because every spread sees the same simulated runs. Avellaneda-Stoikov skews quotes against inventory and is compared with a fixed spread of the same average width. Glosten-Milgrom shows the spread that just pays for losses to informed traders. Gamma scalping delta-hedges an option priced at implied vol while the stock moves at realised vol. All order flow is simulated, with no queue priority, fees or latency, and one unit per fill. The informed-trader rule and the exponential fill rate are assumptions, and the option model uses constant volatilities with no smile. A teaching tool, not a trading strategy. Not investment advice.

Open the lab →Read the write-up →

Coming next

Volatility forecasting with GARCH, EGARCH and GJR-GARCH vs EWMA across equities, FX and crypto.