Doing things the proper way.

This is the introductory post in a series documenting my current side project: explore patterns (if any!) between a cryptocurrency event (such as a conference, a milestone release and so forth) and its fluctuation in trading parameters (price/volume).

At some point of our career, most of us developer happen to think to ourselves something like:

If only I could do things the proper way!

For instance, this thought might stem from one of the following situations.

  • Projects don’t get allocated enough time.
  • You have evolved into a managing role and now have to delegate tech choices to someone else.
  • Product owners won’t schedule Event Storming as “business doesn’t care how it works, they just want the end results”.
  • Product owners disregard the Ubiquitous Language (from DDD) because “for what business is concerned, you can also call it Joe”.
  • Not getting time to improve the current brittle system because if it ain’t broken, don’t fix it.
  • Having to build new features on a stack nobody knows how to maintain.
  • Working at a product-oriented company where tech is only considered a cost and not an investment.

Clearly, your proper way is never a universally proper way. But it’s your way, and that makes it special. I wonder if this “proper factor” is an important reason why we embark in so many side-projects.

I am very interested in scalable, resilient and distributed systems, with particular liking for streaming data processing. This post introduces one of my current side projects — where the goal is the actual learning and not the final outcome.

One of the 2018 hypes is the blockchain, which definitely sits at that intersection. A side-effect of some blockchains are digital currencies known as ‘cryptocurrencies’, which in their simplest form are a by-product of the coordination mechanism among all participating nodes to reach a uniquely acknowledged consensus. Many exchanges facilitate the trading of cryptocurrencies for other cryptocurrencies or for FIAT money, but the entire crypto exchange ecosystem is still in a grey regulatory area and the volatility is extreme.

The blockchain world is seething like hot magma. I have attended multiple conferences about it, such as the Blockchain Expo or the more technical ReThink:Trust. I organised myself a meetup event about blockchain. The general feeling reminded me of the infamous comparison to teenage sex — we are definitely at the “mass confusion” stage of a rising new technology.

Blockchain is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it.

New blockchain ventures are born daily and billions flow into them; conferences spring up like mushrooms in a rainy day; new prototypes are announced at breakneck pace, while established technologies add features to address their flaws. If we look at the subset of blockchain products that spawn tradable virtual coins, there is one common characteristic: none of the events I mentioned is seemingly 100% decoupled from variations in the coin value.

Based on everyday sense and traditional econony, one would expect that a positive event such as a successful milestone release of product X would lead to an increase in the value of product X. A strong partnership annoucement for company Y would increase trust in it and thus increase the company X’s value. Similarly, negative trends such as halted development or a CEO fleeing to a fiscal paradise with the raised money would decrease a company’s value and reputation.

Well — at this stage of the crypto world, this basic wisdom is most often defeated. Of all the event happening in the blockchain space, only a few categories seem to be reliable bearers of intuitive consequences: for instance, the listing of a coin on a major exchange will probably make its price go up. But all other event categories (release, partnerships, conferences etc) don’t enjoy this reliability. I recently witnessed a prominent digital identity company, Civic, annouce a streak of partnerships and adoptions, only to see the price of its token plummet. Which might have as well gone up. Nobody really knows.

To come back to my passion, one of the most compelling use-cases for data streaming systems is the extraction of knowledge through pattern analysis. Hence the root questions of my research: does the apparent randomness hide patterns that we cannot spot with naked eye?

Can we learn something by correlating all coin events to one another? Of all the tradable virtual assets, are there outliers that behave consistently? Is the correlation between events and price variation influenced in turn by the coin’s trading parameters such as market capitalisation?

You have just read the “genesis post” of this side-project of mine, named “Caterina”. The idea is to collect data and try to reveal patterns through the training of machine learning models. Maybe there is a hidden correlation between a crypto event and the effect on its related crypto asset, such as price, volume and so forth.

I will most likely not find any consistent conclusion. I am driven by curiosity — the primary goal is learning and do things the proper way. Which obviously include evolve into an improved proper way.

Follow along the next chapter to go deeper in the data aspects of this project!