A software tools company and a maker of high-performance servers said they set a new record in the speed of pricing options contracts.
Xcelerit and Super Micro Computer, both based in the United Kingdom, said their software and hardware, running together, demonstrated the record speed in a Monte Carlo simulation on European-style options using the industry’s fundamental pricing model, known as the Black-Scholes model.
The two companies said the prices of 1 million options were evaluated with 500,000 simulation paths in less than 17 seconds.
This, they asserted, was “almost 2,500 faster than an equivalent traditional sequential implementation” running on a single central processor.
In this case, however, the tests were not run on a single core processor. The speed was achieved using a combination of general processors and graphic processors on a Super Micro 6016GT server, running the Xcelerit code.
At its peak, the test ran 30 billion Monte Carlo experiments on option pricing per second.
The Super Micro Super Server was equipped with two NVIDIA Tesla M2090 graphis processors, using Xcelerit's software development kit.
The Supermicro 6016GT server also uses two Intel Xeon X5670 processors.
The NVIDIA processors can execute up to 1.3 trillion floating point operations a second each and can be used to split up the computation over several hundreds of thousands of threads.
"Splitting up a complex problem so that it can be executed in parallel across all of these CPUs and GPUs is a task that programmers do not find easy, but our Xcelerit SDK really simplifies this," said Hicham Lahlou, CEO of Xcelerit.
The Monte Carlo Method of simulating real-world conditions encompasses solves a problem by directly simulating the underlying process and then calculating the average result of the process.
In finance, the Monte Carlo method is used to simulate the various sources of uncertainty that affect the value of the instrument, portfolio or investment in question, and to then calculate a representative value given these possible values of the underlying inputs.[