What Programming Language For Trading Jobs ?

Discussion in 'Professional Trading' started by Fundlord, Jun 20, 2016.

  1. IAS_LLC

    IAS_LLC

    Without question, THE best word in the King's English.
     
    #71     Jun 23, 2016
  2. #72     Jun 23, 2016
  3. sle

    sle

    My suggestion, in order of priority would be:
    1. excel/vba. You can't really get anywhere in finance without being a super-proficient Excel monkey unless you are living in the HFT land. Pretty much any sell-side derivatives trading desk does bulk of their work in excel and non-RT funds are pretty close.
    2. python/pandas. I used to be fanatical about R but then I switched to Python and it can do the same and faster. There are a few funds that are already based on R models (especially in the credit space), so that would be a limitation.
    3. c++. Most useful if you going to hit the RT trading shops. You going to find that being proficient in C++ pushes you more toward the infrastructure space, so "know it but don't show it".

    Couple extra points to ponder:
    -- My opinion comes from being mostly an OTC derivatives trader, so it probably conflicts with most system developers on this site. The world of finance is vast and what's visible to an average person is not even the tip of the iceberg. You might do better trading electricity for a power company then getting a job at a prop shop.
    -- This might be the wrong generation to get into finance. Alpha has gotten much tighter and there is less chances of striking it rich. If i were a college student, I'd look elsewhere for that elusive green pasture, like biotech etc.
     
    #73     Jun 23, 2016
    benwm likes this.
  4. timbo

    timbo

    Excellent post sle. However, no matter the route taken, it's always a tough row to hoe. Even now, I still want to be a truck driver. But, I'm sure that life sucks too.
     
    #74     Jun 23, 2016
  5. jj90

    jj90

    To echo sle's sentiment, I got out of finance and switched to tech and am making close to what I used to make a few months out of the career switch and have better work-life balance.
     
    #75     Jun 23, 2016
    sle likes this.
  6. sle

    sle

    I am a PM at a top-tier fund. I doubt I'll be able to make what I am making here anywhere else, barring miracles like becoming a CEO of a F500 company or a neurosurgeon at a major hospital. This said, lifestyle at a certain stage is way more important then money or material possessions (i can insert a wildly-inappropriate quote about it from one of the finance's big names).

    If I were a fresh grad right now, I'd think about lifestyle the beginning and seems like a lot of young people do. While still on the sell side, I noticed that the quality of an average analyst monkey has deteriorated significantly, both intellectually and character-wise. Smart kids are going to Google and Theranos (or whatever is hot right now), not to Goldman Sachs or MS.
     
    #76     Jun 24, 2016
  7. You are a university student and you don't know any language at all? Why not? You should already know computer logic and coding through at least BASIC or Pascal.

    I've been looking into the newer languages. The hottest appear to be Python and R. Both are free. Usage of these 2 languages is increasing rapidly. Python can be written quickly and R can be used for statistical analysis. An interesting feature is Python and R code can be mixed and used together. In a Python environment, R can be accessed and used. Python can also be executed faster using CUDA. Python can also be compiled. Because Python is open source, its capabilities seem to increase every week.

    C++ is still popular in the finance industry so don't discount it.

    Here is the main Python environment people download, Continuum Anaconda for Python and R. After installing Anaconda and creating your Python environment, you can also create an environment for R. Here are instructions for installing R inside Anaconda although you'll need to do some research for an R environment.

    Be careful with the Anaconda "update --all" command. I used it, it failed, and now I must uninstall/reinstall. Very frustrating but I guess you get what you pay for. I spent a lot of time optimizing Anaconda Python only to have it fail on me.

    You're right about only having time to learn 1 or 2 languages. However, I think you only have 3 major choices. Even if you don't become a quant, and I doubt you will, you should learn at least Python and R. If you change your mind about being a quant, don't learn C++. If you don't have Mathematica, Matlab, or Maple, you might want to look into those too. I have Mathematica Home Edition and it is very powerful, probably more powerful than Python and R put together. There is no difference between the Home and Pro editions except the number of CPU cores they use.

    After the above failure, I reexamined my priorities. I decided it would be better for me to become proficient with TradeStation's EasyLanguage, trading chart patterns, indicators and mathematics with Mathematica.
     
    Last edited: Jun 25, 2016
    #77     Jun 25, 2016
  8. cjbuckley4

    cjbuckley4

    Here's an opinion that will hopefully reshape your perception of the journey of becoming a professional software engineer at a legitimate shop. Just knowing a language or technology is necessary but not sufficient. If you're going to hold down a job in trading technology or tech in general you need to be accountable for systems that other people/systems rely on. Being a professional has very little to do with knowing the relevant semantics of a particular language such as data types and logical contructs...you're taught that stuff freshmen year, it's actually pretty easy to learn.

    Design patterns, data structures, algorithms, OOP, encapsulation, complexity analysis, knowing common anti-patterns, test driven development, version control, dependency and parameter injection, client server architecture, database systems, relevant basics of system administration, operating systems, scripting, networks, as well as things that relate more to your professional development...these are the things you're expected to know from college and previous internship experience in order to be deemed ready contribute as a professional software engineer.
     
    #78     Jun 25, 2016