12

What kind of computer hardware, in additional to the 'conventional' fare, is actually used in trading? And what languages is it typically programmed in? I'm interested in ASICs, FPGAs, that sort of thing.

lehalle
  • 12,064
  • 1
  • 49
  • 89
Dmitri Nesteruk
  • 2,022
  • 1
  • 19
  • 27

4 Answers4

8

The very good description of specialized hardware in finance can be found at Cisco.com - Algo Speed High Frequency Trading Solution section.

Their High-Performance Trading Architecture (pdf) poster is just great to find out used hardware for different purposes and there are also some presentations, white papers and videos about Cisco's solutions for financial markets on this website.

Andrey Taptunov
  • 2,239
  • 1
  • 22
  • 22
6

The only real use of this type of hardware in trading that I've seen is the recent spate of FPGA-based risk engines and feed handlers. See this article for some pointers; googling for some obvious keywords will provide more.

Given the very small deployment volumes, it seems unlikely that anyone would be looking at ASICs for this.

NPE
  • 877
  • 4
  • 7
6

Some examples:

  • Exegy's ticker plant uses FPGAs and InfiniBand.
  • Redline Trading's ticker plant is packaged as a PCI card and uses the IBM Cell Processor.
  • SolarFlare makes a line of 1G/10G nics that are heavily used because they also ship an alternate POSIX-compatible socket API that bypasses the kernel and uses DMA for reduced latency.

There are surely usages of FPGAs and ASICs for option pricing, real-time risk, etc. These aren't nearly as prevalent as the above examples.

Louis Marascio
  • 5,497
  • 3
  • 31
  • 40
4

There is a very small minority of people using nvidia GPGPUs which can be programmed with the CUDA libraries. This sort of specialist hardware can be very effective at solving certain problems - mostly where you have very little I/O.

More generally, if you are interested in how people are using GPGPUs, then I recommend taking a look at this question on StackOverflow.

John Channing
  • 551
  • 6
  • 8