Datastories: Evolution of commodity markets

An interactive visualization about the spread of perturbations on the community markets, created for the 2015 annual Datastories exhibition at CEU.

Posted by Bálint Jenő Tóth, in the afternoon of the 5th of November, 2015
Photo by: Markus Spiske
Current price:
Highest price:
Lowest price:
Strongest positive correlations
Strongest negative correlations


Nodes represent commodity prices, normalized individually, on logarithmic scale. Edge colors and opacity represent the sign and strength of correlation between two prices in the past 5 years. Edges are filtered by the absolute value of the threshold, adjustable by one of the slides, while the date is adjustable by the other slide.

Further details about the commodities and the data sources used are available by clicking on the nodes.


Commodity prices have deep impact on our everyday life, while economical and sociological changes (panics, depression) are also well reflected on the markets. The mere number of prices and indices however make it virtually impossible to reach a general understanding about the dynamics of the world economy. The goal of this visualization was to give us an introspection to the temporal evolution of the structure of the commodity markets in the past 35 years.

The datasets used in the visualization are publicly available through This visualization is basically a time-dependent cord diagram. Cord diagrams in general are good at visualizing the structure of multi-dimensional data. This graph was created using d3.js, while previous analyses were performed in Python with numpy and custom codes. The original prices were detrended, yearly periodicity and the first principal component (roughly describing inflation and other external effects generally affecting all the prices, corresponding to 68% of all the variations in the dataset) was also removed. Detrended temporal correlations between the time series were calculated in an exponential averaging window, integrating approximately 5-year monthly data prior to a given time frame.

Correlations in the remaining data describe small common deviation in the price of the given product pair. Despite all the cautions these correlations are surprisingly strong, signifying important economical relationships between the given products. Using the handles it is really easy to navigate and track the changes in these relationships over time, or see less significant relations on the expense of additional noise.