If the idea is to have a price that is quoted, as the price of bitcoin, then the best option is to just do an average of averages.
For instance, if you have 10 different exchanges, you sample the price at each exchange on the hour, and average the price, having sliced the top and bottom prices from the sum.
This formula would be accurate enough to give info, but not too accurate to cause caching or logging issues. Anything more would be taken directly from the exchange being used to trade from.
If someone wanted to create a 30 day average price, they could from the figure created every hour, but for the rawest useful global number, I think this might work!
I thought about using a simple average, but didn't for two reasons:
1. The rate should be affected by the volume at each exchange. This makes it much less prone to manipulation and is a more accurate reading of where the trades are happening.
2. It provides a fluid transition mechanism for new exchanges to come on board without having to abruptly switch from one exchange to another. As their volume increases, so does their influence on the price and if one goes down, the rest carry the weight until its back up (if it comes back up).