I really need your advice

Discussion in 'App Development' started by Giddiyup, Oct 27, 2011.

  1. Good advice, but to really get launched quickly, go to ASL's (Application-Specific Languages). The two I am aware of: Easy Language (Traderstation) and PowerLanguage (Multicharts). ASL's provide a rich framework for you to build systems and strategies very quickly. Without this, you're stuck building that framework yourself.
    For some real experts, this complex endeavor provides an advantage, because they can customize their platform for very specific needs (hedging, scalping, exotic options, basket trading, etc).
    As a non-expert, you might find yourself constantly reworking and debugging your platform and therefore have no time left to build and test automated and algorithmic strategies which alone is an EXTREMELY TIME-CONSUMING set of tasks. And more importantly, the latter is something that takes creative thought and persistence. These qualities are not found in the armies of the outsourcing firms.
     
    #11     Oct 28, 2011
  2. jprad

    jprad

    There's a lot more than having a desire/passion to do programming in the quant/algo trading space. Take a look at some of the requirements for the jobs listed here so that you have a better understanding of where you fit in:

    http://www.wilmott.com/categories.cfm?catid=5

    If you meet the educational requirements, more power to you. If not, but you're still interested, you should target one or more of the popular open source projects that are out there and try to get involved. Your goal should be getting development access to a few of them and getting your name known as a contributor of non-trivial changes.

    More than anything, you need to build a track record if you're going to have any hope of building a career for yourself.

    Here's a decent project off the top of my head:
    http://quantlib.org/index.shtml

    Here's a collection of investment related open source projects that you should also take a look at:
    http://sourceforge.net/softwaremap/...7&sortdir=desc&limit=25&sort=latest_file_date
     
    #12     Oct 28, 2011
  3. I do not agree with this statement unless you are sticking with Managed C++ in .NET.

    The concept of memory management (no garbage collection) is very important in regular C++ programming and it takes quite some care to write non-trivial code that does not leak memory.

    If C++ is on your radar, I suggest going this route:

    1. learn programming concepts using C# (or Java)
    2. learn data structures and algorithms in C++
    3. become proficient in C# (or Java)

    then, you will find switching to/from C++ much easier.

    It is good learning data structures using C++ because it forces you to understand how memory is allocated and managed.

    2-4 years is completely realistic. Programming is not that hard.
     
    #13     Oct 28, 2011
  4. Don't waste years of time on the above. Instead, become proficient at designing and specifying money-making algos and strategies. You'll be handsomely rewarded. Otherwise, in the programming world of today, you'll find yourself in competition with the "mud men" (remember Lord of the Ring ?).
     
    #14     Oct 28, 2011
  5. Even if you use a framework like TradeLink you will still need to learn at least a .NET language. Any strategy will need some coding. It is helpful to understand programming.

    A lot of software development still happen here. It is a highly cultural and creative occupation. Outsourcing can only go so far.
     
    #15     Oct 28, 2011
  6. momoNY

    momoNY

    I second that. Been there and had the same cut :(
    But if the guy wants really a career in programming then the advice given about c# is really a very good one. Not to land a job at a hedge fund, cause 90% of them require C++, and not basic stuff but almost wizard level (everybody now is requiring proficiency in design patterns (not trading patterns, something else)).
    C# is easy, can be a bridge to C++, and you can find a good job in a software company with it and design your own trading systems (for 1 minute up I would say).

    Just my 2c
    Momony
     
    #16     Oct 29, 2011
  7. Going with C# is a good idea....again, as a starting point into programming logic and coding. Both Tradelink and Ninja Trader offer the necessary and important "Framework" that he could use to build his strategies. To do that effectively, he'll have to take some courses in statistics.
    Spending the time and money to become a phD "Quant" ala Wilmot is a risky endeavor IMHO. There are plenty of examples of successful quant hedge funds that haven't really needed that kind of expertise. Much of that stuff is geared towards Neural Networks anyway which has really gotten a bad reputation in the automated trading world.
     
    #17     Oct 29, 2011
  8. Lucias

    Lucias

    I used to make demos on the c64. =)

    I'm sorry to say that it will be difficult. I started programming when I was 8, started in basic then went to assembly, learned C++, learned C#. Programming well is a performance activity. It requires a lot. It could take up to 10 years to become an expert programming, although it is possible to become strong in as little as 2 years and maybe less if you are specialized.

    However, the firms aren't really looking for programmer/traders. They are looking for quants. Minimum requirement would typically be a Phd or heavy math/science degree. You'd need serious math skill.

    I personally wouldn't like it, and I enjoy programming. I think you want to get into programming you can do that-- maybe making IPhone apps or custom web apps. If you're creative then it could be fun. But, as far as becoming a quant, would be difficult and probably not rewarding unless you have a love of math and a extreme ability. There are some higher paying jobs for programming at Investment Banks that are "normal" non quant jobs. These look very attractive in terms of salary. However, they would only be interested in somebody with years of experience.

    Sure, you can program your own strategies. ETA about 6 months to 1.5 year. That's pretty fun.

    PS: I second going with C#. C++ is a most difficult language that is much lower level and only required for performance critical apps. One reason C++ is difficult is that even the people who think they got it screw up.
     
    #18     Oct 29, 2011
  9. +1 for the solid productivity-friendly advice!
     
    #19     Oct 29, 2011
  10. It is NOT necessary to learn C++ to become a competent programmer.

    However, if you ever want to use C++ in the future, I suggest getting to know a few lower-level concepts like stack vs heap allocation and memory management. It is important to keep in mind those things or you will never develop a sense for them. C# is too good in handling such details behind the scene.

    If time is tight at least spend a week hating it. Then come back and love C# more and more. :)
     
    #20     Oct 29, 2011