[ARBITRAGE] Agent Smith: Arbing the great bull run of 2017
#11
@askmike the code available for us to test as well Smile
  Reply
#12
(10-16-2018, 02:39 PM)jungle71 Wrote: @askmike the code available for us to test as well Smile

Unfortunately not: arbitrage is zero sum, so there is only a fixed amount of money to be made. Sharing the code doesn't make much sense. It also requires you to setup a server with 40 IP addresses, not very simply to run.

It's currently not profitable anymore, there is little point in running it.
  Reply
#13
Hi, great story  Big Grin

I have been trying the tri-arb for a few weeks now and it worked all fine until I have bumped into the minimum transaction amount...

Much like FujiApple, I have also checked for a lot of pairs but I have noticed that you can go down to about 2-8 coins (depend on the exchange) since every other coin is traded "against" those coins.

Preforming all three transactions at the same time is a great idea which helps me to overcome a "problem" I had in mind and I would be happy if you can answer me this - when an order is fulfilled, both coins' prices change. Now, let's say I am making the orders one after the other, isn't the price of one of the coins which is also in the second pair changes as well?

I also saw that you have said that this arb is no longer profitable, can you say why?

Thanks!
  Reply
#14
Quote:I also saw that you have said that this arb is no longer profitable, can you say why?

Arb is profitable! But this specific bot isn't anymore. Main reasons are the decline of poloniex (this means less liquidity and bigger spreads, this is harder to do arb). Also they have updated their fee tiers.

I'm not saying you can't do it anymore on poloniex (pretty sure some people are), I'm just saying that my bot did not make a profit for more than a month earlier this year and as such I shut it down.

Quote:I would be happy if you can answer me this - when an order is fulfilled, both coins' prices change. Now, let's say I am making the orders one after the other, isn't the price of one of the coins which is also in the second pair changes as well?

This really depends on what is happening, but if you look at the example in the article:

[Image: 38663188-61e9ec26-3e60-11e8-9a7f-3a0d3f1d5a8c.png]

You can only make money until one of the following things happen:

- btc/usdt price goes up
- btc/eth price goes down
- eth/usd price goes down

whenever any of the those happen your profit goes down (or turns into a loss). If you trade one-by-one you risk any of those happening before you can complete all 3 trades. Especially if other people also want to arb this. Because there is a fixed amount of profit to be made here, and if someone else is quicker and takes the profit he will close this price gap.
  Reply
#15
Quote:Arb is profitable! But this specific bot isn't anymore. Main reasons are the decline of poloniex (this means less liquidity and bigger spreads, this is harder to do arb). Also they have updated their fee tiers.

So basically you say it is profitable. I don't want your code but I just want to know if you, or anyone you know, have a working, profitable one?

Quote:You can only make money until one of the following things happen:

- btc/usdt price goes up
- btc/eth price goes down
- eth/usd price goes down

whenever any of the those happen your profit goes down (or turns into a loss). If you trade one-by-one you risk any of those happening before you can complete all 3 trades. Especially if other people also want to arb this. Because there is a fixed amount of profit to be made here, and if someone else is quicker and takes the profit he will close this price gap.

Let's say I'm super fast and my bot is doing all three transactions without anyone interfering it (complete all three transactions at the price and amount calculated). After I buy USDT with BTC, doesn't the price for each of them change in respect to other coins as well?

Thanks again
  Reply
#16
Quote:So basically you say it is profitable. I don't want your code but I just want to know if you, or anyone you know, have a working, profitable one?

Right now I have a system running that does market making in a way very similar to arbitrage. It's basically inter exchange arbitrage (arbitrage between two different exchanges). The profit I have been making for almost a month is quite insane, it's well over 1% a day. This bot is called LIMBOBEACH and it came out of KNIGHT RIDER (hinted at in the end of the agent smith article). Here is a sneak preview:

[Image: 50446227-4699ef00-0914-11e9-8675-d7406606a182.png]

That said, it's very tough. Here some things that I came to realize:


- Poloniex was considered very shady until Circle bought them earlier this year: their owners were hard to find and they didn't have a great reputation. They also became big after cryptsy (which ended with everyone losing all their money). This way no big traders came close to it, the risk seemed big. Now that's completely gone since Circle bought it.
- I am in contact with a lot of other traders and discussing more sophisticated forms of trading (basically HFT stuff), you need to be really dedicated to get on that level, start reading books and papers on market microstructures and market making. If you have a very simple strategy or simple bot you won't have an edge (unless you trade on tiny exchanges that nobody trusts, etc).
- Spreads are a lot smaller than last year because of all this competition: you can't make the same percentages anymore, if you want to make money you need to move a lot of volume.

If you want to make money you need to find an edge, something that allows you to trade faster or more efficient than everyone else. The edge of Agent Smith was speed & some risk management (what to do if you don't get all 3 trades fast enough - because you won't ALWAYS be fast enough). Limbobeach has a new edge. I can't tell too many details now because it's still very profitable right now. But once that stops I'll write a new blogpost.
  Reply
#17
WOW, that's insane!

You mentioned HFT, what is it?

Quote:- Spreads are a lot smaller than last year because of all this competition: you can't make the same percentages anymore, if you want to make money you need to move a lot of volume.

Sometimes there is no a lot of volume to move - the volume on the highest bid transaction or the volume on the lowest ask transaction is tiny. Do you "ignore" those transactions and move to other pairs or do you also take into account the next transactions from the same exchanges?

Is your bot for private use only? Did you write it with others?
May I ask how many exchanges are you working with?
  Reply
#18
Quote:You mentioned HFT, what is it?

High frequency trading. Traditional markets (stocks, commodities, forex, futures) are A LOT bigger and more complex, you have bigger "whales" trading on those (banks, hedge funds, etc). But those whales are considered slow and don't always have the best tech. Other companies specialize in doing arb and market making. They move a lot of money around, for example:

Quote:On an average day, we trade over $13 billion in equities worldwide. We are also very active in the markets for options, futures, currencies, commodities, and fixed income.

We are active participants on more than 175 electronic exchanges and other trading venues in about 45 countries around the world.

We traded over $5.6 trillion across all products in 2017.

(source: https://www.janestreet.com/what-we-do/)

----

Quote:Sometimes there is no a lot of volume to move

This is a huge problem, this is the main reason agent smith (OP) started to be not profitable anymore. At some point it dropped fee tiers since I didn't do enough volume anymore. After that it was a slipperly slope: with tri arb you need to have low fees, which require high volume, which require low fees, etc. Best would be to run multiple bots that will help you in getting consistent volume.

Quote:do you also take into account the next transactions from the same exchanges?

If there is 1 X at the top of the book you can run some logic that tries to determine the odds of your limit order of 5 X (1 will take 4 will make) fully filling.

Doing proper order execution is key in any of these low latency systems: if you want to have a proper edge you can study orderflow to find patterns in how other big market participants behave. But note that you will never be able to predict everything, as such you need to figure out how to best deal with situations where you were wrong. For example Agent Smith was very fast, but it wasn't always able to do the 3 trades it wanted to do. So I wrote some code that tried to buy the missing asset as cheaply as possible (for example).
  Reply
#19
These HFT windows on the cryptocurrency market, what's a reasonable time estimate to how long they're open for? I know in your original Agent Smith post you were dealing with milliseconds. Is that still reasonable or are we talking microseconds now?

It sounds like in order to compete you need to be hyper-fast. Otherwise, you need an innovative strategy since classic arbitrage strategies are just way too well known?
  Reply
#20
@askmike  In the video, it looks like a 1.) limit order, 2.) market order, and then a 3.) market order are used.  What's the idea / strategy of using a limit order for the first leg? 

Did you try all market orders? Or experiment with other order types like FOK/ImmediateOrCancel?
  Reply


Forum Jump:


Users browsing this thread: