Trading, providing liquidity, feedback,…
I’m eating up a load of mobile 4G bandwidth here and getting no takers, even at good prices. Pretty sure we need a heap more promotion to kickstart this puppy.
I’m doing what I can there. By the end of the month everyone I know will be sick of hearing about it.
Yes for limited bandwidth it is currently a bit problematic. Check out the hosting @mepistol has used.
I will be in Prague on the weekend at the https://hcpp.cz so hopefully that will give a bit of PR. Beside that I need to focus on the Bitsquare foundation (that will be prob. the name for the Synco/DAO) to get that done. Once we have that it will give some good PR as well.
But I will also start some initiative (hiring some PR person) in about a week when I am back from Prague.
I noticed in the code that we are downloading a whole lot of data from Poloniex to get our price box. Two alternatives spring to mind:
- Allow the user to turn off the price feed to save bandwidth. This could be good for traders with Bitsquare running in the background.
- Selectively download only the price ticker for the currently visible currency.
The interval could be user defined in the settings (min. time should not be lower as the user would get blocked then by the provider). Poloniex has not API for selective currencies. BTCAverage is using that (only request USD for instance).
Though I think the data amount is mainly generated by the P2P network. So optimisations here will not have much effect on the overall consumption.
BTCAverage would be a preferred service anyhow since they are reporting larger volumes, being an aggregate of several exchanges. I know CMC has a single ticker too.
Yes, the P2P network is probably the trouble. Restrict region by IP address could help. Probably too late to compress the data, it would require everyone to upgrade at once. Although with such low usage it would still be possible to do it I guess.
IMO using aggregates or any kind of averaging is bad, because averages ignore local price fluctuations. Here are some examples from today (measured within the same minute):
BitcoinAverage.com is $608.30
The price difference is almost 1% between the lowest and highest price. Also, as you can tell, the aggregate price is weighted, in favor of some exchanges. Thus, if you are trading from a region (Europe/Asia) served by Bitstamp/OKCoin then you are paying more for Bitcoins on Bitsquare than you can expect in return if you sell those BTC back on those exchanges.
Now, if you are aware of these regional differences you could set up your orders accordingly. This requires some vigilance and awareness on behalf of the trader, however. It is very easy to set up an order to sell, only to discover later the price you cashed out at would have been better if you sold through Localbitcoins where rates are often set according to the price on a regional exchange.
To make the point: If you’re selling apples in Switzerland, would you be content selling at the price of apples in China? Or the world-average price? Probably not. You want to sell apples in Switzerland at the right price, which takes into account the price you paid to obtain the apples, cost to market, consumer demand etc.
As much as we like to believe cryptocurrencies are global entities equal everywhere, there will still be regional variations in demand and supply that affect prices. For this reason, traders should be allowed to fix a price relative to his/her preferred exchange, instead of everyone using the same “average” price (which btw isn’t an average at all).
One more point I think is in favor of setting prices relatively to individual exchanges: Arbitrage.
Some traders have extended access to different markets (e.g. bank accounts in different countries), If order prices are set according to local exchange rates, these arbitrage traders can take advantage of the differences in price between regions, increasing the trade volume as they do so. Good for Bitsquare, and good for both buyers and sellers as liquidity on Bitsquare then goes up.
Good point about the regional differences. To allow the user to selcet the exchange which is used for the % based price would be good here (though add a bit more complexity/requires knowledge for new non-pro-trader users). Beside implementation efforts I fear there might be also more manipulation risks at small exchanges and low volume markets (currencies). One who has enough btc to move hte price on the exchange can use this power at Bitsquare then… The larger the volume (aggregated) the harder such manipulations at least for BTC.
Beside that the users who what full control over their price dont need to use the %based price. A way to edit an offer will be added some day as well, so the issue that the create offer fee is gone will be solved.
Arbitrage can be seen positive as well and should help to reduce those differences. Hurdels with banks are prob. the main reason why it is still so high (China is a very isolated market).
To address the concern with big movers driving the price on Bitsquare, allow only exchanges with greater than X volume/day. Also, allow only fiat exchanges (these will also tend to be the largest). So, disallow Poloniex, BTCe etc.
That might not be so easy as voule/day might change and an offer using %based price needs a price feed. So turning on and off will not work. Also many altcoins have very low volumes. I think there is no easy cure for that problem, but users need to be aware of that risk, which is lower for fiat but higher for some low volume crypto. If there are multiple exchanges we will select the high volume ones from there though…
Right, the available exchanges need to be fixed, and not change daily based on volume. I was referring just to the initial decision which exchanges to include and which to not. One large per region is probably ok, i.e. 1 US based, 1 Europe based, 1 Chinese etc. Then let the use choose one of those. Still, you probably want to default to BitcoinAverage or other aggregator.
BTW When I choose a reference index, and list an order with price relative to that index, is the price displayed to counterparty then based on the same index, even if they have selected a different index?
Bought my first ETH today so I set up the account in Bitsquare. I was surprised to find an immediate arbitrage opportunity, with a vendor wanting ETH for BTC at 1.9% over what I paid for them.
I sold 2 BTC worth.
Did my third trade today. Same buyer, 2 BTC received for ETH. I like arbitrage.
I’m not sure what you mean here by “local” price fluctuations, as all of your quoted prices are in USD? We do offer local market prices, that have far different premiums than USD, for example GBP is typically 5-10% different. Maybe I misunderstand what you mean!
Our average prices is not weighted in “favour” of some exchanges, we use volume, liquidity, variance and activity in our algorithm to provide a round market price.
If you take a look at our global price page, scroll down to the table at the bottom, this shows the “currency markets” that make up the global price, you can see the premiums in the far right column: https://bitcoinaverage.com/en/bitcoin-price/btc-to-usd. BitcoinAverage actually original grew out of the premiums in local markets and arbitrage, it’s still a core part of how we calculate our pricing. Local data can be found using the endpoint in this manner: https://apiv2.bitcoinaverage.com/indices/local/ticker/BTCUSD
If you think we can improve things, or provide something custom for you guys please get in touch via email!