Welcome to the blog

Posts

My thoughts and ideas

  • Trading on Raspberry Pi with Ubuntu 18.04

    I wrote my own backtesting and live trading software called ArgonTrader in C# and use it to trade with Interactive Brokers. I run it on my Raspberry Pi 3 B. In this post I describe how to set things up using Ubuntu MATE 18.04.

  • Simple Coroutines in C++

    Recently i was interested in how I could implement a simple coroutine solution in C++. I wanted to use it for StarCraft AI Development.

  • Background Worker Queue in C#

    Sometimes it is required to run multimple tasks in the background, while one task can only start after another has finished. In this case a simple background queue based on the C# TPL can be used.

  • Memoization in C#

    Memoization is a technique for improving performance by caching the return values of expensive function calls. In this post I show how you can use this technique in C#.

  • Activator.CreateInstance Alternative

    I noticed that the performance of the C# Activator.CreateInstance method can be a bit slow. Using Compiled Expression Trees it is possible to speed things up a lot.

  • Trading Bitcoin

    I got interested in trading Bitcoins and after reading a paper about market making I implemented a Maket-Making-Bot on the BitMEX exchange.

  • Controlling Drawdown

    I read the paper “Optimal Portfolio Strategy to Control Maximum Drawdown” and implemented the ideas presented in it in my trading strategy to controll the maximum drawdown.

  • Trading on Raspberry Pi with Ubuntu 16.04

    I wrote my own backtesting and live trading software called ArgonTrader in C# and use it to trade with Interactive Brokers. I run it on my Raspberry Pi. In this post I describe my setup.

  • Writing My Own Backtester

    I decided to write my own backtesting and live trading system for Interactive Brokers to replace Zorro. With Zorro I was having serious issues while live trading, I noticed that trade execution is wrong. I stumbled over too many bugs, so I don’t trust Zorro any longer, that is why it needs to be replaced.