🚀 Open to new opportunities — both freelance projects AND permanent positions!
After 7+ years as Founder & Lead Developer at MW Futures building production-grade algorithmic trading tools, NinjaScript strategies, and ML-enhanced systems for futures traders, I’m expanding my horizons as a Senior C#/.NET Software Engineer.
@Umesh__digital If possible I would like to know the the byte sizes of the row.
If I know that use span<T> to async load it in batches / chunks through memmap and async post them to postgresql in chunks on another thread receiving the batches. Basically the same idea of how ai training goes.
1/5
Standard loss functions kept failing on this data. The model would either ignore the minority classes or become dangerously overconfident on one side while collapsing on the other. Every improvement on Buy seemed to destroy Sell, and vice versa.
#QuantitativeTrading #MachineLearning
4/5
This reinforced something important: in quant work the objective function often determines success more than the architecture. If you’re building systems where loss design has real consequences, I’m open to conversations.
#OpenToWork
3/5
The shift happened when I stopped optimizing for clean validation numbers and started designing the loss around actual trading costs and session behavior. It was messier during training, but it forced the model to learn in a way that mattered for live performance. Eventually both sides started improving together.
#ICTTrading
2/5
I tried several approaches. Nothing gave me balanced, reliable signals that respected the real cost of being wrong on a trade. The anti-correlation was brutal and progress felt stuck for a long time.
#LossDesign
1/5
I thought the model architecture would be the hardest part. It turned out the real battle was just keeping the training running on a GTX 1080 without the machine dying repeatedly.
#MachineLearning#CUDA
4/5
This experience taught me that production ML is often won or lost on infrastructure and constraints long before the model itself becomes the main problem. If this kind of work resonates, I’m open to conversations.
#OpenToWork
3/5
I had to stop fighting the hardware and start engineering around its actual limits. Once I accepted the constraints and built stability into every layer instead of chasing raw speed, the training finally became reliable enough to finish long runs.
#QuantitativeFinance
2/5
Pushing beyond a certain batch size caused constant black screens and driver crashes. Even when monitoring showed low VRAM, large temporary allocations during backward would bring everything down. Long runs became impossible. Every attempt to go faster or use more data ended in failure.
#Engineering
5/5
Over the next few posts I’ll share the specific hardware fights, loss design decisions, and production reality. Follow along if this kind of work interests you.
1/5
I wanted to stop relying on signals I didn’t fully control. So I decided to build my own production directional model for futures from scratch.
The goal was to create something that could find real edge on noisy, imbalanced market data and run live in NinjaTrader. What I didn’t expect was how fast the constraints would push back.
#QuantitativeTrading
4/5
This project showed me what real ownership of a quant system actually looks like. If you’re building or hiring for teams that need people who can push through messy constraints and still deliver, I’m always open to a conversation.
#OpenToWork
3/5
The turning point came when I stopped treating it like a normal classification problem and started designing the whole system around real trading economics instead. Once the loss, data pipeline, and deployment rules were aligned with how actual trades work, things started to stabilize and improve.
#Engineering
2/5
Training on a single GTX 1080 with extreme imbalance and a strict C# production contract quickly turned into constant failures. Long runs crashed. The model either collapsed to neutral or swung wildly between sides. Progress felt slow and frustrating for a long time.
#MachineLearning