Sounds of a Volatile Stock Market

Jordan Wirfs-Brock
CUInfoScience
Published in
6 min readMar 24, 2020

With the craziness of the stock market lately (down, up, down, up — it’s a 1980s aerobics class up in here!), there have been some nice visualizations flitting around Twitter, like this one:

The bars show the daily fluctuation as well as the day’s open/close, with the color representing the direction of change. Credit: Michael Batnick, link: Tweet link: https://twitter.com/michaelbatnick/status/1239643766191001602;

What I like about Michael Batnick’s visualization of two months of S&P 500 data is that it conveys the volatility as well as the drop. Looking at this I thought, could I make something similar using sonification?

Sonification is a set of techniques for using sounds to represent information and data — visualization for your ears. (For a thorough introduction with ample examples, check out the Sonification Handbook.)

So I set out to sonify stock market data with the goal of conveying both the recent precipitous drop and the crazy volatility. In this post, I’m going to explain how I did that (and all the nitty gritty design decisions). I encourage you to hear me out because major challenge with sonification is that we have to learn how to listen to data — we haven’t been exposed to sonifications the same way we’ve been exposed to graphs and charts. (Plus, I often find the backstories of data representations more interesting than the final products themselves.)

But if you’d like to skip all that, you can just listen to the final product in this short video:

Dow Jones Industrial average daily percent change (piano/top) and daily closing price (double bass/bottom) from Jan 2 to March 20, 2020, with 5 days/1 business week per second.

And in this longer video, I deconstruct the sonification and explain how to listen to it (this is essentially a video version of the rest of this post):

So…how did I make this and what does it all mean? Let’s jump in!

What data to use?

I used Dow Jones Industrial Average market data downloaded from Yahoo Finance for the two and a half months (1/02/20 to 3/20/20). Why this time period? I initially made a longer sonification going back six months, with the goal of emphasizing how much the past two weeks deviate from the “business as usual” leading up to them. But that version was just too long — even I got bored listening to it, and I’m a sonification nerd. This shorter time frame allows me to make a composition that is only 11 seconds long, while still retaining the before/after nature of the shift in the data.

I focused on two metrics: the daily percent change (conveying volatility) and the daily closing price (conveying overall market movement). [Note: Unlike the snitch that Dumbledore willed to Harry, stocks do not “open at the close” — you have to make sure to calculate daily percent change as close day 2 minus close day 1, divided by close day 1.]

What tool to use?

I’m a sonification nerd, but no expert sound designer or software developer, so I chose TwoTone.io. It’s free, has a nice graphical interface, and lets you toggle between many different settings (key, instrument, tempo, etc.).

TwoTone has a nice graphical interface that lets you see the data as well as where the playhead is during audio previews. It has several easily tweakable settings (key, octaves, tempo, arpeggio).

[Nerd note: TwoTone.io makes a specific kind of sonification called an auditory graph, where an element of data is mapped onto pitch and evolves over time, like reading a line graph left to right. Within the sonification community, this technique is both loved and vilified. For more, Michael Nees has a nice editorial in defense of the auditory graph which includes a thorough history of the debate.]

Designing the sounds

A fun feature of TwoTone is that you can tweak the settings and listen to the outcome in real time. And that’s what I did. A lot. My design process was basically a flurry of experimentation. Starting with daily percent change I played with the tempo, arpeggio versus single note, instrument, key, octaves in the range, and starting octave (in roughly that order but with much iteration).

I landed on a fast tempo, with 0.2 second per data point/day (so each second is a business week), but 3 notes for each data point. I made this choice because, even though it’s I’m representing overall percent change for a single day, the stock market fluctuates constantly throughout trading hours, so this gives the sense of rapid activity. I chose to use a descending arpeggio (the other options were single note or ascending arpeggio). This gave more texture/interest to the sound and made it more musical, while also emphasizing the fluctuating nature of the stock market. I settled on piano because it sounded best over a wide range of octaves (I went with a 6 octave range) — although I really wanted to use the marimbas they made it a lot harder for my ear to decipher the changes. And I chose the key of E Minor because, well, it sounded the best to me.

Deconstructing this, here’s what one day of percent change data sounds like when the stock market wasn’t moving very much:

The sound of the DJI daily percent change on a day when it had a small increase, +0.7%. You are hearing that single day looped four times.

And here’s what a big daily increase sounds like:

The sound of the DJI daily percent change on a day when it had a big increase, +5.2%. You are hearing that single day looped four times.

And here’s what a big daily decrease/drop sounds like:

The sound of the DJI daily percent change on a day when it had a big decrease, -6.3%. You are hearing that single day looped four times.

One day at a time is nice, but the stock market keeps marching forward, so we need to string the days together. Here’s what the first week of January sounded like when the market was slowly climbing. Notice how the arpeggios are centered around a middle range and sound fairly constant:

The sound of the DJI daily percent change for the first 5 days of 2020, when things were fairly flat and the market was still increasing. There are 5 days in each second, so this clip is the same week looped twice.

And here’s what last week (March 16 to March 20, 2020) sounded like. Notice how the arpeggios jump from being very high to very low, and then back again:

The sound of the DJI daily percent change for the first 5 days of 2020, when things were fairly flat and the market was still increasing. There are 5 days in each second, so this clip is the same week looped twice.

At this point the volatility is shining through. But how to also convey, along with volatility, what the trend of the stock market is that it’s been dropping? To do this, I brought in the daily closing price data as a second audio track. For this portion, I used one note/tone per data point (no arpeggios) to emphasize the slower, more methodical (and sometimes plunging) march of overall change. This also provides a nice underlying rhythm track to count off the days. The double bass was a nice instrument to serve this purpose, because it’s traditionally a rhythm instrument.

Here’s the highest value we’ve had so far in 2020:

The DJI high, from February 12, 2020, at over 29,500.

For contrast, here’s the lowest value (as of March 20…the market is continuing to drop as I write this…):

The DJI low (so far, it’s still dropping…) from March 20, 2020, at around 19,000.

Here’s what the closing prices of that same week from before in early January sounds like:

The daily closing price for the first 5 business days in January 2020.

And here’s what the closing prices for last week (March 16 to March 20) sounded like:

The last business week, where the Dow was volatile, with some wild swings up and down, but mostly down.

Now, we’re ready to put it all together. I really liked how the visual interface of TwoTone allowed me to make sense of what I was listening to, so I did a screen grab of the whole composition and added in a few annotations. As you saw at the top of the post, I presented it both with narration and as a standalone audio composition.

In case you want the sounds on their own, here they are as a combined sonification and as individual tracks (you can also download them directly from my GitHub page):

Both tracks together.
Just the daily percent change data (piano).
Just the daily closing price (double bass).

So what do you think? Does listening to stock market data illuminate any insights that you didn’t notice from just looking at graphs or reading the news? I think the jarring sounds of the past two weeks, after being lulled into a pattern in the first few months of 2020, emphasize just what a disruption this is.

How might we improve this sonification? Once thing I’d like to do would be to use a sliding tone/glissando instead of an arpeggio for the daily percent change, so the tones could meld from the opening price to the closing price. For that effect, instruments a trumpet or violin might work better than the piano. (And if I kept the piano arpeggio, I would have liked to have used an ascending arpeggio for the times when the market was climbing and a descending arpeggio for the times when it was dropping.) If I were to continue this project, I’d also like to adjust the visuals beyond just using a TwoTone.io screen grab because I think combining visualization and sonification together is a winning combo.

When I was trouble-shooting this, I played it for family and friends and they had a lot of great suggestions for how to improve it, like comparing it to historical plunges for reference, verbally or visually annotating it with relevant news events, or having a more detailed musical representation of each day’s activity.

If you were to make your own Dow Jones sonification, how would you do it? What decisions would you make differently? Well, you can! Here’s a link to the data I used posted on GitHub, which includes the raw values from Yahoo Finance plus the calculated daily overall and percent change. If you do make your own sonification, using TwoTone.io or another tool such as Georgia’s Tech’s Sonification Sandbox, I’d love to hear it!

--

--

Jordan Wirfs-Brock
CUInfoScience

Human-computer interaction researcher, designer & educator using data as a creative material; CS professor @ Whitman College; recovering journalist; runner.