Faizan Risk Management AI & Machine Learning Mobile Apps Tax Planning Business Solutions Get in Touch
Risk Management

Where capital
meets consequence.

Quantitative risk frameworks built on institutional methodology — VaR, stress testing, scenario analysis, liquidation mapping. Python-powered. Currently sitting CFA exams — building the analytical rigour from the inside out.

01
Identify
Systematic identification of market, credit, liquidity and operational risk across the portfolio.
02
Quantify
Monte Carlo simulation, VaR, Expected Shortfall and Greeks decomposition for precise risk measurement.
03
Stress Test
Historical and hypothetical scenario analysis — GFC, COVID, Fed taper, geopolitical shock events.
04
Report
Composite risk ratings, heatmaps and executive dashboards translating complexity into clear decisions.

Seeing where the
market is fragile.

Liquidation heatmaps reveal the price levels where leveraged positions are most concentrated — and therefore most vulnerable. By mapping open interest and estimated stop-loss clusters, it becomes possible to anticipate where price is likely to accelerate or reverse sharply as cascading liquidations trigger.

BTC/USDT — Estimated Liquidation Density
Live Simulation
-24h-18h-12h-6hNow
Low
High Liquidation Density
Major Support Cluster
$94,200
Dense long liquidation cluster at $94.2K — significant open interest stacked below this level. A wick through here would trigger cascading forced sells before potential recovery.
Resistance / Short Squeeze Zone
$99,800
Heavy short positioning concentrated near $99.8K. A sustained break above acts as a short squeeze trigger — forced buybacks amplify upside momentum rapidly.
Current Price
$97,420
Price sitting between two major clusters — elevated sensitivity in both directions. Risk-reward skewed toward squeeze scenario if macro conditions remain supportive.
Estimated Leverage
18.4×
Average estimated leverage across tracked perpetual contracts. Elevated leverage amplifies both the speed and severity of liquidation cascades.

Reading the tape
before price moves.

Order book depth analysis reveals the real-time supply/demand structure. Large walls, thin zones and DOM imbalances are leading indicators of price direction — used in conjunction with liquidation mapping for high-conviction setups.

BTC/USDT Order Book
Spread: $12.40
Price (USDT)Size (BTC)Total
$97,420.00
Last Price
Bid Side (Buy) Ask Side (Sell)
Bid Volume
$248.4M
Imbalance
+62% Bid
Ask Volume
$151.2M
Large Iceberg Orders
Hidden liquidity that replenishes — indicates institutional accumulation or distribution zones.
Spoofing Patterns
Large orders placed and rapidly cancelled — used to create false impressions of support or resistance.
Thin Liquidity Zones
Price gaps in the book where a breakout could travel fast — high-velocity move potential.

Institutional-grade tools.
Built from scratch.

Every model below is built in Python, validated with real market data and designed around the same methodologies applied at hedge funds, prime brokers and risk departments at major financial institutions — from Black-Scholes to Geometric Brownian Motion, CAPM to Efficient Frontier optimisation.

Portfolio Construction & Efficient Frontier
Modern Portfolio Theory · PyPortfolioOpt · cvxpy · Sharpe Maximisation
MPT · Optimisation
portfolio_optimiser.py — PyPortfolioOpt + cvxpy
efficient_frontier.py
from pypfopt import EfficientFrontier
from pypfopt import risk_models, expected_returns

# Compute mu & covariance matrix
mu = expected_returns.mean_historical_return(prices)
S = risk_models.CovarianceShrinkage(prices).ledoit_wolf()

# Build frontier & maximise Sharpe
ef = EfficientFrontier(mu, S)
ef.add_constraint(lambda w: w >= 0.02)
ef.add_constraint(lambda w: w <= 0.40)
weights = ef.max_sharpe(risk_free_rate=0.05)
cleaned = ef.clean_weights()

# Performance metrics
ret, vol, sharpe = ef.portfolio_performance(verbose=True)

# Min volatility portfolio
ef2 = EfficientFrontier(mu, S)
ef2.min_volatility()
minvol_w = ef2.clean_weights()
Efficient Frontier — Risk vs Return
Risk (Volatility σ) Expected Return Max Sharpe Min Vol Portfolio
Optimised Weights — Terminal Output
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▶ PORTFOLIO OPTIMISER v1.3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Assets: 7
Method: Max Sharpe
Cov Matrix: Ledoit-Wolf

Optimal Weights
BTC 28.4%
SPY 22.1%
GLD 18.6%
QQQ 14.2%
ETH 10.3%
TLT 4.2%
CASH 2.2%

Performance
Return: +24.8%
Volatility:14.2%
Sharpe: 1.62
Monte Carlo · Geometric Brownian Motion
Price path simulation · VaR · CVaR at 99%
Simulation
# GBM: dS = μS dt + σS dW
def gbm_paths(S0, mu, sigma, T, dt, n):
  steps = int(T/dt)
  Z = np.random.standard_normal((n, steps))
  drift = (mu - 0.5*sigma**2)*dt
  shock = sigma * np.sqrt(dt) * Z
  increments = np.exp(drift + shock)
  paths = S0 * np.cumprod(increments, axis=1)
  return paths

# Run 10,000 paths · compute VaR
paths = gbm_paths(S0=97420, mu=0.25,
  sigma=0.72, T=30, dt=1, n=10_000)
VaR_99 = np.percentile(paths[:,-1], 1)
CVaR_99 = paths[:,-1][paths[:,-1]<=VaR_99].mean()
10,000 simulated price paths · 30 days · BTC/USD
VaR Day 0 Day 30
10K
Paths
GBM
Model
99% CI
Confidence
CAPM · Beta & Expected Return
Capital Asset Pricing Model · Security Market Line
CAPM
# E(r) = Rf + β(E(Rm) - Rf)
import statsmodels.api as sm

def capm_beta(asset_returns, market_returns):
  X = sm.add_constant(market_returns)
  model = sm.OLS(asset_returns, X).fit()
  alpha, beta = model.params
  return {
    "alpha": alpha, # Jensen's Alpha
    "beta": beta,
    "r2": model.rsquared,
    "treynor": (asset_returns.mean()-Rf)/beta
  }

# Expected return via SML
def expected_return(beta, Rf=0.05, Rm=0.12):
  return Rf + beta * (Rm - Rf)
Security Market Line — Beta vs Expected Return
Rf=5% β=1.0 Rm GLD β=0.4 BTC β=1.6 ETH β=1.2 E(Return) Beta (β)
β
Systematic Risk
α
Jensen's Alpha
SML
Pricing Line
Black-Scholes · Options Pricing & Greeks
Δ Delta · Γ Gamma · Θ Theta · V Vega · ρ Rho
Derivatives
# Black-Scholes-Merton — full Greeks
def bsm_greeks(S, K, T, r, σ, flag='call'):
  d1=(np.log(S/K)+(r+σ**2/2)*T)/(σ*np.sqrt(T))
  d2 = d1 - σ*np.sqrt(T)
  Nd1,Nd2 = norm.cdf(d1),norm.cdf(d2)
  nd1 = norm.pdf(d1)
  return {
    "price": S*Nd1 - K*np.exp(-r*T)*Nd2,
    "delta": Nd1,
    "gamma": nd1/(S*σ*np.sqrt(T)),
    "vega": S*nd1*np.sqrt(T)/100,
    "theta": -(S*nd1*σ)/(2*np.sqrt(T))/365,
    "rho": K*T*np.exp(-r*T)*Nd2/100
  }
Greeks Dashboard · S=$97,420 K=$100,000 T=30d σ=72%
0.487
Δ DELTA
0.0024
Γ GAMMA
−48.2
Θ THETA/d
186.4
V VEGA
12.8
ρ RHO
$4,820
PRICE
B-SM
Model
5
Greeks
IV
Implied Vol
ARIMA Time Series Forecasting
statsmodels · Auto-ARIMA · ACF/PACF analysis
Forecasting
from statsmodels.tsa.arima.model import ARIMA
from pmdarima import auto_arima

# Auto-select optimal (p,d,q) order
auto = auto_arima(returns, seasonal=False,
  information_criterion='aic',
  stepwise=True, suppress_warnings=True)

# Fit ARIMA(2,1,2) on log-returns
model = ARIMA(log_returns, order=(2,1,2)).fit()
forecast = model.forecast(steps=10)
conf_int = model.get_forecast(10).conf_int()

# AIC/BIC for model selection
print(f"AIC: {model.aic:.1f} | BIC: {model.bic:.1f}")
ARIMA(2,1,2) — 10-day Forecast with 95% CI · BTC Log-Returns
Forecast → Historical ARIMA(2,1,2)
(2,1,2)
Order p,d,q
AIC
Model Select
10d
Horizon
Stress Testing Engine
Historical & Hypothetical Shock Scenarios
Scenarios
SCENARIOS = {
  "GFC_2008":{"equity":-0.52,"credit":+0.45,"fx":-0.18},
  "COVID_2020":{"equity":-0.34,"vix":+3.0,"oil":-0.67},
  "FED_TAPER":{"rates":+2.0,"dur":-0.16},
  "CRYPTO_CRASH":{"btc":-0.70,"eth":-0.75},
}
Portfolio P&L under each scenario ($4.2M AUM)
GFC 2008−$682K
COVID 2020−$441K
Fed Taper−$198K
Crypto Crash−$890K
8+
Scenarios
Hist+Hyp
Both Types
Composite Risk Rating
Multi-Factor Scoring · AAA→D Grade Output
Rating
WEIGHTS = {
  "market_vol": 0.30, "credit_risk": 0.25,
  "liquidity": 0.20, "concentration": 0.15,
  "macro_regime": 0.10
}
def grade(score):
  return ("AAA" if score<2 else
    "A" if score<4 else
    "BB" if score<6 else
    "B" if score<8 else "CCC")
Current Factor Scores — Portfolio MULTI_ASSET_01
Market Volatility6.8/10
Credit Risk3.2/10
Liquidity4.1/10
Concentration7.2/10
Macro Regime8.0/10
Composite Score 6.2 / 10 BB — MONITOR
5
Factors
BB
Current Grade

USD · Gold · BTC · ETH

Summarised analytical views on four key assets that form the backbone of macro risk assessment. Updated regularly as part of my broader macro-to-micro risk framework.

DXY
US Dollar Index
104.2
▲ 0.31% today
Fed Stance
Hawkish-hold
PCE Core YoY
2.8%
CPI YoY
3.2%
Rate Cuts (2025)
1–2 priced
Dollar strength persists as long as PCE stays above target and the Fed maintains its data-dependent stance. Any softness in jobs data or CPI could accelerate repricing of rate expectations — watch the 2Y yield.
XAU
Gold / USD — Safe Haven
$2,318
▲ 0.82% today
Real Yields
Headwind ↑
Central Bank Demand
Record highs
Geopolitical Risk
Elevated
USD Correlation
−0.61
Gold is defying the traditional real-yield headwind — central bank reserve diversification and geopolitical uncertainty are acting as structural tailwinds. The USD correlation is weakening, suggesting a regime shift in gold's safe-haven behaviour.
BTC
Bitcoin / USD
$97,420
▲ 2.34% today
Post-Halving Cycle
Active
ETF Inflows
Strong
NVT Ratio
Neutral
Estimated Leverage
18.4× avg
Post-halving supply shock combined with ETF demand absorption is compressing available float. Elevated leverage creates acute liquidation risk on both sides. Watch the $94.2K cluster — a wick there would be a buying opportunity, not a trend reversal.
ETH
Ethereum / USD · DeFi Layer
$3,241
▲ 3.11% today
DeFi TVL
Rising
Staking Rate
28% supply
Regulatory Risk
Moderate
BTC Correlation
+0.82
Ethereum's role as the settlement layer for DeFi gives it structural demand beyond speculation. Growing staked supply reduces liquid float. Regulatory clarity on staking classification remains the key near-term uncertainty — particularly in the UK and EU jurisdictions.

Fed signals. Inflation data.
What it all means.

The Federal Reserve's preferred inflation gauges — PCE, Core PCE and CPI — are the primary inputs to monetary policy decisions that cascade through every asset class globally.

Fed's Primary Target
Core PCE
2.8%
Personal Consumption Expenditures excluding food and energy — the Federal Reserve's preferred inflation measure. Above the 2% target but decelerating. The pace of decline determines rate cut timing.
⬇ Trending down — watch monthly prints closely
Headline Inflation
CPI
3.2%
Consumer Price Index — broader inflation measure including energy and food. More volatile than Core PCE due to commodity price sensitivity. Energy disinflation has been the main drag keeping this from rising further.
⚠ Sticky — above target and resisting further decline
Broad PCE
PCE Headline
2.5%
Headline PCE includes energy and food — closer to 2% target than CPI. The gap between headline and core PCE is compressing, suggesting base effects are fading. A sustained print below 2.5% would strengthen the case for Fed easing.
✓ Approaching target range — most positive of the three
Labour Market
Non-Farm Payrolls
187K
Monthly job additions remain resilient — above the ~150K threshold needed to absorb workforce growth. A strong labour market gives the Fed cover to hold rates higher for longer, as wage inflation continues to feed services CPI.
⬆ Resilient — delays rate cut catalyst
Risk Appetite
VIX
14.2
The CBOE Volatility Index — often called the market's "fear gauge". Sub-15 readings indicate complacency and low expected volatility. Low VIX can precede sudden spikes — historically significant if it breaks above 20 rapidly.
✓ Low — risk-on environment. Watch for spike triggers.
Yield Curve
2Y–10Y Spread
−0.12%
The 2Y–10Y yield curve spread — a key recession predictor. Still inverted (short yields higher than long), though the inversion is narrowing. Historical precedent suggests recession risk materialises when the curve steepens sharply after inversion, not during it.
⚠ Inverted — monitor for steepening trigger
⚠️
Important Disclaimer
All analysis, models, tools and commentary presented on this page are for informational and educational purposes only. Nothing on this website constitutes financial advice, investment advice, trading advice or any other kind of advice. I am a Chartered Accounting professional (ACCA Affiliate) and CFA candidate — not a financial advisor, investment manager or regulated financial services professional. Markets carry significant risk of loss. Always conduct your own independent research and consult a qualified, regulated financial professional before making any investment or trading decisions.