$ finger abdulmalik
Abdulmalik Ajisegiri
Model Risk & Validation Engineer — DTCC · Dallas–Fort Worth, TX
$ whoami
abdulmalik-ajisegiri — systems engineer, model validator
$ cat current_role.txt
Model Risk & Validation Engineer @ DTCC — SR 11-7, LLMs, challenger models
$ ls projects/ | head -3
agentic-mrm-platform/ quantedge-labs/ cardiac-surgery-risk-model/
$ ▊
live from the home office — he notices your cursor
Built, not theorized.
Case studies and platforms — the work the research notes come from.
Agentic AI Model Risk Management Platform
A personal project: an agentic platform that automates the model-risk identification lifecycle — SR 11-7 classification, validation artifact generation, and pipeline tracking with SLA enforcement and audit trails.
- MACHINE-LEARNING
- RISK-MANAGEMENT
- SOFTWARE-ENGINEERING
- VALIDATION
Clinical Risk Predictive Model — Cardiac Surgery Outcomes
A stacked-ensemble ML pipeline predicting operative mortality in cardiac surgery from preoperative variables, built against STS-aligned outcomes.
- MACHINE-LEARNING
- VALIDATION
- STATISTICS
- RISK-MANAGEMENT
- SOFTWARE-ENGINEERING
QuantEdge Labs
An end-to-end trading research platform — ML-calibrated opportunity scoring, options analytics, and simulation-based verification, shipped as a full-stack web terminal.
- QUANTITATIVE-FINANCE
- MACHINE-LEARNING
- SOFTWARE-ENGINEERING
- WEB-DEVELOPMENT
- RISK-MANAGEMENT
The record so far.
4
ROLES
DTCC · Collins · Deloitte · OU
2
DEGREES
M.S. OU · B.S. UT Arlington
CISA
CERTIFIED
ISACA · MATLAB / Simulink
20
RESEARCH NOTES
the working library, growing steadily
Tools of the trade.
The tools and frameworks I work in — from my resume, not a wish list.
Drift, quantified.
Population Stability Index — the drift monitor from Validating Models Like a Skeptic. Bin on the reference distribution, watch the score most of all.
def psi(expected, actual, bins=10, eps=1e-4):
"""Population Stability Index.
<0.1 stable · 0.1–0.25 watch · >0.25 investigate."""
breaks = np.unique(np.quantile(expected, np.linspace(0, 1, bins + 1)))
e_counts, _ = np.histogram(expected, bins=breaks)
a_counts, _ = np.histogram(actual, bins=breaks)
e_perc = np.clip(e_counts / e_counts.sum(), eps, None)
a_perc = np.clip(a_counts / a_counts.sum(), eps, None)
return np.sum((a_perc - e_perc) * np.log(a_perc / e_perc))
# score drift is the canary: decisions move when scores move
print(f"model score PSI=psi(score_valid, score_prod):.3f") Notes from the bench.
Twenty research notes on validation, quant research, simulation, and embedded systems — the working library behind the case studies.
Validating Models Like a Skeptic: The Outcomes-Analysis Playbook
Building an LLM Evaluation Harness: BLEU, ROUGE, SBERT, and Risk Tagging
Stacking Ensembles That Actually Generalize: Lessons from Clinical Risk Modeling
When R² Lies: Evaluating Regression for High-Stakes Decisions
Survivorship Bias and Lookahead: Two Backtest Killers, with Code
Monte Carlo for Decisions Under Uncertainty
Right now.
Model Risk & Validation Engineer at DTCC, working the AI/ML model-risk lifecycle — SR 11-7 determination, independent validation, LLM evaluation. Based in Dallas–Fort Worth, TX. Building an agentic model-risk platform and writing a 20-note research series on validation, quant research, simulation, and embedded systems.
Find me elsewhere.
Code, writing, and professional profiles.