Functional reactive programming for Python
For over a year I have been thinking about better programming models for functional reactive programming, or FRP. It's a natural paradigm for financial software, which often deals with processing rich streams of data, and so the foundation of Serenity will necessarily include it. The problem is API: while I agree with and admire many . . .
Automating the Phemex exchange with Python
Phemex is a new cryptocurrency derivatives exchange founded by a group of ex-Morgan Stanley developers. Its name comes from a combination of the Greek goddess of fame, Pheme, and "mercantile exchange." Its primary offering is what it terms a perpetual futures contract, which most closely resembles a CFD or contract for difference: . . .
Building a GPU-accelerated Ubuntu Server
On Thursday night my new RTX 2080 Super GPU card arrived, which means it's time to crack open my home-built Linux desktop, Charger. The goal of this project is to create a dual-GPU Ubuntu server running nvidia-docker so I can experiment with RAPIDS, Nvidia's GPU accelerator for data science.
After . . .
Running a local Kubernetes cluster with kind
So far we've been using Docker and Docker Compose for running components of the Serenity trading system, but at a certain point we will need the power of Kubernetes to orchestrate and provision resources for the trading system.
The Kubernetes in Docker project, or kind, is a more featureful alternative to minikube for running . . .
Building a database for tax reporting
Once a year I need to pay taxes for the capital gains on my Bitcoin trades, which in prior years has meant also paying the Bitcoin Taxes service to generate a TXF file with the necessary inputs for TurboTax to do its thing and generate a statement. Unfortunately this year Bitcoin Taxes could not handle the complexity of trading across . . .
Containerizing Jupyter Lab and Git
With our tickstore building up every day with all the BTC-USD and BTC-USDT trades from Coinbase and Binance, it's time to create a research environment. For this part of the project I wanted a combination of Jupyter Lab with its integrated Git plugin, plus a means of sharing the RAID store of ticks on the local PC. Docker and Docker . . .
A simple trade data recorder in Python
In the previous two articles of this series on the Serenity cryptocurrency trading system we built a polling REST marketdata recorder and a Pandas-based local tick store. In this next article we are going to upgrade that system to support real-time trade capture from multiple exchanges through their websocket interfaces: Coinbase Pro and . . .