Bitcoin Forum

Other => Politics & Society => Topic started by: im3w1l on September 21, 2011, 10:44:40 PM



Title: Preventing millisecond trading in a fair way
Post by: im3w1l on September 21, 2011, 10:44:40 PM
The way the stock markets currently works, having your trading bot in the same room as the exchange is vital. Every millisecond counts.
I would argue that the pursuit of these milliseconds are very uneconomical. Sure, providing oft updated reports on where people think the future is head IS important, but I think the resources used do not match the utility produced. The reason then, is that people play a cynical zero-sum game.

I therefore think it would be prudent to try to prevent this from occurring, letting traders instead compete on intelligent algorithms and models.
An often suggested solution is the Tobin Tax. However, given the rates often quoted, I think it would also prevent "healthy" speculation: the kind that ensures the efficient allocation of capitals to various projects.
I have an alternate suggestion: turn based trading
It is a really simple system. People can place their orders anytime they want, but orders are only matched once per turn. Also, orders are only revealed when a turn is over. The length of a turn is on the order of seconds.
This means that no one can take advantage of being closer to the servers by getting their orders in before someone else. Also, it would be impossible to try to glean other traders' strategies and outbid/frontrun them before they even see it happening.


Title: Re: Preventing millisecond trading in a fair way
Post by: AyeYo on September 22, 2011, 01:01:49 AM
The Tobin Tax doesn't work because it totally prices out retail traders from the trading game, leaving the market entirely controlled by huge banks and hedge funds, which is absolutely the last thing we want.


Your solution is interesting, but like all these seemingly excessively complex solutions it still leaves me wondering... if we want to stop HFT, why the hell don't we just BAN HFT instead of coming up with all these convoluted ways to hurt it/slow it down?



Here's my ultra simple solution - New SEC rule: two second minimum rounds trip trade time.

Your buy order fills... you can't sell that position for two seconds.  Your short order fills... you can't cover that position for two seconds.  For commercial firms working a book rather than just single positions, the round trip would include taking any opposite position in the same security that would result in a net close as far as the book stands (e.g. trader bot A shorts 10,000 citi, trader bot B longs 5,000 citi, trader bot C longs 5,000 citi - this would still not be allowed if it all occured in under two seconds)

Why does it need to be any more complicated than that?


Title: Re: Preventing millisecond trading in a fair way
Post by: NghtRppr on September 22, 2011, 03:39:10 AM
The way the stock markets currently works, having your trading bot in the same room as the exchange is vital. Every millisecond counts.
I would argue that the pursuit of these milliseconds are very uneconomical. Sure, providing oft updated reports on where people think the future is head IS important, but I think the resources used do not match the utility produced. The reason then, is that people play a cynical zero-sum game.

I therefore think it would be prudent to try to prevent this from occurring, letting traders instead compete on intelligent algorithms and models.
An often suggested solution is the Tobin Tax. However, given the rates often quoted, I think it would also prevent "healthy" speculation: the kind that ensures the efficient allocation of capitals to various projects.
I have an alternate suggestion: turn based trading
It is a really simple system. People can place their orders anytime they want, but orders are only matched once per turn. Also, orders are only revealed when a turn is over. The length of a turn is on the order of seconds.
This means that no one can take advantage of being closer to the servers by getting their orders in before someone else. Also, it would be impossible to try to glean other traders' strategies and outbid/frontrun them before they even see it happening.

If you want to do that then start your own exchange. Encourage people not to do business with exchanges that don't follow your ideology. But, don't think you can tell other people how to run their business.


Title: Re: Preventing millisecond trading in a fair way
Post by: AyeYo on September 22, 2011, 05:18:19 PM
If you want to do that then start your own exchange. Encourage people not to do business with exchanges that don't follow your ideology. But, don't think you can tell other people how to run their business.

LOL

Go play kiddie politics somewhere else.  The adults are talking in here.


Title: Re: Preventing millisecond trading in a fair way
Post by: casascius on September 22, 2011, 05:23:07 PM
I can see how this could be abused to gain a "dark pool" advantage... to have your bot have positions on the market that don't show on the charts.

Simply clog the charts with penny orders, so any big trade will take a long time to execute, giving you extra time for your bot to throw in the orders you really mean to put up but don't want others to see.


Title: Re: Preventing millisecond trading in a fair way
Post by: AyeYo on September 22, 2011, 05:30:22 PM
I can see how this could be abused to gain a "dark pool" advantage... to have your bot have positions on the market that don't show on the charts.

Simply clog the charts with penny orders, so any big trade will take a long time to execute, giving you extra time for your bot to throw in the orders you really mean to put up but don't want others to see.


Under his system, no one but the exchange the will see the orders anyway, and they'll only see them turn by turn so hiding orders isn't even necessary because they're all hidden.

However, you've got a good point about clogging up the action.  If everything is time/turn based, that means bots can stack massive amounts of milisecond successive orders and essentially halt trading while potentially millions or even billions of tiny trades get filled one turn at a time.


And again we come back to my question... if we want to stop HFT, why don't we just ban HFT?


Title: Re: Preventing millisecond trading in a fair way
Post by: im3w1l on September 22, 2011, 09:40:42 PM
Nothing says only one order can be executed per turn.


Title: Re: Preventing millisecond trading in a fair way
Post by: AyeYo on September 23, 2011, 12:09:48 AM
Nothing says only one order can be executed per turn.

Can you explain your system in a little more detail, maybe given an example of how it would work?



Title: Re: Preventing millisecond trading in a fair way
Post by: im3w1l on September 24, 2011, 11:10:02 AM
1. Turn starts
2. Alice puts a buy order at 5 USD for 10 stocks
3. Bob puts a sell order at 6 USD for 15 stocks.
4. Charlie puts a buy order at 6.5 USD for 5 stocks.
5. Danny puts a buy order at 6 USD for 5 stocks.
6. Eve puts a sell order at 5.5 USD for 5 stocks.
7. Turn ends, order matching begins.
The system now finds the price at which the most orders would be executed. If there is a whole interval in which the most orders would be executed, the midpoint of said interval is selected.

At 5    USD there is demand to buy 10+5+5 stocks and to sell 0 stocks.
At 5.5 USD there is demand to buy 5+5 stocks and to sell 5 stocks.
At 6    USD there is demand to buy 5+5 stocks and to sell 15+5 stocks.
At 6.5 USD there is demand to buy 5 stocks and to sell 15+5 stocks.

The point with maximum volume is 6 USD.

People with eligible orders are
Bob, Charlie, Danny and Eve. Since Charlie put a higher price in his buy order, his order is given preference over Danny's. Since Eve put a lower price in her sell order, her order is given preference over Bob's.
Ties would have been resolved randomly
Therefore Eve gets to sell 5 stocks (completely filled), Bob gets to sell 5 stocks (partial fill), Charlie gets to buy 5 stocks (completely filled) and Danny gets to buy 5 stocks (completely filled). All this at price 6 USD/stock.

8. Orderbook and made trades are made public.
9. Turn starts.


Title: Re: Preventing millisecond trading in a fair way
Post by: idontknow on September 24, 2011, 11:40:09 AM
Here's my ultra simple solution - New SEC rule: two second minimum rounds trip trade time.

Your buy order fills... you can't sell that position for two seconds.  Your short order fills... you can't cover that position for two seconds.  For commercial firms working a book rather than just single positions, the round trip would include taking any opposite position in the same security that would result in a net close as far as the book stands (e.g. trader bot A shorts 10,000 citi, trader bot B longs 5,000 citi, trader bot C longs 5,000 citi - this would still not be allowed if it all occured in under two seconds)

Why does it need to be any more complicated than that?

Enforcing it could get complicated if trader bot A is owned by husband's company and trader bot B and C is owned by wife's completely separate company.

But hubby and wife just happen to synchronize their clocks :)


Title: Re: Preventing millisecond trading in a fair way
Post by: Ayo_4_Yayo on September 26, 2011, 10:27:42 AM
This thread subject is kinda boring.


Title: Re: Preventing millisecond trading in a fair way
Post by: ElectricMucus on September 27, 2011, 12:59:27 AM
This thread subject is kinda boring.

Here this makes it more interesting ;)

http://www.ted.com/talks/kevin_slavin_how_algorithms_shape_our_world.html
It goes into the issue very deeply and even makes prediction where we are headed.... boils down to faster than light communication and quantum entanglement.


Title: Re: Preventing millisecond trading in a fair way
Post by: blueadept on September 30, 2011, 03:57:32 PM
1. Turn starts
2. Alice puts a buy order at 5 USD for 10 stocks
3. Bob puts a sell order at 6 USD for 15 stocks.
4. Charlie puts a buy order at 6.5 USD for 5 stocks.
5. Danny puts a buy order at 6 USD for 5 stocks.
6. Eve puts a sell order at 5.5 USD for 5 stocks.
7. Turn ends, order matching begins.
The system now finds the price at which the most orders would be executed. If there is a whole interval in which the most orders would be executed, the midpoint of said interval is selected.

At 5    USD there is demand to buy 10+5+5 stocks and to sell 0 stocks.
At 5.5 USD there is demand to buy 5+5 stocks and to sell 5 stocks.
At 6    USD there is demand to buy 5+5 stocks and to sell 15+5 stocks.
At 6.5 USD there is demand to buy 5 stocks and to sell 15+5 stocks.

The point with maximum volume is 6 USD.

People with eligible orders are
Bob, Charlie, Danny and Eve. Since Charlie put a higher price in his buy order, his order is given preference over Danny's. Since Eve put a lower price in her sell order, her order is given preference over Bob's.
Ties would have been resolved randomly
Therefore Eve gets to sell 5 stocks (completely filled), Bob gets to sell 5 stocks (partial fill), Charlie gets to buy 5 stocks (completely filled) and Danny gets to buy 5 stocks (completely filled). All this at price 6 USD/stock.

8. Orderbook and made trades are made public.
9. Turn starts.

This is a beautiful idea as long as you aren't trying to force anyone to use it.  It would be very useful on an exchange that lives as a Tor hidden service or similar where variable latency makes it unfair to traders, with the additional benefit of only needing to do margin calculations for existing positions once per turn instead of once per trade.


Title: Re: Preventing millisecond trading in a fair way
Post by: hmongotaku on October 04, 2011, 07:13:59 AM
just add a hefty 200% trading fee for any trades with number pass the 1000th decimal, No reason human traders should fight bots to get their trades in down to the x1/10,000th of a cent difference. Also penalize another 6% for people who do trades under .25 btc