Hacker News new | ask | show | jobs
by Jorge1o1 1018 days ago
I’ve had to fill out forms for new algorithms / quant strategies with questions like:

- how many orders per minute do you expect to create?

- how many orders per minute do you expect to cancel/amend?

- what’s your max per-ticker position?

- what’s your max strategy-level GMV/NMV?

Etc.

Any one of those questions can be used to set up killswitches.

[edited for formatting]

1 comments

Sure, but there is always the possibility that then you shut down trading when things _arent_ broken.

There are always two error rates.

Defining behavior is great for retrospective analysis but would you really feel comfortable putting hard cuts into production based on the answers to those questions? I’m genuinely asking, because IME I wouldn’t be.

That last nine in a trading system uptime has exponentially low value unless you have customers who care quite a lot.

Seriously, suppose you have a truly awesome system making $100B per year of revenue. If you unnecessarily shut down 0.1% of the time, that’s only $100M per year lost, and an 0.1% unnecessary shutdown rate seems pretty high.

> That last nine in a trading system uptime has exponentially low value

IME that last 9 is where all the action happens

> unless you have customers who care quite a lot

All customers care about their trades. I’ve worked with these systems. You can’t treat smaller traders as less-than.

> only $100M

How far removed from the problem do you have to be to think one hundred million dollars is not going to effect anyone?

> How far removed from the problem do you have to be to think one hundred million dollars is not going to effect anyone?

If $10b is at risk, $100m is not a lot for an insurance policy.

Not all automated trading systems have customers.
A way to add limits when being clueless:

Estimate what a real human can do in a day, and use that as the limits. Verify that the system behaves ok for some time, then scale up the desired trading volume and limits, observe, scale, repeat.

But you don't do it by making a (bad) guess up front and then just leaving it at that.