$ show teddykoker/blog
This repository is the personal website and research blog of Teddy Koker. It is built with Jekyll and hosts a collection of in-depth technical blog posts, primarily centered on machine learning, algorithmic trading, and computational science. The core content consists of Jupyter notebooks that have been converted into Jekyll posts, covering topics such as reinforcement learning for trading, neural machine translation with attention, survivorship bias in financial datasets, and neural variational Monte Carlo for quantum chemistry. The repository functions as a hybrid between a static site and a data research portfolio. The Jekyll framework provides the presentation layer, while the `_notebooks/` directory contains the primary research artifacts. The site includes custom layouts, a bibliography management system via `jekyll-scholar`, and a sophisticated pipeline (`_notebooks/jekyll.py`, `convert.sh`) for transforming Jupyter notebooks into publishable blog posts with proper front matter and image handling. While the Jekyll site is well-maintained and reproducible, the Python research notebooks exhibit significant technical drift. They rely on deprecated APIs (e.g., `torchtext` legacy, `pandas_datareader` Yahoo Finance) and lack a pinned Python environment, making exact reproduction challenging. Despite this, the repository is a valuable resource for learning about applied ML and quantitative finance, and several components (the notebook conversion pipeline, the attention module, the backtesting wrapper) are genuinely reusable.
The LLM identified 4 files worth highlighting for reuse:
A custom Jupyter nbconvert configuration script that transforms .ipynb files into Jekyll-compatible blog posts. It extracts metadata, handles image paths, and formats the output for the site's layout. This is a highly reusable pattern for anyone running a Jekyll blog with notebook content, solving the common problem of publishing notebooks as clean, standalone articles.
A standalone Python script that converts XYZ trajectory files (a standard format in computational chemistry) into gzipped JSON for interactive web visualization. It demonstrates a clean, single-responsibility approach to data format transformation and is directly reusable in any materials science or chemistry project that needs to serve molecular trajectories to a web frontend.
An educational notebook implementing the Luong et al. (2015) global attention mechanism for neural machine translation. The Attention class is a modular, self-contained PyTorch module with pluggable score functions (dot, general, concat). It can be extracted and reused in other seq2seq projects, demonstrating a clean implementation of a complex deep learning concept.
A notebook that explicitly addresses the critical data quality issue of survivorship bias in financial backtesting. It implements a methodology for constructing an unbiased historical S&P 500 dataset by scraping historical constituent lists and mapping ticker changes. The pattern of correcting for selection bias in historical datasets is highly reusable across financial research and data engineering.