Learning programming/modeling

Discussion in 'Automated Trading' started by trader56, Sep 3, 2006.

  1. Thank you all for your help and suggestions!

    Someone asked about background:
    Degree in management/finance (early 90's)
    Stockbroker ('86-87)
    Futures floor trader (mid-late 90's)

    I'm coming back to trading after several years pursuing something else, and am looking at all sorts of things.
    It seems to me that the standard TA and fundamental paths have been well-worn, and there is no edge there, though some individual practioners may be able to make such things work. So, it seems either one combines current tools in a unique way, or one devises something completely new (which is, of course, much harder).

    My broad overview would include modeling markets (unspecified yet) using some concepts such as non-linear math, fractal geometry, non-normal statistical distrubtions, etc.

    I realize this is all very vague and unformed, but this is the current point in the evolution of my ideas, so it can't be more at the moment. For right now, I'm just throwing things into the mixer (my head), stirring the pot, and seeing how the whole mess cooks down.

    Still very interested in people's ideas and suggestions, and thanks again!

    And, yes, I will do more searching here on ET and elsewhere.
    #11     Sep 3, 2006
  2. nitro


    From the title of this thread, all I can say is you have chosen two very large categories of learning. It takes years to be a good programmer, and in my experience you have to have other qualifications to become a good modeler, i.e., a Physics or Math degree to go along with programming skills.

    Everyone that I know that works for Citadel or the like are current (summer intern job) or displaced physicists with programming skills.

    #12     Sep 3, 2006
  3. Murray Ruggiero

    Murray Ruggiero Sponsor

    You should take a look at TradersStudio. It has a very strong programming language which is a cross between TradeStation EasyLanguage and Excel VBA. We also have a OLE link to Excel.
    Our language also has it own built in source level debugger.

    If you want to protect your work or make it run faster by compiling your code,you could write Addins in Visual Basic or C++ as COM DLL's and use them in TradersStudio. We also offer password protection of TradersStudio Basic code which some of our addin vendors are using to protect their systems.

    You should be able to do anything you want without worry about the issues involved performing the actually backtesting and charting. We have portfolio optimization as well as dynamic money management. You also have many built in indicators and user functions which if you use a standard programming language you would have to write yourself.

    Take a look at TradersStudio overview at
    #13     Sep 3, 2006
  4. Look these guys up:


    Give'em a call, and start talking business with'em.

    While the posters are correct in determining that you would need at least what 3 - 5 years of hard core time to come up with an APP that you would be happy with (if you were to do it on your own), I'm sure these guys can help you along the path and cut down on a lot of the unnecessary "recreating the wheel" time.

    Best Regards,

    Jimmy Jam
    #14     Sep 3, 2006
  5. toe


    trader56 if you have no programming experience it will be a long, long road if you plan to build your own trading platform from scratch using VB.NET etc. You will spend years just building a useable platform before you get to regression testing trading ideas. Better off to start with an existing platform or framework I think. Look for one which is fast enough and flexible enough for future needs.

    Many existing platforms are based on the type of languages you are interested in, and once you know one language you can pick up others very quickly.

    Personally I use Wealth-Lab and QuantDeveloper. Wealth-Lab is easy and very fast to use so backtesting lots of ideas and changing scripts is fast (but if you are U.S. resident it can only be used with Fidelity). QuantDeveloper is more complex to program but far more flexible and I use this for production scripts, it is based on C#.NET and you can use VB.NET syntax.

    These are just what I use and know, there are other good options out there which will save a lot of time you would put into platform developement. One thats worth keeping an eye on is discussed in this thread :-

    Free automated trading platform, for IB
    #15     Sep 3, 2006
  6. I found that any language is ok as long as it can handle multi-threads. I use C++.net
    #16     Sep 3, 2006
  7. I want to thank you all for yuor great suggestions, and insight!

    Still interested in any further comments, but wanted to say thanks for those you've all taken the time to write!
    #17     Sep 3, 2006
  8. GTS


    If you have no programming experience then the hurdle for you to contruct a complex program is enormous.

    Unless you really want to learn programming anyway, I would not venture down this path, I think you will find it frustrating and will not yield the desired results.

    I have a BS in CS and 10+ years of paid programming experience (primarily C/C++) and I can't imagine taking on the challenge of writing a difficult program if I didn't know how to code fluently and debug properly. These are things that you can only learn with time and many lines of code under you belt.

    It would be the same as deciding your were going to write a novel in a foreign language you don't know - the task you are facing is enough of a challenge, no need to double it by also dealing with learning programming at the same time.

    Sorry to be so negative but I'm just being honest. Best of luck.
    #18     Sep 3, 2006
  9. Programming is a wonderful vehicle for creative outlet. If you're like me and really get a lot of satisfaction from making things.. from your own mental image, then dig into programming and enjoy. :)

    Looking back on my learning process (two years now), I would suggest first reading a little bit about programming structure and representation theory. For instance, if you choose to learn a programming language based on "object orientated programming" (OOP), then first read a little bit of an introduction to the theory of oop.

    I think that would have helped me along the way. Python is oop (with the flexibilty of other styles as well) and more recently I learned C++ (also oop) and the book from Bruce Eckel, "Thinking in C++", did a great job of describing oop and why it does a great job of representing the task-at-hand in the "problem space" instead of being impeded by being forced to think in terms of the "solution space". So, I wish I would have had that understanding, "under my belt", from the beginning.

    The last thing I would recommend for you to consider is portability. Imo, don't choose a language which is tied to a particular platform (ie: Windows based languages). There are (2) portability reasons for this. Windows isn't the only operating system out there. You may just decide one day to share/sell your software with/to others. And, you might possibly decide to make a wise move (imo) and switch to Linux one day yourself.

    Anyway I hth,
    have fun,
    #19     Sep 3, 2006
  10. #20     Sep 3, 2006