A Community for Financial Services Software Development

By Aaron Tersteeg (Intel) (65 posts) on April 2, 2008 at 1:44 pm

It has been too long since my last blog post and I'm sure that your wondering what I've been upto. I have a few project in the works and the first that I'd like to share is the new Financial Services Community that was launched on March 28, 2008. In late 2007 Ajay Mungara starting working with the engineering team that serves the Financial Services Industry to identify a community based approach to share their engineering lessons learned with the online community of software developers. After doing some research it was determined that the developer were interested in Manageability but passionate about performance. Speed was what they needed and optimization for Multi-Core seemed to be a better initial focus for the community. Our peers in Europe has already started to market directly to the business people in Financial Services through the FasterFS web site with the goal of sharing the success of Intel's low-energy consumption and lightning performance but the site does note really address the "hot to" that many developer want.

A few months ago I started working with Sunil, Shuo and George to put together a content plan, identify the right enabling engineers, get some blog posts going and set up a forum to address developer questions. The site is now live with our first batch of content and ideas. If you work for a financial services company or write software for the industruy then jump right into the conversation. Let us know what you like and where we can help. We look forward to your questions and comments.

Categories: Financial Software Industry, Manageability, Multicore

Comments (5) Comments RSS Feed

By Web Page Financial Content on April 2nd, 2008 at 9:44 pm
links from Technoratiin Europe has already started to market directly to the business people in Financial Services through the FasterFS web site with the goal of sharing the success of Intel’s low-energy consumption and lightning performance but … Original post byAaron Tersteeg (Intel)

By Nancy on April 21st, 2008 at 10:54 pm
Hi,

Excellent article - I really appreciate your blog about online community for Financial Services Software Development and I have bookmarked it for later viewing and forwarded it on.

Cheers.

By rj78991 on June 24th, 2008 at 11:03 am
Hello:

It appears to have been a while since there's been activity on this blog... wonder if this (or another?) would be a good spot to get some brain food on parallel implementations of derivatives risk analytics.

Not so much as compiling Quantlib, but ground up parallelized models. We've been prototyping a framework to deploy in electronic market making of structured products with TBB / MKL and would love to know if there are folks in related areas to trade problems / solutions / war stories with

Best / Rakesh

By Shuo Li on June 24th, 2008 at 4:36 pm
Hi Rakesh,
This would be an execellent place to talk about the topics you mentioned in the context of analytics frameworks. We just have to find somewhere and someone to start. I am glad that you are using TBB and MKL already. Why don't we start with things you like most about TBB and MKL and ways these products could be further improved. What's the most challenging part of using TBB or MKL in your structured product?

By rj78991 on June 28th, 2008 at 9:02 am
Took a little while to articulate, sorry for the gap... Thought I might start with TBB.

Perhaps an illustrative problem will be a good backdrop...

Our application prices structured equity derivatives in real time in response to changes in the underlying stocks.

- each stock has a number of derivatives that depend on it; the number of dependents is somewhat variant
- the amount of work to price a derivative depends on its nature, e.g.
european exercise (black-scholes) ~300 flops
american exercise (100 step lattice) ~150 K flops
other exotics (range notes, choosers, barriers) can need significantly more
in some cases we can taylor-approximate the price in 4 flops (a couple of add/multiplies)
- some derivatives are more sensitive to changes in the underlying than others;
prioritizing them gets a price to market sooner

In our first implementation, since the number of dependents is known, we chose to use a parallel_for, which works correctly, BUT...

We do not know a priori if the compute load is going to be evenly balanced over the cores;
- it would be nice to be able to use the cores which finish earlier to work on the next incoming stock price change
does a parallel_while suit this problem better?

Presently we schedule the high delta options for early calculation by sorting the dependency every so often; we avoided heaps / skip list because they are more complex, and since there are no TBB implementations of priority queues, we'd have to use STL or other implementations - these would have to be locked globally during insertions which we'd rather not do.

Alternatively (or to use together with other strategies), are there ways to assign task priority?


What do you think?

Name (required)

Email (required; will not be displayed on this page)

Your URL (optional)

Comments (required)