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 6,462 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

  #11 (permalink)
Limitless100
New York, New York
 
Posts: 97 since May 2014
Thanks Given: 163
Thanks Received: 61


Big Mike View Post
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

Another good point. I'm sure most well written code would outperform crap code in even C++.

Does the vast amount of RAM offset the coding? I would imagine that the coding runs at X speed regardless of how much can be computer at a given time. So the same program written in both R and C++, 128GB Ram and 64GB ram respectively, I would still see the C++ program execution being faster.

Reply With Quote

Can you help answer these questions
from other members on NexusFi?
What broker to use for trading palladium futures
Commodities
Trade idea based off three indicators.
Traders Hideout
Pivot Indicator like the old SwingTemp by Big Mike
NinjaTrader
Cheap historycal L1 data for stocks
Stocks and ETFs
ZombieSqueeze
Platforms and Indicators
 
  #12 (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,426

Good points both, and there's the rub(s), the I/O and memory performance bottlenecks are often overlooked completely. Even if those are well scoped, most modern language and architecture choices are CPU pipeline stallers and multi-level cache destroyers par-excellence. To such an extent that good looking code may not actually be achieving anything like the available ooomph in the box.

A long time ago I used to write software opcode processing modules because it was far faster to process sequential chunks of in-cache data than it was to dispatch function calls and object accesses. Modern system architectures have made these sort of trade-offs even more complex, though usually they are ignored due to the high level of functionality required, which is hard enough to get right anyway.

Once you have some ideas of what you want to do, and to what sort and size of data, you can't beat writing a few harnesses and tests, and it's good fun too.

Travel Well
Visit my NexusFi Trade Journal 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