Skip to content
View wididestrianda01's full-sized avatar

Block or report wididestrianda01

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
wididestrianda01/README.md

Widi Destrianda

Quantitative Finance · Risk Analytics · Financial Data Science

MSc Financial Mathematics — KTH Location: Stockholm, Sweden

Python R MATLAB SQL

About

I am in the final year of an MSc in Applied and Computational Mathematics at KTH in Stockholm, specialising in Financial Mathematics and graduating in Summer 2027. I build and backtest quantitative models in Python and R for market risk, credit risk, portfolio construction, and energy markets.

I came to finance after years in engineering and cost estimation. That work wasn't in finance, but the skills transfer: Monte Carlo simulation, regression modelling, forecasting, and making decisions from data.

What I'm targeting

Graduate roles in:

  • Risk Analytics — market risk (VaR / Expected Shortfall), credit risk (IRB PD/LGD/EAD)
  • Portfolio Management
  • Financial Data Science
  • Quantitative Analysis

Open to graduate positions, internships, and master thesis projects from 2027.

Skills

Programming — Python (pandas, NumPy, SciPy, scikit-learn, statsmodels, XGBoost/CatBoost/LightGBM, SHAP, FastAPI, Streamlit, DuckDB, QuantLib, openpyxl, Jupyter, pytest) · R · SQL · MATLAB · VBA

Quantitative methods — time series (ARIMA/SARIMA, GARCH/EGARCH, Prophet, LightGBM) · GLM · high-dimensional regression (Ridge, Lasso, PCR, PLS) · portfolio construction (minimum variance, equal risk contribution, maximum diversification, mean-variance, mean-CVaR, hierarchical risk parity, Black-Litterman) · covariance estimation (sample, shrinkage, factor-implied) · out-of-sample evaluation (walk-forward, paired testing, bootstrap resampling, family-wise error control) · optimisation (MILP, dynamic programming) · DCC-GARCH and copulas · commodity term structure (cost-of-carry, Schwartz–Smith) · Monte Carlo and discrete-event simulation

Financial & risk modelling — Basel III IRB (PD/LGD/EAD) · IFRS 9 (ECL, hedge effectiveness) · VaR and Expected Shortfall · Kupiec and Christoffersen backtesting · credit scorecards · insurance pricing · hedging and structured products (zero-cost collar, Black-76) · xVA (EE/EPE/PFE, CVA) · performance attribution (Brinson-Fachler and factor views) · risk budgeting (Euler volatility contributions) · turnover and cost analysis · stochastic calculus

Tools — Docker · Terraform · Tableau · Advanced Excel · Git/GitHub · Claude Code agent workflows

Projects by topic area

Portfolio Construction

Project Description Stack
portfolio-workbench Out-of-sample methodology comparison for a European UCITS multi-asset mandate. Six construction families (minimum variance, equal risk contribution, maximum diversification, mean-variance, mean-CVaR, hierarchical risk parity) are crossed with four mean inputs, three covariance estimators and one constraint set, over 20 pre-registered runs on a 2010–2026 panel whose as-of gate blocks look-ahead. Every cell is tested out of sample against the policy benchmark under a family-wise bar and bootstrap resampling. The families separate by tracking error; the cells carrying a mean input are the only ones ahead of the benchmark after cost, and the sample's leader keeps the sign of its advantage in 95.9% of resamples but not its rank. Brinson-Fachler and factor attribution run beside an Euler risk budget measured against the mandate's declared split. Python

Market & Credit Risk

Project Description Stack
systematic-futures-lab Systematic futures method-comparison lab on 16 CME roots, 2010–2024Q1. Trend, cross-sectional momentum, carry and seasonality face two LightGBM variants through one accounting engine, one cost model and a single out-of-sample read across a 0/2/5/10 bps cost ladder. Once costs are charged, cross-sectional momentum is the only family positive in every sub-period and in both windows (0.406 in, 1.174 out at 2 bps). Both ML variants clear the pre-declared decision rule inside the window (DSR 0.9989/0.9999) and fail it out of time, which the repo reports as the finding rather than retuning. Deflated Sharpe and purged, embargoed folds price the search; 123 tests. Python
credit-risk-model-validation-workbench Regulatory credit-risk and model-validation workbench. It runs an IFRS 9 expected-credit-loss pipeline and an independent validation over a frozen Freddie Mac cohort: PD/LGD/EAD, staging, six-effect reconciliation, governance, monitoring, and a causal and fairness analysis. 35 modules, 190 tests, mypy --strict clean. Python
aml-workbench AML transaction-monitoring workbench on public data (Elliptic and IBM HI-Small). A rule-based scenario engine and graph features are challenged by a GNN/GBM model under strict-inductive temporal walk-forward validation (PR-AUC 0.907). PSI drift monitoring and precision@k alert economics feed a Streamlit triage console. Python
nordic-power-market-risk Decision and risk system for a battery in the Swedish SE3 zone. A MILP dispatches energy and reserve capacity (FCR/aFRR/mFRR) across day-ahead, imbalance and reserve markets; CVaR and drawdown limits gate every schedule, which then settles against observed prices. Probabilistic quantile forecasts (LEAR) feed the optimizer. The walk-forward P&L nets EUR 483,956 against EUR 86,516 for a heuristic benchmark. Python, Docker
credit-risk-pipeline Basel III IRB credit scoring pipeline. CatBoost, XGBoost and LightGBM PD models reach 0.58 out-of-time Gini, with SHAP explanations for adverse action, served through FastAPI and Streamlit. Python
lgd-ead-irb-modelling IRB LGD and EAD capital models for Fannie Mae mortgages, built to CRR/EBA requirements, with a live Streamlit validation dashboard. Python
var-es-risk-engine FRTB-aligned VaR and Expected Shortfall engine. GARCH volatility estimates feed Kupiec and Christoffersen backtests, which a Streamlit dashboard reports. Python

Derivatives & Mathematical Finance

Project Description Stack
pricing-model-validation Numerical derivatives-pricing and model-validation core. Monte Carlo, finite-difference PDEs, Greeks and SABR/Heston calibration are each challenged against closed forms and QuantLib, and the results go into an SR 26-2-style validation report. Python
fixed-income-curve-engine Yield-curve construction and fixed-income pricing built from scratch in Python and cross-checked against QuantLib. It covers term-structure models (Hull-White, G2++), SABR volatility smiles and Svensson calibration, then measures interest-rate risk with DV01, duration and convexity, key-rate duration, and delta VaR/ES. Python
Option_Pricing Black-Scholes pricing and Greeks from first principles, calibrated to OMXS30. Analytical and finite-difference Greeks, implied-volatility inversion, a volatility surface, a CRR binomial cross-check, the American early-exercise premium, and delta-hedging P&L. Python
Continuous-Time-Markov-Chains Continuous-time Markov chain model of ferry reliability under competing maintenance strategies, validated by two independent simulation approaches. MATLAB

Energy & Commodity Markets

Project Description Stack
cross-commodity-energy-trading Spread economics, DCC-GARCH correlation and t-copula VaR across Brent, TTF gas, EUA carbon and European power, which together measure portfolio tail risk and cross-commodity spreads. Python
commodity-hedging-workbench Commodity hedging and structuring workbench that extends the Citi MQA Forage simulation onto frozen ICE coffee data. Cost-of-carry calibration uses a Schwartz–Smith two-factor fit and GARCH(1,1) working volatility. A zero-cost collar cuts a coffee roaster's 95th-percentile cost peak by 58%, and a capital-protected note is priced by Black-76 against antithetic Monte Carlo. Historical VaR/ES carries a bucketed CVA layer, all under SR 26-2-style validation with SHA-256-frozen data gates. Python
nordic-electricity-forecasting Day-ahead Nord Pool price forecasting with a ten-model comparison ranked on an accuracy-versus-compute Pareto frontier. Gradient-boosted trees, foundation, deep and classical models run on leakage-free features with expanding-window backtests, scored by CRPS and pinball loss, and separated by Diebold–Mariano tests. Python
Austrian-Daily-Electricity-Load-Forecast ARMA modelling and a 31-day out-of-sample forecast of Austrian electricity load, with model diagnostics and forecast evaluation. Python

Statistical & Machine Learning Modelling

Project Description Stack
google-stock-volatility-forecasting ARMA mean dynamics plus GARCH volatility clustering on Google stock returns, with volatility forecasts and residual diagnostics. Python
glm-insurance-pricing Multiplicative Poisson and Gamma GLMs for pure-premium insurance pricing, with model selection and rate relativities. Python
high-dimensional-regression PCR, PLS, Ridge and Lasso with multi-split inference on a 4,088-predictor genomics dataset, which compares the shrinkage methods on prediction error. R
spare-parts-optimization Minimises expected backorders under a budget constraint using marginal allocation and dynamic programming. MATLAB
Instacart Customer segmentation and market-basket analysis on Instacart orders, with clustering and association rules. Python
Customer-Analytics-Preparing-Data-for-Modelling Cleaning, feature engineering, and validation of messy customer data for modelling. Python

Foundations

Early data-science work: Exploring-Airbnb-Market-Trends · Analyzing-Crime-in-Los-Angeles · Investigating-Netflix-Movies · Visualizing-the-History-of-Nobel-Prize-Winners · Python-Data-Cleaning

Experience

Project Engineer (2021–2025) Coordinated a USD 5.59M ERP upgrade with zero downtime; applied Six Sigma DMAIC to raise radio-system reliability from 72.15% to 99.46%.

Estimator (2018–2021) Built a VBA Monte Carlo cost model that replaced commercial software; produced bid benchmarks used across the portfolio.

Management Trainee (2017–2018) Built regression-based battery-lifetime models adopted as the facility's standard replacement-planning tool.

Education

  • MSc Applied and Computational Mathematics (Financial Mathematics) — KTH Royal Institute of Technology, 2025–2027 · GPA 4.06/5.00
  • MBA — Institut Teknologi Bandung, 2020–2021 · GPA 4.00/4.00, Cum Laude
  • BSc Electrical Engineering — Universitas Indonesia, 2012–2016 · GPA 3.67/4.00, Cum Laude

Certifications

CFA Level I candidate (Aug 2026) · Project Management Professional (PMP) · PRINCE2 Practitioner · Six Sigma Green Belt · Qualified Risk Management Officer

Languages

Indonesian (native) · English (full professional) · Swedish (beginner)

Connect

LinkedIn GitHub Tableau

Pinned Loading

  1. var-es-risk-engine var-es-risk-engine Public

    FRTB-aligned VaR & Expected Shortfall risk engine with GARCH volatility modeling, regulatory backtesting, and Streamlit dashboard — built for Swedish equities.

    Jupyter Notebook 1

  2. credit-risk-pipeline credit-risk-pipeline Public

    Basel III IRB credit scoring pipeline, CatBoost/XGB/LGB, OOT Gini 0.5814, SHAP adverse action (GDPR Art.22), Gender DIR 0.955, FastAPI + Streamlit

    Python

  3. lgd-ead-irb-modelling lgd-ead-irb-modelling Public

    IRB LGD/EAD framework on Fannie Mae mortgages: two-stage cure/severity models, downturn calibration and MoC per EBA guidelines.

    Jupyter Notebook

  4. glm-insurance-pricing glm-insurance-pricing Public

    Multiplicative GLM pure-premium pricing for business travel insurance in Python: Poisson frequency and Gamma severity models, Gini lift, and actuarial risk relativities.

    Jupyter Notebook

  5. Austrian-Daily-Electricity-Load-Forecast Austrian-Daily-Electricity-Load-Forecast Public

    Classical ARMA analysis and 31-day forecasting of Austrian electricity load

    Jupyter Notebook

  6. cross-commodity-energy-trading cross-commodity-energy-trading Public

    Cross-commodity energy trading analytics platform: Brent crude, TTF gas, EUA carbon, European power. Spread economics, DCC-GARCH correlation, t-copula VaR.

    Jupyter Notebook 1