Author

Topic: Price discovery (Read 3630 times)

legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 26, 2013, 04:37:51 AM
#50
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.
legendary
Activity: 1904
Merit: 1002
June 26, 2013, 12:17:24 AM
#49
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
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 23, 2013, 04:58:12 PM
#48
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/
newbie
Activity: 44
Merit: 0
June 20, 2013, 06:38:27 PM
#47
Sounds like a good idea here is where you can begin http://www.prweb.com/releases/2013/6/prweb10788675.htm
hero member
Activity: 532
Merit: 500
June 20, 2013, 04:16:05 PM
#46
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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 20, 2013, 06:43:17 AM
#45
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
legendary
Activity: 1904
Merit: 1002
June 20, 2013, 03:47:34 AM
#44
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?
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 19, 2013, 02:32:04 AM
#43
Bump as a request to the coders in the house. Can anyone confirm or deny that bitcoincharts has this functionality already in their api?
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 14, 2013, 04:49:52 AM
#42
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
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 14, 2013, 04:48:54 AM
#41
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.
full member
Activity: 128
Merit: 107
June 14, 2013, 04:02:34 AM
#40
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.

sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
June 13, 2013, 11:35:42 AM
#39
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?





hero member
Activity: 1778
Merit: 504
WorkAsPro
June 13, 2013, 09:42:09 AM
#38
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 :-)
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
June 13, 2013, 09:18:11 AM
#37

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! Wink

legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 13, 2013, 01:37:05 AM
#36
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! Wink


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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 13, 2013, 01:31:02 AM
#35
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.
sr. member
Activity: 660
Merit: 250
June 12, 2013, 09:37:16 PM
#34
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   
sr. member
Activity: 294
Merit: 250
June 12, 2013, 08:35:51 PM
#33
+1 for a great come back. Smiley
+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.
legendary
Activity: 3066
Merit: 1147
The revolution will be monetized!
June 12, 2013, 10:55:23 AM
#32
@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.
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
June 12, 2013, 10:44:57 AM
#31
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! Wink


hero member
Activity: 756
Merit: 501
There is more to Bitcoin than bitcoins.
June 12, 2013, 10:37:34 AM
#30
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.
legendary
Activity: 1036
Merit: 1000
June 12, 2013, 07:21:29 AM
#29
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.
member
Activity: 60
Merit: 10
June 11, 2013, 10:38:18 PM
#28
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?
legendary
Activity: 1002
Merit: 1000
Bitcoin
June 11, 2013, 10:30:27 PM
#27
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,...
legendary
Activity: 1002
Merit: 1000
Bitcoin
June 11, 2013, 10:24:01 PM
#26
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 !
legendary
Activity: 1002
Merit: 1000
Bitcoin
June 11, 2013, 10:18:43 PM
#25
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.
hero member
Activity: 756
Merit: 501
There is more to Bitcoin than bitcoins.
June 11, 2013, 04:11:05 PM
#24
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.
 
legendary
Activity: 3066
Merit: 1147
The revolution will be monetized!
June 11, 2013, 04:03:10 PM
#23
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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 04:01:39 PM
#22
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.
legendary
Activity: 4270
Merit: 4534
June 11, 2013, 01:54:42 PM
#21
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..
legendary
Activity: 3066
Merit: 1147
The revolution will be monetized!
June 11, 2013, 01:46:06 PM
#20
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.
legendary
Activity: 4270
Merit: 4534
June 11, 2013, 01:42:13 PM
#19
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
legendary
Activity: 3066
Merit: 1147
The revolution will be monetized!
June 11, 2013, 01:23:36 PM
#18
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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 01:13:34 PM
#17
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?
donator
Activity: 1218
Merit: 1079
Gerald Davis
June 11, 2013, 12:56:50 PM
#16
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")
legendary
Activity: 4270
Merit: 4534
June 11, 2013, 12:53:36 PM
#15
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
reg
sr. member
Activity: 463
Merit: 250
June 11, 2013, 12:35:04 PM
#14
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.   
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 11:49:58 AM
#13
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.
hero member
Activity: 938
Merit: 500
https://youengine.io/
June 11, 2013, 08:40:07 AM
#12
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.
legendary
Activity: 4130
Merit: 1307
June 11, 2013, 07:58:05 AM
#11
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).
reg
sr. member
Activity: 463
Merit: 250
June 11, 2013, 07:33:03 AM
#10
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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 07:26:56 AM
#9
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).
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
June 11, 2013, 07:12:14 AM
#8
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!

legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 06:49:13 AM
#7
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.
legendary
Activity: 1008
Merit: 1007
June 11, 2013, 06:42:14 AM
#6
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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 06:32:26 AM
#5
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.
full member
Activity: 182
Merit: 100
1Kgyk4nQSzb3Pm9E9vWiGVyJ6jpPwripKf
June 11, 2013, 06:28:45 AM
#4
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.
legendary
Activity: 1176
Merit: 1011
June 11, 2013, 06:22:58 AM
#3
+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.
legendary
Activity: 1008
Merit: 1007
June 11, 2013, 06:21:25 AM
#2
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.
legendary
Activity: 1288
Merit: 1000
Enabling the maximal migration
June 11, 2013, 06:12:07 AM
#1
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
Jump to: