Undiscovered Country of HFT: FPGA JIT Ethernet Packet Assembly
michaelmalak writes "In a technique that reminds me of the just-in-time torpedo engineering of Star Trek VI: The Undiscovered Country, a company called Argon Design has "developed a high performance trading system" that puts an FPGA — and FPGA-based trading algorithms — right in the Ethernet switch. And it isn't just to cut down on switch/computer latency — they actually start assembling and sending out the start of an Ethernet packet simultaneously with receiving and decoding incoming price quotation Ethernet packets, and decide on the fly what to put in the outgoing buy/sell Ethernet packet. They call these techniques 'inline parsing' and 'pre-emption.'"
So that you can send your order before even the price quotation comes. Oh , wait, those guy already can do that and send packet back in time : http://news.slashdot.org/story/13/09/25/1955220/somebody-stole-7-milliseconds-from-the-federal-reserve /sarcasm
C. Sagan : A demon haunted world:
http://www.amazon.com/gp/product/0345409469/
visit randi.org
Things like high frequency trading make me want to vom. Essentially, all they're doing is shuffling money around, taking advantage of an outdated system, and increasing risk for the entire world.
It'd be great to see this kind of innovation in something that actually is useful and valuable - not for creating an incremental improvement on a corrupt system.
I have a friend who works in the defense industry but interviewed with HFT firms around 3 years ago. My friend also had this idea, and discussed it with me since I am close to the industry.
If an industry outsider like my friend had this idea within a week or two of merely interviewing for jobs, it is a good bet many others had already conceived it and even gotten it working before that.
No, this is arbitrage. Taking advantage of price differences within or between markets.
You could be used to develop more efficient hardware for everyone to use, or fix medical conditions, rather than posting on slashdot.
Do you even lift?
These aren't the 'roids you're looking for.
High speed trading is all about stealing as much money as quickly as possible before anybody else has a chance to do it.
It serves no purpose but to move money from the hands of everyone else to the banks -- the same banks that caused the financial mess in the first place.
I blame this squarely on the American concept of capitalism -- the Republicans and Libertarians will tell you this is how it's supposed to work, because they and their benefactors directly profit from this.
The super rich just skim off the top and bypass the entire 'market' for their own purposes.
And this is why there never has been, and never will be a free market and it can't do what it claims -- because someone will always game the system for their own benefit, and there's nothing to keep them in check. And the big players define the market choices, so there is no actual options for people.
I view HFT as wholesale theft, which is pretty much exactly what it is. Nobody earned anything, they just have a direct hook into the system whereby they can bypass everything and make money before it exists to anybody but them.
Burn Wall Street. Eat the rich.
At least porn is of arguable value. HFT brings absolutely nothing of value to the table. It doesn't help the traded companies, it doesn't help the market, it doesn't help any country economies. In fact, all it does is give the same hedge fund bozos who trashed the US and EU's economies another way to scarf income without adding anything.
Markets need to have some sanity. Either only allow trades each 15 seconds or tack a very small surcharge per transaction which wouldn't affect normal transactions, but penalize HFT enough to not make it worth the bother.
Apparently they make life possible because they move capital where it is needs to be, and deserve the medal of honor for what they graciously give the rest of us. http://finance.yahoo.com/blogs/daily-ticker/99-owe-debt-gratitude-1-harry-binswanger-153327379.html
They have. See https://en.wikipedia.org/wiki/Alphamosaic for their previous jobs. Also, 3rd generation of their chips is in the Raspberry Pi, as the CPU.
now I wouldn't have a problem with it if it was accessible to everyone, for example if anyone could buy machine time from vm's that were all given the information at the same time(artificially arranged, wouldn't work otherwise!) at the stock exchange.
Sure you would. You might not think so, but suppose that the exchange set up a perfectly equitable system in which identically configured were made available to every firm and provided with identical market feeds all perfectly synchronized so that no single trading VM has any advantage over any other.
I would give that system about three hours of run time before you discover that:
Just look at the tricks that players in the game are already using, and ask yourself how changing the rules is going to stop them.
Why only 15 seconds? Why not 24 hours? What reason, other than gaming the system, could there ever be to hold a stock for less than 24 hours? I don't understand why this wasn't made illegal 30 years ago... Well, I do - the people making the laws are the people profiting from them - but the reason is not a good one.
I agree with you, but go further.
HFT brings absolutely nothing of value to the table. It doesn't help the traded companies, it doesn't help the market, it doesn't help any country economies. In fact, all it does is give the same hedge fund bozos who trashed the US and EU's economies another way to scarf income without adding anything.
HFT isn't merely neutral adding no value; the income they "scarf" is income the rest of the stake holders lose. (To the extent that one can lose something one never got, at least.)
Either only allow trades each 15 seconds
I propose 10 minutes or even longer, and even that's more than fast enough. A company's fundamental value doesn't change 6 times an hour.
10 minutes lets news hit, lets people think and consider what they value the stock at, and even people not day trading for a living can react and put in a trade order without being 100 million trades "too late".
or tack a very small surcharge per transaction which wouldn't affect normal transactions, but penalize HFT enough to not make it worth the bother.
Not just every transaction -- every ORDER. HFT spams millions of orders to probe, guide, bait, etc, most of them never close and are cancelled; within milliseconds of being placed.
Those need to be 'taxed' as well.
Finally eliminate "dark pools". All trades MUST go through regulated markets. There should be no dark pools of unregulated trade.
tax every transaction.
Also tax rolled back oops, my bot "ran amok" transactions. Also track these and send the history to our regulatory watchdogs who, supposedly, will take an interest in the chicanery of anyone abusing this "feature" of the markets. Or just don't allow them to be undone in the first place. caveat emptor, bitches.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
High frequency trading isn't investment, it's gambling. It's hard to do any "meaningful economic activity" when the amount of money you have to do it with changes every couple milliseconds....
Investments are long-term. Investments are saying 'here's some money, you go build X and give me Y% of your profits'. That's an investment. And you don't need millisecond speed trades and specialized FPGA NICs if you're leaving your money there long enough for R&D, marketing, and sales. Investments last months or years, not minutes or milliseconds.
So thank goodness their moneyed overlords are willing to lend some of the cash made on the backs of such creative people, so that the creative insightful people can do more work and give the lion's share back to the moneyed overlords. It's a good thing we have a dynastic class of people controlling all the capital.
"When information is power, privacy is freedom" - Jah-Wren Ryel
Burn Wall Street. Eat the rich.
No, tax Wall Street, Tax the rich.
Why? To punish the rich for being rich? To punish Wall Street for making so much money?
No. To control the market, to put a disincentive to trading for trade's sake and locking up capital in the hands of a few until they come to control the market itself.
After the last Great Depression, people realized that Wall Street will always go out of control, eventually. We've forgotten those lessons, and removed the regulations that kept Wall Street boring (it sure wasn't sexy to be a banker in the 70's) and kept capital where it belongs: industry.
Under those old rules, Wall Street made money by performing financial services, and thus sharing in the success of industry, but otherwise sat on the sidelines.
Trading for trading's sake, however, is simply buying low and selling high. No matter how complex the instrument, it all boils down to buy low, sell high. And therein lies the rub; somebody has to lose.
Yep, there has to be a loser. One of the parties in the trade is going to get something that's worth less than they think it is, and the other's going to profit from it. Arbitrage, for example, is where some poor fool is offering more money to buy something than some other poor fool is selling it for. Wall Street swoops in, buys from the one and sells to the other, banks the difference. Free money! Too bad the two fools couldn't have found each other on their own... both paid/received the wrong price.
HFT only facilitates one bank making the deal (getting at the sucker) quicker than another. And the higher the speed, the less thinking the other party has to consider whether the deal is any good or not. Assuming that the first party can think that fast, which they probably can't. But they can't appear to be trading with yesterday's tech, can they? Otherwise, people will consider them out-dated, and target them for a sucker.
Buy low, sell high. I know this stack of Mortgage Backed Securities is worthless, but you haven't heard the news and I'll tell you it's great and you have 15 seconds to make the trade or it's going to someone else. That's right, little fish, take the bait.
Take it easy, Charlie, I've got an Angle...
Exactly. Say there's a classified site that you can only load once per minute due to bandwidth restrictions (being a human). I post "Bicycle for sale $500" and another guy posts "wanted: bicycle, $600 or less."
But there are some guys who can reload the page faster because they've bought a very expensive premium service from the classified site. Not a very fair site is it?
One of them sees the two ads, buys my bicycle, and posts "Bicycle for sale $599" before any non-premium members can see what's going on.
Who did that help except for the guy with the premium service? I didn't make more. The guy who wanted a bike just got screwed out of $99.
"When information is power, privacy is freedom" - Jah-Wren Ryel
HFT provides liquidity, and liquidity is of the utmost importance to traders.
HFT is very misunderstood by people who don't participate in or understand trading. HFT in fact adds tremendous value to all market participants by dramatically increasing market efficiency with the significant proportion of trading volume it's responsible for.
When you trade a security, there are actually two prices: the bid price and the ask price. When you buy, you pay the ask price; when you sell, you receive the bid price. The ask price is always higher than the bid price, with the market makers keeping the difference. This means that if you buy a stock and immediately sell it, you lose this difference--this is known as slippage. When there aren't many trades occurring, these prices widen out, and the high degree of slippage makes trading profitably much more difficult. With markets as efficient as they are now, which is largely due to HFT, these spreads are often a single penny wide. Before HFT, these spreads were often ten, twenty, or more times as wide.
Anytime you want to buy or sell something, it's highly desirable to have a line of people willing to make you an offer. High frequency traders are these people. It doesn't matter why they want to take the other side of your trade. All that matters is they are there enabling you to make trades more easily and at better prices.
Getting rid of HFT would be like going back to the dark ages when everyone was being ripped off by market makers.
Well I'm not sure how I would have modded my own post but funny isn't exactly the reaction that I had to the article.
We need to stop rewarding folks for high-speed trading. It basically steals money from the folks genuinely invested in the companies whose stock is traded and adds no value to the system at all.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
HFT provides liquidity, and liquidity is of the utmost importance to traders.
Liquidity? And efficiency?You actually believe that bullshit? It's not about liquidity, efficiency, market making etc. It's all about transferring money from other people to them.
And that's of utmost importance: http://www.zerohedge.com/news/2013-05-08/jp-morgan-has-zero-trading-losses-first-quarter
When you can do it with zero trading losses day after day it's almost like a tax you impose on everyone else (guess where their money comes from).
If the market is becomes more efficient as you claim why'd would these parasites be raking in big bucks? They'd be raking in smaller and smaller bucks instead. Think about that.
And they get bailouts and transaction rollbacks, trading pauses whenever they screw up big time.
When Joe Sixpack trader screws up, nobody bails him out or rolls back his transactions. And if he outsmarts an algo he risks getting a prison sentence: http://www.computerworlduk.com/news/security/3244186/norwegian-traders-convicted-for-outsmarting-us-stock-broker-algorithm/
Reality is it's about the rich and powerful continuing to transfer wealth from the less rich and less powerful.
if (likelihood-of-getting-caught == high)
{throw (EXCEPTION_POSSIBLE_ILLEGAL_TRADE)}
else {SetCompliance (IGNORE_ILLEGAL_TRADES)}
Any insufficiently advanced magic is indistinguishable from technology.
HFT algos aren't making bets on equity price movements. They're usually using sophisticated methods of finding and exploiting arbitrage opportunities.
Of course they see value in it and support it -- they're doing HFT trading too.
All you've identified is that the rich assholes and corporations who run this are all in agreement.
HFT brings no value to the table other than the large financial entities which are profiting from it. It's pulling money out of the market at the expense of everyone else, and for the benefit of the financial institutions. Of course they're fucking well in favor of it, it makes them huge amounts of money they skim off the top.
Dictators see value in dictatorship, because they benefit from it. That doesn't make it better.
If you allow trades only every 10 minutes instead of continuous, you will end up with a whole lot of additional problems, and the big players will take advantage of it again anyway. Let me explain.
First of all, the "price" of a security is the price at which the last transaction happened. Normal people like me and you consider this "the price" of that security if we want to buy it. Suppose you want to buy a security at a certain price. You give an order out, buy 10 shares at price X. If a sell order for shares at price X exists, these orders are matched up, and depending on the sizes of the orders, executed partly or completely. These order are public knowledge, and the order books are visible: I can see that there are 1000 shares bid at price X, 900 at X-1, 789 at X-2 etc..., The same for the ask, so many shares at X+1, X+2, and so on.
Several algorithms use this knowledge. If I want to buy a gigantic amount of a given stock at once, I will be forced to buy the 1000 shares that are offered at X, then the next 900 offered at X+1, etc., so I will end up paying way more than X on average. The final price paid will be "the" price of the security after my buying spree, and will be significantly higher than X.
Now how can you make this work with 10 minute trading intervals? Normal people can't find out the current "price", since the last transaction was 10 minutes ago. You could look at the bids and the offers, and their volumes, to get an idea of what the price might be in the next trading slot, but these bids and offers can be made and cancelled within milliseconds. If I bid X, and see an offer for X-1 appear, I can cancel my bid, and bid X-1. It would be stupid otherwise.
HFT firms will still run their algorithms, manipulating these orderbooks to steer the price, and putting in bids in the very last millisecond. It might end up being even more profitable for them, since all the "sheep" that cannot trade so fast, or god forbid, use a keyboard to enter trades, will be fleeced even more: Now you see an order come in, you quickly frontrun it and make one cent of gains (before someone else is able to react). In a 10 minute system, you see order coming in, and have plenty of time to manipulate and steer the price before the orders will be executed.
int main(void) {while(1) fork(); return 0;}
High Frequency Traders (HFTs) are not investors, they are market makers. They find a willing buyer and a willing seller, arrange the transaction, and execute the trade.
No, a market maker is an entity willing to buy or sell an issue when others won't. That entity makes or creates a market where one would otherwise not exist.
An entity that matches buyers with sellers is usually called an Exchange. Exchanges usually make their income from a commission paid by the buyer and the seller. The distinction between taking their profit from a commission and from simply keeping the 'spread' is important: if the agreed price is the same for the actual buyer and actual seller, then it probably represents a fair estimate of the actual price, and the participants know how much the exchange costs. If the seller sells for less than the buyer buys, then the fair price remains unknown and both buyer and seller have paid an unknowable fee for the privilege of exchange.
No, your methods all assume things that would not be true.
There would be no placing and cancelling orders in milliseconds. The market resolution is 10 minutes. There would be a fee for placing an order, and once placed it would not be cancel-able until after the next interval because THAT is the market resolution.
The orders go into the black box at the exchange, and every 10 minutes they get matched.
The order depth on bid/ask etc would just be what's still in the queue that didn't execute 10 minutes ago. And that's still going to give you a very good idea what the price is. Like a thinly traded OTC for example... where bid and ask are usually within a nickle until someone comes in and either buys at the ask or sells at the bid.)
Think of it as the "clock" only ticks every 10 minutes; there is no "real-time" game taking place between the 10 minutes. *Nobody* gets information faster than once every 10 minutes. There is nothing to 'game' in the interval because there's NOTHING to see in the interval; nothing happens. You are between ticks of the clock.