Where do I find a good programmer for c# with algo experience?

Discussion in 'Automated Trading' started by Hooligan69, Aug 20, 2015.

  1. Mtrader

    Mtrader

    I don't know anything anymore about programming. Too long time ago (Cobol and Fortran). But I still know enough about: if then else, what if, summations, adding, subtracting, dividing, prevent formula errors like dividing by zero.... and similar stuff.
    I have my complete system built in excel. So when I received the framework I only had to fill in the rest, I knew what the result of the calculations should be (even for each line of data seperately) and how to program it. I learned years ago how to first build all the computations in excel and then translate it in C#.
    But I took me a few weeks before everything was working correctly. Things like values that run correct for 485 lines of data and then suddenly gave different values, sometimes for a few hundred lines, sometimes for the rest of the data. It was challenging to find where the problem was, especially because there are alot if then elses and loops everywhere. But my secrets stayed secret, and that's what it is all about.
     
    #11     Aug 20, 2015
  2. I think that is the main challenge when getting programs done.
    Myself, I got many things programmed by others, but kept the keys out of any programs.
    And I am glad I did. lol!
     
    #12     Aug 20, 2015
    Mtrader likes this.
  3. That was very shrewd....probably the only way to go.
     
    #13     Aug 20, 2015
  4. aqtrader

    aqtrader

    very right. quant analytic or any sophisticated algo based on ideas such as C4.5 or SVM, etc are usually complicated that it is almost impossible to allow any external programmers or mathematicians to make things work. Something much simpler, so easy to copy, like only using a few indicators is possible to get help from outsiders, so keeping the critical things extremely secret is important.
     
    #14     Aug 20, 2015
  5. Mtrader

    Mtrader

    The indicators that I asked to program were very basic and had nothing to do with the real stuff. I needed the structure of the scripts and also the syntax. Syntax was the biggest problem for me. The programmed indicators were only part of a bigger system, so even if I would give the original calculations the programmer would have no clue because the part he received makes only sense in connecting with the rest of the system. Each part only produced values that were needed in the next step.
    If I ever need a programmer again I will take another one. I would never give half or more of the system to one person. And as the programmers don't know each other, have no clue about the real maths and even don't know there are more programmers who did a part of the job, my secrets are protected at the max.
    I know it sounds paranoid, but better paranoid than stupid.
     
    #15     Aug 20, 2015
  6. www.elance.com
     
    #16     Aug 20, 2015
  7. ybfjax

    ybfjax

    To answer the OP's question, consider AnkaSoftware.com . Very experienced in C++, C# and several trading platforms.

    Most people do not know how to hire programmers. Paying by the job is a recipe for failure, mainly because what you ask for, what you meant to ask for, and what you get can be 3 different things. And nether the programmer or you are under no obligation to agree to new terms after the fact. You want to pay by the hour. It seems more expensive, but it is actually cheaper in the long run. And you have way more control over how the project progresses. And you get the source code from the first prototype.

    Most people don't know how to define what they want in rational or logical terms. Trust is an issue, but when you pay by the hour that is not too important. You can gauge trust on an ongoing basis. The best you can do is keep [what you think are] special parameters secret. And give the programmer dummy parameters that allow him to properly backtest the function.

    Paying by the hour does not necessarily mean that you will pay for each hour worked. Similar to using a car mechanic, there will be an estimate for how much a 'standard' job will be.....and then you usually pay that even if the real time took longer. But if it will be more, then the mechanic will inform you of what the new estimate will be, what it will entail, and you can agree to the new terms or not. So with a programmer, it's similar. You might end up with like 100 hours worth of work (when you include all the chats, screenshots, etc needed to iron out bugs) but maybe only 20 hours were billed.

    Many of the freelance websites also suck when it comes to arbitration. Back when vWorker was active, they at least had a very fair and transparent arbitration system. But you paid 20% commissions for all the transparency they offered. Lots of scams to be had.....but also legit people out there. good idea to start out with a very small part of what you want and test to see if the person can code it correctly. Then scale from there.
     
    #17     Aug 23, 2015
  8. runtrader

    runtrader

    There are a lot of good programmers out there and a few unreliable bad eggs that give the good ones a bad name.

    I'm a professional programmer, I was approached by a trader looking to get his system coded, he was adamant he wanted it coded in a high performance language like C++ or Java. I asked him to break it down into logical, defined steps and document it, this would form the spec. As he described it, I told him that a high-performance language would be overkill and instead I coded it for him in Easy language. This was back in 2005 - since then we've worked together on and off and learnt a lot from each other, we've built data analysis tools and trading frameworks. We're now building a Java based arbitrage system that arb trades co-integrated baskets of assets.

    It has taken 10 years of sweat, tears, books, blogs, posts, failures, successes, etc. to know what I know now - all crafted by co-operation and a bit of trust. Think long term and don't try to screw over people, build trust and relationships and look at the big picture. Trading is a long-term game (even HFT!)
     
    Last edited: Aug 24, 2015
    #18     Aug 24, 2015
    aqtrader likes this.
  9. nitro

    nitro

    That is not an issue anymore. The correct way to write trading system shells is to do all of the work of maintaining a feed, and handling order management and risk management, databasing etc. Events are then fired out to the trading logic (I am ignoring Reactive Programming). The actual trading system can be an anonymous callback in a .dll that gets passed in to the shell. The shell then sees nothing but an action to take on some external function's behalf. So all a shell does is expose an API that trading logic can leverage incognito.

    I agree though, you would never catch me coding in NinjaTrader, or MetaTrader, TradeStation, etc or any other platform where my code was exposed in raw form to the trading shell. The trading logic has to be a function callback that I can hide in an external (obfuscated) .dll that has been coded to the shell's API.
     
    Last edited: Aug 24, 2015
    #19     Aug 24, 2015
  10. 2rosy

    2rosy

    Isn't that what reactive programing is? Just doing callbacks, listeners, handlers, whatever the name du jour is
     
    #20     Aug 24, 2015