# Competitions — Abdessamed Zetroni

Machine-learning and data competition results. Canonical page: <https://www.abdessamed.com/competitions>

### Predict 1-Year US Stock Returns from Fundamentals
*Kaggle · Atlantis Data Solutions*: Apr – Jul 2026 · completed

Rank **3 of 334** — MSE 3371.53 (winner 2058.84, lower is better)

[leaderboard](https://www.kaggle.com/competitions/predict-1-year-us-stock-returns-from-fundamentals/leaderboard?search=abdessamedzetroni) · [write-up](https://www.kaggle.com/competitions/predict-1-year-us-stock-returns-from-fundamentals/writeups/3rd-place-fingerprinting-return-reconstruction)

- Recognized the task as identity resolution, not modeling: an honest model on the 33 fundamentals tops out around 15,000 MSE while the leaderboard sat three orders of magnitude below; only reconstructing each masked company's real 2024 return closes that gap
- Fingerprinted masked companies to real tickers on exact reported dollar values (revenue, assets, net income), requiring at least two independent field agreements and a company-level Hungarian match across quarters to kill costly collisions
- Nailed the host's return convention (price return, not total return) by using raw split-adjusted Close instead of dividend-adjusted prices (correlation 0.998 vs. training labels), worth more than any modeling
- Pulled as-originally-filed values from SEC companyfacts rather than latest-only APIs to recover rows lost to amended and restated 10-Ks

**Stack**: Python, pandas, SEC EDGAR API, yfinance, scipy

### Can AI See What It Creates
*Kaggle · AI Fest 2026*: Jun 2026 · completed

Rank **1 of 14** — penalty score 0.93537 (winner 0.93537)

[leaderboard](https://www.kaggle.com/competitions/can-ai-see-what-it-creates/leaderboard?search=abdessamedzetroni)

- Classified real photos against six generators (DALL·E 3, Midjourney, SDXL, SD3, SD2.1, GAN) under a metric that punishes real-vs-fake flips far more than confusing one generator for another
- Ensembled a fine-tuned ConvNeXt-Base with a frozen CLIP ViT-B/16 probe, averaging the pixel-level and semantic signals 50/50
- Derived a decision rule matched to that asymmetric metric, committing to "real" only when confident, plus flip-TTA and validation-tuned blend weights

**Stack**: ConvNeXt, CLIP ViT-B/16, timm, scikit-learn, PyTorch

### Lost in Resolution
*Kaggle · AI Fest 2026*: Jun 2026 · completed

Rank **2 of 15** — SSIM·GMSD·PSNR 0.75528 (winner 0.76061)

[leaderboard](https://www.kaggle.com/competitions/lost-in-resolution/leaderboard?search=abdessamedzetroni)

- Reconstructed 1080p video frames from 540p inputs plus per-frame depth and motion vectors, scored on combined SSIM, GMSD, and PSNR
- Built a recurrent supersampler that motion-warps the previous high-res frame and blends it into the current one through a learned per-pixel mask
- Killed ghosting at object edges with depth-dilated motion warping, so foreground motion wins at boundaries instead of smearing into the background
- Recovered 20 hidden HDR test samples other teams had mean-filled, worth most of the final margin

**Stack**: PyTorch, Super-Resolution, OpenEXR, OpenCV, NumPy

### LLM Agentic Legal Information Retrieval
*Kaggle · Omnilex*: Apr – May 2026 · completed

Rank **138 of 584** — Macro F1 0.11417 (winner 0.33826)

[leaderboard](https://www.kaggle.com/competitions/llm-agentic-legal-information-retrieval/leaderboard?search=abdessamedzetroni)

- Built a dense plus cross-encoder retrieval pipeline over 1.18M German-language Swiss legal documents in about three weeks
- Reframed retrieval as citation extraction, pulling references straight from the text and expanding them to canonical form for an order-of-magnitude F1 gain
- Added a HyDE query-enrichment pass with Mistral-7B that declares the relevant legal codes before drafting, lifting Macro F1 by 22%
- Ran 15+ validation ablations and reverted every regression, so only score-improving changes shipped

**Stack**: BGE-M3, BGE-Reranker-v2-M3, Mistral-7B, FAISS, Python
