Faith In Research - Post mortem

C2 Members -



I want to explain publicly what occurred this morning with the Faith In Research system ( http://www.collective2.com/cgi-perl/system50505079 - this may not be visible to non-subscribers).



This morning, when I went to my office at the beginning of the day, I saw 2 frantic emails from the system developer of this trading system. In the interest of not betraying his privacy, I will tell you that the email basically said something like this: "I made a big typing error this morning. I wrote 2419 contracts instead the limit of 2419 with 1 contract."



The cost of opening and closing this erroneous trade did cost the system its entire system equity (presumably due to the spread of entering and then quickly backing out of the trade.) This would have precluded any further trades from being made for the system.



I checked the brokerage records and found that no one reported filling this trade. Thankfully, it appears that the brokers rejected the order as clearly above sensible limits.



Without giving it too much thought, I removed the trade from the trading-system record since it appeared to be a “busted trade” – i.e. it was not filled in any accounts, and it wasn’t traded by brokers or exchanges, and because its presence prevented further trades from being placed by the system.



In addition, I added new logic to the C2 order-entry screen which rejects orders of quantities that seem too large. This new code is now in place and working on our servers.



In hindsight, I am not really sure that I did the right thing this morning. It wasn’t my intent to hide a bad trade from the public – that’s not what Collective2 is about, obviously. The entire point of the site is to show the trades that occur in a system (albeit on a hypothetical basis) in go-forward trading.



Indeed, I was quite certain that no “hiding” was going on, since all subscribers saw the erroneous signal in their email boxes, and also because the system developer wrote broadcast emails to his subscribers describing the error and issuing instructions to ignore the signal. The most important consideration to me was that no broker filled the trade, and so I removed the signal from the hypothetical track record of the system.



Now, after some reflection, I am not sure I did the right thing.



The purpose of this forum post therefore is two-fold:



First, to describe the incident with as much candid disclosure as possible. This includes admitting that I am not sure that I have done the right thing in this case.



Second, to ask subscribers to the system what course of action they would like me to take. Should the trade be reinstated in the track record, even though it was not traded? If so, this will mean the system will be no longer usable by subscribers. If this course of action is taken, it would probably mean that if you are a subscriber, you will probably want to end your current subscription to the system and perhaps look for alternatives.



I welcome and seek the feedback of subscribers to the system primarily, but of course I welcome the thoughts of other C2 Members, too.



Finally, I want to take this opportunity to say this incident is a good reminder of why AutoTraders should set the “Max contracts” setting in the autotrade setup screen. Even if you set the Max contracts to a fairly high level, having at least some number set will help avoid “fat thumbs” cases like the one that happened here.



And also, just to re-iterate, I did indeed change the order entry screen to institute a “sanity check” on manual order entries to prevent idiotic orders like this from being accepted without confirmation. Even so, “idiotic” is in the eye of the beholder, and one man’s “idiotic” order might be merely an “intriguing” order to another trader, and vice-versa… so be sure to set your Max Contracts setting if you are autotrading.



I welcome your feedback.



Matthew





Hi Matthew,



Thank you for the explaining the situation. It does seem like the vendor made an honest mistake and I can see why it makes sense to roll back this trade.



However, looking at the other side of the coin…

1) Why does it matter if a subscriber did or didn’t make that trade? Do you know if any manual trades took place?

2) To be fair, will you now roll back other vendors “typing errors”? Especially if they have no subscribers.



I empathise with you and the vendor. It is a difficult sitaution

As someone who has been trading for many years, I can assure you that most traders have made this mistake but not on the scale that happened here. Been there, done that, corrected the trade and lived to trade another day.



I will take this opportunity to make a request that should be easy to fulfill. When I place a trade with my online broker, after I enter the number of units, the total dollar value of the trade is displayed. Such is not the case on C2. For those of us who trade stocks and ETF’s, for example, the appearance of the total value of the trade offers another line of defence from entering an incorrect quantity.

The review is saying that the subscriber was filled. I’d reach out to them and see if they really were (an account statement should clarify). If they were filled then I believe you need to reinstate the trade, but maybe at the limit that C2’s margin would allow for the trade? Why wouldn’t C2 just reject the trade outright given a large margin violation? I know I’ve had trades rejected before after some bad tick messed up the system equity.



If it was a manual trade then I have to ask what the subscriber was thinking. A trade for 2419 contracts at $1 seems to be a pretty clear error. This is one problem with autotrading, computers can’t think for themselves … at least not yet.



Regards,

Dave

An unfortunate situation and I have empathy for everyone involved. (For the record, I’m not.)



However, the rules are the rules and the vendor has to be responsible for his actions; good, bad, and ugly. What you have done by erasing the trade is akin to a PGA tour official giving a golfer a mulligan because he pulled the wrong club from the bag and the ball went into the lake. (Or disregarding the rule of disqualification if a scorecard is signed with an error.) This is a bad precedent and undermines the integrity and transparency of C2.



I respectfully suggest you change the record to reflect the truth.



I agree with Dave’s suggestion.



It would seem to make sense for Collective2 to prevent anyone from opening a trade for which they don’t have enough buying power - as a normal broker would do. (Or at least display a warning if the system doesn’t have enough buying power - as a warning.)



Yes, I already did check with the writer of the review and he was a manual (not auto) trader. He wrote to me: “Of course, these signals haven’t been executed on my account as I don’t have the capital to do so as I stopped trading it only a few days ago.” So no fill was done by him.

I agree with B K on this one. Otherwise, where do you draw the line?



What if the trade had been for a small enough number of contracts that someone did get filled and took a huge hit?



Fortunately, no one did, but it should be a reminder to all system vendors that we have people depending on us not to do stupid things. If the worst that happens is that Faith in Research is closed and a new system is opened using the same trading style, we should all feel very lucky.

Just as your broker would, C2 should prevent you from going past your margin amount. If the trade is re-entered, I think it should be for the maximum number of contracts the model account margin would allow. IB for example will either cancel an order or reduce the size to what your account can handle (depending on a setting I believe).



Regards,

Dave

I have to take the side of the system developer. No trades were placed in accounts so apparently something was working correctly. He is a hard working system developer who I think cares about his investors. I know all this I say is from the heart but I don’t think the system should get trashed because of a mistake that actually didn’t happen. I know this is precedent setting but in my opinion there is grey area in just about everything. So, what do we do when a system developer keys in the correct numbers and C2 screws something up? Shut down C2?

Mr. Klein, correct me if I’m wrong, but if the developer does things right–and C2 (not the broker or data provider) “screws something up” as Mr. Lewis wrote, doesn’t C2 correct the trade record? If so, then if the developer scews up and C2 has done everything right, then the developer must suffer the consequences for the sake of regularity.



Mark,



If the trade was done up to his margin and closed almost immediately it should encounter a minor blip (like a trader would under those circumstances) but shouldn’t wipe out the system. That would only happen if it was entered for the full 2409 contracts.



Regards,

Dave

If there is a glitch at C2 and there are autotraders you are stuck with the result since actual trades occurred (if no autotrades occurred I believe it is corrected). This happens from time to time, usually without too large an impact, but not always.



Regards,

Dave

Firstly I am not a subscriber to FiR but I do keep an eye on it, as with a bunch of other systems on C2 and elsewhere.



It seems to me an honest mistake and equally I think Matthew gives an fair explanation as to what he did and why. He asks for feedback and in my view, what C2 did was correct as long as noone got filled. If anyone (even manual) did get filled then the trade should be reinstated and the system folded.



As someone who spent years trading on institutional desks, I unfortunately saw this type of thing happen when it wasnt caught. Matthew’s advice to set max contracts to a realistic level is something that people should really take notice of.



I would make one suggestion in the interests of maybe preventing mistakes before they happen rather than in post-mortem mode and that is to set an automatic query if an order level is set to too far from the current price as well as a contract size query. Even a 90% from current price limit would pick up a lot of these type order errors (including this one).



I’ve been here almost since the beginning of C2, and anytime I have had a mistyped order (or an order where my Tradestation gave bad order to C2), the answer from C2 has always been along the lines of "sorry, but you entered it, and we have to protect the integrity of C2 - we can’t change trades due to your mistakes."



Ignoring the trade would also hide it from potential future subscribers. That is really not fair to them - what if it happens on a smaller scale again, and is executed?



Seems pretty clear to me what should be done in this case. I’m sure the regulators would agree.

Kevin,



I’m glad to see you back. Please keep posting :slight_smile:

Responsibilities

I am of the opinion that a system developer is responsible for any wrong input, and should be held accountable. Having said that, I think a developer has a reasonable expectation for C2 to prevent trades that violate margin requirements, just as any normal broker would do. Entering such a trade should have yielded an error. It’s trivial for C2 to recognize such a violation, and I believe C2 allowing it may border negligence.



Faith In Research Incident

It is not clear from Matthew’s post which contract was mistraded, but judging from FIR’s trading record and the price mentioned, it was most likely @NQM1. Assumed margin requirements for this contract are $3500, as listed on C2’s own futures symbols page (http://collective2.com/symbology_futures.htm). The system equity is now at $41,647. The margin requirements should have prevented opening any position larger than approx. 11 contracts. In my opinion this should retroactively be prevented for all past trades for all systems.



Additional Warnings

As others mention, warning messages for unlikely price levels and/or order sizes would also help prevent erroneous trades, and I would recommend adding those to the C2 system if not already present. NB: Traders should be able to ignore warnings, but must correct errors.



Trades actually executed is irrelevant

Whether any auto/manual trades were actually done is irrelevant it seems; many developers are building trackrecords without having any subscribers. Should these all be allowed to retroactively ‘fix’ losing trades? If a tree falls in the woods and nobody hears it, it still fell!



Conclusion

So, my conclusion: remove any past trades for any system that would not have satisfied margin requirements at the time of trade, and implement this trivial check for future trades.

exactly. margin requirements should limit the trade size. this typo limit should at least allow the sys developer to set the parameters relative the model.

When entering new trades, there is currently no notification (to the vendor) that indicates the total amount of the trade.



I suggest C2 add a simple verification popup window when a new trade is entered. This popup window would show the amount of the trade (at current prices) and require the vendor to re-input the “quantity” field. C2 would then perform a check and not allow any trade where the “original” quantity field does not match the “verification” quantity field.

In this case, I think that if the brokers knew enough not to execute such an obvious error, that C2 should "know" enough not to execute the same obvious error. Demanding that this be added to the permanent trade record when it never realized is just rubbernecking. Unless a system is 100% automated, there will be mistakes. Penalizing someone for an error so large that it never had a chance to even materialize, and thus totally crashing the stats in the process, is simply uncalled for. My .02.

Christina