Blog

Insights on software development, high-frequency trading, system architecture, and more.

I Used My Gaming GPU to Revolutionize Trading Strategy

Achieving a 695× throughput boost with an NVIDIA RTX 3090 and CuPy

Peter Bieda

Letting Strategies Evolve Instead of Writing Them: My Experiments With Evolutionary Search

The strategies that survived weren’t the ones I expected — they were the ones I never would have designed.

Peter Bieda

The Architecture of a Modern Quant Research Platform

If I were rebuilding my research infra from scratch today, I’d unify three things: reproducibility, latency monitoring, and quant collaboration. Everything else is secondary.

Peter Bieda

Integrating Reinforcement Learning for Adaptive Market-Making

RL isn’t magic. It’s fragile. But if tuned right, it learns where not to trade, which is where most edges live.

Peter Bieda

Designing My Own Backtesting Framework for Multi-Asset Portfolios

I realized I didn’t trust third-party backtesters anymore. So I built one. Vectorized, reproducible, and benchmarked against Alpaca-like APIs.

Peter Bieda

Redis Streams for Real-Time Pipeline Coordination

Kafka was overkill for my real-time pipelines. I needed millisecond coordination between stages without unnecessary operational overhead. Redis Streams hit the sweet spot.

Peter Bieda

Why I Switched from Python to C++ for My Execution Engine

Python got me started. But for sub-millisecond execution, the interpreter became my enemy. Rewriting my core in C++ dropped 25ms off each roundtrip.

Peter Bieda

When Network Latency Becomes a Trading Strategy

The fastest code isn’t always the smartest. I learned that anticipating where latency will spike—across gateways, venues, or even inside your own NIC queues.

Peter Bieda

Experimenting with Simulated Order Books

I wanted to simulate real-time liquidity conditions. I ended up writing my own order-matching engine in 300 lines of Python just to understand the microstructure better

Peter Bieda

Optimizing Tick Data Storage: From SQLite to Parquet

Migrating my tick data storage from SQLite to Parquet changed everything. What started as a harmless 50 GB SQLite file quickly became slow, unsearchable, and nearly impossible to maintain.

Peter Bieda

Building My First Latency-Sensitive Trading Bot in Python

When I started experimenting with live market feeds, I didn’t fully appreciate how much latency matters. My first trading bot used asyncio in Python.

Peter Bieda