NexusFi: Find Your Edge


Home Menu

 





What language to use for Algo / Automated Low Latency Strat


Discussion in Traders Hideout

Updated
      Top Posters
    1. looks_one Limitless100 with 5 posts (2 thanks)
    2. looks_two Big Mike with 2 posts (3 thanks)
    3. looks_3 ratfink with 2 posts (2 thanks)
    4. looks_4 Quick Summary with 1 posts (0 thanks)
    1. trending_up 8,410 views
    2. thumb_up 7 thanks given
    3. group 5 followers
    1. forum 11 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
Limitless100
New York, New York
 
Posts: 97 since May 2014
Thanks Given: 163
Thanks Received: 61

Hey guys,

I quickly searched through some recommended threads related to my question, but couldn't seem to find answers that applied to me.

I am looking for educated/experienced answers regarding which language to focus primarily on in regards to algorithmic/automated strategy programming. The strategy will focus primarily on equities, also, the strategy will be extremely low latency / co-located.

From what I have read so far, it seems like C++ is mostly used by the low latency trading world.

I have an intermediate background as far as programming/coding, so I am not a complete novice with zero knowledge. I would like to choose my direction for focus as soon as possible.

Thanks everyone


Reply With Quote

 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Sober Journey With S&P
21 thanks
2026 Jlab journal
10 thanks
Trying to learn Volume and price action correlation
8 thanks
Algo automated / semi-automated trading anyone?
6 thanks
Hello Im new here
5 thanks
  #3 (permalink)
 
shodson's Avatar
 shodson 
OC, California, USA
Quantoholic
 
Experience: Advanced
Platform: IB/TWS, NinjaTrader, ToS
Broker: IB, ToS, Kinetick
Trading: stocks, options, futures, VIX
Posts: 1,971 since Jun 2009
Thanks Given: 534
Thanks Received: 3,711


If you're comfortable and competent with C++ then go ahead. Java and C# are good too.


Follow me on X Visit my NexusFi Trade Journal Reply With Quote
  #4 (permalink)
Limitless100
New York, New York
 
Posts: 97 since May 2014
Thanks Given: 163
Thanks Received: 61


shodson View Post
If you're comfortable and competent with C++ then go ahead. Java and C# are good too.

Thanks for the advice. Most of my coding was learned through Java, but my research continues to point to C/C++. The move from Java --> C++ shouldn't be too bad.


Reply With Quote
Thanked by:
  #5 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,669 since Jun 2009
Thanks Given: 33,669
Thanks Received: 102,557

C++ for execution, Python/R/Matlab etc for analysis.

Mike




We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on X Visit my NexusFi Trade Journal Reply With Quote
  #6 (permalink)
 
furytrader's Avatar
 furytrader 
Lake Forest, IL USA
 
Experience: Intermediate
Platform: MultiCharts + CTS T4
Broker: Advantage Futures, IQFeed.net
Trading: YM, ES, EU, US, S
Posts: 153 since Jun 2011
Thanks Given: 109
Thanks Received: 151

Although C++ may look like Java (or vice versa), they are quite different, especially in terms of how C++ handles objects and memory management. As one of my CompSci professors explained, there's a lot in Java that helps to keep bad programmers from blowing themselves up. C++ doesn't offer such benefits, but it is also very fast.

Step #1 for a Java programmer looking to learn C++ should be "Don't use the 'New' keyword unless that is specifically what you want!" I have gotten into so many problems with that!

It should also be noted that, as an alternative to C++, Microsoft recently announced that C# will be compilable to machine language (no use of intermediate bytecode), so in terms of speed, it should be much closer to C++. I think it would be a lot easier to migrate from Java to C# then it would be to C++.

As others have mentioned, figure out what it is you want to do first, and then identify the best tools to do that.
Good luck!


Reply With Quote
  #7 (permalink)
Limitless100
New York, New York
 
Posts: 97 since May 2014
Thanks Given: 163
Thanks Received: 61


Big Mike View Post
C++ for execution, Python/R/Matlab etc for analysis.

Mike

Thanks Mike


furytrader View Post
Although C++ may look like Java (or vice versa), they are quite different, especially in terms of how C++ handles objects and memory management. As one of my CompSci professors explained, there's a lot in Java that helps to keep bad programmers from blowing themselves up. C++ doesn't offer such benefits, but it is also very fast.

Step #1 for a Java programmer looking to learn C++ should be "Don't use the 'New' keyword unless that is specifically what you want!" I have gotten into so many problems with that!

It should also be noted that, as an alternative to C++, Microsoft recently announced that C# will be compilable to machine language (no use of intermediate bytecode), so in terms of speed, it should be much closer to C++. I think it would be a lot easier to migrate from Java to C# then it would be to C++.

As others have mentioned, figure out what it is you want to do first, and then identify the best tools to do that.
Good luck!

Yes I see that C++ doesn't have much protecting the programmer from exploding.

I have been researching the C# but continue hearing that C++ is dominant. Fortunately, I am a fast learner when it comes to things like this, so I have faith in myself moving to C++ and will enjoy to challenge.

Thanks for your advice!


Reply With Quote
  #8 (permalink)
 
ratfink's Avatar
 ratfink 
Birmingham UK
Market Wizard
 
Experience: Intermediate
Platform: NinjaTrader
Broker: TST/Rithmic
Trading: YM/Gold
Posts: 3,550 since Dec 2012
Thanks Given: 17,423
Thanks Received: 8,430


Limitless100 View Post
Yes I see that C++ doesn't have much protecting the programmer from exploding.

I have been researching the C# but continue hearing that C++ is dominant.

We used to say 'C' was an axe, but C++ was a chainsaw. Unless you want HFT type execution performance or massive backtesting runs then I don't think you have much to worry about by using C#.

I have two main factors:

C++) Fugly.

C#) Lovely.

40yrs of using and watching umpteen language fads. End of.


Travel Well
Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #9 (permalink)
 
Big Mike's Avatar
 Big Mike 
Manta, Ecuador
Site Administrator
Developer
Swing Trader
 
Experience: Advanced
Platform: Custom solution
Broker: IBKR
Trading: Stocks & Futures
Frequency: Every few days
Duration: Weeks
Posts: 50,669 since Jun 2009
Thanks Given: 33,669
Thanks Received: 102,557


ratfink View Post
We used to say 'C' was an axe, but C++ was a chainsaw. Unless you want HFT type execution performance or massive backtesting runs then I don't think you have much to worry about by using C#.

I have two main factors:

C++) Fugly.

C#) Lovely.

30yrs of using and watching umpteen language fads. End of.

Agree, plus well written code in C# is likely faster than poorly written code in C++. So based on your (in)abilities, C# will often win out.

That said, as you can see from my custom platform thread, I really like R but at the same time it can be painfully slow with extremely large datasets. That is why I run it on a server with 128GB of memory, but still it is slow when dealing with billions of rows.

Mike




We're here to help: just ask the community or contact our Help Desk

Quick Links: Change your Username or Register as a Vendor
Searching for trading reviews? Review this list
Lifetime Elite Membership: Sign-up for only $149 USD
Exclusive money saving offers from our Site Sponsors: Browse Offers
Report problems with the site: Using the NexusFi changelog thread
Follow me on X Visit my NexusFi Trade Journal Reply With Quote
Thanked by:
  #10 (permalink)
Limitless100
New York, New York
 
Posts: 97 since May 2014
Thanks Given: 163
Thanks Received: 61



ratfink View Post
We used to say 'C' was an axe, but C++ was a chainsaw. Unless you want HFT type execution performance or massive backtesting runs then I don't think you have much to worry about by using C#.

I have two main factors:

C++) Fugly.

C#) Lovely.

30yrs of using and watching umpteen language fads. End of.

It's good to get experienced advice thank you! You make a good point, yet, what you said brings up another unmentioned perspective. C# may be easier now, or java, but would serve to be a bottleneck for future expansion. Assuming C# isn't 50X easier than C++, maybe focusing on C++ would be more advantageous for ones future due to not bottle necking a strategy.


Reply With Quote
Thanked by:




Last Updated on May 29, 2014


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts