Portrait of Aymen Feki

Aymen Feki

Statistics & Data Science

Student at LMU Munich

About me

I build machine learning and AI projects in Python and R, from deep-learning models that predict when jet engines will fail to a study assistant that answers questions from 7,183 research papers and runs on Azure. I put most of the work into how they are evaluated.

Looking for working-student roles and internships in Munich.

Interests

  • Machine learning and deep learning
  • LLM agents and retrieval-augmented generation
  • Statistical modelling and causal inference
  • Quantitative finance

Education

  • B.Sc. Statistics and Data ScienceLMU Munich, minor in Economics, since 2024
  • DSH German language certificateFH Aachen, 2024

Projects

30/34
test questions find a relevant paper in the top 5 (25/34 without reranking)

paper-tutor: a study assistant over 7,183 research papers

Answers questions only from a curated paper database and cites its sources, or says the database has nothing relevant. Papers come from OpenAlex, pass credibility filters and are stored with embeddings in PostgreSQL. Runs on Azure with a FastAPI backend, a LangGraph tutor, an MCP server and scheduled quiz and refresh jobs.

Python, LangChain, LangGraph, MCP, PostgreSQL with pgvector, FastAPI, Docker, GitHub Actions, Azure

github.com/AymenFeki/paper-tutor

13.37
test RMSE in cycles for the Transformer, against 19.81 for gradient boosting

Predicting when jet engines will fail

Remaining-useful-life prediction on NASA's C-MAPSS turbofan data. Compares gradient boosting with an LSTM, a 1D-CNN and a Transformer on identical data, validates by engine rather than by row so no engine leaks into both sets, and explains predictions with SHAP.

Python, PyTorch, scikit-learn, SHAP, pytest

github.com/AymenFeki/turbofan-rul-prediction

−27%
out-of-sample volatility against an equal-weight portfolio (9.34% vs 12.84%)

Robust covariance estimation for portfolios

Compares the sample covariance with four regularised estimators, including Ledoit–Wolf shrinkage, random-matrix eigenvalue clipping and a PCA factor model, on 428 S&P 500 stocks. Tested in a walk-forward backtest with transaction costs and on a second dataset spanning the 2008 crisis; bootstrap intervals and a deflated Sharpe ratio show which differences hold up.

Python, NumPy, pandas, Matplotlib, pytest

github.com/AymenFeki/Robust-covariance-portfolios

14%
of the Monte Carlo paths reach the same accuracy with a control variate

Option pricing from scratch

Binomial tree, Black–Scholes and Monte Carlo written in NumPy without any pricing library, and checked against each other and against no-arbitrage identities. Extended to American early exercise, Asian and barrier options, and a delta-hedging simulation with transaction costs.

Python, NumPy, SciPy, Matplotlib, pytest (69 tests)

github.com/AymenFeki/options-pricing-basics

+1.79
percentage points of conversion uplift, 95% CI from 1.16 to 2.41

A/B test analysis

A simulated checkout experiment with 40,000 visitors and a known ground truth, analysed with a two-proportion z-test, Welch's t-test, a chi-square test and a power analysis, all written from first principles on NumPy and SciPy.

Python, NumPy, SciPy, pandas, pytest, GitHub Actions

github.com/AymenFeki/ab-testing-analysis

0.82
R² of the regression model on 2,311 complete country-years

What predicts life expectancy?

WHO and UN panel data on 193 countries from 2000 to 2015, analysed in R four ways: regression with LASSO, a mixed-effects model for the repeated-measures structure, ridge-penalised classification after diagnosing quasi-complete separation, and hypothesis tests that check their own assumptions.

R, tidyverse, lme4, glmnet, R Markdown, testthat

github.com/AymenFeki/life-expectancy-analysis

95,416
salary records in the dashboard's data model

Data and statistics job market dashboard

A Power BI report on pay in data roles from 2022 to 2025. 422 raw job titles are sorted into 10 role categories by a documented rule, the model is a star schema with 7 dimension tables, and every DAX measure was checked against Python before it was written.

Power BI, DAX, Python

github.com/AymenFeki/pbi-job-market

Also on GitHub

  • Statistics concepts lab: an R Shiny app that simulates the central limit theorem, Type I error and power, and confidence-interval coverage live.
  • Social inequality: LMU team project of four students, where I was responsible for the content, on trends in income and gender inequality and how they relate to democracy, health and safety. R and Quarto.

Skills

Programming
Python (pandas, NumPy, SciPy, scikit-learn, PyTorch), R (tidyverse, lme4, glmnet, Shiny), SQL
ML and AI
Gradient boosting, LSTM, CNN and Transformer models, SHAP, retrieval-augmented generation, LangChain, LangGraph, MCP
Engineering
Git, GitHub Actions, Docker, FastAPI, PostgreSQL, Azure, pytest
Analytics
Power BI (DAX), Excel (pivot tables, XLOOKUP, Power Query)
Languages
Arabic and French (native), German and English (fluent)