QUESTION about hiring a programmer to automate your trading

Discussion in 'Automated Trading' started by Thunderdog, Nov 9, 2008.

  1. I have a question for those of you without programming knowledge who have hired a programmer to automate your trading. Do you not essentially give up your strategy in all of its detail to a stranger who can then use it for himself and potentially pass it on to others?

    Lately, I have been toying with the idea of either learning a programming language or hiring a programmer. Since I know nothing about programming, I suspect that this would be an onerous undertaking from start to finish. Hiring someone and disclosing my strategy in its entirety, on the other hand, strikes me as entirely unacceptable.

    I'm curious to know if anyone else has come to this crossroads and how he or she dealt with it.
     
  2. One of the respondents mentioned something about leaving variables out for confidentiality purposes. However, I don't use any indicators and rely solely on price action. Therefore, I don't think this advice applies very well. He also suggested breaking the job up into parts for multiple porgrammers. One notable downside that comes to mind is that if something doesn't work, then all of them would point to the other guys. I've already encountered the blame daisy chain with regular software (charting/data/broker) in the past.
     
  3. "price action" is your secret variable. since it is not available to the programmers they can't steal your system.
     
  4. ATLien

    ATLien

    This is definitely not an easy problem, and through my own experience I've found the following approach to be the most sensible. Find a computer scientist who is equally as interested in trading as you are, build a close working relationship, and together create a automated platform implementing your strategies. You could tie in a NDA and Non-Compete agreement to cover your legal angles, but their actual effectiveness is questionable. This way both of you are bound and committed to the project as opposed to you having to run after one or multiple developers who will probably do a rig job to get their one time development fee.

    You could learn to program, but the learning curve to become an adept developer may be a steep road to take.
     
  5. rosy2

    rosy2

    you probably dont even have a strategy. you only think you do. can you even write it down on paper in exact steps what you do so a programmer could try to automate it? also, if you do a have a strategy thats profitable it most likely will not matter if the programmer piggybacks it because the size will be miniscule.
     
  6. AT is right. if you're really worried, google around and find a boilerplate NDA and customize it to address your concerns.

    Then only work with a programmer where the NDA can be most easily enforced (eg USA).

    Also you need to imagine the sort of person you would be least threatened by. Hiring a rock star CS person may seem like a great idea, but if the person is too smart and you are really paranoid, you may start to become afraid of the person taking the idea beyond you and leaving you in the dust.

    So you may want to hire someone who is sort of narrowly smart, or narrowly interested in CS. Or perhaps hire an autistic savant... :)

    There's really no hard and fast rule... you just have to do what makes you most comfortable, cause you're the person who has to live with your decision.
     
  7. sc85

    sc85

    Thunderdog,

    Maybe we should talk about it further: I'm a programmer with 10 years of experience and have been trading for past 8 years.

    Thanks,

    SC85
     
  8. I believe that it's no small feat to figure out a mechanical trading system that's actually profitible. I would say that learning something like Easylanguage and making a program is going to be a much smaller and easier task than finding a profitible trading system. If you're so sure that it's profitible then why would you hesitate to learn how to program it?

    Before you even bother to worry about programming a system, I would make sure that it would be worth the trouble. I would backtest it manually through at least 100 trades on some charts. I would check how it worked on some different equities and time periods as well. What worked last year often doesn't work this year. If it's for eminis, the average profit per trade should be more than $20 to account for commission and slippage. It should only take an hour or two to check any mechanical system manually.

    Most good programmers have likely seen your system or a variant of it before. They could probably tell you right away without even programming it if it would be worth trading or not.
     
  9. Thanks to everyone for your input. I suppose I knew I would not resolve my problem. Either I must learn to program from scratch (not likely) or hire a programmer (less likely). Although partnering with a programmer is a possibility, I do not find it palatable. Once I detail my method, I become the secondary and expendable partner, particularly if the programmer has some trading experience. NDAs and such are not worth the paper they're printed on for practical purposes.

    The reason I was looking into the idea is because my trading method only allows me to follow a single market in a couple of very short time frames. It requires a fair amount of focus, which often causes me to miss setups because I need diversion (hello ET). Even so, because of the time frames, there are plenty of daily setups, so I manage to get by. I have looked at other futures markets as well and noted that the approach works quite well with a number of them. This is why I thought automating it could be a good thing. Although the rules are very specific on entry, protective stop, scaling out and exit, they are both structural (higher lows, etc.) and more specific. I have, over time, been able to reduce all of the setup, entry and exit rules to what is essentially numeric specificity such that any 3 people looking at the same data would react in the same manner if following the rules. Even so, I cannot begin to imagine how the structural elements would be programmed.

    If I should ever decide to learn how to program, I would prefer not to learn a language that is specific to one trading software package. Could anyone recommend a suitable language and possibly a manual that has trading examples? Please note that I refer to automated execution as well, therefore, there is the business of front end, back end and whatever, which is entirely over my head. Frankly, I don't really expect anything to come of this programming stuff, but it would give me something harmless to learn in my spare time.
     
  10. This is the usual dilemma of someone who wants to automate or test an idea.

    You are between the rock and hard-place.

    Either learn to code or risk losing your idea.

    NDA's are useless. Do you know all the friends and contacts of someone who will offer to code it for you? What if he/she unscrupulously slips the idea and/or code to a "friend" whom you have no way of tracing back to the programmer? He might do it for some under-the-table pay or to participate in a "fund" the friend suddenly makes available if the system is good enough. That is the worst-case scenario, but how are you going to know any of this?

    Or he may just give it out anonymously because he wants his ego stroked from guru-worshipers. It doesn't cost him anything because he didn't put his own time/effort/work into developing the idea anyway, though he can take credit for it with his online name (believe it or not, there are chat rooms where this undoubtedly happens...)

    You have no choice. Learn to code and do the work.

    Most languages have a Pascal-like structure of condition "if-then"s. Some require C#(NinjaTrader) or VB, which can be more burdensome to learn for non-programmers. There really is no "universal" language between platforms that can be used without modifications or rewrites.
     
    #10     Nov 9, 2008