January 20, 2020

Python, Jupyter, and a 2020 goal

I previously wrote about a few goals for 2020, namely (a) learning - or at least getting a feel for - Rust, and (b) gaining some knowledge of Data Science (incl. Machine Learning). Well, we’re nearly three weeks in to the year - so how am I doing?

Python and Jupyter Notebooks

There’s no getting away from it: Python is pretty much the “industry standard” when it comes to working with data. I’m not entirely sure why this became to be, but there’s a fantastic ecosystem of scientific and mathematical packages available - i.e pandas, numpy, and sklearn.

The good news is that I already have Python experience! Unfortunately though, the bad news is that this experience was a number of years ago, and more frustratingly - I never actually enjoyed it. I think that the negativity with the language was more linked to my own inexperience with the syntax - I’d always worked with languages that possess C-style syntaxes, so Python was “a bit too different”. With more experience under my belt though, I’m actually quite enjoyed working with Python this time!

In addition to Python’s dominance in the data arena, there’s another very common tool: Jupyter Notebooks. My first exposure to Jupyter was around 18 months ago, when I found a project which had written it’s documentation as a Notebook.

These interactive documents allow the embedding of executable source code, and - with support for Python, R, or Julia - are intended to be used as a kind of “lab notebook” for data science projects.

Getting hands on with Python and Jupyter

Previously I’ve used tools like exercism.io to either gain confidence with a new language, or even to revise a previous one. This time however I happened to stumble across a project from Reddit’s /r/algotrading - Enigma Catalyst.

Catalyst is a rather stagnant platform for crypto-currency trading. I’ve forked this, I’ve merged in a lot of the outstanding Pull Requests, improved/fixed the Travis CI build, and I’m now working on a feature implementation. Perfect experience.

I’m also working on a few Jupyter Notebooks for identifying potential indicators for algorithmic trading systems; these certainly aren’t cutting edge by any means, and I’m mainly doing it to get my head around the overall process - not necessarily the results.

Stay tuned for updates and a few shared notebooks!

© Fergus In London 2019

Powered by Hugo & Kiss. Source available on Github.