High frequencey trading on Windows and .NET

Imported from previous forum

Hi
Could you give me your opinion on the feasibility of using .net on a windows server for high frequency trading ( needs latency of maximum 100 milliseconds)? I have never written any high frequency trading programs before and our resources and expertise are limited so using C++ on UNIX is something I want to avoid unless its absolutely the only way to go.

Has anyone done high frequency trading using algos running on a windows server?

Your opinions will be highly appreciated

Hi Tanveer,

Our Algo BlackBox is written in C# 3.5.
You can have an overview of the performances we achieve on our webpage:
http://www.hotbridge.co.uk/products.htm

Regis

Hi Could you give me your opinion on the feasibility of using .net on a
windows server for high frequency trading ( needs latency of maximum 100
milliseconds)? I have never written any high frequency trading programs
before and our resources and expertise are limited so using C++ on UNIX
is something I want to avoid unless its absolutely the only way to go.

Has anyone done high frequency trading using algos running on a
windows server?

Your opinions will be highly appreciated

Hi Could you give me your opinion on the feasibility of using .net on a
windows server for high frequency trading ( needs latency of maximum 100
milliseconds)?

Recent versions of Java and .Net are also now very close to the raw performance of C and C++. In fact most investment banks and algo vendors are now shifting more towards using Java / .Net, because of the productivity increase they can give.

However, same as any other software development - its your application and algorithm design and implementation that matters more than the language you use. You will still need to invest time in understanding the language and tools and refine your design to get the best performance out of the system, but sub 100ms should be readily achievable.

//Steve

[ original email was from Toby Corballis - toby.corballis@rapidaddition.co.uk ]
> Hi Could you give me your opinion on the feasibility of using .net on a

windows server for high frequency trading ( needs latency of maximum 100
milliseconds)?

Your opinions will be highly appreciated

At Rapid Addition we do this on .NET using C# and we measure our latency in microseconds so well within your requirements. Contact me if you wat more information.
Toby

Hi,

Can you please provide more details as to how I can take more advantage of C# .NET for high performance application.

Thanks,
Amar.

Hi Could you give me your opinion on the feasibility of using .net on
a windows server for high frequency trading ( needs latency of maximum
100 milliseconds)?

Your opinions will be highly appreciated

At Rapid Addition we do this on .NET using C# and we measure our latency
in microseconds so well within your requirements. Contact me if you wat
more information. Toby

As others have said, you can easily achieve sub 100 ms latency using C# on Windows. If your basic framework of processing incoming data and building order takes more than 1 ms, you are doing something wrong. So you have 99% of your allowed time for your business logic.

However, if your strategy primarily relies on speed, 100 ms is unlikely to be faster than your competition. Can you tell us how you decided on 100 ms at your time target?

100 ms is the upper limit above which the project isn’t worth building- I want to target a value closer to 3 ms.

With processing a small set of symbols I am getting a latency of sub 1 ms for just the business logic, but in the high frequency system there will be a very high volume of symbols which will need to be processed in real time concurrently.

As others have said, you can easily achieve sub 100 ms latency using C#
on Windows. If your basic framework of processing incoming data and
building order takes more than 1 ms, you are doing something wrong. So
you have 99% of your allowed time for your business logic.

However, if your strategy primarily relies on speed, 100 ms is unlikely
to be faster than your competition. Can you tell us how you decided on
100 ms at your time target?

I am a bit surprised with everyone throwing numbers on the table without detailing much their meaning?

  • 100ms to do what? tp take a message from the market and process it? What type of message? what type of processing?
  • Should the hardware not be taken in consideration when it comes to discussing performances?
  • What about Network speed? Market Connectivity?

Regis

Hi Could you give me your opinion on the feasibility of using .net on a
windows server for high frequency trading ( needs latency of maximum 100
milliseconds)? I have never written any high frequency trading programs
before and our resources and expertise are limited so using C++ on UNIX
is something I want to avoid unless its absolutely the only way to go.

Has anyone done high frequency trading using algos running on a
windows server?

Your opinions will be highly appreciated

Exactly, and if you’re after ms probably many other parameters.
Does any one know of a “benchmark”?

I am a bit surprised with everyone throwing numbers on the table without
detailing much their meaning?

  • 100ms to do what? tp take a message from the market and process it?
    What type of message? what type of processing?
  • Should the hardware not be taken in consideration when it comes to
    discussing performances?
  • What about Network speed? Market Connectivity?

Regis

Hi Could you give me your opinion on the feasibility of using .net on
a windows server for high frequency trading ( needs latency of maximum
100 milliseconds)? I have never written any high frequency trading
programs before and our resources and expertise are limited so using
C++ on UNIX is something I want to avoid unless its absolutely the
only way to go.

Has anyone done high frequency trading using algos running on a
windows server?

Your opinions will be highly appreciated

[ original email was from Kevin Houstoun - kevinh@altkb.com ]
STAC Research are trying to set up some benchmarks around securities technology generally, currently they have a couple around market data but are also looking at the transactional message part. They are a for profit company and not affiliated with FPL, see http://www.stacresearch.com/

Cheers
Kevin Houstoun

Exactly, and if you’re after ms probably many other parameters. Does any
one know of a “benchmark”?

I am a bit surprised with everyone throwing numbers on the table
without detailing much their meaning?

  • 100ms to do what? tp take a message from the market and process it?
    What type of message? what type of processing?
  • Should the hardware not be taken in consideration when it comes to
    discussing performances?
  • What about Network speed? Market Connectivity?

Regis

Hi Could you give me your opinion on the feasibility of using .net
on a windows server for high frequency trading ( needs latency of
maximum 100 milliseconds)? I have never written any high frequency
trading programs before and our resources and expertise are limited
so using C++ on UNIX is something I want to avoid unless its
absolutely the only way to go.

Has anyone done high frequency trading using algos running on a
windows server?

Your opinions will be highly appreciated

STAC has benchmarked some commercial feed handlers for market data such as WOMBAT.

Getting more detailed as to what part of the processing needs this performance -

For the processing of the raw market data feeds I am leaning towards buying a commercial product instead of writing each feed handler by hand for each feed. Some commercial feed handlers have an advertised latency of sub millisecond from the time a feed(say SIAC OPRA feed) hits their system to when the data is available to a client application. Market connectivity, network speed and hardware can all be best in class.

That leaves the business logic and this is what needs the low latency. The algo/logic itself is simple but this logic needs to run for several thousand different items, each potentially having multiple updates per second. The required peak messages rate) each of which will cause the business logic algo to be triggered is about 500,000 messages per second

STAC Research are trying to set up some benchmarks around securities
technology generally, currently they have a couple around market data
but are also looking at the transactional message part. They are a for
profit company and not affiliated with FPL, see
http://www.stacresearch.com/

Cheers Kevin Houstoun

Exactly, and if you’re after ms probably many other parameters. Does
any one know of a “benchmark”?

I am a bit surprised with everyone throwing numbers on the table
without detailing much their meaning?

  • 100ms to do what? tp take a message from the market and process
    it? What type of message? what type of processing?
  • Should the hardware not be taken in consideration when it comes to
    discussing performances?
  • What about Network speed? Market Connectivity?

Regis