Day #4 is up!


Another day, more hacking.

The pull request is here.

The passing CI build is here.

What all changed today?

More to come soon!

  • Add to Phrasebook
    • No word lists for Frisian -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for Frisian -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for Somali -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy

Day #3 code is up!


The code for day #3 is out and available:

Pull request (PR) is here

Repository is here

For that day, the following items were tackled:

  • An initial implementation of continuous integration (CI) was added via a free service called Travis CI.  CI in a nutshell is a way for a tight feedback loop that is also reproducible for developers.  There are a few other features of it but I will keep the definition simple for now.  It is free for open source projects and is easily integrated via a small YAML-based file in your repository.  Our example is here.  An example of an executed build via Travis CI for this project can be found here.
  • Updated documentation around the initial Bazel builds.
    • QuickFix is being built using Bazel’s rules_foreign_cc which is a set of rules for building from foreign build systems such as CMake (and others).
    • A build target that provides the initial harness from which a simple order echo server will be built from was created.  More details on that to come in the README file.
  • clang-format support was added
  • Future to-do items were added.
    • Please feel free to add to-do items and submit a pull request should there be something that you want to see in particular.
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for Dutch -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy

Day #1 is up


Day #1 which was non-functional code repository setup has been pushed to Github here.  Additionally, I have cut a repository that can hold interesting links of note that we may encounter along the path such as useful libraries, book references, etc.  It is located here as well.

In terms of scheduling, I am aiming to have the first video go out this week in terms of setting up the build system for the project to support multiple languages (Java, C++, Python) and to run their associated tests.  The reason for multiple languages is to support the needs of the hot path of execution (C++ typically) and also the quantitative analysts (“quants” as they are often called in the industry) whom typically work in Python (or a language called R which we can later add support for).

The build system will leverage an open source system from Google called Bazel.  It is an open sourcing of their internal build system called Blaze.  The first 1-2 videos will be of basic project setup, covering of the vocabulary around it, and such to build on in subsequent videos.

After that set of videos, I plan to move us onto foundational components definitions in Protocol Buffers next.  This will cover defining things along the way like:

  • What is an instrument?
  • What is a derivative?

This should take up a chunk of the first week of the project.  Also note, tentative schedule here that is subject to massively change should we go off on tangents, etc

  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for English -> Spanish…
    • Create a new word list…
  • Copy
  • Add to Phrasebook
    • No word lists for Dutch -> Spanish…
    • Create a new word list…
  • Copy

Project Kick-off


I have been batting around the concept of doing an open source project for developing an automated trading system.  I have decided to dedicate time to it and will codify many of the former concepts, spreadsheets, and papers into code.   There will probably be some screencasts to walkthru the setup, etc of the codebase.

At a high level, the code will be here on Github when the project starts.  I’ll post here the updates and a schedule as soon as I formalize it.

Interesting Article: “Statistical Arbitrage in Cryptocurrency Markets”


An interesting article was published to the Journal of Risk and Financial Management in regards to cryptocurrencies markets and performing statistical arbitrage.  The TLDR version as one might expect:

  • Execution is key
  • The strategy performance is positive

The paper appears to aggregate order books over multiple markets for their research performed.  The paper is available in open access format here.