Forums  > General  > FPGAs for a small prop group?  
Page 1 of 1
Display using:  


Total Posts: 121
Joined: Nov 2005
Posted: 2016-12-22 19:55
We are a small prop group, historically very focused on speed but our system is still in software. We are considering building an FPGA to provide fast orders in response to some events.

I'm interested in thoughts or war stories around these topics:

- Should we build a C or C++ version of the FPGA first to clarify the exact behavior and define the interfaces to the master trading system?

- Have you been involved in the move from low latency software to FPGAs? How did it go?

- Is it critical for the FPGA developer to have trading experience? Being in Colorado, there aren't many (any?) trading FPGA people around.


Total Posts: 221
Joined: Jan 2015
Posted: 2016-12-22 20:34
Not an expert in this area by any means. But here's my two cents.

Putting logic in hardware sucks. Think about doing as much as you can in software, then just asynchronously handing over flat values to the FPGA hot path. E.g. having the FPGA do the order and inventory management is really a lot of unnecessary work. Keep all that in software, then just asynchronously update the FPGA with a maxQty scalar or hotCancelId set.

Sure, sometimes the value will be out-of-sync, and occasionally you may try to cancel an already canceled order or miss a trade because you're still counting that order against your potential inventory. But slightly bumping out position-limits is probably worth it to save hundreds to thousands of man-hours on FPGA development and debugging. This keeps developing against the FPGA pretty simple. It minimizes the surface area of the interface, and keeps the underlying behavior straightforward to simulate or test against.

As for FPGA developers, I really don't think trading experience matters at all. Especially if you're keeping as much as you can in asynchronous software. The FPGA specific logic should be pretty close to: pull X out of the last datafeed packet, if (X > Y) write Z to this pre-formatted order packet, then copy to network DMA. Most people with an academic CS background should probably have some Verillog or VHDL experience from their architecture courses. Even if not, it's really not that hard for an experienced C developer to pick up.


Total Posts: 422
Joined: Apr 2005
Posted: 2016-12-23 10:57
I'm with EL on this one - I'm not convinced that just moving to FPGA gives you the biggest bank for the buck.
What are you thinking of moving - as you say to some events - that is trading logic. I've never seen that much sense / success in moving any logic to FPGA - but instead simple and static processes - such as protcolo changes, risk limits etc - changing logic is something you probably do a lot


Total Posts: 357
Joined: Jul 2008
Posted: 2016-12-23 12:54
Development time is WAY larger than for software-based solutions. Testing is more difficult.

Unless you're aiming for latencies below 5us, you don't really need FPGA.

The developer doesn't need trading experience, but an appreciation of the needs of their users (traders) will be beneficial.


Total Posts: 77
Joined: Dec 2014
Posted: 2016-12-23 16:06
Many shops just use a C/Java-to-HDL compiler and 1 regular developer.

In my previous life I had to help with the switch to FPGA. This was 2011 and we were just interested in a ToE as our first use case. With 80-90% left for our strategy logic we realized it was plenty for the rest. It worked out for us and we doubled down on it.

If you're seriously looking to become faster, there's a wunderkind who helped one of our competitors build this up in parallel on an Alterra... they were 2nd fastest at the time ;) I think he's a free agent now.

We knew there were many firms who joined the game later around 2013 with the assistance of a single consulting firm. I would go to said firm if you're not planning to make this a core competency but want full ownership of your IP.

Otherwise, there's smaller prop shops that would surely be open to collaborating, look up ex-DRW guys in Asia.


Total Posts: 253
Joined: Dec 2012
Posted: 2016-12-28 03:12
I can put you in touch with my ex firm who does a fair bit of FPGA; perhaps there's a synergy.

There are no surprising facts, only models that are surprised by facts


Total Posts: 121
Joined: Nov 2005
Posted: 2017-01-05 21:27
Thanks to all for your comments, several private emails sent.

I was surprised at the suggestions to collaborate with another prop firm. Why would another firm want to help? It strikes me that being both a vendor of technology and a trading group is a difficult balance. Have you been part of such a technology partnership that worked well?


Total Posts: 5
Joined: Aug 2010
Posted: 2017-02-09 15:19
I'm looking at an FPGA project as well. Can you please refer me to anyone that would be good to speak with? Thanks.


Total Posts: 117
Joined: Jul 2013
Posted: 2017-03-02 13:21
I have done some work in this field, although I was not the developer, but led the effort.

It is expensive to develop and test, but worth it, especially for market data handling. I am not sure about competing with C if highly optimised because it is hard to compare without a direct test.

Let's say that it is a lot easier to develop something fast with fpgas than in C.

You can just do the feed handling in fpgas and keep the rest in cpu it will work and honestly writing trading models in hardware is not something you want to do unless you develop a large library of code that you normally use. Good luck with that, it will be a long journey.

"amicus Plato sed magis amica Veritas"


Total Posts: 32
Joined: Aug 2012
Posted: 2017-04-12 16:41
I have some experience with performance issues and FPGA.
Before digging in FPGA just look at the algorithm that you are trying to implement, the costs of communication and the possibility of run part of the process in parallel.

Yes, FPGA require knowledge of C and performs way better without operative system installed on top of the hardware.

yes, developing is more demanding and takes more time.

send me a private message if you need more information


Total Posts: 32
Joined: Aug 2012
Posted: 2017-04-12 16:42
just posted the same message twice. Sorry...

Previous Thread :: Next Thread 
Page 1 of 1