Bitcoin Forum

Economy => Economics => Topic started by: lebing on June 11, 2013, 10:12:07 AM



Title: Price discovery
Post by: lebing on June 11, 2013, 10:12:07 AM
I for one am sick and tired of using mtgox's price as the default price for everything. This is a vulnerability and a weakness that can and should be fixed for a decentralized system. In order to take bitcoin's price discovery to the next level I propose that we use an algorithm which is based on the price of multiple exchanges which weights the price according to volume. I built a very simple formula which weights the real-time price based on the 30 day volume. You can see it for yourself here (its an open office .ods file):

http://www.filedropper.com/pricediscovery1

This example could easily be extrapolated all USD exchanges and eventually to aggregate the total numbers by incorporating numerous currencies.

Questions for the community:

1. Is 30 days the best volume time set to use?
2. Is there another data piece which should be included?
3. What else am I missing?

If enough people here agree with me that this is something useful and should be implemented, I will put up a bounty for a site to incorporate the data in realtime (and eventually offer API support).

Thanks for your consideration

edited for clarification


Title: Re: Price discovery
Post by: monsterer on June 11, 2013, 10:21:25 AM
You're going to have a problem when the weighted average doesn't represent the actual trade-able value of the currency.

IMO there is no point trying to fake a consistent price, you'll just have to wait for the currency to mature enough that the difference between value on different exchanges gets arbitraged away.

Cheers, Paul.


Title: Re: Price discovery
Post by: Kazimir on June 11, 2013, 10:22:58 AM
+1 for MtGox not being the default for everything. People should be aware there are plenty of alternatives. More competition and diversity = more decentralization, which just makes sense with the Bitcoin philosophy in mind.


Title: Re: Price discovery
Post by: yocko06 on June 11, 2013, 10:28:45 AM
I like this as an idea. I have nothing at all against mtgox but i think bitcoin is decentralized and it is getting to the point where a price should be more decentralized. It is a weakness and make bitcoin more vulnerable to manipulation.
good idea.


Title: Re: Price discovery
Post by: lebing on June 11, 2013, 10:32:26 AM
You're going to have a problem when the weighted average doesn't represent the actual trade-able value of the currency.

IMO there is no point trying to fake a consistent price, you'll just have to wait for the currency to mature enough that the difference between value on different exchanges gets arbitraged away.

Cheers, Paul.

Monsterer - can you clarify why this wouldn't represent the actual tradeable value of the currency? The idea was not to make it artificially smooth, its just a byproduct when you are incorporating more data.


Title: Re: Price discovery
Post by: monsterer on June 11, 2013, 10:42:14 AM
Monsterer - can you clarify why this wouldn't represent the actual tradeable value of the currency? The idea was not to make it artificially smooth, its just a byproduct when you are incorporating more data.

A 30 day weighted average will be extraordinarily laggy. You can't really escape it completely by reducing the time-frame, lag will always be present. So its highly likely that (since bitcoin is so volatile) the weighted average indicates one price, whereas the actual trade-able value on the exchanges is nowhere near since (for example) someone just dumped 20k BTC an hour ago.

I suggest reviewing historical data and computing the average based on that, then compare that average to the actual traded price at the time to give you an idea just how bad/good this idea is.

Cheers, Paul.


Title: Re: Price discovery
Post by: lebing on June 11, 2013, 10:49:13 AM
Monsterer - can you clarify why this wouldn't represent the actual tradeable value of the currency? The idea was not to make it artificially smooth, its just a byproduct when you are incorporating more data.

A 30 day weighted average will be extraordinarily laggy. You can't really escape it completely by reducing the time-frame, lag will always be present. So its highly likely that (since bitcoin is so volatile) the weighted average indicates one price, whereas the actual trade-able value on the exchanges is nowhere near since (for example) someone just dumped 20k BTC an hour ago.

I suggest reviewing historical data and computing the average based on that, then compare that average to the actual traded price at the time to give you an idea just how bad/good this idea is.

Cheers, Paul.

Ah sorry if my original post wasn't clear, but I'm not using a 30 day weighted average price. I'm using the realtime price. The aggregate price is then weighted based on the volume that the exchange does over a 30 day time period. This ensures that the price is both real time and weights the most influential exchanges' price accordingly.


Title: Re: Price discovery
Post by: nwbitcoin on June 11, 2013, 11:12:14 AM
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!



Title: Re: Price discovery
Post by: lebing on June 11, 2013, 11:26:56 AM
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).


Title: Re: Price discovery
Post by: reg on June 11, 2013, 11:33:03 AM
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!



+1 I also think this would work and it is a good idea to get a closer approximation as to the tradeable value of a bitcoin. reg.


Title: Re: Price discovery
Post by: cr1776 on June 11, 2013, 11:58:05 AM
I like the idea of weighting by the volume on a particular exchange, however since you have the data, you could calculate it using your method and the just a simple average.  It would be useful to see how much they diverge.

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).


Title: Re: Price discovery
Post by: prof7bit on June 11, 2013, 12:40:07 PM
Who would use this averaged price, what *practical* significance would it have?

If I were a merchant who somhow needs to peg the BTC prices of my products to the corresponding FIAT value (for whatever reason) then I would need to use the prices of the exchange that I am using and not some artificial average price from the other end of the world that is of no practical use for me because it does not represent the price of my Bitcoins here and now.


Title: Re: Price discovery
Post by: lebing on June 11, 2013, 03:49:58 PM
Who would use this averaged price, what *practical* significance would it have?

If I were a merchant who somhow needs to peg the BTC prices of my products to the corresponding FIAT value (for whatever reason) then I would need to use the prices of the exchange that I am using and not some artificial average price from the other end of the world that is of no practical use for me because it does not represent the price of my Bitcoins here and now.

Well for example, localbitcoins and OTC are the most obvious choices. Over time, firms like bitpay and by extension, merchants might use the service.


Title: Re: Price discovery
Post by: reg on June 11, 2013, 04:35:04 PM
Who would use this averaged price, what *practical* significance would it have?

If I were a merchant who somhow needs to peg the BTC prices of my products to the corresponding FIAT value (for whatever reason) then I would need to use the prices of the exchange that I am using and not some artificial average price from the other end of the world that is of no practical use for me because it does not represent the price of my Bitcoins here and now.

you are right and wrong! the price is irrelevant when exchanging immediately and converting into fiat- that is the exchange function of bitcoin and you only need to know the price at the time of transaction on your exchange. however it is natural to prefer to use and stay with one exchange and there may(will) be differences between exchanges. arbiters make use of this and it is profiting from rate differences that is to the disadvantage of all bitcoin users in the same way banks charge to exchange money from one currency to another. It is the single exchange that is the artificial price of bitcoin and the average across all exchanges that is closer to the true value. it is in everyone's interest that the value is determined on a small differential as possible between exchanges. reg.   


Title: Re: Price discovery
Post by: franky1 on June 11, 2013, 04:53:36 PM
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!



the only problem with sampling 10 exchanges is that each exchange seems to follow (like sheep) mtgox.

EG bitstamp is usually $1 more BTC-e is usually a little less.. but whenever mtgox skyrockets or plummits.. the others follow suit for no direct reasons but to stay in toe of mtgox value, thus bringing you back to a average of 10 exchanges still being the same as mtgox


Title: Re: Price discovery
Post by: DeathAndTaxes on June 11, 2013, 04:56:50 PM
I am working on an API which will provide a global volume weighted exchange rate and glad to see others doing the same.  However a 30 day period is just far far too long to be of use to anyone at anytime.  Internally we use 24 hour, 1 hour, and 5 minute VWAP depending on the purpose.

Mixing in non USD is likely not going to be useful for most people.  If you want to I would recommend making that an option (i.e. "pure USD" or "USD including converted non-US trades")


Title: Re: Price discovery
Post by: lebing on June 11, 2013, 05:13:34 PM
I am working on an API which will provide a global volume weighted exchange rate and glad to see others doing the same.  However a 30 day period is just far far too long to be of use to anyone at anytime.  Internally we use 24 hour, 1 hour, and 5 minute VWAP depending on the purpose.

Mixing in non USD is likely not going to be useful for most people.  If you want to I would recommend making that an option (i.e. "pure USD" or "USD including converted non-US trades")

Nice - good to see its already being done - will yours be public or private only?

VWAP = volume weighted average price?


Title: Re: Price discovery
Post by: RodeoX on June 11, 2013, 05:23:36 PM
But here is the problem. Let's say we agree that a 7 day weighted avg. of top exchanges is a better valuation. And let's say that price is $105USD. But when we check gox that day the current price is $120USD.

So, who wants to sell me your BTC for $105USD? Unless people are willing to act irrationally and take an effective loss they will prefer the best guess as to the current price, which is the current Mt.Gox price.  Their sheer domination of sales makes it so, even if we don't like it.


Title: Re: Price discovery
Post by: franky1 on June 11, 2013, 05:42:13 PM
more revolutionary idea:

take the 3600 coins made per day.. take the total miners by day. to give you a average income per person per day.

treat this as minimum wage a days labour.

EG (simplified) lets say there is 7200 miners = 0.5BTC per day per miner.

national minimum wage for US=$7.25 x 10 hours 72.50
national minimum wage for UK=£6.31 x 10 hours 63.10

so making an acceptable living lifestyle on bitcoin of 1BTC = $145 / £126.20 each


Title: Re: Price discovery
Post by: RodeoX on June 11, 2013, 05:46:06 PM
more revolutionary idea:

take the 3600 coins made per day.. take the total miners by day. to give you a average income per person per day.

treat this as minimum wage a days labour.

EG (simplified) lets say there is 7200 miners = 0.5BTC per day per miner.

national minimum wage for US=$7.25 x 10 hours 72.50
national minimum wage for UK=£6.31 x 10 hours 63.10

so making an acceptable living lifestyle on bitcoin of 1BTC = $145 / £126.20 each
I like your idea here. But alas, would you like to buy a BTC from me for $145? Oh.


Title: Re: Price discovery
Post by: franky1 on June 11, 2013, 05:54:42 PM
more revolutionary idea:

take the 3600 coins made per day.. take the total miners by day. to give you a average income per person per day.

treat this as minimum wage a days labour.

EG (simplified) lets say there is 7200 miners = 0.5BTC per day per miner.

national minimum wage for US=$7.25 x 10 hours 72.50
national minimum wage for UK=£6.31 x 10 hours 63.10

so making an acceptable living lifestyle on bitcoin of 1BTC = $145 / £126.20 each
I like your idea here. But alas, would you like to buy a BTC from me for $145? Oh.

yes i would. because stage 2 of the idea is pricing food and goods in bitcoin the same way governments price food/groceries based on the "living costs vs minimum wage" calculations.

then we will base bitcoin based on costs of living such as how many loaves of bread can be bought with a standard wage atleast then we are less reliant on a fiat valuation, but more so on a barter/ good value pricing

this is how i think satoshi and all them freedom fighters envisioned the future of bitcoin. before mtgox pegged it directly to a dollar valuation.

and the reason i say yes i would is because i value bitcoin as it should be.. your still thinking like a sheep. looking at the mtgox price and saying $110 vs $145... profit!!!

which goes against the point of this thread..


Title: Re: Price discovery
Post by: lebing on June 11, 2013, 08:01:39 PM
But here is the problem. Let's say we agree that a 7 day weighted avg. of top exchanges is a better valuation. And let's say that price is $105USD. But when we check gox that day the current price is $120USD.

So, who wants to sell me your BTC for $105USD? Unless people are willing to act irrationally and take an effective loss they will prefer the best guess as to the current price, which is the current Mt.Gox price.  Their sheer domination of sales makes it so, even if we don't like it.

Its real time pricing which is weighted based on the volume of the exchange.


Title: Re: Price discovery
Post by: RodeoX on June 11, 2013, 08:03:10 PM
more revolutionary idea:

take the 3600 coins made per day.. take the total miners by day. to give you a average income per person per day.

treat this as minimum wage a days labour.

EG (simplified) lets say there is 7200 miners = 0.5BTC per day per miner.

national minimum wage for US=$7.25 x 10 hours 72.50
national minimum wage for UK=£6.31 x 10 hours 63.10

so making an acceptable living lifestyle on bitcoin of 1BTC = $145 / £126.20 each
I like your idea here. But alas, would you like to buy a BTC from me for $145? Oh.

yes i would. because stage 2 of the idea is pricing food and goods in bitcoin the same way governments price food/groceries based on the "living costs vs minimum wage" calculations.

then we will base bitcoin based on costs of living such as how many loaves of bread can be bought with a standard wage atleast then we are less reliant on a fiat valuation, but more so on a barter/ good value pricing

this is how i think satoshi and all them freedom fighters envisioned the future of bitcoin. before mtgox pegged it directly to a dollar valuation.

and the reason i say yes i would is because i value bitcoin as it should be.. your still thinking like a sheep. looking at the mtgox price and saying $110 vs $145... profit!!!

which goes against the point of this thread..
Then do you want to buy a couple hundred bitcoins? I can send them tonight. I will, of course, use the money to buy even more bitcoins at gox.
The market controls the price of bitcoin, not Mt.Gox. I for one am happy that no one can change that.


Title: Re: Price discovery
Post by: niko on June 11, 2013, 08:11:05 PM
This is reasonable. I would simply use the same period to average the price and volume for each exchange, then calculate the volume-weighted price from that. No need to smooth-out volume over a month. Weigh the price based on where the action is, that is all. Most of us agree that not all action is at Gox.
 


Title: Re: Price discovery
Post by: DoomDumas on June 12, 2013, 02:18:43 AM
30 days is way too long concidering this thin volatile market/asset..

from 1h to 24h, for the 10 biggest exchange, with top and bottom price trimmed before doing the average.. this would sounds faire for me.. When the volume will increase a lot, 100 times or so, then the volatility should became much less, and a longer period of time could be used.


Title: Re: Price discovery
Post by: DoomDumas on June 12, 2013, 02:24:01 AM
Ah sorry if my original post wasn't clear, but I'm not using a 30 day weighted average price. I'm using the realtime price. The aggregate price is then weighted based on the volume that the exchange does over a 30 day time period. This ensures that the price is both real time and weights the most influential exchanges' price accordingly.

Ok, more interesting this way !


Title: Re: Price discovery
Post by: DoomDumas on June 12, 2013, 02:30:27 AM
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!



the only problem with sampling 10 exchanges is that each exchange seems to follow (like sheep) mtgox.

EG bitstamp is usually $1 more BTC-e is usually a little less.. but whenever mtgox skyrockets or plummits.. the others follow suit for no direct reasons but to stay in toe of mtgox value, thus bringing you back to a average of 10 exchanges still being the same as mtgox

Om the spike to 250$, CaVirtex was leading the way for a month,...


Title: Re: Price discovery
Post by: Epicurus on June 12, 2013, 02:38:18 AM
more revolutionary idea:

take the 3600 coins made per day.. take the total miners by day. to give you a average income per person per day.

treat this as minimum wage a days labour.

EG (simplified) lets say there is 7200 miners = 0.5BTC per day per miner.

national minimum wage for US=$7.25 x 10 hours 72.50
national minimum wage for UK=£6.31 x 10 hours 63.10

so making an acceptable living lifestyle on bitcoin of 1BTC = $145 / £126.20 each

Isn't bitcoin meant to be a global currency? Why try to peg it to the minimum wages of only the very richest of countries?


Title: Re: Price discovery
Post by: Zangelbert Bingledack on June 12, 2013, 11:21:29 AM
the only problem with sampling 10 exchanges is that each exchange seems to follow (like sheep) mtgox.

That's the very problem OP's proposal is meant to solve. Besides arbitrage and MtGox's still-dominant market share, another significant part of the reason the other exchanges follow MtGox in a sheeplike fashion is that MtGoxUSD is the price everyone watches, and that's partly because there is no convenient way to see a nice weighted average price for all the exchanges.


Title: Re: Price discovery
Post by: niko on June 12, 2013, 02:37:34 PM
the only problem with sampling 10 exchanges is that each exchange seems to follow (like sheep) mtgox.

That's the very problem OP's proposal is meant to solve. Besides arbitrage and MtGox's still-dominant market share, another significant part of the reason the other exchanges follow MtGox in a sheeplike fashion is that MtGoxUSD is the price everyone watches, and that's partly because there is no convenient way to see a nice weighted average price for all the exchanges.
This is something bitcoincharts should implement.


Title: Re: Price discovery
Post by: nwbitcoin on June 12, 2013, 02:44:57 PM
Some good feedback which needs to be addressed.

If you want the volume as well as the price, then the formula needs to be altered although the sampling per hour doesn't need to change.

Just multiply the volume of the exchange by the price.  Find the average of all the exchanges.
Now just add the volume of all the exchanges and divide it by the average of all the exchanges

for instance:


exchanges           1           2         3
volume               100        200      50
price                  10          12        8

Average bitcoin price 10
average bitcoin price by volume 10.87

This should work even better to break exchanges that try to be too cheap or too expensive compared to the world price.  This gives you a MTGox style price, but without the centralised exchange! ;)




Title: Re: Price discovery
Post by: RodeoX on June 12, 2013, 02:55:23 PM
@nwbitcoin
I like your math there, and I think the formula makes sense. But I wonder if the resulting price is within pennies of the Mt.Gox price? In any case, It is good to prepare for a post-Gox economy.


Title: Re: Price discovery
Post by: maco on June 13, 2013, 12:35:51 AM
+1 for a great come back. :)
+1 for MtGox not being the default for everything. People should be aware there are plenty of alternatives. More competition and diversity = more decentralization, which just makes sense with the Bitcoin philosophy in mind.


Title: Re: Price discovery
Post by: Viscera on June 13, 2013, 01:37:16 AM
Monsterer - can you clarify why this wouldn't represent the actual tradeable value of the currency? The idea was not to make it artificially smooth, its just a byproduct when you are incorporating more data.

A 30 day weighted average will be extraordinarily laggy. You can't really escape it completely by reducing the time-frame, lag will always be present. So its highly likely that (since bitcoin is so volatile) the weighted average indicates one price, whereas the actual trade-able value on the exchanges is nowhere near since (for example) someone just dumped 20k BTC an hour ago.

I suggest reviewing historical data and computing the average based on that, then compare that average to the actual traded price at the time to give you an idea just how bad/good this idea is.

Cheers, Paul.

Ah sorry if my original post wasn't clear, but I'm not using a 30 day weighted average price. I'm using the realtime price. The aggregate price is then weighted based on the volume that the exchange does over a 30 day time period. This ensures that the price is both real time and weights the most influential exchanges' price accordingly.

This sounds brilliant. This would mean that Mount Gox would still be the most influential at the start as it has the most volume, but would give us a price that is not solely dependant on one exchange and who's influence can become independent of any particular exchange. I look forward to seeing it made   


Title: Re: Price discovery
Post by: lebing on June 13, 2013, 05:31:02 AM
Monsterer - can you clarify why this wouldn't represent the actual tradeable value of the currency? The idea was not to make it artificially smooth, its just a byproduct when you are incorporating more data.

A 30 day weighted average will be extraordinarily laggy. You can't really escape it completely by reducing the time-frame, lag will always be present. So its highly likely that (since bitcoin is so volatile) the weighted average indicates one price, whereas the actual trade-able value on the exchanges is nowhere near since (for example) someone just dumped 20k BTC an hour ago.

I suggest reviewing historical data and computing the average based on that, then compare that average to the actual traded price at the time to give you an idea just how bad/good this idea is.

Cheers, Paul.

Ah sorry if my original post wasn't clear, but I'm not using a 30 day weighted average price. I'm using the realtime price. The aggregate price is then weighted based on the volume that the exchange does over a 30 day time period. This ensures that the price is both real time and weights the most influential exchanges' price accordingly.

This sounds brilliant. This would mean that Mount Gox would still be the most influential at the start as it has the most volume, but would give us a price that is not solely dependant on one exchange and who's influence can become independent of any particular exchange. I look forward to seeing it made   

Thanks - and yes this is exactly the idea. It helps transition away from mtgox as smoothly as possible and also paves a way for newer, more effective exchanges to come online seamlessly.


Title: Re: Price discovery
Post by: lebing on June 13, 2013, 05:37:05 AM
Some good feedback which needs to be addressed.

If you want the volume as well as the price, then the formula needs to be altered although the sampling per hour doesn't need to change.

Just multiply the volume of the exchange by the price.  Find the average of all the exchanges.
Now just add the volume of all the exchanges and divide it by the average of all the exchanges

for instance:


exchanges           1           2         3
volume               100        200      50
price                  10          12        8

Average bitcoin price 10
average bitcoin price by volume 10.87

This should work even better to break exchanges that try to be too cheap or too expensive compared to the world price.  This gives you a MTGox style price, but without the centralised exchange! ;)


Interesting - why do you feel using an average is more effective than using the totals?
I also multiplied the price by the volume in each case, then summed them, then summed the volume and divided the (multiplied) number total by the volume total.


Title: Re: Price discovery
Post by: nwbitcoin on June 13, 2013, 01:18:11 PM

Average bitcoin price 10
average bitcoin price by volume 10.87



Interesting - why do you feel using an average is more effective than using the totals?
I also multiplied the price by the volume in each case, then summed them, then summed the volume and divided the (multiplied) number total by the volume total.

My reasoning are to do with making live easy for the end user!

If you are using a total,  the end user needs to manually work out how that total figure relates to the bitcoin price - a simple enough sum but people are lazy! ;)



Title: Re: Price discovery
Post by: alan2here on June 13, 2013, 01:42:09 PM
Quote
exchanges           1           2         3
volume               100        200      50
price                  10          12        8

...
Average bitcoin price by volume 10.87

Quote
Bitcoin Charts

Hoorah, lets do it :-)


Title: Re: Price discovery
Post by: nwbitcoin on June 13, 2013, 03:35:42 PM
Before we set up a website to do this, let's be a little clever, and only have a centralised algorithm based on this thread.

So, if everyone uses the same formula, and sticks it on their websites, sampling at an hour interval but not on the hour, we will have a bitcoin price that can't be manipulated due to centralisation!

If you want, I can write a quick script that can be cut and pasted but will follow this guideline that its your server fetching the samples, as this is the principle that prevents centralisation problems. For instance, and timeouts while sampling, automatically removes that exchange from the end price.

We just need a fancy name for the formula, like "real bitcoin" price, so people know what they are talking about this price.

Feedback?







Title: Re: Price discovery
Post by: hobbes on June 14, 2013, 08:02:34 AM
Bitcoincharts has this already:

Quote
Weighted Prices

Bitcoincharts offers weighted prices for several currencies at http://api.bitcoincharts.com/v1/weighted_prices.json. You can use this to price goods and services in Bitcoins. This will yield much lower fluctuations than using a single market's latest price.

Weighted prices are calculated for the last 24 hours, 7 days and 30 days.

Code:
USD: {u'7d': u'103.74', u'30d': u'116.14', u'24h': u'103.02'}

EUR: {u'7d': u'79.91', u'30d': u'89.89', u'24h': u'78.27'}

With Bitcoin fluctuating wildly it might be interesting to have one for the last hour, too.



Title: Re: Price discovery
Post by: lebing on June 14, 2013, 08:48:54 AM
Bitcoincharts has this already:

Quote
Weighted Prices

Bitcoincharts offers weighted prices for several currencies at http://api.bitcoincharts.com/v1/weighted_prices.json. You can use this to price goods and services in Bitcoins. This will yield much lower fluctuations than using a single market's latest price.

Weighted prices are calculated for the last 24 hours, 7 days and 30 days.

Code:
USD: {u'7d': u'103.74', u'30d': u'116.14', u'24h': u'103.02'}

EUR: {u'7d': u'79.91', u'30d': u'89.89', u'24h': u'78.27'}

With Bitcoin fluctuating wildly it might be interesting to have one for the last hour, too.

Im not a coder - so I cant see what this actually is - but is it weighted by volume? If so, that's great. They should make a feature on the site as well.


Title: Re: Price discovery
Post by: lebing on June 14, 2013, 08:49:52 AM
Before we set up a website to do this, let's be a little clever, and only have a centralised algorithm based on this thread.

So, if everyone uses the same formula, and sticks it on their websites, sampling at an hour interval but not on the hour, we will have a bitcoin price that can't be manipulated due to centralisation!

If you want, I can write a quick script that can be cut and pasted but will follow this guideline that its your server fetching the samples, as this is the principle that prevents centralisation problems. For instance, and timeouts while sampling, automatically removes that exchange from the end price.

We just need a fancy name for the formula, like "real bitcoin" price, so people know what they are talking about this price.

Feedback?


I like that idea. But before you spend too much time working on it - lets see what we can get out of bitcoincharts first


Title: Re: Price discovery
Post by: lebing on June 19, 2013, 06:32:04 AM
Bump as a request to the coders in the house. Can anyone confirm or deny that bitcoincharts has this functionality already in their api?


Title: Re: Price discovery
Post by: notme on June 20, 2013, 07:47:34 AM
Bump as a request to the coders in the house. Can anyone confirm or deny that bitcoincharts has this functionality already in their api?

If you just want last price for various exchanges, yes.  I'm not sure what "this functionality" is?


Title: Re: Price discovery
Post by: lebing on June 20, 2013, 10:43:17 AM
Bump as a request to the coders in the house. Can anyone confirm or deny that bitcoincharts has this functionality already in their api?

If you just want last price for various exchanges, yes.  I'm not sure what "this functionality" is?

I was referring to what hobbes posted - you can see it at the top of this page quoted


Title: Re: Price discovery
Post by: legitnick on June 20, 2013, 08:16:05 PM
I for one am sick and tired of using mtgox's price as the default price for everything. This is a vulnerability and a weakness that can and should be fixed for a decentralized system. In order to take bitcoin's price discovery to the next level I propose that we use an algorithm which is based on the price of multiple exchanges which weights the price according to volume. I built a very simple formula which weights the real-time price based on the 30 day volume. You can see it for yourself here (its an open office .ods file):

http://www.filedropper.com/pricediscovery1

This example could easily be extrapolated all USD exchanges and eventually to aggregate the total numbers by incorporating numerous currencies.

Questions for the community:

1. Is 30 days the best volume time set to use?
2. Is there another data piece which should be included?
3. What else am I missing?

If enough people here agree with me that this is something useful and should be implemented, I will put up a bounty for a site to incorporate the data in realtime (and eventually offer API support).

Thanks for your consideration

edited for clarification
I totally agree, Bitcoiners need to learn MTGOX is just another exchange, not the default bitcoin price. They can change the price for their gains just like any other exchange.


Title: Re: Price discovery
Post by: Bitcoin Roll on June 20, 2013, 10:38:27 PM
Sounds like a good idea here is where you can begin http://www.prweb.com/releases/2013/6/prweb10788675.htm


Title: Re: Price discovery
Post by: lebing on June 23, 2013, 08:58:12 PM
Looks like bitpay is already using their own metric similar to this - I wonder why they dont make it public (or if they do I havent heard of it)?
http://rt.com/op-edge/bitcoin-currency-max-keiser-138/


Title: Re: Price discovery
Post by: notme on June 26, 2013, 04:17:24 AM
Looks like bitpay is already using their own metric similar to this - I wonder why they dont make it public (or if they do I havent heard of it)?
http://rt.com/op-edge/bitcoin-currency-max-keiser-138/

google "bitcoin rates"

first link: https://bitpay.com/bitcoin-exchange-rates


Title: Re: Price discovery
Post by: lebing on June 26, 2013, 08:37:51 AM
Looks like bitpay is already using their own metric similar to this - I wonder why they dont make it public (or if they do I havent heard of it)?
http://rt.com/op-edge/bitcoin-currency-max-keiser-138/

google "bitcoin rates"

first link: https://bitpay.com/bitcoin-exchange-rates

Looks like that has been updated actually just a few days ago: http://blog.bitpay.com/2013/06/important-update-on-bitpay-exchange.html?oid=1039_1

Though I have no idea what that actually means, im just happy people are moving away from mtgox. That's what this thread was about and if its already happening, then great.