Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
'Picasso', the Painter on GDAX? (medium.com/bitfinexed)
176 points by hw on Dec 25, 2017 | hide | past | favorite | 61 comments


As someone using machine learning to identify the patterns of bots on GDAX and riding the waves accordingly, I can say this is certainly happening. It's not just one bot though. There is huge money right now in crypto markets, both illegally and legally.


I wonder if the bots are the root cause of some/many of the gdax/coinbase service disruptions (the article mentions trading suspensions, but not service outages).


The GDAX API has a pretty low rate limit. The bots should be running 24/7, so the "cause" depends on your point of view I guess: if the increased human traffic is what kills the service, or if the existence of the constant bot traffic kills it. But I doubt that a huge spike it bot activity happens. The number of requests should be pretty constant, relatively speaking.


DO you really think these bots use the same API and routes that you and me use? No way!


What other API would they use besides the one provided by gdax?


The GDAX FIX API has higher rate limits. :)


Yeah, good catch, I didn't consider that. But still, what type of algorithm will see such an increase in number of requests during the crash times but not during any others? Based on what I've seen, the number of requests needed to run these algorithms again seems pretty constant over time.


Based on my experience, it's totally reasonable that a strategy could require under one transaction (new order or cancel order) per second at quiet times, but over 100x that in a frenzied period.


While I don't doubt there are bots out there. How are you able to differentiate between bots and human trades?


Personally, I'm not fully, though I'm sure there are methods. Realistically, right now the naive solution is working just fine, which is just identifying market trends. Because so much is bots, it inherently learns the trends of bots, allowing me to write an algorithm that reacts to said trends. The human trading more or less accounts to be the noise level over the bot patterns, though I'm sure some bots also react to the noise, increasing the noise in practice for my purposes. All I know is I can get a good enough accuracy right now to make pretty accurate guesses.


What is your naive method? Like what is the algorithm?


The learning method is really quite naive, I'll put it that way. The algorithm I chose is designed to be risk averse and crash resistant. The learning method and algorithm are orthogonal/separate, and what learning you pair with what trading algorithm can make a big difference in risk and returns obviously.

I'd prefer not to say more than that simply because if the algorithm was run at any large scale I worry about its effect on the market as a whole. Imagine a bunch of bots all following the patterns of a few other bots and what happens if one of those big player bots errors or even if there's a change in the bot and people don't retrain their model. That's just one way it could all go south quick. I'm frankly worried that this risk doesn't already exist.


.


Mind sharing some or a place to get started in learning them?


What did he say?


.


Author is mistaking basic exchange dynamics, arbitrage issues with USD, and drawing up a wild conspiracy from almost nothing.


Ok, we'll give you a question mark in the title above. Merry Christmas!


he is trying to trigger a bank run, but doesn't realize our whole financial system runs on fractional reserves


Fractional reserve blanking is not a real thing.


Do you mean that it's not "a real thing" because some banks are not limited to loans amounts within reserve requirements?


Because the majority of banking systems dont require any reserves. Even in the USA certian household debt like mortgages require reserves while most other debt like commercial does not. And even with mortgages banks have 30 days to come up wuth the reserve.

In other words, it doesn't exist as the texbooks describe.


Shameless plug: The orderbook visualizations of http://www.dancingbots.com help to understand the different kind of bots on various exchanges. However, for some/most strategies one would need a higher resolution (seconds, not minutes) and more focus on the area around the current price.


It's also worth mentioning this [1] blog post from 2014 on orderbook visualization. It has a great explanation of the methods and insightful analysis.

[1] http://parasec.net/transmission/order-book-visualisation/


Cool. It's interesting how the thumbnails look more organic than the large images. Some patterns are more pleasing at lower res (screen, not data).


I don't get the point of this article. The bot he says is buying 95 BCH at 8500. I don't see how this is profitable as the the price quickly falls and the bot lost a lot of money. This is just a bunch of bots trying to catch trends. You can see this on the stock market as well. See stocks like LFIN or LTEA.


The bot is buying it from itself.

From the article:

> Painting the tape is a form of market manipulation whereby market players attempt to influence the price of a security by buying and/or selling it among themselves so as to create the appearance of substantial trading activity in the security.


You are getting it wrong. The bot is not buying, but placing an order / intention to buy. This pumps the price. Just before the order is filled-in, the trade order is canceled, but the price is already pumped.


First, the last traded price doesn't change by bids or asks, only trades. So you can spoof with passive orders, but that only affects the "midpoint" and never the "last" price. The article discusses painting the tape which means trades.

Second, outside of a "last look" type of market, no market participant can identify the time "just before [their own] order is filled". Can you identify any Bitcoin market where last look is in effect? It would be plausible (it is common in spot FX markets) but clear evidence would be available.


That's not how it works. Placing an order does not change the price, it only adds it to the book of orders. If the order executes (a buy and a sell orders are matched), then that's the current price.

That's where author's theory makes little sense. It's quite expensive to sell to yourself. Even if you're a high-volume trader on GDAX, you pay 0.1% on each executed trade. So you make 400 trades, you lose half of your money to the fees.


I couldn't help but think the same thing regarding this article. It doesn't seem worth it for the bots to price-paint unless they are owned by the exchanges. In that case, this could be a much bigger story, but the author asserts that they are not owned by the exchanges. I think this assertion is merely for face and the author probably thinks the exchanges are involved. This doesn't add up unless the exchanges are involved.

Even then, let's say they are involved. Occam's razor? Was it a carefully engineered price-paint by the bots owned by the big bad corporations, or was it just a bunch of people who had live bots that didn't know what the fuck to do with an empty orderbook?

It seems way too easy to write a bot that has no idea how to trade, or gets influenced by very arbitrary anchors.


Now that's a decent hypothesis. An exchange wanted to create an illusion of high liquidity, they wrote a stupid bot, which worked in unexpected ways, they had to shut everything down.


It's funny because I was on GDAX (looking at it) when the price of BCH jumped to over 9000. It didn't "start" at over 9000 like the "tape" suggests. Right when it was added to the exchange, it was at maybe 4000. Then, a series of jumps occured in a timeframe of about 1 second and the price was at 9500 or so (or was it 8500?). Anyway, clearly my memory is spotty, but I found that very strange.


your memory is right. it was showing both those numbers at the same time. one on the chart the other on the bid. made no sense.


One was the last price, the other was an average of some sort.


It makes a lot of sense because the buyer and the seller are the same person or group. Even if you lose 0.1% on that transaction, you can easily get that back if you can manipulate the price high enough. We are not talking about people that have 100 BCH but rather 100.000 or more.


You can't if there's no actual support for that high price from the community. And that's what the whole article is about. Without the support, the price just crashes to the natural levels, as soon as people see some idiots trading at much higher prices than everywhere else. Which is exactly what happened.

Two independent bots that got caught in each other's lies and spiked the price makes at least some sense. One bot trading with itself makes no economic sense.


It does make a lot of sense. Especially in markets without any "natural value" like cryptocurrencies. So much sense that there is even a word for it: Wash trading

https://en.wikipedia.org/wiki/Wash_trading


Wash trading is any trading with no change in beneficial ownership. The type of price "manipulations" being discussed are potentially the result of wash trading, but fundamentally the goal is momentum ignition, so the igniter can coax other participants to bid large size at a high price (or buy at even higher prices), and sell to them. You don't have to buy from yourself to show the world that you are buying new highs.

Momentum ignition and wash trading may overlap in a single circumstance, but they are distinct concepts.


i don't think there is a natural crypto price which is what is being exploited here


I don't know why anyone hasn't mentioned the hours long confirmation delays for BTC transactions. It's not possible to effectively arbitrage (without exposing yourself to risk in the form of hourly price changes) between exchanges. You can't flip BTC that fast at the moment.


You can use a faster blockchain to move between exchanges if they both support it. But there are still the inflated confirmation requirements for withdrawals, that most exchanges impose, to slow you down. Not to mention daily withdrawal limits.


> the price quickly falls and the bot lost a lot of money

If the trader already holds 1,000 BCH and is able to spend $800,000 to raise the price he can get rid of it at by $1000, he didn't lose money.

Doesn't necessarily mean it was a bot, though.


I believe that the reason we saw Bitcoin Cash start out trading like this, several hundred percent higher than the rest of the market, is because the tape painting bot was unleashed on this trading pair too early.

So, the Coinbase spike was not due to "insider trading" but a bot and they should investigate the bot? The amount of wild theories is just mind boggling.

While there are serious doubts on Tether this seems a stretch just to tie thing to Bitfinex.


The theory was, price increase prior to announcement (couple days) was insider trading. After announcement might be bot.


His assertion that no humans would place certain irrational trades seems dubious. Sure they would. What am I missing?


When the news went out that BCash is being listed, the price on Bittrex shot up to $5k and then started settling down at around $4k. At that exact time, the price on Gdax was showing over $9.5k after which they halted trading for the day.

I am with the author on this one, no human with good intentions would put a buy order at that price.


That there is software trading these order books is not disputed. They even publish APIs for the purpose. However the argument that no human would place a buy order at a significant premium over market value is not a good one.

Many people issue market buy orders. (Why? Some exchanges prioritize them over limit orders. That might be one reason. Another might be that Coinbase's customers aren't predominantly day traders.)

Coinbase is known to have issues with their trading engine. They have outages every time there are large market movements. They can be very slow to execute places orders and there have been spurious reports of people having their orders executed out of order.

If the order book was empty, the execution engine lagging the user interface considerably, and many people placing market buy orders, this outcome is expected. Coinbase probably did the right thing to disable trading for a while. If a trading engine that could keep up with the user interface was a possibility for them that would probably have happened years ago.


Just because seemingly rational humans wouldn't buy at such a price isn't the same as "no human would buy." I remember reading tweets of someone angry at coinbase because they bought a ton at $8000 and tried to sell at $9000 but was unable to. Bitfinexed makes a lot of outrageous leaps in logic.


GDAX started market trading way too soon, after a surprise launch of BCH trading. The momentary price spike could simply have resulted from people making unwise market orders without enough sell limits yet in place. GDAX shut down trading a second afterward, until the following day, when they allowed more time for limit orders to build up before opening market trading.


At that time $8500 was more than double the price BCH was trading at on all other exchanges. A human buying 95 at that price differential isn't just irrational - it's insane.


Question is why wouldn't this be going on? When there are different exchanges each with their own price it invites arbitrage.


Author is claiming that a single bot is able to drive up the price on GDAX and then arbitrage the difference, ignoring the fact that more than 1 bot is in operation.


A lot more than 1 bot in operation. All you have to do is just sit there and watch the trading. It's fairly obvious there are a bunch of bots trading at any given time.


My brother and I were talking tonight about arbitrage and how it's likely happening on Bitcoin considering how close the exchanges are tracking each other despite being independent from each other.


Arbitrage is legal and beneficial.


There's definitely a lot of arbitrage opportunities. BTC on GDAX has been at a 1k-1.5k premium over most other exchanges (although the gap has since closed a bit)

You'll often see korean exchanges having a 1-2k premium as well, but it's not easy to arbitrage since the korean govt has a lot of rules regarding money laundering and money entering / exiting, not to mention you'd probably need a korean bank account.


Likely happening? Google “bitcoin arbitrage” ... why would there not be?


> how close the exchanges are tracking each other despite being independent from each other

Happens with non-crypto assets too (e.g. forex)


Or perhaps all this painting is coming from the market orders placed on coinbase


What's a good BTC trading firm that pays in BTC?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: