An Empirical Article That Wasn’t Immediately Stale

Dec 20, 2021 · 11 min read

This was a short article written long ago that tried to counter the reproducing crisis in the empirical literature. It was written in 2021. It considers the question of portfolio allocation between Ethereum and Bitcoin.

Scaled five-minutely log price changes for Bitcoin

Historical footnote

References are sorely lacking here because the author took a vow never to alter the article manually. Though it seems commonplace as you read this, the reproducing crisis was just getting started. Prior, the burning issue of the time wasn’t a lack of reproducing work, but simply the inability of researchers to mimic the historical results of others’ empirical studies. Only later, after that so-called reproducibility crisis was solved, did it become apparent that nobody really cared to reproduce things anyway.

At issue was laziness and impatience (two of the three virtues of great programmers) and also, in no small measure, disinterest in others’ work or suspicion that it was overfitted (call that hubris if you want the hacker trifecta). It seems reasonable to ask why anyone would bother to check whether a result could be taken forward, given that the original author was apparently not prepared to do so and probably could not do so (they were last seen setting fire to their Python environment).

However, the real driver of the reproducing crisis was the sheer proliferation of tools, data, and approaches. By the year 2030, and with the maturation of the Internet of Things, the notion that someone could write an empirical article about the use of method M used on data D for application A using data from timespan T (and expect anyone to find it interesting) was deemed ridiculous — not to mention ecologically unsound. Obviously, this simply invited a felling of trees and a numerical explosion in empirical articles.

The first such explosion occurred not in the literature but in the better read data science publication Towards Data Science. It was a combinatorial love-bomb created by disgruntled engineers tired of reading uncritical articles about forecasting software written by nubies. Over the course of the next year, several million automatically generated articles made their way through the non-existent editorial filters of that publication and completely drowned out all other advice.

This wasn’t necessarily a bad thing — it turned out that the automatically generated articles covered a wider variety of data than the human-generated articles, exhibited lower correlation in their findings, and on the whole were more empirically sound. Similar attacks followed on the academic literature until finally, things reached a breaking point.

Only the reduction to absurdity made crystal clear the need for authors to convey information in a way that wouldn’t go out of date, or always be limited. They started to write articles that reproduced themselves, updated their results, and automatically drew in new methods and data as they arrived (rather than merely presenting their colleagues with a fixed snapshot). Their articles roamed a world of problems, and altered themselves as they did so.

This particular article was not terribly popular or technically advanced in its production. It predated tools that made continuous publishing both convenient and pretty, not to mention a usable Medium API. However, it did draw a tiny readership from those who were already tired of picking up papers written in 2005 and wondering “Is that still true?”. Some had started to wonder why empirical papers exist at all.

Intraday Bitcoin and Ethereum Portfolios

As noted this article begins with the price of Bitcoin and Ethereum. Given the controversial nature of those currencies in 2021 this was a seemingly bold choice — yet their longitudinal existence had continued to surprise, and they seemed destined to remain of numerical interest for some time to come.

Surveying the state of the art for cryptocurrency prediction, and implications, if any, for the optimal portfolio mix of two coins is also tricky. But an ongoing attempt is made to construct a portfolio of Bitcoin and Ethereum and modify it every 15 minutes based on distributional forecasts of price movements. The wisdom of doing so is then also considered, also on an ongoing basis.

This might be seen as a fool’s errand. Yet given the possible arrival of extremely powerful forecasting methods, this article sought to determine if minimizing variance or maximizing perceived information ratio helps or hinders, as compared, say, to say, maintaining a fixed proportion of your wealth in Bitcoin and the rest in Ethereum. Varying portfolios have continued to be benchmarked against constantly rebalanced portfolios to this day.

To set up the problem one plot of Bitcoin five-minutely price changes was provided above. It is now accompanied by the stern warning that any characteristics the reader might infer might already have been traded away. It is suggested that one ignore this plot, actually, which was more of an unfortunate necessity of a Medium article, back then, and instead click through to see Bitcoin price changes here, and the corresponding Ethereum price changes here.

Distributional Predictions that Aren’t Out of Date

The first seemingly insurmountable challenge is deciding what method, or combination of methods, shall be used to predict Ethereum and Bitcoin price movements — again without violating the reproducing ordinance imposed.

Clearly, no single method, or even set of methods, can be supplied here in indelible ink. Better methods may be available to the future reader. Those methods may provide distributional predictions of Bitcoin or Ethereum in a way that complements or replaces those which were in existence in 2021.

Nor can so much as a language or ecosystem be specified. The author was tempted, briefly, to suggest some Python methods that might work reasonably well based on a leaderboard. Those ratings do update. But a reasonable objection lies with the fact that Julia or R has better tooling (in the eyes of some, past, present, and future). And the reader may already be aware that Python has sunk to the popularity of Modula 2. The author did not anticipate that decline.

A data interface is therefore employed, utilizing the hypertext transfer protocol that was very much the rage in 2021. Also optimistically employed: an ongoing competitive framework built on the same. Therein, the algorithms predicting Bitcoin are listed (here and, for Ethereum here). Not all algorithms are open-source. Some have code badges next to them, on this list that is, at the time of reading, hopefully still available.

Covariance of Bitcoin and Ethereum

Not content with this continuously improving set of predictions, it was the case in 2021 that the following realized moment streams:

were also the subject of increasingly intense competitive prediction. There the reader may view the covariation in these cryptocurrencies, and predictions of the same whose details must, alas, be supplied to you in this article by reference and not by value (again, refer to the code badges on the master list).

Irrelevant and minor as this may be, it might have been the case, long ago when this article was written, that this algorithm was filling in a few gaps left by others — despite its simplicity.

Partial Moments

Not content with distributional prediction of realized covariance, additional fights had been started over partial lower and upper moments — or to be more precise the covariances of rectified changes in log prices as illustrated in the code that transparently generated these streams.

For example,

reported upper and lower emphasizing measures of covariation in log price movements. If Datable Llama is performing well as the reader surveys the leaderboard then it may well be the case that stacking of simple exponential weighted averages was serving to improve point estimates. However the contrary hypothesis seemed equally plausible.

Similar findings may or may not continue to apply to the estimation of modified moment estimates designed to capture upside potential — for which the reader is referred to similar streams such as c2_quadratic_upper_bitcoin_ethereum.


It is also no longer of interest that in December of 2021 there were some patterns seemingly emerging in the causality plots for Bitcoin, Ethereum, and other major cryptocurrencies. (With a modicum of luck, those plots are still being updated).

For instance, it appeared that changes in the price of Solana could potentially help predict changes in the price of bitcoin or ethereum — though such an empirical finding seemed destined to fade away like so many other ephemeral results.

A causality plot for major cryptocurrencies, circa 2021, created using the Tigramite package.

Assessment of Empirical Predictions and Tails

The efficiency of the competitive predictions of Ethereum and Bitcoin is the subject of the z1 Ethereum stream (here) and similarly derived streams.

Though it has been largely forgotten now, in the decade following the Global Financial Crisis some views regarding the efficiency of competitive distributional prediction became commonplace. For instance, it was often put forth that unconditional flaws in other people’s tail modeling were relatively easy to correct — so much so that the matter could be placed in the hands of the laymen only recently introduced to the Normal Distribution and its manifold ills.

The veracity of this view is provided to the reader via the performance (or otherwise) of fat-tailed predictors of so-called z1-streams such as this one. Specifically, if z1-predictor algorithms that do little more than fatten tails a little are currently performing well, this important empirical thesis is TRUE. Otherwise, this thesis is BUNK.

Assessment of Copulas

Another empirical result presented here is the efficacy of regular Vine copulas used to approximate the market-implied copulas for Cardano, Bitcoin, and Ethereum three-way price movements.

A model created once upon a time for reasons that might have been forgotten

Or maybe not. It was hard to say what these would look like, eventually, since these are driven off predictions for the top-level contest and those are, it is reasonable to assume, still improving. The reader is referred to the plots in the Copula gallery that might, with any luck, have been updating since 2021.

Other Auxiliary Predictions

Due to lack of prescience, the author was unable to describe, at the time of writing, other auxiliary predictions streams used by other people and machines to try to infer something of relevance to Ethereum/Bitcoin portfolio construction.

After all, any prediction algorithm participating in the described melee can, at any time, establish a “helper” stream and thereby source assistance from others with various prediction subtasks deemed necessary.

Back when this article was written the author had a hunch that some of those streams might be locatable by searching the stream listing for streams with “c2_” in their name. However, there can be no guarantee of this. Perhaps these tracks have been erased by the sands of time.

But others may have arrived. It was certainly possible, and foreseeable to some extent, that in between the writing of this article and your reading it, many more streams have been created without “c2_” prefixes.

Prediction Moments and Information Ratios

Separate from the observed moments, various statistics on the collective predictions made by algorithms are also published. For instance, the reader is referred to the expected values of all submissions received for the prediction of the c2_rebalanced portfolio (the mean is reported here and the standard deviation here).

Due to shortcomings in the Medium API (circa 2021) no automatically generated conclusions are presented here. However, a pdf has been generated and submitted each week since that time, to the Journal of Universal Rejection.

The reader may easily surmise the efficacy of some approaches compared to others. The author has no clue, existing in the past. However, it was possible to forsee that the z1-stream’s might, at the time of the reader’s perusing of this text, reflect on the accuracy or otherwise of the community of algorithms (consider this stream for instance, and whether Doodle Mammal is performing well or not. If so, one should expect further accuracy gains).

That stream also pertains to the predicted standard deviation for a portfolio with 65% of its value in Bitcoin and 35% in Ethereum, but it reports the community CDF transformed values. That concept might, or might not, be explained on this page.

Some data from long ago that nobody cares about

Nothing here should be construed as investment advice, or past investment advice.

Crowd-Driven Portfolio Profitability

With a similar caveat, the outrageously named c2_info_percent_bitcoin stream reports a (surely inadvisable) holding percentage in Bitcoin. That percentage is determined by inspection of the mean and standard deviation of predictions of the various rebalanced portfolios.

An empirical finding might be drawn from this, especially if it is combined into another stream reporting the difference in logarithmic returns between such a portfolio and a fixed-composition portfolio. The mechanism is unlikely to be exactly as it was in 2021 but the details can be found, quite possibly, in the codebase here.

To that end, the reader’s attention is also drawn to the stream c2_info_minus_rebalanced_80 that (hopefully, still) reports the difference between the active portfolio and one which rebalances to maintain a constant holding of 80% in Bitcoin.

There are, at the time of reading but not writing, many other streams of this ilk that report the profitability or otherwise of different types of approach also driven by the mutual efforts of competing algorithms in numerous languages.

Additionally, streams such as c2_daily_info_minus_rebalanced_55 report this in a coarser more longitudinal manner. And though this data is noisy it is, of course, in the interests of algorithms that predict it to see past this noise. The algorithm code-named Soggy Bat very briefly took advantage of some market inefficiency but soon lost out to better-motivated approaches. Of course, the reader is referred to the live results.

Time has moved on. For years, anyone has been free to alter this study for some time now (instructions) in any language, and as there are Python examples (here) showing how to create streams — thereby making this easier.

More strategies have been tried. By “strategy”, one refers to the designing of numerous related prediction streams to affect an ongoing, constantly improving pipeline or graph where nodes are micro-contests (it must be remembered that engineering systems in this manner was not always commonplace).


The current performance of this strategy, relative to the holding of a fifty-fifty portfolio of Ethereum and Bitcoin, was once the topic of this stream and probably still is.

The wisdom of using a swarm of algorithms to drive one’s holdings in Bitcoin and Ethereum was completely unclear at the time of writing. For instance, the two-day performance of this strategy was negative — not the best start for this particular experiment. Note the stream name change.

Of limited historical interest, this plot shows the first two days’ returns for a dynamic portfolio of Bitcoin and Ethereum, as compared to a portfolio rebalanced at fifty percent in each.

If, at the time of reading, the number in this stream are generally positive it might mean there is something to be said for engineering systems that slowly get better over time without anyone needing permission to improve them.

If you disagree, you can use the tools available to you now for continuous publication that the author was very jealous of, and write your scathing, ongoing rebuttal. You can debate the matter in the microprediction slack, and there might still be an invitation here. A summary of streams listed can be found in the microprediction repo.

Geek Culture

Proud to geek out. Follow to join our +1.5M monthly readers.