Top 10 considerations of High-Frequency Trading systems in C++

Top 10 considerations of High-Frequency Trading systems in C++

  • Data structures that are contained within a single cache-line are more efficient.
  • Use appropriate containers (e.g. prefer reserved std::vector than std::list)
  • Organize your data to avoid alignment holes (sorting your struct members by decreasing size is one way)
  • Don’t neglect the cache in data structure and algorithm design
  • Use smaller data types
  • Beware of the standard dynamic memory allocator, which may introduce holes and spread your data around in memory as it warms up
  • Make sure all adjacent data is actually used in the hot loops. Otherwise, consider breaking up data structures into hot and cold components, so that the hot loops use hot data.
  • Avoid algorithms and datastructures that exhibit irregular access patterns, and favor linear datastructures.
  • Know and exploit the implicit structure of data

 


ARIEL SILAHIAN

https://www.sisSoftwareFactory.com/quant

https://twitter.com/sisSoftware

Raquel Santos Clemente

Secretaria, Gestora, AdministratiVa on line

8 年

Use smaller data types Beware of the standard dynamic memory allocator, which may introduce holes and spread your data around in memory as it warms up Make sure all adjacent data is actually used in the hot loops. Otherwise, consider breaking up data structures into hot and cold components, so that the hot loops use hot data. Avoid algorithms and datastructures that exhibit irregular access patterns, and favor linear datastructures. Know and exploit the implicit structure of data ?

Manoj V.

Inventor with Billions of Users | FPGA Design Expert | ULL HFT Developer

8 年

For the last few hundred nanoseconds, use FPGAs.

Do you code trading platforms on JVM stack ? Java etc ?

Tim, don't give away all the secrets.

Brian Wong

Assistant Portfolio Manager at Proprietary Trading Firm

8 年

Nice suggestions; also I think the root of latency evil can come from STL & system function calls as they are slow from my profiling; for example, vector is slower than array because of wrapper and system time function call can cost you around 1 micro-second

回复

要查看或添加评论,请登录

Ariel Silahian的更多文章

  • Accelerating Global Derivatives Trading

    Accelerating Global Derivatives Trading

    Case of Study of a Chicago Firm's Journey to Low-Latency Success with Expert Guidance Introduction A leading…

    3 条评论
  • How Hedge Funds increased profitability

    How Hedge Funds increased profitability

    We surveyed Hedge Funds worldwide, and this is how they increased profitability Hedge funds are investment companies…

    1 条评论
  • Basics of building a Trading System

    Basics of building a Trading System

    Often, trading model developers “spoil” the eventual results of their model by making errors early in the process…

    3 条评论
  • How much money would it cost to setup high-frequency trading?

    How much money would it cost to setup high-frequency trading?

    I get this question all the time, and it is a very, very hard question to answer. So, I decided to create a list to…

    4 条评论
  • How Fragile Is Competition in High-Frequency Trading?

    How Fragile Is Competition in High-Frequency Trading?

    Article source: https://tabbforum.com/opinions/how-fragile-is-competition-in-high-frequency-trading/ by Donald…

    5 条评论
  • Liquidity aggregation

    Liquidity aggregation

    It is very well known how fragmented the FX market is. There are hundreds of dealing banks, ECNs, non-banks, all of…

  • Biography of an HFT startup

    Biography of an HFT startup

    I strongly recommend reading carefully the story behind how this guy could build his own HFT firm. It's a fascinating…

    1 条评论
  • The role of C++ in #hft trading systems

    The role of C++ in #hft trading systems

    The role of C++ in #hft trading systems

    5 条评论
  • Orderflow in forex market

    Orderflow in forex market

    $EUR/USD at the institutional level, you can't rely on 2D charts only. You will get wrong prices for your algos.

    5 条评论
  • How do I design high-frequency trading systems and its architecture. Part III

    How do I design high-frequency trading systems and its architecture. Part III

    This is the last part of 3 series of articles I've been writing. In this part, I'm going to explain what I've found as…

    4 条评论

社区洞察

其他会员也浏览了