Hacker News new | past | comments | ask | show | jobs | submit login
High-Speed Traders Are Taking Over Bitcoin (bloomberg.com)
237 points by ca98am79 on Jan 18, 2017 | hide | past | favorite | 129 comments



I am one of those traders, and I'll happily share my observations.

(Before you ask -- no, there are no any good books and tutorials on HFT trading. You need to grokk it on your own, or receive the knowledge by direct transmission if you are an employee of HFT firm. However, there is "The Problem of HFT" by Haim Bodek, which contains some nice essays from the insider perspective and even some basic examples, though too specific within US equity markets).

1) Bitcoin exchanges are the perfect playground to learn the basics of HFT. All trading data is free and public, most traders are not sophisticated enough, you can start as small as you like (being small is an advantage in HFT), lots of low-hanging fruit are to be picked. HFT proliferation and arms race is barely started on most exchanges.

2) The algorithms themselves are simpler than most people think. HFT trading is mostly unrelated to arbitrage (inter-exchange arbitrage is much slower, and it is a different discipline).

3) The engineering issues are _harder_ than most people think. Even more so with inter-exchange arbitrage.

4) Bitcoin markets are small, and HFT potential capacity is quite limited. Most algorithms I came up with work perfectly well on small scale (and running successfully in production), but I am not making any riches out of it yet.


One thing I don't understand about the potential for crypto HFT is how to deal with the long transaction verification times. With bitcoin, it can take a tx several mins to be verified on the blockchain. I've dabbled in bitcoin HFT for a few years, but am always stuck when it comes to this point.

There are a ton of arbitrage opportunities between exchanges, but the long transaction times are the equivalent of IEX's "speedbump." How do you deal with this?

*Note: IEX is the exchange started by Brad Katsuyama, one of the main figures in Michael Lewis' outstanding "Flash Boys."


Blockchain is used for deposits/withdrawals only. Actual trading is happening within exchanges with their own order matching engines, outside the blockchain.

I.e. blockchain operates analogously to bank transfers. They are even slower, but they are not used for trading, only for funding and settlement.


I wrote a bot but could never make money due to the transaction fees. I wanted to make 15-20 trades per day. Instead, had to limit it to 3 or 4, meaning a lot more burden on each trade to be right.

The funnest part of writing a bot is using all the historical data to observe how the bot would have done during that period. I ended up checking thousands of permutations of parameters by brute force to determine the best ones, but in the end transaction fees killed me. I didn't have the confidence to do it at a large enough scale to make money I guess.


I only trade on zero-fee or maker-taker exchanges, like GDAX, Bitmex and OKCoin.

Making profits with fees is possible, but harder.


Since the exchange functions as a market maker, do they also make money on the spread ? Or is the Ask and Bid an exact match ? Maybe there is no way to know for certain without two accounts.

Also do you trade on multiple exchanges to perform inter-exchange arbitrage or for some other reason ?


> Since the exchange functions as a market maker, do they also make money on the spread ?

Market makers take a spread. They provide liquidity at a cost.


GDAX, for example, has a maker/taker type of fee structure that charges you based on your account volume: https://www.gdax.com/fees

There are many ways an exchange can collect fees. An exchange doesn't have to take a spread but it is too tempting since it is easily hidden.


Same experience here, several years ago. I'd love to know how professionals manage to avoid problems with transaction fees. I guess it is just taken into account during prediction, but it does seem to limit the number of tentative transactions you can make, even if you cancel them.


It's actually fairly simple: basically change the metric of a trade worth taking from "one with expected profit > 0" to "one with expected profit > expected fee". It does limit the number of potential profitable trades, and hence fees are sometimes used as a way for exchanges to reduce trading volume. Or to divert it; some Chinese (non-bitcoin) exchanges for instance charge greater fees for intraday trading, to discourage speculation.


Folks, is this really deserving the downvotes it receives? Parent is merely querying on his assumptions. Please, let's try to be kinder on these types of well meant and non-hostile comments.


This is why it's important to wait and test your model against out of sample data. I.E. if you back tests up until today, give it some time and test it against what happened from now until then.


>The funnest part of writing a bot is using all the historical data to observe how the bot would have done during that period. I ended up checking thousands of permutations of parameters by brute force to determine the best ones, but in the end transaction fees killed me.

That's a sure way to find a bad strategy. You end up doing the equivalent of overfitting. If you look at enough variables, the chance of there not being spurious correlations is basically zero, so you're guaranteed to land on sets of parameters that look good with historical data but fail going forward.


The writing does not exclude proper backtesting. A more favorable reading would have him/her use a holdout or test set that is in the future of the historical data used for training. Then there would be no problem with that approach in regards to overfit/poor generalization.


There is still the problem of the market not reacting to his trades. It would be very easy for me to show a trade of $1m making money, but very hard to execute such a trade.


How do you handle counterparty risk?


Bitcoin Auto Trader. Not HFT I've done inter-exchange/inter currency arbitrage technically, most platforms take on the order of hours to extract so it isn't remotely HFT.

1. Private Wallets: Most your coin should be in wallets you control. Your profit margin should be transferred immediately to a cold wallet that your bot doesn't have keys too.

2. Only move coin to an exchange when you for a transaction, and immediately extract it once the exchange is complete. Yes this forces your swaps to have a fairly non-trivial margin.

3. My API tool scrapes several exchanges. But every 24 hours I have to manually input which exchanges to actively consider swaps between. The goal of this is to avoid exchange bad news.

Even with all these safeguards I managed to lose ~$400 when Mt Gox shutdown.

Now that I'm employed I mostly do day/casual trading on NASDAQ tech stocks based on personal tech news/market timing [1]. I went from ~110% yearly gain to ~380% yearly gain. It requires 1/100th the effort and leaves me time for FOSS projects.

[1] Yes I'm aware this is generally considered the worst strategy ever.


Are you writing code to trade on NASDAQ (like through IB) or just using brokerage features?


Not in the slightest.

I make maybe 1 market movement per quarter (divest/invest). Most my trading is re-enforcing the positions I already have monthly (to avoid per trade costs).

Most my investments boil down to

1. Mid-quarter purchasing if a silicon good ran into shortage issues (not triggered by supply chain but demand). Not dased on official outlets but on local stores/discussion boards.

2. Post announcement hype deflation bidding on products I feel will succeed, or will succeed for technical reasons.

3. Very high risk long duration options on things I dislike or companies losing a sense of direction/product.

4. Connecting the dots on inter-coprate deals. X company buys fab plant from Y company.. 2 years later X company announces data center with Z feature.. 1 year later Y company announces Z feature, no other company does.

5. Watch OSS commits, know the products/markets/technical details to the degree of people working on the products.

6. If its in a magazine/blog you already missed the market.

7. The only internet companies worth investing in are monopolies.


I have to ask...did you invest in either Nvidia or AMD? They both had huge gains in the past year.


Both.

Nvidia is the clear leader in enterprise FPU's (for ML+Autonomous Vehicles)

AMD for long term gains from ZEN (I'm up nearly 400% on AMD).


By working with multiple exchanges, regular withdrawals (my algos are limited by max usable inventory anyway), and being generally slightly paranoid.

However, counterparty risk is real, and if you can't afford it, it's better to not engage.


I was doing this on the now defunct Cryptsy with the popular alt coins. Using relatively basic exponential moving average calculations. There just really wasn't enough volume to be doing it constantly. I was lucky to get a few trades in a day that made sense. I made money, and lost money. Basically breaking even. Mostly just a learning exercise. At this point though, all of the big players are getting their hands in. Not really worth it anymore.


Are you using some sort of leverage (haven't heard about leverages for btc though)? Looking at btc price movements, it seems that you need either 1) very high bankroll or 2) loads of transactions to make it work, as minute/hour price movements are rather low, and even lower for smaller time ranges. (maybe that's a lame question, I have no trading experience, just curious and reading a bit about it).


There is leveraged trading, but using the leverage exposes you to directional risk, and in HFT you want to have as little directional risk as possible :)

On OKCoin, my flagship algo generates more than 4000 trades per day (and many more order placements). However, OKCoin is glitchy.


4000/day? I'm struggling to reach half of this :-) Can you share if your infrastructure is yours or are you using any sort of cloud setup? Can you share a bit about it?


Most of the exchanges (including OKCoin) are using cloud infrastructure. I place my instances in the same cloud and region (meaning, the same datacenter).

Nothing too fancy, I rent usual EC2 (or analogous on other cloud) "medium"-sized instances, with 4-8G RAM. All my code is written with Scala/Akka, so it is packed into a single JAR file.


(If you reach 2000 trades per day, even on OKCoin, it usually means that you are well into HFT territory, at it is generally impossible to stay profitable any other way. I might not know something about other options, though.)


1/ How do you think you or others can build an advantage if everyone is playing almost the same game? If I understand well, the arbitrage opportunities you are seeing, are seen by almost anyone.

2/ What tools/APIs/etc do you think are interesting to build? Since I am a cofounder of a softwae development company in the cryptocurrency space, I am looking for new insights but not have experience in the HFT space.


Re: 3) engineering issues - could you provide specific examples? What were the most important problems you solved?

Re: 4) what is the performance of your strategy?


OKcoin endless errors in documentation and lack of sane reporting, using multiple channels for market data flow (e.g. Websocket for incoming book updates and FIX or HTTP for outgoing orders), trying to account for many many possible failure modes.

The average performance is currently +0.3%/day. Losing days are rare (about 1 in 2 weeks, with about the same average loss). I have survived multiple crashes and liquidity flight events, including the Bitfinex mishap.


Is it HFT or algorithmic trading? In my view HFT is a based on arbitrage between exchanges. If so my experience is negative. The price fluctuations are too small to compensate for fees (0.5%) and most of the exchanges have no arbitrage within say 250ms interval.


HFT is quite rarely about arbitrage, in fact (at least not directly).

I don't do arbitrage (there are easier ways that I hadn't fully exhausted yet), but between e.g. OKCoin and GDAX 30-second delays are common every day.

The best way of dealing with the fees is not paying the fees. ;)


Why do you think there are no experts cornering the HFT potential gains? Is the market just too small/unstable?


Way too small for any serious players working with "traditional" HFT. Which is good. :)


How do you handle taxes when you are buying and selling so much?


My tax situation is quite complicated, as I am a resident of multiple countries. However, usually taxes are paid on some periodic basis on capital gains, no need to include all trades in the report. :)

(If requested, it can be arranged, though).


I have a single question. What software program should I use for HFT Bitcoin?


Write your own. Someone making good money isn't going to open source their program. Finance is all about money.


Others here are missing the point. Until platforms like Bitfinex allowed margin trading, arbitrage was impossible because the exchanges are extremely risk averse. In order to arbitrage you would have had to buy on one exchange, then wait for 3 confirmations (~40 minutes?) before the receiving exchange would take the risk that the bitcoin was actually transferred. Now with short selling it looks like you can instantly borrow a bitcoin on the exchange that's inflated, then sell it immediately. You don't need to transfer between exchanges - all done completely on internal paper transfers inside the exchange.


I don't see how confirmations come into it. To arbitrage between exchanges, you own some bitcoins and dollars (or other national currency) in both exchanges. Then when an arbitrage opportunity arrives, you sell on the high one and buy on the low one. If long term your accounts are unbalanced, you can withdraw/deposit, but speed isn't required for that.


People weren't doing that because they weren't capitalized or there were barriers to becoming capitalized in the other country. Like there was no way to send national currency to the exchange in the other country because you couldn't get a bank account in the other country. But it was possible to send bitcoin to the exchange in the other country.

So people would create a routine circuit where they have dollars, buy bitcoin on US exchange. Send bitcoin to foreign exchange, sell bitcoin for that national currency (sometimes dollars). If possible, that exchange would allow wiring out, back to the user's real bank account. In other cases that exchange would have a bitcoin or national currency market of another cryptocurrency, like litecoin, where an arbitrage opportunity MIGHT still persist.

The litecoin would be moved and liquidated back on a US exchange.

Got to calculate it yourself and figure out why the arbitrage opportunity is still there. Usually there's a good reason. Sometimes there's a good reason that you are exempt from, and in those moments you borrow as much as a can get your hands on and make 5% profits as much as possible.


If you can immediately buy and sell between exchanges it should quickly level the prices. Something like that is easy to automate, so any slight margin that appears will be almost instantly leveled.


Everybody is talking on how easy it is, until they really tried. ;)


The buying and selling is fast and easy to automate.

The difficult part is in transferring non-bitcoin currency to and from the exchanges.

If you for example buy bitcoin in the US and sell in China, then you end up with a surplus of CNY on a Chinese exchange's account. Getting this converted and transferred back to the US will incur exchange and transfer fees. The transfers might also take weeks - which will limit you to cycling small amounts of money slowly, or risking a lot of money at once if the exchange "has banking issues".

In the end, even a 5% or 10% price difference might not be worth running the arbitrage cycle on difficult to deal with exchanges in strange countries.


the article is about doing this on a dozen chinese exchanges. no currency conversion necessary when it is all CNY


I guess that's where the 'high speed' bit comes in? It's almost instant, not completely instant :)


Short-selling? Where's patio11? He said he badly wanted to short BTC, all that was lacking is a mechanism.


Shorting BTC on a BTC exchange involves more counterparty risk than I want to take on. (Folks have asked this before; see here: https://news.ycombinator.com/item?id=6894594 )

My current best option is hoping that a) the Winklevoss ETF gets approved and b) an option chain develops for it, in which case I will buy puts consistent with my belief that the long-term FMV for the ETF's assets is zero. (Exchange-traded options in the US are guaranteed by the Options Clearinghouse Corporation, which is why -- absent global calamity -- you can be very certain that e.g. puts on Google are worth money even if Google goes out of business or the people who sold you the puts are insolvent when their broker hands them an exercise notice.)

There is theoretically a DRW subsidiary which does over-the-counter options but they have a $25k minimum trade size. It would also require a lot of due diligence for me with regards to counterparty risk; it's not clear whether their options would reliably compel performance or that they would be in a position to backstop the failure of their clients in the event of total systemic collapse of the Bitcoin markets. It's also not clear to what extent that DRW would backstop them if they were insufficiently capitalized. (For an illustration of why this matters, read The Big Short, for the amount of heartburn that various folks betting against the housing market went through when it became obvious that they were entirely right on the merits but that some of their counterparties were almost certainly going to go bankrupt due to how wrong they had been about the housing market.)

(I've spent way too much time thinking about this, since "Bitcoin will eventually fail catastrophically" is the biggest answer to "A belief about the future state of the world which I hold strongly after reflection and which doesn't match the beliefs of some of the smartest people I know", which sets off my "Either I'm wrong or I should be betting against them" antennae.)


If it makes you feel better, Id bet on the future of cryptocurrencies, but against bitcoin in particular.

The bitcoin network decided to strip the VM of features that made it valuable in the future (eg, ability to make transaction claiming represent the solution to a computation) in favor of safety and simplicity now. I don't believe the behavior of the network in resolving blocksize issues indicates the kind of political will needed to fix that.

So my bet is that the next iteration (or two or three) on the ideas behind Etherium will eat their lunch. Because having tokens to reward contract execution or a computation has a fundamental longterm value (and is similar to how real currencies function, in that executing a contract or doing a computation earns you the ability to have that done for you). I don't believe that just securing the ledger has long term potential.


Quick summary on why you think it will fail catastrophically in the long run?


because it is only used for what this article describe and to smuggle money out of china.

both uses can be crushed very easily and then you will end up with a highly devalued good.


Any self-respecting BTC bear isn't going to short on an unregulated platform run by people heavily invested in BTC being a success and expect to see their margin again or get paid out on their contract if they're right. I mean, it's not as if exchanges have a good track record of not losing/stealing customers' money when BTC is doing well.


You appear to be arguing false causes from which you draw irrelevant conclusions.

Firstly, the reality is that other people (lenders), rather than exchanges, are lending out their money, for a certain amount of interest. Exchanges have nothing to lose. Quite the opposite: they earn regardless of whether longs and shorts are successful or not. Take Poloniex as example: they collect a 15% premium on interest earnings. This is of course next to the premium they collect in the form of regular trading fees.

In nearly all cases this means that lenders don't lose money. Borrowers do because they pay interest. This is why you can only borrow after you allocate collateral, which is used to pay for said interest, and to collect profits, cover losses, and for forced liquidation in the case that the borrower's trades are about to lose more value than is covered by their collateral. This applies to shorts and longs.

The only chance this becomes problematic for an exchange, I think, is when a forced liquidation does not cover all of the losses and some debt stays open. In this case either the lender does not receive the right amount of interest, or, what makes more sense to me, is that the exchange will cover the debt and try to claim it back from the liquidated borrower.

Secondly there are a good number of exchanges that do have very decent track records and aren't as scammy as you claim. There were a few scammers out there, I'll grant you that - companies like Cryptsy and of course MtGox just stole incredible sums of money. And yes, this can happen again with other exchanges. Be that as it may, this still does not have anything to do with the possibility of shorting in particular.


Of course it has nothing to do with shorting in particular, except that shorting (at least until the Winkelvoss ETF gets approved) requires using precisely the same Bitcoin financial ecosystem that people thinking it'll crash are unlikely to have much faith in at all.

What you say of the exchange business model not being exposed to price movements in principle might be true of properly capitalised and regulated exchanges, but its less evidently true of the exchanges that actually exist.

The most recommended place to short Bitcoin is/was Bitfinex...


mtgox was the most well know and reputable one. until it wasn't.


Going short has been possible for many years.


How/where?


Bitfinex. Until it, ah, got 'hacked.'


bitmex.com is my favorite.


I came to the comment section to find out exactly how were they getting over the confirmation time, and I was not disappointed. Thank you greenleafjacob. The article should have mentioned this.


> Now with short selling it looks like you can instantly borrow a bitcoin on the exchange that's inflated, then sell it immediately

This sounds more like speculation than arbitrate. With arbitrage, you transfer liquidity from one exchange to another by having a short leg on the higher-price exchange and a long leg on the lower price one. This is great for Bitcoin because it evens out the price differences between the exchanges, and at the same time transfers the liquidity of one exchange to another one, while the arbitrageur makes a profit.

I don't see how leveraged trading can replace this. Arbitrate is, essentially, taking orders from one exchange and selling them on another one, thereby matching a buyer and a seller on separate exchanges. It's a genuine service to the market.


Leverage does the same because the counter-party wouldn't be able to tell the difference on whether you used your own or borrowed bitcoin and hence the effect is the same.


I see your point now. I guess it all comes down to whether the arbitrageur is willing to take the risk of not being able to cash out bitcoins on the leveraged exchange. Leverage certainly increases the risk of not being able to withdraw, and often when you need it the most.


I was one of the first people to do inter exchange arbitrage.

It ins't necessary extreme speed, in fact for me it took more than a month to settle.

I would first wait my program notify me there was a 20% or more profit opportunity (due to the slowness and risk).

Then I would buy btc with credit card on some usd exchange (usually mtgox, not always), then I would sell btc for brl on a Brazillian exchange.

I would pay the credit card with my brl when the bill came... this could take more than a month, and I would pay lots of taxes, but I would still turn a profit.

The reason I stopped doing arbitrage was that to me was too time consuming, because every month the payment methods would change (for example someone one month accepted paypal, then only cc directly, then only paypal again, then some paypal competitor where I had to register...)


Exactly,

I have been doing bitcoin arbitrage for a while with https://github.com/butor/blackbird/ . The project seems to have gotten some more attention recently for what ever reason.


Looks nice, why dilute your arbitrage? :-)


I posted about this exact issue just now, sorry did not mean to repeat your idea.


> while the increasing dominance of sophisticated traders begs the question of how long the juiciest arbitrage opportunities will last.

Raises the question, not begs it. Begging the question would be to say, 'Bitcoin always generates profit, therefor it will always generate a profit.' Begging the question is assuming the consequent of the argument; raising a question is, well … raising one.


I have, in nearly 35 years of using English, come across exactly 1 "correct" usage of "begs the question" outside of comments like yours correcting people.

In other words: You're fighting a lost battle. I suspect if you put the two common uses of it to a representative sample of people, that the majority won't even know the original usage at this point.


The problem is that "begs the question" is a poor textual representation for what it means. "Assumes the conclusion" is a better affordance.


It largely depends on context--in politics/philosophy literature it's used quite often.


People have been using begs the question "incorrectly" for decades.

Which begs the question: Who, then, is wrong?


In a doggy dog world, people will use expressions despite not knowing the origin or meaning of them.


That's a word substitution that doesn't make sense in and of itself.

The 'misuse' of "begs the question" has a meaning that logically follows from the words.


In fact, I'd say that the "misuse" actually makes more logical/linguistic sense than the "correct" meaning.

I've been knowingly (mis)using begs the question to roughly mean suggests the question ever since I learned the "real" meaning. If anyone ever challenges me on it, I just point out that I'm using the words for their actual English meanings—not as an idiom. Unlike so many other language mistakes, this one actually works.


Why not just say "Suggests the question" then? I've never understood why people will fight so hard to justify doing something incorrect when a easier, and better answer staring them in the face.


Because the word "begs" is easier to say than the word "suggests," partly because it's one syllable instead of three. It's easier, it's better, and it's the phrase I want to use. (It's also more correct than suggests for what I'm trying to say.)

But really, since I'm using the words for their correct English meanings, I don't see why I have to justify my use at all. I'm not fighting to justify something incorrect; the people correcting me are the ones who are wrong, and they're the ones who then go on to try so hard to justify their incorrect opinion when an easier and better solution would be to just let me use the words for their actual definitions.

This is not a problem unique to this idiom; people often forget that words have general English meanings when there's also a technical meaning for the word in question. For example, some people have made it their personal crusade to claim that backers on Kickstarter are not investing anything because they don't receive any ownership in return for their money. These people are wrong. It's true that by the word's finance definition no investment is taking place, but by the word's English definition they are absolutely correct to say it is an investment (just like one might invest in their college education). Obviously that example has nothing to do with the idiom at hand, but considering how often people make this mistake, I have no problem standing my ground on "begs the question" because I refuse to be limited by other people's inability to crack open a dictionary.


> But really, since I'm using the words for their correct English meanings, I don't see why I have to justify my use at all. I'm not fighting to justify something incorrect;

Ehh, somewhat. Why did you pick beg instead of some other similar word? Probably because you heard the original expression and decided to borrow it. It's unlikely you were just thinking one day of how to describe this thing where an answer really raises more questions and said, "Hey I know, I'll call it begging the question!"

> I have no problem standing my ground on "begs the question" because I refuse to be limited by other people's inability to crack open a dictionary.

Which if they opened, would show them a contradictory meaning. But not drastically contradictory where it'd be obvious - just subtly not what you meant.

> For example, some people have made it their personal crusade to claim that backers on Kickstarter are not investing anything because they don't receive any ownership in return for their money. These people are wrong. It's true that by the word's finance definition no investment is taking place, but by the word's English definition they are absolutely correct to say it is an investment (just like one might invest in their college education).

It's more that they don't receive anything back, except maybe a product, which we call "buying". If you personally said to me - I'm investing in VR for the future by buying an Occulus I wouldn't blink, but when a company does it, it does suggest that they're trying to blur the line. Especially given how many people seem to misunderstand the deal... I'd call shenanigans on Kickstarter's usage, but not yours.

> Because the word "begs" is easier to say than the word "suggests," partly because it's one syllable instead of three. It's easier, it's better, and it's the phrase I want to use. (It's also more correct than suggests for what I'm trying to say.)

Yeah, for me it's exactly not right. Begging is something weak things do to get something. It brings to mind prisoners and cute puppies. It suggests many things that I don't mean and doesn't get at what I'd be trying to say. Maybe it just happens to fit 100% to what you want, but in almost every case I've seen of someone borrowing a term for something else, it's more that people just don't understand the subtleties (or they don't apply in their domain) of the phrases.

And frankly, you seem like you've got an "I can do what I want" chip on your shoulder which may explain your choice more than strict understandability criteria.


I think we've both made our points, but there are two/three last things I want to say:

1. The word beg only suggests a position of weakness in one context. Although that's how it's most commonly used, it's completely correct (and not uncommon) to use it as a synonym for "ask" if you want to imply a stronger request--check out the second definition in Merriam-Webster for formal evidence if you need it (it's not obscure or archaic). I'm normally all for choosing words based on understandability, but since far more people understand my meaning of the phrase than the "true" meaning, I'd say that the people using the idiom (rather than the words themselves) are the ones who have an ulterior motive other than understandability.

1b. I think it's extremely silly to ask me why I used one word instead of another closely related word. Yes, words have near-synonyms, and I could just ask easily ask you why you're not using my word instead. I know you're trying to imply I have an ulterior motive (that I'm doing it just to be contrarian or to feel right or to win an argument or whatever), but that's a weak way to do it since "I like it better this way" is all the justification anyone needs for using a word that isn't outright misleading or insulting. What you're really saying is that you would make a different stylistic choice, which is not much of an argument at all.

2. The "chip on my shoulder" is only in response to you telling me I'm fighting hard to justify something incorrect, which is quite frankly insulting (and, as I said, an incorrect thing to say in its own right, since the dictionary agrees with me, regardless of whether or not you think I have an ulterior motive). This very specific situation (when someone rebukes someone else because they think the other person is ignorant, when it is they themselves that are ignorant) is a huge pet peeve of mine, and it upsets me when people double-down on that position after being shown their misunderstanding. Of course, they're the ones who have convinced themselves that it is the other person who misunderstood and is doubling down, so that just compounds the insult.


> The "chip on my shoulder" is only in response to you telling me ...

Ehh, or to seeing mal-intent where it isn't.

> I'm fighting hard to justify something incorrect, which is quite frankly insulting

I don't tell you if I feel insulted, and if I did I wouldn't expect you to care. Part of having a chip is showing it off.

> (and, as I said, an incorrect thing to say in its own right, since the dictionary agrees with me,

Yes, and the dictionary (Merriam Websters) can't tell the difference between centi and centa, so it's not an authority.

> regardless of whether or not you think I have an ulterior motive).

I think this paragraph is you agreeing that you do have an ulterior motive, and explaining it as getting back at jerks like me.

> This very specific situation (when someone rebukes someone else because they think the other person is ignorant, when it is they themselves that are ignorant) is a huge pet peeve of mine,

I don't think you're ignorant. I think you know more than the average person. However I think it's functionally wrong for you to use something in an ambiguous way, JUST to prove a point - which is that you're technically right because an dictionary agrees, etc.

> Of course, they're the ones who have convinced themselves that it is the other person who misunderstood and is doubling down, so that just compounds the insult.

No, I get that the dictionary agrees. But I think if you weren't set on showing that you're just as allowed to use that phrase as someone else that you'd pick something else from the vast sea of words. Something that actually seemed descriptive.

> I think it's extremely silly to ask me why I used one word instead of another closely related word.

Why is it silly to ask? I like blue more than red for weird little personal reasons - how would you ever know without asking why?

> Yes, words have near-synonyms and I could just ask easily ask you why you're not using my word instead.

Right, and I'd tell you that the original meaning is as good as lost because few get it, and the secondary meaning is wrong because it directly conflicts with the other meaning and causes confusion, so I simply describe what I mean without having a pet phrase.

Why do you feel the need to own that specific phrase when I'm sure you could be more evocative, and thus understandable, by saying almost anything else that came to mind?

> but since far more people understand my meaning of the phrase than the "true" meaning, I'd say that the people using the idiom (rather than the words themselves) are the ones who have an ulterior motive other than understandability.

Frankly the original never meant much to me, the only reason I'm really aware of it is the continual use, misuse, and intentionally unintentional misuse of it. But of the users of those, I find the originalist far less unhelpful in a conversation. They're at least trying to help, as opposed to - what's the verb for exercising your chip?

If you let the phrase die rather than fighting an ideological war around it perhaps someone would coin something better.


Begging is more emotive, and gets across that the question pertains to an important consequence of the statement.


There's no objective standard for language usage, so it's perfectly possible for something to mean one thing in technical jargon of a specific field, and something else in colloquial usage.

Therefore, your claim that "begs the question" can't mean what 99% of people understand it to mean in colloquial conversation because it's a term of art that means something else in logic/rhetoric is invalid.

By the way, this reasoning is independent of etymology. "Beg the question" may at some point have only meant what you claim it means now (I don't know if it did or not) -- but that doesn't change anything, even if it's the case.


The fluidity of language doesn't get around the fact that it's perfectly possible to incorrectly use phrases and words.


An idiom does not own the words inside of it. You're still allowed to use the same words for their literal meaning. Sure, the word 'for' is omitted, but that's acceptable usage.

Note that "begging" in this context is likely a mistranslation in the first place. Therefore using it to actually mean "begging for" is less incorrect than the idiom.


Yes, it's no worse than beg your pardon or beg forgiveness. In fact, omitting "for" is so common after the word "beg" that it could be considered standard (correct) English.


Yeah, if I use "dog" to mean "cat", that's incorrect, since it goes against consensus and nobody would understand it.

"Beg the question" is fine: it means what 99% of native English speakers believe it means, and everybody understands it.


There are many terms that 99% of people use incorrectly and they're still incorrect.

In this case, "begs the question" is what something else is called. By conflating two things you get sloppy thinking. Even may people think they know what they're saying or hearing but they don't because there are two distinct things they can't tell apart. Also, it's a less intuitive way to say "suggests" the question. Begs implies something about unequal power structures, and requests, etc.

I understand that I need to be aware of what people might mean, but I'm in tech - I already see that everywhere. Maybe it's a regionalism but many people here call an entire computer a hard drive. I need to know what they want even though they can't ask for it. But yet, they're wrong and there's a lot that could go wrong for them because of their sloppy language.

Rather than fighting for your right to be wrong, why not just be right?


> There are many terms 99% of people use incorrectly and they're still incorrect.

Incorrect based on what standard? What standard for language correctness exists besides consensus?

> In this case, "begs the question" is what something else is called. By conflating two things you get sloppy thinking.

"Bug" means an error in computer software; it also means "insect". Neither is wrong. Terms mean the same thing all the time and context disambiguates perfectly fine.

> many people here call an entire computer a hard drive

Not a good analogy for several reasons: (1) both of those are from the same field so context can't disambiguate, (2) there's no widespread consensus that "hard drive" means "computer". In practice most people would misunderstand.

> Rather than fighting for your right to be wrong, why not just be right?

Wow, I don't mean to be rude but this sounds extremely smug to me. I'm not fighting for my right to be wrong, because I'm not wrong.


> Incorrect based on what standard? What standard for language correctness exists besides consensus?

Incorrect based on the definition of the word/phrase. Just because most Americans say "I could care less", for example, doesn't mean it's being used/said correctly, and saying that it's ok because language is fluid doesn't get around the fact that it is incorrect.


> Incorrect based on the definition of the word/phrase.

You are missing my point. WHAT definition? Where does it come from? Says who?

(By the way, if we're going to trust definitions, Google's lists the definition of "beg the question" that you are advocating for only third. https://imgur.com/a/zh6bJ )


> > "I couldn't care less"

> WHAT definition? Where does it come from? Says who?

The literal meaning of the words. If you couldn't care less, your caring is at zero. If you could care less you must currently care more than zero.

But that's not even really our point...

Rather than playing this silly game where you declare the majority view (Yay 51%) correct, why not just avoid things that people use incorrectly? Why go our of your way to join them? Most everyone who'd use the incorrect form would understand the correct form, so you're not even making yourself more understandable to them.

Why are you so fixated on "Begs the Question" that you don't use any other combination of words from the entire language to describe that phenomenon? The odds that you independently arrived at this phrase are infinitesimal.


> Incorrect based on what standard?

Based on the part names the person wants to refer to. If you place an order and get exactly what you asked for but not what you want or need, you're wrong.

> What standard for language correctness exists besides consensus?

How many of us need to agree your name is Susan before you'll agree and get your ID corrected?

> Neither is wrong. Terms mean the same thing all the time and context disambiguates perfectly fine.

Well, not perfectly fine but we live with it. Why go out of your way to justify and propagate these errors?

> Not a good analogy for several reasons: (1) both of those are from the same field so context can't disambiguate,

Sure it can. You want your data so I know which piece you must mean.

> (2) there's no widespread consensus that "hard drive" means "computer". In practice most people would misunderstand.

There seems to be here. Maybe your area is more technically sophisticated or maybe they just make other mistakes.

> I'm not fighting for my right to be wrong, because I'm not wrong.

You can call "not right" whatever you wish. I'm not talking about taking back your culture's words or anything; I'm talking about technical cases where there's a clear right answer, and a vast assortment of answers that will not accomplish what you wish or will do it sub-optimally.

> I don't mean to be rude but this sounds extremely smug to me.

Is it also smug to be sure that 2+2 is 4?

I'm not saying you need to attack people for being wrong, I'm just asking why you feel the need to join them as opposed to finding an actually correct thing and saying that. For people who don't know the names of fallacies, "begs the question" holds no special meaning and could be replaced by a multitude of phrases that would communicate clearly to experts and lay-people.

When I do small consulting gigs I always try to be liberal in what I accept - I'll back up your data off of whatever you call it. But I always try to use correct terminology myself and I correct clients with "That's an X, if you ask for a Y you'll end up getting this other thing that's not quite what you want." (But I wait for the verification part of the meeting and I don't make a big deal of it.)


Maybe you should look it up in a dictionary [1,2] before acting like a wise-guy.

The quoted sentence is the dictionary usage of the phrase.

[1] http://dictionary.cambridge.org/dictionary/english/beg-the-q...

[2] https://en.oxforddictionaries.com/definition/beg_the_questio...


I'm not sure that is the definition, I believe it's: to make a conclusion based on a premise that has no more support than the conclusion.

i.e to introduce a premise begging to be questioned - that includes, of course, the assumption of a conclusion, (isn't that a different fallacy though? - circular reasoning) e.g.:

> bitcoin is profitable, because bitcoin traders are doing well

It pushes the argument somewhere (sometimes to a new claim; sometimes a consequence-of, or paraphrasing-of the original claim) but provides no argument for that direction either, begging for the new premise to be question just as much as the old, and otherwise providing no new clarity.

This being abstracted to any obvious omission of information, or even abstractions such as situations themselves "begging the question" as if personified, is just an extension of the same semantics.


"Taking over" is sensationalism.

High-speed trader's are taking advantage of arbitrage on zero fee digital currency exchanges.


Yep, plus arbitrage isn't "taking over", no more than "retail is taking over the manufacturing". It's just a characteristic of healthy stock exchanges.

Is there a cap on the growth of the blockchain? Since every transaction is saved and every actor has all of the blockchain (Am I correct?), if HFT made it double it size every week, will it reach an unmanageable size after a few terabytes?


Trading is done off-blockchain on exchanges.


And by taking over they mean has been going on for 2+ years now.


Here's an economics question that I used to think about when I was trading bitcoin:

Does volatility of an asset itself create value? It seems like the more volatile the price is, the more opportunities there are to make big profits trading the swings using a 'reversion to mean' strategy. Which would mean more people trading it, which would mean that over time, the 'mean' price would keep trending upwards, until that volatility reduced to the point where the strategy was no longer profitable.

Does that make any sense at all? I'm sure there's a broken link in that chain of logic somewhere.


I work in HFT, though we don't deal with Bitcoin. I don't think volatility creates any value, but it can be a sign of market inefficiency if it's caused by a lack of liquidity (demand > supply). A typical market making strategy would be to provide liquidity while betting on mean reversion, which will have the effect of dampening volatility. The price won't necessarily trend in any particular direction, it should just dislocate less from some "true" theoretical value.


Generally speaking, liquidity is valuable, and risk is a problem. The volatility might be an indicator of liquidity, or at least attempts to reduce volatility may correspond with reduced liquidity, such as putting your money in a hedge fund that has restrictions on when you're allowed to pull your money back out.

On the other hand volatility can provide arbitrage opportunities for people who know what the "true" price would be. A simple theory suggest that there is a trend, zero or more cyclical patterns, and noise. If you can identify what is noise and what is not the trend, then you can trade against those prices. From the perspective of social utility, pricing error is bad for the economy, and the people who correct it get a share of the recovered efficiency in the market.

In the case of bitcoin it is difficult for me to imagine how to determine a true value. The supply is predictable compared to money, even though the factors that affect the supply of money aren't as unguessable as sometimes claimed. The demand for bitcoin though seems really difficult to understand. As a result its value is much more likely to resemble a random walk, which would mean that there is no mean for the price will revert to.


Volatility usually is considered bad. Why would you want to invest in something whose day to day price can change 20%? For day-traders and HFT volatility is good, since they can (as you have said) ride the swings.

There's the value of a bitcoin, and the value that bitcoin brings to the market. And those are two different things.

The value bitcoin brings is anonymous currency transactions and anonymous speculation.

Now ask yourself what is the value of one bitcoin? It's not based on a physical scarce resource like coal or oil. It's not based upon an actual currency either (either gold backed or fiat). In fact the only value people have in it is that other people invest in it. So speculation has created value.

Volatility in this case is just a side effect of speculation.


In some cases volatility is categorically good, e.g. if you have a put option that's in the money. Volatility increases the chance of it either going far into the money (so you profit) or far out of the money (in which case you can just choose not to exercise the option): it increases potential reward without increasing potential loss (you'll never lose more than the premium you paid for the option).


This was evident on Coinbase a couple of years ago. You could sit there and watch the bids and asks move up and down in a regular fashion on a Saturday night. Probably super amateur HFT but HFT nonetheless.


There's nothing in this article that wasn't true in 2012...


>But for Zhou, a 35-year-old

That wasn't true in 2012. :-)


Kapow!


Which exchange doesn't take transaction fees? I checked BitMEX, GDAX and OKCoin - all have takers fees. When I post an order that gets filled immediately, I have to pay takers fee. Is my understanding correct that if I post a limit order that incidentally is filled immediately, I pay the takers fee ? Which exchanges only take commission on paying funds in/out ?

Does maker/taker distinction ignore the side of the transaction (ie. does it matter whether an order is a bid or an ask to be considered a maker )?


Taker fees are assessed on the party that removes liquidity from a market. If one places a market order, you are removing liquidity either on the bid or ask side and are assessed a fee. If you place a limit order, you are providing liquidity and are not assessed a taker fee.


I heard somewhere that increasing HFT volume actually decreases overall volatility as the arbitrage windows get smaller & smaller. is this the case? is bitcoin any different in this regard?


High-speed trading on a "market" that allows ~10 transactions/second max?


Just like high frequency trading in the gold market doesn't require physically handing bars of gold for physical dollar bills at high speed, neither does high frequency trading bitcoin require any high speed blockchain transactions.


Great analogy.


The exchanges in question are not implemented on top of any blockchain, so no


All this is offchain and completely internal to the exchanges.


Is it possible to do HFT with bitcoin, given it has a 7 transactions-per-second maximum rate?


They aren't trading possession on the blockchain in most cases. Generally, the BTC is in an exchange's wallet and the exchange maintains the accounts of the traders until the traders withdraw their assets.

edit: Some cross exchange trades (i.e. buy BTC on one exchange and sell on another) would still require a move across the chain, but it all really depends on what the exact mechanics of the trade are.


Note: the article confuses two distinct things wth each other, or at least makes it unclear: the transaction volume that is allegedly dominated by high-speed traders is in the forex market, with people trading a promise to e.g. USD, EUR and Yuan for a promise to bitcoins.

Only when someone withdraws his Bitcoin promise does it become a transaction on the blockchain. Until then it's just an exchange saying it owes you a certain amount of bitcoins. This becomes evident when an exchange defaults on this promise because of e.g. a hack, as has been the case with Mt. Gox, Bitfinex, Bitfloor and many others.


what exchanges are people using for this?


There are no HFT exchanges in the bitcoin world. All these trades are done over the internet using HTTP. Hardly HFT.


I don't think there's a specific frequency that qualifies as "high." All the qualities of hft stay the same so long as you are fast relative to "normal."


Wrong. Most exchanges support Websocket (well that's HTTP but am assuming you are talking about Rest) and some exchanges support FIX.


Most exchanges support real-time Websocket and some even FIX protocol. Even HTTP-only for order entry is doable with advanced HTTP client frameworks (I use Akka-http).

HFT is when you are faster than most other traders. ;)


I saw your other top-level comment as well. Are you using Akka Websockets to interface with exchanges as well? Would love to share. See: https://github.com/blbradley/kafka-cryptocoin


Looks nice! My own code is much messier (currently rewriting with akka-streams). Yes, I'm using WS client from akka-http.

Liked how you pattern match directly on JSON messages, I should di it more. :)


Thanks! Feel free to continue the conversation through my listed GitHub e-mail.


Are any of them doing multicast market data yet?


Usually, multicast market data is used within a single local network (single optical cross-connect / multiple consumers). Even in professional environment, it is not yet necessary for Bitcoin and other cryptocurrencies, as the amount of trading instruments is small (compared to e.g. US equities).

There are institutional-grade solutions (cross-connect, colocation in NY4, FIX feeds / order placement), available e.g. from Gemini (https://gemini.com), however, I am not sure that current overall Bitcoin trading volume is enough to warrant this. Both one-time setup and monthly fees for direct links are significant.




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

Search: