HNHacker News
TopNewBestAskShowJobs

gd1

455 karma · joined February 23, 2012

submissionscomments
gd1··on What Real-Time Gambling Data Reveals About Sports
"On the other hand, all the leagues have significantly lower average hotness in the first half compared to the second half, so maybe it’s not just the NBA that has a boring first half problem."

This seems to be a misconception. It stands to reason that the chart will grow jumpier as you near the end of the game. In options lingo, the implied volatility will be more stable the further you are from expiry (the end of the game). Theta decay and all that. The market is basically giving you an integrated forecast from each point in time until the final buzzer, and as that window shrinks you expect the odds to be jumping around more.

gd1··on North Dakota oil boom: American Dream on ice
100% of priests agree there is a god.
gd1··on North Dakota oil boom: American Dream on ice
Lets be clear: not everyone is convinced that putting carbon dioxide into the atmosphere is even a problem.
gd1··on Why should I use a pointer rather than the object itself?
That's like asking a marathon runner why he doesn't just hop in a car.

I use many languages. I use C# to knock out a GUI. VBA for a bit of spreadsheet work. Q/KDB+ for database/functional work. R for stats. All of these are far more productive than C++. If you want fancy abstractions, other languages have them by the bucketload.

I don't use C++ to be productive, and I don't expect to be. I use it to get close to the metal and have full control. Everything you code will take 4-5 times longer to write. And longer to compile. You will be careful because you have to be careful, and that's a good thing because with that care comes quality.

gd1··on Why should I use a pointer rather than the object itself?
>reference counted system is a _garbage_collector_

Exactly. An awful one.

gd1··on Why should I use a pointer rather than the object itself?
How did we ever survive without them, before boost showed up? I seem to remember doing just fine. They are a symbol of the useless bloating of C++, a language trying to be all things to all people. A half-assed halfway house between managed and unmanaged. You're either a competent C++ coder, in which case you shouldn't need them, or you're new to the language, in which case they are obfuscating the details that you need to learn.

> transfer ownership

Then transfer ownership. The object that owns them encapsulates a container. When it is destroyed, it iterates the container and destroys the objects that it owns. So to transfer, take it out of that container and pass it to the new owner. It isn't rocket science.

>unknown lifetimes

Then you have a lazy, poor design. And that's the point really, managing your memory properly is an intellectual rigour - it forces you to improve your design, to be acutely aware of these issues. Not just spawn shared_ptrs and hope for the best. We have nice forgiving languages where you can be lazy. Coding in C# is like taking a holiday. C++ is meant to be hard.

gd1··on Why should I use a pointer rather than the object itself?
They have no real reason to exist. At best, they are syntactic sugar (auto_ptr), at worst they actually encourage poor design (shared_ptr). They are basically a crutch for programmers who grew up with managed languages and are afraid of raw pointers.
gd1··on Why should I use a pointer rather than the object itself?
There are some very good answers to that question. Related to that question, I still fail to see any advantage to using shared_ptr, weak_ptr, unique_ptr, auto_ptr, etc. If you are doing C++ right, nearly everything should be allocated on the stack, and the things that aren't should be encapsulated in a class, RAII style. If you can't design your program so that the ownership and lifetime of your objects are clear, then you're using the wrong language, and shared_ptr won't save you.
gd1··on We Have Luxurious Jobs but We Are Not Aware of It
She does work. She has three children to raise.
gd1··on Ron Paul Launches Snowden Clemency Petition
Let Jon Stewart answer you:

http://www.youtube.com/watch?v=uSbkFpAA4CA

gd1··on High-Speed Trading Isn't About Efficiency—It's About Cheating
VAT is paid on the difference between what you obtained a good/service for and what you sold it on at. The clue is in the name - "value added". You can even get a refund if you make a loss. A transaction tax would be charged at both ends whether or not you make a profit.
gd1··on High-Speed Trading Isn't About Efficiency—It's About Cheating
Important things are 24 hours a day. Spot and forward FX, commodities, sovereign bond futures, Equity index futures, etc. See for example:

http://www.cmegroup.com/trading_hours/

CME tends to be closed for an hour a day for cleanup and that's it. US equities aren't a big deal compared to the size of bond or FX markets.

gd1··on An insider’s story of the global attack on climate science
They brought about a great scientific improvement. At NIWA's site you can now see detailed accounting of the methodology behind the adjustments:

http://www.niwa.co.nz/our-science/climate/information-and-re...

That was put together in December 2010. Before that, they'd been handled in an ad-hoc manner. Some of the adjustments detailed in the literature, some no doubt scrawled on a piece of paper on some professor's desk or sitting in some fortran code on a 5 1/2 floppy. The thing about climate science is that it is done by academics, and if you've ever been in academia you'll know what I mean... If they want us to turn the modern economy inside-out, it is fair enough to ask for a little more rigour.

gd1··on An insider’s story of the global attack on climate science
Your link wasn't there when I posted was it?
gd1··on An insider’s story of the global attack on climate science
Through skepticism. What you're doing there is faith.
gd1··on For the Love of Money
Bodek is a failed trader, and one who apparently can't read exchange API manuals (here's BATS explaining it for him: https://www.batstrading.com/resources/features/bats_exchange...). Now he's trying to make money from sensationalism and poorly written books.

That aside, Hide not Slide orders are an interesting case. They exist only in US equity markets, and they're a great study in unintended consequences. US equities are quite fragmented (the same security can be traded on several different exchanges), so well intentioned US regulators introduced something called the NBBO (National Best Bid Offer), ostensibly to "protect investors" from getting a worse price on one exchange. What this meant is that different exchanges trading in the same product could never be "locked" - you could never have one exchange showing say 101 on the bid when another has 101 on the ask (because in theory then they are crossed and should trade). Pretend the tick size is 1 for following discussion...

This leads to a situation where every equity exchange in the US may be trading 100/102 (with an empty tick in the middle), but as long as one remaining exchange is trading 100/101, you aren't allowed to insert a bid at 101 on the other exchanges (since the interpretation of the rule is that this would be unfair on the resting 101 offer). But HFTs are all very keen to be the first to fill that 100/102 gap in the spread - to be the first on that new queue is an advantage since you get filled first. And obviously that one holdout exchange will soon get filled and the price will tick up. But the other exchanges legally can't accept a bid at 101 yet.

So exchanges started to either reject orders or "slide" them - you submit that 101 Buy and they slide it down to a 100 Buy. Which leads to this:

10 SUBMIT BUY@101

20 IF RESPONSE = "SLIDE TO 100" THEN DELETE, GOTO 10

All of a sudden the exchanges are being flooded with messages, as algos are pinging the exchange constantly wanting to put that 101 bid in. Which leads us to 'Hide not slide' - the exchanges promise to sit on your order until the NBBO ticks up and put it in the queue then. The problem is that these order types, while documented and available to all who are connected to the exchange directly, aren't usually going to be available to someone who is trading through an intermediary - a broker or some retail trading platform. So that's the story of how a well intentioned bit of regulation ended up disadvantaging US investors.

US equity markets are full of weird quirks like this, the NBBO needs to be done away with.

gd1··on For the Love of Money
True enough, I was discussing direct market access. If you're going through a third party, it's up to you to vet them and make sure they are trustworthy. I agree almost word-for-word with Optiver's submission on payment for order flow:

http://www.optiver.com/pdf/FSA%20consultation%20on%20PFOF%20...

I believe brokers in the US are now legally required to reveal any such arrangements to their clients.

gd1··on For the Love of Money
You're still not getting it. You send your messages on a private link to the exchange. Then the exchange processes them (either puts an order in the order book) or matches a trade, and only then publishes that this has happened on the public market feed. At which point other participants can react. This: "So one way of jumping in on the order is being, say, a few thousand km closer to the exchange than some other trader." ...is silly. No one gets to jump in front of anyone. Being closer to the exchange allows you to react quicker to a public event, but not a private one (which you can't see). In fact, even if you could somehow see someone else's TCP packets departing, from point A to the exchange, and you were in co-location next to the exchange at point B, you'd still have to get the information in their packet from point A to point B, run decision logic on it, then dispatch your own orders to the exchange (point B to the exchange). Faster than their already in-flight packet could arrive. It would still be impossible. What you're talking about is a common public misconception, that somehow the HFT bogeyman sees your order before it arrives.
gd1··on For the Love of Money
Fine, I'll attempt to parse through your example.

"Rather than buying Wigets-R-Us at $100/share, the HFT slips in with a, say, $99.99 offer to the seller, and offers you $100.01."

So, 2 possibilities, you don't say, but you are sending a limit order to buy at $100 or a market (or marketable limit, or fill-and-kill) order to buy at $100. Apparently, you seem to be suggesting that there is a seller in the market, presumably offering at $100. Now, you seem to be suggesting that the HFT sees your order before it hits the matching engine (nonsense) and also that they can somehow re-negotiate with the seller and get him to lower his limit sell to 99.99 (I'm not sure how, do they send goons around to kneecap him if he doesn't? All in the 20 milliseconds your order is on the way to the market?).

" and offers you $100.01"

...but let's assume that somehow the magic omnipotent packet-sniffing HFT knows your order is enroute to the exchange, can force market participants to lower their offers, now you're claiming that it can force you to buy at $100.01. Why didn't you send a limit buy at $100, if that's the price you wanted, you saw, and were prepared to pay?

>wrapped in condescension

If you want to write entire paragraphs about something you know nothing about, you're not really adding to the conversation are you? So you'll open yourself up to a little condescension.

gd1··on For the Love of Money
You have no actual idea how a limit order book works do you?
gd1··on For the Love of Money
Google and read up about "adverse selection". You are wrong, a retail investor/trader should never (ever) place a limit order. You have negative expectation on those orders, since you are (on the whole), slower and more naive than the other participants in the order book, who are either machines with response times measured in micros or humans who are more devoted to watching the market than you (since it is, after all, their job).

To give an extreme example, let's say you stick a buy order for some equity at the best bid, and a large event happens shortly afterwards (say the employment numbers, the non-farm-payrolls are released). Consider two scenarios. a) Number is good, market takes off, you didn't get filled and you've missed out on profit you could have made had you just crossed the spread. b) Number really bad, everyone else is already out of the market, or fast enough to get out of the market, but your limit order is sitting there like a duck in a shooting gallery, gets filled instantly but the stock tanks well past that level, and you're already showing a loss.

Your expectation on a limit order is negative. It is more likely to get filled when you don't want it to get filled - this is adverse selection. Unless you really do have the tools to compete.

Even this assumes that you are directly accessing the market, it is even worse if you go through a broker. They get up to all sorts of shenanigans, including what they call "price improvement", where they'll jump in front of your limit order by some tiny increment.

gd1··on David Simon: 'There are now two Americas. My country is a horror show'
It reads slightly different in context, but then you probably know that:

"There is no such thing as society. There is a living tapestry of men and women and people and the beauty of that tapestry and the quality of our lives will depend upon how much each of us is prepared to take responsibility for ourselves and each of us prepared to turn round and help by our own efforts those who are unfortunate."

gd1··on Unexpected Ways in which Bitcoin Dodged Some Cryptographic Bullets
>very difficult to believe that something this sophisticated was developed by anyone other than a well financed, possibly nation-state backed organisation.

Hilarious. A "well financed, nation-state backed organisation" just gave us the Obamacare website.

gd1··on How to lose $172,222 a second for 45 minutes
Liquidity isn't a function of time, it is a function of relative time between the predators (arbitrageurs) and the prey (market makers). If the predators are much faster than the prey, liquidity will disappear since the market makers can't survive (their prices are too stale and they are getting taken advantage of). It has always been this way, even since Nathan Rothschild used carrier pigeons to get news of the Battle of Waterloo.
gd1··on Barbarians at the Gateways: High-frequency Trading and Exchange Technology
And you've merely tried to change the subject. Something can't be front-running if it happens after a publicly disseminated market event. Understood? Flash orders = front running. Trading ahead of client flow = front running. Latency arbitrage != front running. HFT market making != front running.
gd1··on Barbarians at the Gateways: High-frequency Trading and Exchange Technology
By the way, this is an awful, awful idea that you hear quite a lot. Think about what would happen. What incentive would a participant have for placing an order early in the one minute interval? If you can't cancel it, you're a sitting duck. And if you can't be executed now, why insert the order now? By doing so, you show your hand. You'd end up with a rolling one minute e-bay auction where everyone tries to insert at the last possible microsecond.
gd1··on Barbarians at the Gateways: High-frequency Trading and Exchange Technology
Dark pools exist because these "real investors" you speak of are muppets. If you're a market maker out in the big bad world you are exposed to adverse selection risk - i.e. you're up against smarter, better informed or faster traders who hurt your profits. If you set up a dark pool, you can pick and choose your customers, and keep these people out. You can quote tighter in the dark pool than the wider market, so your customers think they're getting a great deal, but in reality they're only getting this deal because they are (collectively) great big juicy marks who you can make a fortune from.

This is why you see the big investment banks setting up dark pools, they can't compete in the technology race or with smaller more agile firms, so they retreat to these pools.

gd1··on Barbarians at the Gateways: High-frequency Trading and Exchange Technology
Wtf? An example of latency arbitrage is say, two identical fungible securities listed on different exchanges. An order arrives causing the price on one exchange (A) to spike up (the event), you react after that event and buy the security on the other exchange (B). You reacted fastest to public knowledge.

Front running would be if you were say sitting on a broker desk and one of your clients rang up and said to buy lots of A. Then you put in your own buy order before the clients one hits the market. That is front-running. You got in before that knowledge become public. Do you see the difference?

gd1··on Barbarians at the Gateways: High-frequency Trading and Exchange Technology
You'd best look up the definition of "front-running". Reacting to an event the fastest makes you the quickest behind-runner, but you're still behind. Not front-running at all. Where did you even learn this term? Are you just regurgitating something you've heard elsewhere?
gd1··on Barbarians at the Gateways: High-frequency Trading and Exchange Technology
Why? What's the response time on an airbag release in an accident? On the ABS in your car? Your graphics card manages to rotate, scale, texture and shade a hundred million polygons per frame in around 1000/60 = 16ms. We're talking here about processing one UDP frame, usually under 256 bytes.

Why is this the only topic discussed by HN where technology suddenly becomes this frightening bogeyman?

← PreviousPage 8 of 10Next →