Tag Archives: charts

Experimenting with Protovis

A couple of weeks ago I gave a talk on using graphics in R. During the question session, someone asked whether I had tried using Protovis, a javascript data visualisation library being developed at Stanford. It was an easy question to answer: no!

However, a bit of subsequent investigation revealed that Protovis has been developed very much in the spirit of Leland Wilkinson’s book The Grammar of Graphics, which I am currently reading, so I have decided to experiment with it here on the blog.

The charts I generate with R are all static images, while a tool like Protovis allows for user interaction which opens up some interesting possibilities. Compared to R, which I have been using for around 10 years, Protovis presents a double challenge: not only do I have to come to grips with Protovis itself, but I will also have to learn some basic Javascript programming. So, I expect it to be a slow journey.

As a tentative first step, I have reproduced the CDO chart from a recent post ranting about bubble charts. At first glance, it is essentially identical to the chart I produced using R. However, if you hover your mouse over the points on the chart, you should see the figures appear! It is by no means perfect (for example, it would probably look better if single points appeared, rather than every point on the chart and it could do with a legend), but it’s a start and I will persevere.

[pvis src=”http://stubbornmule.net/scripts/pv/test.js” img=”http://stubbornmule.net/blog/wp-content/CDO-circles.png” height=”125px”]CDO deals: total and recycled[/pvis]

Producing scripts using a Javascript library does have its drawbacks. For a start, it means the chart will only be visible when scripts can be run, so if you are reading this in an email or an RSS news reader, you will probably not see very much and will have to visit the page on the blog to see it. Even then, some of you may use script-blockers such as NoScript which will also break the chart (mind you, you can trust the Mule, so you could always whitelist this site!). Finally, I believe that some older browsers (such as IE6) will not support Protovis. It would be useful to see how many people can or cannot see the chart, so please let me know using this poll whether you can see the chart.


(polls)

Getting Protovis to work on the blog was a little fiddly, so for anyone interested, I have also written up a quick guide to using Protovis on a WordPress blog.

UPDATE: Reports in so far indicate that the chart is not working in Google Chrome or on mobile devices. More work to do it would seem!

The Mule goes SURFing

A month ago I posted about “SURF”, the newly-established Sydney R user forum (R being an excellent open-source statistics tool). Shortly after publishing that post, I attended the inaugural forum meeting.

While we waited for attendees to arrive, a few people introduced themselves, explaining why they were interested in R and how much experience they had with the system. I was surprised at the diversity of backgrounds represented: there was someone from the department of immigration, a few from various areas within the health-care industry, a group from the Australian Copyright Council (I think I’ve got that right—it was certainly something to do with copyright), a few from finance, some academics and even someone from the office of state revenue.

Of the 30 or so people who came to the meeting, many classed themselves as beginners when it came to R (although most had experience with other systems, such as SAS). So if there’s anyone out there who was toying with the idea of signing up but hesitated out of concern that they know nothing about R, do not fear. You will not be alone.

The forum organizer, Eugene Dubossarsky, proceeded to give an overview of the recent growth in R’s popularity and also gave a live demo of how quickly and easily you can get R installed and running. Since there were so many beginners, Eugene suggested that a few of the more experienced users could act as mentors to those interested in learning more about R. As someone who has used R for over 10 years, I volunteered my services. So feel free to ask me any and all of your R questions!

As well as being a volunteer mentor, I will have the pleasure of being the presenter at the next forum meeting on the 18th of August. Regular readers of the Stubborn Mule will not be surprised to learn that the topic I have chosen is The Power of Graphics in R. Here’s the overview of what I will be talking about:

In addition to its statistical computing prowess, R is one of the most sophisticated and flexible tools around for visualizing quantitative data. It can produce a wide variety of chart types, including scatter plots, box plots, dot plots, mosaic plots, 3D charts and more. Tweaking chart settings and adding customized annotations is a breeze and the charts can readily be output to a range of formats including images (jpeg or png), PDF and metafile formats.

Topics covered in this talk include:

  • Getting started with graphing in R
  • The basic charting types available
  • Customising charts (labels, axes, colour, annotations and more)
  • Managing different output formats
  • A look at the more advanced charting packages: lattice and ggplot2

Anyone who ever has a need to visualize their data, whether simply for exploration or for producing slick graphics for reports and presentations can benefit from learning to use R’s graphics features. The material presented here will get you well on your way. If you have ever been frustrated when trying to get charts in Excel to behave themselves, you will never look back once you switch to R.

For those of you in Sydney who are interested in a glimpse of how I use R to produce the charts you see here on the blog, feel free to come along. I hope to see you there!

Graphing using R

R Project logoLong-time readers of the Stubborn Mule will know that charts are a regular feature here. Almost all of these charts were produced using the R statistical software package which, in my view, produces far superior results to the most commonly used graphing tool: Excel. As a community service to help rid the world of horrible Excel charts, here is a quick tutorial on charting using R. Since R is a powerful and versatile tool, there is a lot more to it than covered here, so there may be more tutorials to come.

Installing and Running R

The first step is to get R installed on your computer. R is open source and can be downloaded for free from the Comprehensive R Archive Network (CRAN). It comes in many flavours: Mac, Windows and Linux.

Once you have installed R and have fired it up, you are presented with something that looks very different to Excel. This is the first indication that R is an interactive programming environment not a spreadsheet. You will see various messages, including copyright information, some instructions on how to display licence information, how to run a demo, get help, and finally you are presented with a command prompt: “>”. R is now waiting for you to type commands.

As an example, try entering the following command:

getwd()

This will display the current “working directory” (hence “wd”), which is the default folder that R will use for reading and writing data. You can easily change the working directory, either by using the drop-down menus (which menu option varies depending on whether you are using Windows, Mac or Linux) or by using the setwd command:

setwd("/Documents/Mule Docs")

Unless you have a “Mule Docs” folder in a “Documents” folder, you will need to substitute the name of one of your own folders, otherwise you will get an error message. Note that you need to use forward slashes (“/”) rather than backslashes (“\”) even on Windows.

You can see detailed explanations of any R command by prefixing the name of the command with a question mark:

?setwd

This is short for help(setwd). Of course, this assumes you know the name of the command already. To search the documentation for a keyword, use a double question-mark. For example

??median

will show a list of all the commands which feature the word “median” in their documentation. This is short for help.search(“median”). Note the use of double quotes (“) here, not required in the ?? syntax.

Reading Data and Charting

To get started, here is a simple data file in CSV fomat (“comma separated values”). Download it and save it in your working directory (or save it somewhere else and then change R’s working directory to where you just saved the file). You can then load the data into R with the following command:

x <- read.csv("demo.csv")

While the read.csv part is self-explanatory, the “<-” may look a little odd. It is the assignment operator. Whereas most programming languages simply use an “=” to assign to variables, R uses what is intended to look like an arrow. In this case, you should interpret the command as saying “read the contents of the file demo.csv and place the result in the variable x“.  To see the contents of x, you can simply type x at the command line and press return, which will display a table with all the data read from the demo.csv file. When dealing with larger “data frames” (to use the R lingo for this type of object), having that much data flash by may not be very useful. Some other useful commands for quickly inspecting your data are:

head(x)
tail(x)
summary(x)

Now you are ready for your first graph. Try this command:

plot(x)

You should see a simple, clean scatter-plot. If you would prefer a line graph, this is easily done too.

plot(x, type="l")

The plot function has many options, which you can explore in the documentation (just enter ?plot). There are also various commands for further annotations for your chart. Try the following commands:

grid()
axis(side=4)
text(2, -4, "Random Walk")

These will add gridlines, put axis labels on the right-hand sides (R numbers chart sides from 1 to 4 starting from the bottom and working clockwise) and finally displays text on the chart.

Using Program Files

Using R interactively like this is useful for familiarising yourself with the system and for performing quick calculations, but if you find yourself wanting to make small changes here and there, it will quickly become annoying re-typing long commands. This is when you should move to using program files. All that this involves is saving a series of R commands to a file using a text editor (you can just use a simple text editor like Notepad or TextEdit, but many fancier applications can help out by automatically highlighting R commands in different colours, a trick known as “syntax highlighting”). Here is one I prepared earlier: demo.R (by convention, R files are given the .R extension). You can download this and save it into the same folder as the demo.csv file. To execute a program file once you have saved it, you use the source command:

source("demo.R")

This example will also produce a chart of the demo data, but this time it saves the result to an image file (using the Portable Network Graphics image format). This is done using the png command:

png("demo.png", width=400, height=400)

The main parameters for this command are the filename of the image you want to produce and the size of the image. After you execute all of your desired charting commands, you must close off the graphics “device” and save the results, which is done using the following command:

dev.off()

To find out more about graphics “devices” in R, including saving to other file formats (such as PDF or JPEG), have a look at ?Devices.

So that’s it. You are up and running producing charts with R. To go further from here, while you wait for further tutorials, you can explore some of the R files I have used to produce charts for the blog. I store quite a few of them here on github.

Gigabang for your buck

This week Fairfax reported on Australia’s broadband pricing “war” in an article appearing in both the Sydney Morning Herald and the Age. The publisher thoughtfully spared online readers the egregious chart that it foisted on readers of the paper editions. Judging from this junk (to use the official adjective for low-quality charts), these newspapers should stick to journalism and steer clear of graphics.

The chart in question was brought to my attention by Mule Stable regular @zebra, who also kindly scanned it (and devised the headline of this post), allowing me to reproduce it here. It shows the pricing of a number of broadband internet plans offered by the four largest internet service providers (ISPs) in Australia.

Terribly designed chart showing prices vs download limits

Chart from print edition of The Age (29 April 2010)

It is a busy chart, made difficult to read by a number of ill-advised design decisions:

  • the horizontal axis reads from right to left rather than the conventional left to right
  • although labeled “Price vs Download”, price is on the horizontal axis, again violating convention*
  • repeating the ISP label for every point adds unnecessarily to the busy-ness of the chart and it also makes the legend redundant
  • labeling each point with the download limit (although not the price), adds more unnecessary ink

These conventions are arbitrary: we could just as well have developed a tradition in the West of reading from right to left, for example. But once a convention is in place, you have to have a very good reason to break with it. Otherwise, you end up making your chart harder for readers to interpret for no good reason.

But perhaps the biggest weakness in the chart is the labeling of the ISPs. Each has its own colour, but this is not enough for the eye to naturally group them together, which makes it hard to track the pricing trend provider by provider. This is easily addressed by connecting the points for each ISP with lines. Once this is done and the other short-comings are also addressed, a couple of anomalies in the data leap out immediately. Compared to their other plans, the Optus 100GB plan and the TPG 150GB appear dramatically over-priced, costing more than other plans that offer more data.

Improved chart of ISP plans $ v GBImproved version: Price vs Download limit

Of course, this phenomenon was there in the original chart, but it was hidden. So much so, that the journalist does not appear to have noticed at all as it went unremarked in the article. This is a good example of the power of good charting technique.

There are a number of possible explanations for the anomalous data points. They could simply be errors, although it is certainly not impossible (or perhaps even unlikely) that ISPs have illogical pricing policies. A more likely explanation is that the data includes apples and oranges: the higher-priced plans may be bundles offering additional services such as VOIP that are not included in the other more basic plans. Perhaps if Fairfax had done a better job on the chart in the first place, the journalist may have been prompted to answer this question for us.

* Typically “dependent variables” (the y of “y versus x”) appear on the vertical axis and “independent variables” on the horizontal axis.

The Mule trips up

In my last post, I fell into a common trap when dealing with financial time-series data: I did not adjust for inflation. The post examined recent trends in US personal consumption and concluded with the following chart showing a long history of year-on-year consumption growth.

Chart showing the year-on-year growth of US personal consumption

Year-on-year Growth of US Personal Consumption (1959-2010)

What stands out in the chart is the high rate of growth in the 1970s and 80s, a phenomenon that was picked up in comments on the blog post. Of course, the problem is that inflation was high in the 1970s and 80s and so at least some of that growth can be attributed to rising prices rather than increased consumption of “stuff”.

What I should have done is adjust the personal consumption expenditure (PCE) data for the effect of inflation. This is made easier by the fact that the Bureau of Economic Analysis publishes a companion to the PCE which serves exactly that purpose. The PCE price index (PCEPI) provides a measure of inflation very much like the consumer price index (CPI), but it is based on the particular basket of goods used in the PCE index. Using this index to scale consumption to 2010-equivalent dollars and then looking at the annual growth in this measure of “real” consumption results in a rather different picture.

A chart showing real growth in US personal consumption

Year-on-year Growth of US Personal Consumption (1959-2010)

As is often the case with inflation-adjusted data, this chart is noisier than the previous one, and real consumption exhibits bigger swings than the original “nominal” consumption figures. While there is still a declining trend in consumption over time, it is a more modest decline and the 1970s and 80s no longer appear to be a particularly unusual period. Futhermore, the contraction of consumption seen in the wake of the recent economic crisis no longer stands out so dramatically. The falls in real consumption in 1974, 1980 and 1991 were all of a similar size. In fact, the biggest fall was in the 12 months to November 1974. (Note that the github code repository has been updated to include this new chart).

I can be quick to criticize the charts in other publications, so it is only fair that I correct my own mistakes too.

UPDATE: a regular reader has suggested that for a series like the PCE, looking at the original series in nominal (not inflation-adjusted) terms actually is the most appropriate way to look at the data, so that the original post was actually fine. I’m still thinking this through….stay tuned, but it sounds like I will have to correct the correction!

Pyramid Perversion – More Junk Charts

Food pyramid charts

Knowing the reaction it would elicit, an old friend of mine sent me a link to an article entitled “Shocking Graphic Reveals Why a Big Mac Costs Less Than a Salad”, which featured the chart pictured here. I did indeed find the graphic shocking, but not for the reason the headline writer intended. The graphic in question, taken from the Consumerist which in turn had taken it from Good Medicine*, shows a pair of charts comparing the levels of subsidies different food types receive in the US compared to recommended dietary intake of corresponding food groups. Needless to say, the foods receiving the largest subsidies are the ones that should be consumed in the smallest proportions and the conclusion: no wonder Americans are getting fatter.

The idea that the US government’s agricultural policies appear to be producing decidedly unhealthy outcomes is one I have been reading about in the fascinating book The Omnivore’s Dilemma: A Natural History of Four Meals (its tale of the sex-life of corn alone makes it worth the price) and so this was not what I found shocking about the graphic. What shocked me was the travesty of data visualization used in the graphic: pyramid charts.

It should not be surprising that charts like this are becoming increasingly common since so many charting tools try to lure you into using them. The screenshot below shows the options that the current version of Microsoft Excel offers under the heading “Column” charts. I would argue that everything below “2-D Column” should be banned from the arsenal of the thinking chart-user. These variants on three-dimensional graphics all represent the trap “chart junk”: fancy extra details that, at best, add nothing to the information being conveyed and, at worst, result in distortion. Cones and pyramids fall well into the distortion category.

No doubt echoes of the “food pyramid” trope made the choice of pyramids an irresistible temptation for the Consumerist. The problem is that the data is represented by the height of each segment of the pyramid, but we tend to perceive the apparent volume of each layer. As a result, the layers near the top appear much smaller that they should relative to the lower layers**. This serves to drastically exaggerate how little government funding in the US is directed to fruits, vegetables, nuts and legumes. Using a more prosaic bar chart instead shows that, while the funding of meat and dairy is certainly far greater, the ratios are not as extreme as the pyramid suggests.

US Food Subsidies chart

The bar chart has the added advantage of making it easier to gauge the funding proportion for each category. Also, having each layer stacked one on top of another makes it harder to compare one figure with another. The bar chart eliminates the need for moving the shapes around in your mind in an attempt to make these comparisons. Note how close the funding levels are for grains compared to sugar, oil, starch and alcohol, while the pyramid chart  makes the funding of grains look significantly higher.

The original graphic compensates by quoting each of the figures, but this defeats the purpose of using a chart. If your chart does not make the numbers evident, use a table instead! The extent of the distortion that the pyramids produce is even more apparent in the case of the recommended diet data. While the recommended intake of sugar, oil and salt is certainly low, on the bar chart this category is no longer vanishingly small.

Recommended Diet Chart

Another visualisation alternative would be to use pie charts. While pie charts do have a bad reputation in statistical and scientific circles, and are often used and abused in many a business presentation, they allow more straightforward comparisons of the contributions categories make to the whole. In the pie chart it is much easier to see at a glance that vegetables and fruit should make up about a third of a regular diet, while protein combined with sugar, oil and salt should make up about a quarter. On the other hand, it is harder to use a pie chart to scan numerical values. For that purpose, the bar chart excels (no pun intended). So when choosing a chart to represent data, it is essential to first decide what aspect of the data you are aiming to highlight.

Diet Pie ChartThe pyramid charts were indeed intended to shock, but there was no need for the authors of the post to resort to misleading exaggeration. The figures should be allowed to speak for themselves. Even when using dispassionate bar charts, it remains clear that the US government is funneling a disproportionate amount of money into the types of food Americans are already over-consuming.

You might also be interested in these posts on charts.

* Thanks to Greg for the updated source.
** As a commenter on Lifehacker observed, this distortion would also occur in 2-D triangles, so it’s due to the shape rather than the 3-D nature of the charts. Having said that, the 3-D versions are far more common and indeed Excel only gives the 3-D options.

Junk Charts #3 – US Business Lending

Today’s “Chart of the Day” from Business Insider’s Clusterstock blog presents an alarming picture of the US economy viewed through the prism of bank business lending. The chart, which I have reproduced below, shows a precipitous collapse in lending*, described in dramatic language as “falling like a knife”. There is no doubt that the US economy remains in very poor health, but should we be getting as excited as Clusterstock?

Annual Change in US Commercial and Industrial Loans

Closer examination of the chart reveals that it is in fact quite misleading.

For a start, it makes the very common mistake of plotting a long series of data without adjusting for the fact that over time the value of the dollar has declined through inflation and the US economy has grown. As a result, more recent movements in the data take on an exaggerated scale.

Also, the chart shows annual changes without providing any sense of the base level of lending. Not only that, while attention is drawn to the US $300 billion annual decline in lending, the increase of close to US $300 billion just over a year earlier is ignored, when in fact the two largely offset one another. Certainly lending has declined, but rather than taking us into historically unprecedented territory, as the Clusterstock chart suggests, it actually means loan volumes are back to where they were in late 2007.

Both shortcomings are addressed in the chart below, which shows the history of loan volumes themselves rather than annual changes and overlays a series scaled by the gross domestic product (GDP) of the US to represent lending in “2010 equivalent” dollars.

US Commercial and Industrial Loans

Changes in lending do provide a useful reading of an economy’s health. But, it is important to be careful when using annual changes to read its current state. The change from January 2009 to January 2010 is affected just as much by what happened a year ago as by what happened last month. Since monthly data is available, we can in fact look at changes over a shorter period. The charts below show monthly changes, which are probably a little too volatile, and quarterly changes which are probably the best compromise. Since these charts extend only over a five year period, it is not as important to adjust for changes in the value of the dollar and the size of the economy.

Monthly Changes in US Commercial and Industrial Loans

Quarterly Changes in US Commercial and Industrial Loans

Both of these charts reveal an economy that certainly remains unhealthy and lending volumes are still declining. However, the declines of the last couple of years evidently reflect an unwinding of the enormous increases of a few years earlier. So rather than fretting that lending is “falling like a knife”, we can take some comfort from the fact that the rate of decline is diminishing from the worst point of the third quarter of 2009. The moral of the story is that charts can mislead as easily as words and should always be treated with caution.

* The data is sourced from the St Louis Fed “FRED” economic database.

Deceptive Charts #2

Last month I wrote about the dangers of secondary axes, but even charts with a single axis can be deceiving. I have been reflecting on this after reading Jon Peltier’s critique of Microsoft’s “professional” charting tutorials earlier this week. One of the charts Peltier takes issue with is a column chart which has the value axis starting at 100 rather than zero. He writes:

This is a major chart fail. The value axis on a column or bar chart should always include zero. Always. If you want to expand the scale to help resolve the values, then a column chart is not the right chart type.

Bar Chart - Bad
Median Income of Readers – Silicon Alley Version

This chart may do a good job of highlighting the Wall Street Journal leading position, thereby supporting Silicon Alley’s headline “The Journal Has The Richest Readership Among Print Pubs”. But it also gives a distorted impression of just how solid the Journal’s lead is. Starting the income axis at zero, shown in the chart below, gives a rather different impression. The Wall Street Journal still sits at the top, but the variation across the titles is much less significant than the original chart suggested.Bar Chart - Good(ish)

Median Income of Readers – Zero-based Version

Nevertheless, precisely because it displays less variation in the data, the zero-based chart does seem less useful and it is harder to read the values. Commenting on Peltier’s post and musing on my posterous Extras blog, I wondered whether starting axes with zero should be considered an inviolable rule of charting. One of the gurus of data visualisation is William S. Cleveland. In his book “The Elements of Graphing Data” he gives this advice: “Do not insist that zero always be included on a scale showing magnitude”. He goes on to make this argument:

For graphical communication in science and technology assume the viewer will look at the tick mark labels and understand them. Were we not able to make this assumption, graphical communication would be far less useful. If zero can be included on a scale without wasting undue space, then it is reasonable to include it, but never at the expense of resolution.

At first glance this would seem to get the Silicon Alley Insider out of chart jail. But the story does not end there. Cleveland’s book focuses on scientific charts, particularly line and scatterplots (also known as X-Y plots) and there is scarcely a bar or column chart to be found. Furthermore, in his paper “Graphical Methods for Data Presentation: Full Scale Breaks, Dot Charts, and Multibased Logging” (The American Statistician, November 1984), he makes the following observations:

The bar of a bar chart has two aspects that can be used to visually decode quantitative information—size (length and area) and the relative position of the end of the bar along the common scale. The changing sizes of the bars is an important and imposing visual factor; thus it is important that size encode something meaningful. The sizes of bars encode the magnitudes of deviations from the baseline. If the deviations have no important interpretation, the changing sizes are wasted energy and even have the potential to mislead (Schmid 1983).

Cleveland’s solution to showing data variation without having bar lengths deceive was to invent a new type of chart: the “dot plot”. Dot plots, which I have used here on the Stubborn Mule to illustrate statistics on asylum-seekers and universities, use position alone to encode the data. This means that it is much safer to drop zero from the axis. Although rather tricky to produce using Microsoft Excel (I use the R package), they are a good substitute for bar and column charts. This BeyeNetwork article goes into more detail about dot plots, including the use of multi-panel plots, which I will look at in a future post.

So, here is a dot plot version of the newspaper and magazine rankings by reader income.
Papers - dot plot
Median Income of Readers – Dot Plot Version

Now you know to be vigilant against the deceptive use of axis scales.

Hot and Dry Days Ahead for Australia

Earlier this month, the Australian Bureau of Meteorology released the October figure for the Southern Oscillation Index (SOI). It showed a precipitous plunge of almost 20 points down to -14.6. Just how significant a drop this is can be seen in the chart below, which shows the distribution of monthly changes in the SOI going back to 1876 (-14.6 is at the lower 5% quantile, which means that a fall as big as this, or bigger, has only occurred 5% of the time).

SOI histogram

Distribution of SOI changes (Jan 1876-Oct 2009)

But what exactly is the SOI and what is the significance of this decline in the index? The index is the standardised anomaly of the monthly average difference in sea-level air pressure between Tahiti and Darwin. “Standardised anomaly”  means that the index measures the deviation of this pressure difference from the long-term average and is scaled by the standard deviation of the pressure difference and then multiplied by 10. The significance of the index lies in its relationship to the El Niño weather phenomenon. According to the Bureau of Meteorology:

Sustained negative values of the SOI often indicate El Niño episodes. These negative values are usually accompanied by sustained warming of the central and eastern tropical Pacific Ocean, a decrease in the strength of the Pacific Trade Winds, and a reduction in rainfall over eastern and northern Australia. The most recent strong El Niño was in 1997/98, although its effect on Australia was rather limited. Severe droughts resulted from the weak to moderate El Niño events of 2002/03 and 2006/07.

The chart below gives a historical perspective of the SOI over the last ten years. To get a better sense of the trends in the index, I have overlaid two different types of curve smoothing: a lowess (“locally-weighted scatterplot smoothing”) curve and a spline curve. The two give very similar results and make the 2002/03 and 2006/07 SOI downturns clearly visible. The timing of these downturns suggest that the corresponding droughts follow with something of a lag.

SOI 10 year historySouthern Oscillation Index (Jan 2000-Oct 2009)

Over the last couple of years, the SOI has been solidly in positive territory and, again with a lag, there has followed an improvement in drought conditions. Indeed, New South Wales recently replaced the tight water restrictions which had been in place for a number of years with the less onerous “Water Wise” rules. Unfortunately, this change may turn out to have been premature. If the downward trend in the index seen over the last few months persists, Australia may face a return to severe drought conditions.

For anyone who is interested in how these charts were created, here is the R code. It is also available from the Stubborn Mule files section.

UPDATE: at the request of singingfish, here is a chart showing the full recorded history of the SOI back to 1876. The blue line is a spline smoothed curve.

SOI - Full History

Southern Oscillation Index (1876-2009)

Petrol Price Update

Another five months on since my last petrol price update and oil prices have continued to rise, but so has the value of the Australian dollar. So while crude oil prices in US dollars are up around 75% since their lows in February, they are only up 29% in Australian dollar terms.

WTI Prices - USD and AUDWest Texas Intermediate Oil Prices

The Australian dollar has been rising steadily for the last six months, pushed along by the Reserve Bank of Australia which has started raising their target cash rate. Higher interest rates in Australia make it more attractive for offshore investors to buy Australian securities and they have to buy Australian dollars to do so. Australian investors holding foreign assets may do the same.

Continue reading