Kyle Downey

Building Behemoth

A simple Pandas-based Bitcoin tickstore

In this next edition of the series on building the Serenity cryptocurrency trading system I'm going to focus more on the research part of the problem, specifically how to collect, query and analyze Bitcoin tick data. We will look at how to use Pandas and its in-built support for the HDF5 storage format to build a simple tick database, . . .

Read More

November 06, 2019

First, Recompile Everything

Building a simple Python marketdata recorder

An inordinate amount of time on the Serenity project recently has been spent compiling software, mostly due to Bunsen Labs being on an older Debian version, "Stretch" -- not ancient, but behind on things like compilers, Python version, etc.. First I went back-and-forth between CLang and gcc trying to get a modern C++ compiler setup, . . .

Read More

October 26, 2019

Serenity

A simple crypto trading system

I sometimes trade Bitcoin on Coinbase Pro -- as a New York state resident I don't have many choices thanks to the BitLicense -- and while the Web interface is decent, it does not provide all the functionality I want. I also want to brush up on my C++ and Web development, both of which I last did professionally 20 years ago, and want to . . .

Read More

August 10, 2019

Streaming marketdata

Cryptocurrency exchange marketdata API in C++

One long-standing personal goal for me is to get up to speed on C++17 -- revisiting a programming language I last worked in professionally when I was at Goldman Sachs. Given my interest in Bitcoin and cryptocurrency trading a natural choice for a starter project is finding a way to source and parse marketdata. Bear in mind that the following . . .

Read More

July 27, 2019

Modular Microservices in Java 10

Building a Jigsaw-based application server

I started a small GitHub project called Wisp after some initial failed experiments with the Felix OSGi container, IntelliJ and Java 10. Once complete Wisp will host ultra-lightweight, Netty-based Websocket services in much the same way as Tomcat, Jetty and other Web containers host servlets, and to do this it uses the Jigsaw modularity . . .

Read More

August 11, 2018

Quantum of Rage

Streaming sentiment analysis of Reddit posts

VADER, or Valence-Aware Dictionary for sEntiment Reasoning, is a sentiment analysis tool first described in a paper by Hutto & Gilbert in 2014. Unlike its predecessors VADER is tuned for social media text, including emoji and common short-hands used in microblogs. I wanted to experiment with sentiment-based signals for Bitcoin, and it . . .

Read More

March 25, 2018

Bladerunner

A lightweight application runner for Java

Bladerunner is an ultra-lightweight library which gives you an enhanced main() method for running your apps, including:

  • built-in HOCON configuration file support
  • built-in Dagger dependency injection
  • built-in logging setup (defaults to log4j2)
  • simple threading to run multiple components

In the spirit of . . .

Read More

March 11, 2018

Archive