Crypto Trading Framework

https://github.com/itsff/m3f-trading-system

In my free time, I’ve been messing around with cryptocurrencies. Bitcoin, Ether, Litecoin as well as a couple of other, lesser known altcoins. I am mainly using GDAX and Bitfinex for my trades. It’s a lot of fun!

Pretty much all exchanges offer some sort of API. I created a simple .NET client for the GDAX and wrote a simple trading framework. I decided to learn the Akka.net actor model for this project, as it makes writing trading bots easier. Speed is not an issue, as I’ve noticed GDAX’s position tracking system cannot keep up with my apps.

Today I have open sourced my framework on GitHub under revised BSD license. You can clone it from here. It ships with a simple “buy low sell high” strategy which illustrates how to consume prices and interact with orders.  More exchange backends to come (or feel free to contribute more).

CppCon 2016

One of the great perks of working at Chicago Trading Company is our conference budget. We get to attend two conferences a year. Even though I just started, the company sent me to Bellevue, WA for CppCon 2016. It was an awesome, seven-day experience! We attended a two-day advanced C++ training session, then spent the remaining five days attending the different CppCon tech-talks and presentations.

I learned a lot, met some of my old friends and made new acquaintances. I even bumped into Bjarne Stroustrup, the father of C++, who happened to be staying at the same hotel. It was great!

My schedule: https://cppcon2016.sched.com/filipfracz (PDF)

By far my favorite session was the keynote by Jason Turner where he built a Star Wars pong game in C++17 for the ancient Commodore 64. It’s really fun to watch, especially the optimizations that the C++ compiler performs on constants. Very neat.

 

All presentations are available on YouTube and the code is on GitHub.

Continue reading

Trump Wall, the game

Political satire

I had too much time on my hands in-between jobs, so I figured I would have some fun. I went to Florida to babysit my teenage sister during her spring break, but I quickly realized it was a pretty boring task. When we weren’t at the beach or driving, we would watch election coverage on TV. Political tensions were flying high. In-fighting within both political parties. Just bring out the popcorn. I was really rooting for Bernie, yet it was Trump who was getting the most press.

I decided to code up a little game in order to capitalize on the Trump love/hatred that was sweeping the country.

Enter: Trump Wall, the game!

Trump Wall has a very trivial gameplay. You are helping the newly elected President Donald J. Trump fulfill his (filthy) promise to build the wall along US-Mexican border. You do so by tapping the square outline of bricks. Obviously, the wall is built from the bottom up (you’ll be surprised how many people get confused by that). And since you start from the bottom, that’s a perfect place for me to place an advertisement banner. The more clicks, the better 😉
You complete the level by filling in all the bricks. Once you get all the bricks, you hear Trump proclaim that “the wall just got 10 feel taller”, and the background moves up towards the sky.

The background is usually a random “Welcome to xyz” sign for the southern states that share a border with Mexico. As you complete more levels, you eventually reach one of Trump’s planes or helicopters. Naturally, the game does not have score “points”. Instead, the score represents a number of pesos spent on building the wall.

 

It obviously wouldn’t be a Trump game, if it didn’t feature Trump’s (in)famous sound clips! (“Who’s gonna pay for the wall? Mexico! Who? Mexico!” “We’re going to have strong, incredible borders!”, and so on). I went through countless YouTube videos of his actual speeches to collect them. I cannot believe people are buying this racist stuff. What a world we are living in!

But what about Bernie? Well, I included Bernie in the game too! As the levels get harder, Bernie’s election stickers stand in the way of some of the bricks. You then really need to mash them in order to make Bernie disappear.

Overall it was a fun side project. Political satire is a great way of poking fun at our presidential candidates. I had no issues publishing the game to Google Play, but Apple gave me some serious grief. I was rejected multiple times and had to remove a majority of the controversial content. I understand they are just protecting themselves, but how is it my fault that we have such a “tremendous” presidential candidate? 😉

You can download the game here.

Continue reading

Back to Chicago

I really liked my gig at Thomson Reuters and had a great time working on my team. Reuters managed to gather very smart people, both in the US and in China. I had a blast.

What wasn’t so cool was the commute on I-290. For the uninitiated, it’s one of the busiest highways in Illinois. Despite the fact that I was “reverse commuting” the traffic would sometimes be brutal. NPR helped, but I felt like I was just wasting time sitting idly in the car.

Some friends reached out to me and I took the bait. I decided to join Chicago Trading Company. Right downtown, so bye-bye commute, bye-bye I-290! I’m looking forward to my first day!

To my friends at Thomson Reuters

Friends,

As most of you already know, my last day at Thomson Reuters will be this Friday, April 1st. Over the past 15 months, I have had the pleasure of working with some of the brightest (and nicest!) people in my career, on very forward-thinking projects. I have learned a ton and, most importantly, I had a lot of fun and made some good friends and memories.

Let us stay in touch. My personal email address is filip-at-fracz.net, I am also looking forward to connecting on LinkedIn. I wish you best of luck in your future endeavors and hope we bump into each other again.

Best regards,
Filip

My First Patent Application

My friend William just alerted me that our patent application has been published on the USPTO website. This dates back to our days at TT and it’s titled “System, Method, and Tool for Synthetic Order Recovery”. While William already has a few patents in his pocket, this one is my first 🙂

This patent document relates to a system, method, and tool for synthetic order recovery. In certain embodiments, an exemplary method includes detecting a server event associated with a synthetic order server identified by a synthetic order server identifier, wherein the synthetic order server is in communication with the recovery tool; determining at least one active synthetic order associated with the synthetic order server identifier; determining a child order status for each child order related to the at least one active synthetic order, wherein the child order status includes an updated child order quantity since the server event was detected, and wherein each child order is associated with the synthetic order server identifier; calculating an updated synthetic order quantity for each of the at least one active synthetic order and based on the updated child order quantity; generating a recovery package including the at least one active synthetic order and the updated synthetic order quantity; and communicating the recovery package to the synthetic order server associated with the synthetic order server identifier.

Migrated Słownik Polonijny

Last night I migrated my dad’s Słownik Polonijny to my DigitalOcean docker box. Originally it lived on Heroku (it’s a Python Flask site), but I’ve been trying to consolidate my sites under one umbrella. No need to update you links, since the domain name is the same. One added bonus of this migration is SSL support, so others won’t be able to see what funny polonized words you’re looking at 😉

Docker Compose

While I was working for Trading Technologies, we always planned on using Linux Containers to provide secure hosting of user-written TT SDK algos. Docker was supposed to be the way of ensuring proper isolation, resource management, as well as means of convenient deployment of client strategies. The infrastructure was in place, but I left before we had a chance to materialize our plans.

Recently I decided to give Docker another go, this time as a way of managing my various cloud projects. I was happy with DigitalOcean’s offering, so I began migrating my websites and jobs to their cloud. Everything, of course, is containerized and managed together. I am using Ubuntu 14.04 with Docker Compose.

I must say I am pleased with the results. The migration has been rather painless, and I like how simple the config ended up. I am running a container with a shared MariaDB (MySQL) database, a reverse-proxy Nginx to manage routing, several WordPress blog containers, few C# ASP.NET sites (Mono, not CoreCLR), some Python sites (Flask), and bunch of Python/C++ apps. A sample docker-compose.yml file is shown below.

As you can see, I am using dmp1ce/nginx-proxy-letsencrypt image as a web proxy. Just like with jwilder/nginx-proxy, it’s dead simple to configure routes. All a container needs to do is to specify VIRTUAL_HOST=something.com variable, and the web traffic will be forwarded to its exposed port. Image dmp1ce/nginx-proxy-letsencrypt has LetsEncrypt.org support built right in. Specify LETSENCRYPT_HOST and LETSENCRYPT_EMAIL and voilà- free SSL for your site 🙂

Hacktoberfest

I finally got my Hacktoberfest gear from DigitalOcean. It was a fun opportunity to contribute to open-source projects while scoring a sweet t-shirt.
I fixed some annoying bugs in the weld build system that I’ve been using for my personal C++ projects. Hope you guys enjoy.

Hacktoberfest T-Shirt from DigitalOcean

Naturally this “hacktoberfest” made me take a closer look at DigitalOcean and what they have to offer. I’ve gotta say: I’m impressed! Seldom one finds such fast and cost-effective cloud providers. I’ve been using AWS and CloudAtCost, but now I am seriously thinking of migrating at least some of my projects to DigitalOcean. Well done, sirs, well done!