Matthew,
One of my systems (YM Superior) has a realism factor of 81. Which is really weird, because it places only market orders as entries for 50 contracts in the middle of the day, which represents less than 1% of the traded volume for the 5 minute period encompassing it, and as market orders, no less. The exits are usually limit, but again, at way less than 1% traded volume given its surrounding time/volume, I dont understand how the realsim factor could be less than 100, much less 80! And that is 100% scaling - I am concerned prospective subscribers might wrongly think of the system as like some of the stock or option systems offered where the volume doesnt exist as shown to support the trades on C2… Could you elaborate, or change it if wrong? Thanks!
W
This isn’t a bug. The Realism Factor discount in this case is based solely on the volume of your order. If you placed a real-life order at market for quant 50, the software believes that on a portion of your order would be filled at a price worse than the initial best price, and thus your average fill price would be affected by some amount. As always, I welcome feedback. But the main thing to understand is that placing solely market orders does not allow you to escape the burden of the Realism Factor. Like the Heisenberg Uncertainty Principle (which tells us that velocity and direction are not knowable simultaneously), in the RF calculation, you can get hit because your market-order volume overrides available liquidity, or alternately because you place a limit order which doesn’t necessarily get filled entirely. You can pick your poison, but it’s still a poison.
So the solution would be to place multiple smaller market orders separately? Like 5 orders of 10 contracts each?
Ok, I understand.
And yes, seemingly the solution would be 5 lots of 10 fired within 10 seconds of each other rather than a single 50 lot in order to fill at the same or about the same market price …now whether this reflects reality or not is debatable, but thanks for explaining, I get it now. I do think the algorithm might need adjusting - but that is a different discussion.
For example, during the day, have you ever sent a market order for 50 YM’s? To be honest, I have not. I do trade my own systems, that one included, using C2/TB at a less-than-100% scaling factor, so I dont pretend to know the real-life fill expectation on that size lot, but on real-lif lot sizes of 20 and 25 I get filled day in and day out on that, ES, NQ all at the same price (there are just plenty of contracts available at each tick, i.e. - plenty of liquidity). Hell, even the ER2 I can fill 20 usually without any slippage during the day. So, I’m not arguing or complaining, but wondering if you have actually placed the orders to justify the current algorithm? or do you check on the actual bid/offer sizes at the time of the order? Now THAT would probably give the best measurement of fill abillity - some fill simulators (like NeoTicker for example) use that data -
w
I suppose that would “solve” the problem. But in the time it takes to place and fill multiple orders, the market would move.
I’d like to stress that the Realism Factor number is not some kind of punishment gleefully meted to system vendors. It’s just a number that expresses how likely a customer is to receive the same fill prices as posted on the system. It’s undergoing change constantly, so I wouldn’t change my trading strategy based on it. There are obviously weaknesses in the algorithm (for example, with regards to options volumes). But these will be addressed.
Today I bought 550 shares of a NASDAQ stock @ market, total daily volume 190,000 shares, and my “realism factor” took a hit, from 94% down to 86%. Is that really realistic? Its hard to believe that my system is now that much less realistic than before.
I put together some stats for my trades to date and am wondering how I could make my system any more “realistic” than it currently is. All of the trades except one was a market order, and I havent exactly been trading huge lots in thin markets.
BTO 800 RNWK@ LMT— DAILY VOLUME 3,018,800
STC 400 RNWK@ MKT— DAILY VOLUME 3,479,200
BTO 700 DCEL @ MKT— DAILY VOLUME 8,539,100
STC 350 DCEL @ MKT— DAILY VOLUME 1,962,600
BTO 8 CYPB @ MKT— DAILY VOLUME 556,200
BTO 812 CYPB @ MKT— DAILY VOLUME 556,200
STC 420 CYPB@ MKT— DAILY VOLUME 359,400
BTO 300 LRW@ MKT— DAILY VOLUME 1,609,800
BTO 300 BXS@ MKT— DAILY VOLUME 287,600
BTO 550 HMSY@ MKT— DAILY VOLUME 190,068
In a liquid market, such as emini futures, or IBM stock or something else, and given that the market is generally random/chaotic
Doesn’t it seem that slippage of market orders would balance out, with some filled a little worse or a little better?
Or are you assuming that someone trading 50 lots or so would move the market enough to make slippage worse?
I am curious what your algorithm is actually looking for?
"Doesn’t it seem that slippage of market orders would balance out, with some filled a little worse or a little better?"
I can’t speak for C2, but in my experience no. Be it the floor or institutional scalpers in the e’s I think market orders are faded. Brokers used to call MOC (Market on Close) orders Murder on Close. Moreover, there will be lag from the time a vendor issues a signal and it is executed even in auto trade, but worse if it’s done manually via IM or email. Some negative slippage should be assumed for market orders IMHO.
The least slippage from my experience will be with intraday stops
and MIT’s in liquid markets as these orders are really market orders
too, but they are already “in” the system when the market hits the
price. So less slippage in general and much less for IM and email
customers.
"Or are you assuming that someone trading 50 lots or so would move the market enough to make slippage worse?"
Again, I can’t speak for C2, but no question. You even see split fills on
5’s and 10’s.
When I posted on May 5, my RF had dropped from 94 to 86 because . . . well, the algorithm had second thoughts about a trade. Today, May 2, I see that my RF has dropped again, from 86 to 76.9, and all I did was to adjust a stop loss order. No trade has been executed. Can anybody shed light on this?
RF’s are calculated weekly. So it’s probably confusing that, while all you did on Friday was to adjust a single order, your RF dropped. But the RF change was the result of all of the week’s activity.
Things that affect RF:
(1) Using limit orders? If your limit is “just touched” then your RF will drop by some amount for that order.
(2) Using market orders? Your RF depends on the volume of your trade versus the market volume that day.
(3) Have subscribers? Your RF is affected by their real-life fills versus your C2 hypothetical fills.
Matthew