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 ratfink with 2 posts (2 thanks)
    3. looks_3 Big Mike with 2 posts (3 thanks)
    4. looks_4 shodson with 1 posts (0 thanks)
    1. trending_up 6,453 views
    2. thumb_up 7 thanks given
    3. group 5 followers
    1. forum 11 posts
    2. attach_file 0 attachments




 
Search this Thread

What language to use for Algo / Automated Low Latency Strat

  #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

Can you help answer these questions
from other members on NexusFi?
MC PL editor upgrade
MultiCharts
Exit Strategy
NinjaTrader
REcommedations for programming help
Sierra Chart
NT7 Indicator Script Troubleshooting - Camarilla Pivots
NinjaTrader
How to apply profiles
Traders Hideout
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Spoo-nalysis ES e-mini futures S&P 500
29 thanks
Just another trading journal: PA, Wyckoff & Trends
25 thanks
Tao te Trade: way of the WLD
24 thanks
Bigger Wins or Fewer Losses?
23 thanks
GFIs1 1 DAX trade per day journal
17 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,976 since Jun 2009
Thanks Given: 533
Thanks Received: 3,709


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

Follow me on Twitter 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,443 since Jun 2009
Thanks Given: 33,217
Thanks Received: 101,603

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 Twitter 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: 147

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,633 since Dec 2012
Thanks Given: 17,423
Thanks Received: 8,425


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,443 since Jun 2009
Thanks Given: 33,217
Thanks Received: 101,603


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 Twitter 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


© 2024 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 - Privacy Policy - Downloads - Top
no new posts