A cautionary tale for system developers

Discussion in 'Automated Trading' started by Jerry030, Feb 19, 2008.

  1. nitro

    nitro

    Every one of these companies looking to fund a trader or strategy should write a simple socket server and API that is contactable over the Internet or VPN. Once logged in, the server would take a string like this:

    "1000, B, 100, IBM, 99.96, LMT, ARCA"

    The first field is the order ID, the second is buy or sell or sell short or cover, the third is the number of shares or contracts, the fourth is the symbol, the fifth is the price, the sixth is the order type like limit or market, the last field is the exchange.

    So if you then sent:

    "1000, B, 100, IBM, 99.90, LMT, ARCA"

    that is obviously a cancel replace of the original order above changing the price from 99.96 to 99.90. If you changed the order ID, it was because you expected a fill, so

    "1001, S, 100, IBM, 100.20, LMT, NSDQ"

    would mean that order ID 1000 was filled and you are long 100 shares of IBM at the last price update you sent for order ID 1000, and that you are now trying to sell the long using order ID 1001.

    Using this simple scheme/API or one like it, they would get their signals without you feeling like you were giving away anything. You would just need to write a client that send orders to this server into your auto trading system.

    It takes 20 minutes to write that socket server simulator in your language of choice. It is trivial then on their side to see if the strategy is profitable and if you are assuming aggressive fills by matching it against a real-time datafeed.

    nitro
     
    #11     Feb 19, 2008
  2. bespoke

    bespoke

    ^ That's basically how I do it. My string is very similar to that. I write a client program that they run which auto-executes the orders on their end for whatever platform. That way, they'll never have access to my code.
     
    #12     Feb 19, 2008
  3. Have them sign a non-disclosure agreement. Then you can sue them if they use their system. Do that next time. Do not do any business or anter any discussions to do business unless you sign an agreement to your favor.

    Bill
     
    #13     Feb 20, 2008
  4. Nah :
    1) NDA's are too weak of a document in court
    2) Legal expense will outweigh any potential "protection".

    This whole incident is interesting. For instance, what dev platform was their automated trading platform written in ? Many choices today: c# dot-net, vb.net, Java, C++, Python, Ruby, C, VB (ok, the last 2 were weak).
    The other issue: How do they incorporate the actual trading logic ?:
    1) Scripting language (Tradestation, Thinkorswim, ESignal , Wealthlab Pro take this approach)
    2) Compiled EXE or DLL calls via API (Interactive Broker, Genesis Securities, Strategy trader, Ninja Trader uses this one)

    It appears they <may> have been lying about the fact they had NEITHER approach which indicates they would have to build the trading logic and incorporate it as part of their execution platform. To do that, they need either the written logic or the source code.
    That appears to be what they were looking for.
    So they guys may not have been crooks, but they had a poorly architected auto trading execution platform.
    This stuff is only simple in concept....building either an auto trading system OR an auto trading execution platform is no trivial task if you want to make money. Building both at once: huge task.
     
    #14     Feb 20, 2008
  5. Here is what really happened.

    Jerry is walking down the road toward a defamation of character lawsuit.

    We have a legitimate company that is not in the business of trading. We never would have gotten involved with the likes of Jerry if we thought he might try to damage our good name.

    We developed a trading system on the side that uses scripts for buy signals. We weren't having much luck coming up with a good script. Jerry offered to try out his neural network model to generate trades through our model.

    From the get go we talked about possibilities for splitting any revenue if we could come up with a good trading system.

    Jerry sent an excel spreadsheet showing where his "buy signals" would have shown up based on 15 minute bars. It looked promising.

    Jerry suggested that we take his buy signals via email. We configured our system to poll an email box. When we contacted him and said that we could take some signals to process in our "simulated" trading application.

    At this time, Jerry said it would cost us money for him to convert his system to 15 minute bars, since it worked on daily bars. He wanted us to pay for that. We asked how he came up with the signals in the spreadsheet that were based on 15 minute bars if his system could not currently handle 15 minute bars. That seemed a little fishy to us.

    Furthermore, he said we would have to provide him with a feed of 15 minute bars. We said the easiest way to get that feed would be if he would package it up as an activeX and we could feed the bars directly into that control on our system.

    It also seemed strange to us that his trading strategy did not use a stop loss and it exited after a certain time frame no matter what. After looking at his excel spreadsheet, we were able to increase the bottom line by more than 8% by adding a stop loss and a profit margin. If his system was so advanced, why couldn't it come up with a better exit strategy? That also seemed very fishy to us. Why did it occur to novice traders like us and not to someone who claims to have an advanced neural network trading system?

    We were never trying to steal anything or get anything for free.

    This was something we were doing on the side and we did not intend to put much time into it until Jerry could show us that he had something worthwhile.

    However, we decided not to continue in the endeavor. Jerry never gave us anything that showed that there was any value in what he offered. He also started to ask for money from us in advance of showing us anything.

    It shows you what type of character Jerry is when on the day we cut our ties with him, he posts a disparaging message on this board.
     
    #15     Feb 20, 2008
  6. This is sounding a bit convoluted:

    1) you have a script-based system
    Really ? You built a parser and all of the hooks to a price data stream ? It uses the circular buffer technique a la tradestation so that price history can be referenced: CLOSE[4]. OPEN[1], etc. ?
    WOW, that alone was a ton of work. Your scripting language can do averages, EMA's, bollinger bands, and all of that TA, right ? You built a library of commonly used indicators too, right ?

    If this is true, then all you needed to do is give Jerry a protected version of your "simulation system" with a time-out feature.
    Then he could just build his buy/sell logic with the scripting language (with documentation too) and then show you the results. NO PROBLEMS. You don't see his code, he can't use your program after a couple of weeks. No one loses anything...no one is hurt. If you like his system, you work out a royalty or licensing deal.

    If you could not do that, I'm confused then.

    2) "simulation system"
    That means you are simulation realtime price data streams then either thru a historic price reference data repository or an artificially produced price stream ?
    That's pretty cool...but of course, Tradestation's had that for about oh say 10+ years now. So, you must have developed something with pretty unique or advanced features, right ?

    Also, why would Jerry, a trader, ever be interested in your "simulation" system if it didn't have REALTIME capability ? I certainly would not.

    Lots of unanswered questions here.....someone is not telling the WHOLE STORY.
     
    #16     Feb 20, 2008
  7. We are actually using a 3rd party scripting tool called TradeScript

    This is true for Jerry also, he could have provided us with something like that. When we brought up that possibility, he started this thread basically stating that we were trying to "steal" his code.
    Our simulated mode uses a real time data feed from TDAmeritrade. It doesn't place actual trades, but simply keeps track of what would have happened, like paper trading.

    Our system was developed inhouse for a specific trading strategy. We expanded it to handle more strategies. It was never meant for general release, and we did not spend a whole lot of time perfecting our back testing because we could never find a decent script that would justify the time and expense.

    As I said before, this is something we did on the side hoping to generate a little extra income. We never found a good script, so we shelved the application.

    When Jerry offered to help, we dusted it off. Now it might go back on the shelf. We did find some 3rd-party neural network packages. We might take a stab at using one of those.

    We are certainly not fishing for other developers. This thing with Jerry was a bad idea that went horribly wrong.
     
    #17     Feb 20, 2008
  8. If you made a system with a profit factor of +5, why wouldn't trading it yourself be the smartest course of action?
     
    #18     Feb 20, 2008
  9. The idea that experienced, well-capitalized business people...
    Are gonna randomly troll around for "consultants"...
    Peddling black box NASDAQ 100 "strategies"...
    And then try to disassemble code to get at the details...
    Does not even pass the laugh test.

    But post it on ET...
    They will believe anything over there.
     
    #19     Feb 20, 2008
  10. nitro

    nitro

    #20     Feb 20, 2008