Skip to content
View younis-y's full-sized avatar
  • London, United Kingdom

Block or report younis-y

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

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

Report abuse
younis-y/README.md

Younis Younis

I build software, and I build numerical models. Mostly Python and TypeScript, applied to energy markets, financial data, and whatever I feel like writing on a weekend.

MSc Energy Systems & Data Analytics, UCL Bartlett School of Environment, Energy and Resources BEng Electrical & Electronic Engineering, University of Nottingham

Currently at Sephira GEM Equity in London, building the research database and nightly market-data pipelines behind an emerging-markets equity fund. Previously at Ocado Technology, building production data pipelines. National winner of the Capital One Product Challenge (2024).

Each repository below states the question it answers, the result it found, and what it does not claim.


Software

Repository What it does Methods Result
deterministic-llm-pipeline Scans employer career sites for matching roles, spending an LLM call only on the minority that survive a deterministic keyword filter; the model extracts quoted facts and fixed rules make the verdict Entry-point plugin registration for both sources and scoring backends, structured extraction via schema.org JobPosting, deterministic prefilter, SQLite de-duplication, call ceiling and time budget on spend, over 2,000 tests run offline against respx-mocked transport so the real clients and parsers are exercised, mypy strict, CI on every push One run scanned 526 unique postings across 9 sources and discarded 490 of them (93%) before any LLM call, leaving 36 to score
algosoup-takehome Plans which half-hours a GB grid battery should charge and discharge, tracks the plan from draft to approval to execution, and compares realised P&L with the plan TypeScript, Next.js and React, battery constraints (power, capacity, round-trip efficiency, SoC bounds, cycle limit) as an optimisation over half-hourly prices, approval workflow, settlement against outturn A take-home built to a deadline and left as submitted; live demo linked in the README
techniq-form-coach Real-time lifting form feedback from a webcam, and an honest negative result on predicting which rep a set falls apart on 33-landmark MediaPipe pose estimation, atan2 joint-angle geometry, rep-phase state machine, rule-based fault detection across four lifts, least-squares extrapolation to a fixed threshold, API credentials held server-side behind a proxy Fault detection works. The fatigue prediction does not: it is a straight line through fewer than ten noisy points, and it is reported as a demo of the mechanism rather than a prediction

Computational finance & numerical methods

Repository What it does Methods Result
fourier-option-pricing Tests whether the peak-minimising damping vector of arXiv:2203.08196 is also error-minimising, and finds the answer depends on the quadrature family it is paired with Damped Fourier inversion under multivariate GBM and Variance Gamma, closed-form basket-put payoff transform via loggamma, ridge-bound minimisation with trust-constr, tan-substitution / Gauss–Laguerre / truncated Gauss–Legendre quadrature, exact-simulation Monte Carlo validation Under Gauss–Laguerre the peak-minimising vector R* is best of five, by one to four orders of magnitude, down to the reference's own precision floor, reproducing the paper. Under truncated Gauss–Legendre it places third of five and R*−2 wins, because the ridge bound measures the peak and says nothing about the tail
crack-spread-econometrics Asks whether crude cost-pushes refined products or gasoline demand pulls crude, on 1,361 weekly WTI, NY Harbor gasoline and heating oil observations (2000–2026) Confirmatory ADF/KPSS unit-root strategy, Johansen trace and maximum-eigenvalue cointegration, VECM with structural-break dummies, moving-block bootstrap impulse responses, Bonferroni-corrected Granger causality, CUSUM stability Gasoline Granger-causes crude (F = 8.72, adjusted p < 0.001); crude does not (F = 1.94, adjusted p = 0.61). Crude carries the only equilibrium-restoring loading on the first cointegrating vector (α = −0.042, p = 0.044, half-life 16.2 weeks)
financial-ml-toolkit Assembles the López de Prado Advances in Financial Machine Learning toolchain end to end against a free data source, with each link tested in isolation Dollar bars, fixed-width fractional differentiation with a minimum-d stationarity search, triple-barrier labelling and meta-labelling, sequential-bootstrap sample weights, purged and combinatorial-purged K-fold with embargo, probabilistic and deflated Sharpe, MDI/MDA/SFI importance Implementation exhibit. No strategy result is claimed and no backtest is offered as evidence of edge

Energy markets & systems modelling

Repository What it does Methods Result
gb-2035-pypsa Finds the least-cost GB power system in 2035 under tightening carbon caps, with a Teesside industrial hydrogen node, and asks why it disagrees with NESO's FES 2025 PyPSA with the HiGHS solver, 20 transmission zones, full-year 2019 weather, eleven solved scenarios, DESNZ 2035 medium costs, shadow carbon prices read from the cap duals At a 5 MtCO2 cap the system costs 15.5 bn GBP/yr and builds 36.3 GW onshore wind and 97.0 GW solar but no new offshore at any cap, against FES's 86.1 GW: the gap is cost ranking, not room. Tightening from 30 to 2 Mt adds 2.1 bn GBP/yr and lifts the shadow carbon price from 0 to 910 GBP/t. The hydrogen node is met entirely by blue hydrogen
gb-price-forecasting-leakage-audit Forecasts GB day-ahead power prices, then finds and quantifies two data leaks in its own feature set: a rolling window crossing the auction boundary, and demand read as outturn rather than forecast XGBoost and SVR over 23 features, rolling-origin validation, bootstrap intervals, Wilcoxon signed-rank against persistence, SHAP attribution, spike-detection screen Correcting the leaks moved R2 from 0.838 to 0.763 and cut spike F1 from 0.667 to 0.312. Recall fell from 0.565 to 0.217, showing the screen had been reading realised demand. It still halves persistence RMSE (19.45 against 34.28)
gb-weather-to-price-forecasting Tests whether explicitly modelling the weather to renewable generation to price chain beats price-only baselines, and whether the accuracy gain is worth money to someone dispatching a battery Walk-forward XGBoost renewable forecasts from capacity-weighted regional weather feeding an XGB+SVR ensemble, TCN, PatchTST, LSTM and BiLSTM, with rolling-origin validation, conditional and grouped ablation, and a battery arbitrage LP in PuLP Ensemble R2 = 0.860, RMSE 13.46 EUR/MWh over 6,676 held-out hours against ARIMA(5,1,0) at 72.94; a 100 MW / 200 MWh battery dispatched on the forecast captures 89.9% of perfect-foresight profit. Eight-person group project
heat-pump-peak-demand-modelling Tests whether HDD-based grid planning underestimates heat pump peak demand because it averages away occupant behaviour 2R1C thermal ODE on real EPW weather, 240-run full factorial (4 archetypes x 3 weather x 2 fabric x 10 reps), Type II ANOVA with eta-squared effect sizes, interaction regression, Ramsey RESET, validation against 730 Electrification of Heat field-trial homes Occupant behaviour explains 27.0% of peak-demand variance against fabric's 21.2%, and the behaviour-fabric interaction is the largest single term at 26.9%. The HDD-linear model reaches R2 = 0.069 against 0.644 for the interaction model (RMSE 0.574 vs 0.355 kW). The original hypothesis that underestimation worsens in extreme cold is reported as not supported
uk-onshore-wind-siting Screens GB land for onshore wind: hard environmental constraints, then AHP-weighted multi-criteria suitability, then indicative financials for the surviving zones Constraint screening against Ramsar/SAC/SPA designations, Analytic Hierarchy Process with a consistency check, composite suitability surface, indicative LCOE and NPV, all layers on EPSG:27700 Wind resource (41.3%) and grid distance (25.7%) carry two thirds of the weight; the pairwise comparisons are consistent at CR = 0.008, well inside the 0.10 threshold

Technical stack

Engineering Python, TypeScript, JavaScript (ES6), SQL, C++, R, LaTeX. Git, pytest, mypy, ruff, uv, GitHub Actions, Docker, Playwright, Jupyter, Streamlit, Vite, FastAPI, Next.js, Supabase and Postgres (row-level security, PL/pgSQL), Cloudflare Workers, SQLite, ETL pipelines and automated validation Numerical NumPy, SciPy (optimize.trust_constr, special.loggamma, quadrature), Gauss–Laguerre / Gauss–Legendre / tan-substitution quadrature, exact-simulation and moving-block-bootstrap Monte Carlo, ODE integration, PuLP/CBC for MILP ML / statistics statsmodels (VECM, Johansen, ANOVA, ARIMA, ADF/KPSS, RESET, CUSUM), scikit-learn, XGBoost, PyTorch (TCN, PatchTST, LSTM), SHAP, arch Geospatial GeoPandas, libpysal, esda, spreg, mgwr, GeoShapley, Moran's I / LISA, QGIS


Dissertation (submitted): an entropy-weighted digital infrastructure index for UK local authority districts tested against GVA-deviation economic resilience with XGBoost–SHAP and MGWR, across 349 districts. The index turns out not to be what carries the effect. Code and paper released once the work is marked.

Interested in stochastic numerics and quadrature design for high-dimensional pricing, Lévy models, and price formation and transmission in energy and commodity markets. Reach me at younis.y@outlook.com.

Also on this account: veo-area-recommender, a hackathon build with @MasteraSnackin, who wrote most of it.

Pinned Loading

  1. crack-spread-econometrics crack-spread-econometrics Public

    VECM analysis of the 3-2-1 crack spread on 1,361 weekly WTI, NY Harbor gasoline and heating oil observations (2000-2026): Johansen cointegration, error-correction loadings and Bonferroni-corrected …

    Jupyter Notebook

  2. deterministic-llm-pipeline deterministic-llm-pipeline Public

    A deterministic, cost-bounded LLM pipeline, applied to job search: a keyword prefilter decides what reaches the model, the model extracts quoted facts, fixed rules make the verdict, and a call ceil…

    Python

  3. fourier-option-pricing fourier-option-pricing Public

    Optimal damping for Fourier pricing of multi-asset European options: validated reimplementation of arXiv:2203.08196, with a controlled test of whether the peak-minimising damping vector is also err…

    Python

  4. gb-2035-pypsa gb-2035-pypsa Public

    Least-cost GB power system in 2035 under carbon caps, with a Teesside hydrogen node (PyPSA + HiGHS)

    Python

  5. gb-weather-to-price-forecasting gb-weather-to-price-forecasting Public

    Two-stage weather to renewables to price pipeline for GB day-ahead electricity: walk-forward XGBoost renewable forecasts feeding an XGB+SVR ensemble, TCN, PatchTST, LSTM and BiLSTM, with rolling-or…

    Jupyter Notebook

  6. heat-pump-peak-demand-modelling heat-pump-peak-demand-modelling Public

    Quantifying HDD underestimation of heat pump peak demand: 2R1C thermal simulation on real EPW weather, a 240-run factorial Monte Carlo, Type II ANOVA, interaction regression with a Ramsey RESET tes…

    Python