Bitcoin Forum
May 02, 2024, 07:16:09 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Price discovery  (Read 3571 times)
lebing (OP)
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000

Enabling the maximal migration


View Profile
June 11, 2013, 10:12:07 AM
Last edit: June 11, 2013, 10:53:04 AM by lebing
 #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

Bro, do you even blockchain?
-E Voorhees
1714634169
Hero Member
*
Offline Offline

Posts: 1714634169

View Profile Personal Message (Offline)

Ignore
1714634169
Reply with quote  #2

1714634169
Report to moderator
According to NIST and ECRYPT II, the cryptographic algorithms used in Bitcoin are expected to be strong until at least 2030. (After that, it will not be too difficult to transition to different algorithms.)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714634169
Hero Member
*
Offline Offline

Posts: 1714634169

View Profile Personal Message (Offline)

Ignore
1714634169
Reply with quote  #2

1714634169
Report to moderator
1714634169
Hero Member
*
Offline Offline

Posts: 1714634169

View Profile Personal Message (Offline)

Ignore
1714634169
Reply with quote  #2

1714634169
Report to moderator
monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1000


View Profile
June 11, 2013, 10: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.
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1001



View Profile
June 11, 2013, 10: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.

In theory, there's no difference between theory and practice. In practice, there is.
Insert coin(s): 1KazimirL9MNcnFnoosGrEkmMsbYLxPPob
yocko06
Full Member
***
Offline Offline

Activity: 182
Merit: 100


1Kgyk4nQSzb3Pm9E9vWiGVyJ6jpPwripKf


View Profile
June 11, 2013, 10: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.
lebing (OP)
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000

Enabling the maximal migration


View Profile
June 11, 2013, 10: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.

Bro, do you even blockchain?
-E Voorhees
monsterer
Legendary
*
Offline Offline

Activity: 1008
Merit: 1000


View Profile
June 11, 2013, 10: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.
lebing (OP)
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000

Enabling the maximal migration


View Profile
June 11, 2013, 10: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.

Bro, do you even blockchain?
-E Voorhees
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
June 11, 2013, 11: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!


*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
lebing (OP)
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000

Enabling the maximal migration


View Profile
June 11, 2013, 11: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).

Bro, do you even blockchain?
-E Voorhees
reg
Sr. Member
****
Offline Offline

Activity: 463
Merit: 250


View Profile
June 11, 2013, 11: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.
cr1776
Legendary
*
Offline Offline

Activity: 4018
Merit: 1299


View Profile
June 11, 2013, 11: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).
prof7bit
Hero Member
*****
Offline Offline

Activity: 938
Merit: 500


https://youengine.io/


View Profile WWW
June 11, 2013, 12:40:07 PM
 #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.

lebing (OP)
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000

Enabling the maximal migration


View Profile
June 11, 2013, 03:49:58 PM
 #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.

Bro, do you even blockchain?
-E Voorhees
reg
Sr. Member
****
Offline Offline

Activity: 463
Merit: 250


View Profile
June 11, 2013, 04: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.   
franky1
Legendary
*
Offline Offline

Activity: 4214
Merit: 4458



View Profile
June 11, 2013, 04: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

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
June 11, 2013, 04: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")
lebing (OP)
Legendary
*
Offline Offline

Activity: 1288
Merit: 1000

Enabling the maximal migration


View Profile
June 11, 2013, 05: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?

Bro, do you even blockchain?
-E Voorhees
RodeoX
Legendary
*
Offline Offline

Activity: 3066
Merit: 1145


The revolution will be monetized!


View Profile
June 11, 2013, 05: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.

The gospel according to Satoshi - https://bitcoin.org/bitcoin.pdf
Free bitcoin in ? - Stay tuned for this years Bitcoin hunt!
franky1
Legendary
*
Offline Offline

Activity: 4214
Merit: 4458



View Profile
June 11, 2013, 05: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

I DO NOT TRADE OR ACT AS ESCROW ON THIS FORUM EVER.
Please do your own research & respect what is written here as both opinion & information gleaned from experience. many people replying with insults but no on-topic content substance, automatically are 'facepalmed' and yawned at
RodeoX
Legendary
*
Offline Offline

Activity: 3066
Merit: 1145


The revolution will be monetized!


View Profile
June 11, 2013, 05: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.

The gospel according to Satoshi - https://bitcoin.org/bitcoin.pdf
Free bitcoin in ? - Stay tuned for this years Bitcoin hunt!
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!