Ja, de site mag op basis van mijn klikgedrag suggesties doen en voorkeuren onthouden. Meer over cookies.
Opslaan

Development of a valuation tool for derivatives in C#

  • Thom Kraaij
  • 02 augustus 2016
Thom

The core business of our Financial Risk Management (FRM) practice consists of helping clients with risk modelling and risk capital issues and questions. In addition to our client work, all colleagues of FRM work on one or more internal projects. An example of such a project is the development of a valuation tool for derivatives (the tool is also called the ‘Pricing Library’). I have been involved in this project for 1,5 years now. Together with inter alia Deloitte Germany and Deloitte South Africa, a team of three colleagues of the Dutch FRM we are currently working on the development of this tool in C#.

Setting the scene
Each year the FRM department performs independent valuations of derivative instruments such as interest rate swaps, cross currency swaps and FX forward contracts on request of the Audit department. Audit may use those independent valuations for the auditing exercise of financial statements.

The aim of the EMEA Pricing Library is twofold. Firstly, it enables our team to understand all details of the calculations of derivative values, thereby eliminating the reliance on black box solutions. Secondly, it will provide us with a C# tool that can quickly produce an independent valuation of derivative instruments, thereby reducing costs and using time more efficiently and thus reducing costs.

Improving knowledge of C#
Because several Deloitte offices were already working on the valuation tool for about two years when I joined, the foundation of the Pricing Library was already built. In the beginning I had to explore the library, which was fun, but also quite challenging. The level of programming in the pricing library was advanced and my knowledge of other programming languages was not always sufficient to directly understand the concept of object oriented programming and other more advanced coding practices in the pricing library.  

Together with my colleagues we have explored the library step by step improving not only our programming skills but also our understanding of derivatives valuation. It was superb to see the improvements we have made as a team, but also for me personally as I am always keen to learn and improve my knowledge of a new programming language. It was good to see that the knowledge I gained during the Pricing Library development became helpful in the projects we do as FRM department at clients. After about a year working on the pricing library, I have been working on a project at the client where we had to build our own tool in C#. Because of the work I had performed for the Pricing Library, it became easier to add value to the project more quickly.

Improving knowledge of derivative valuation in practice
As mentioned in the beginning of the blog our development team, currently consisting of three members, needs to understand how the valuation of derivatives works in practice. Although I have had several subjects on valuing plain vanilla interest rate swaps, I could not foresee that the valuation of a simple plain vanilla interest rate swap would include so much detail in practice. During the project several issues have emerged consisting of for example different day count conventions, choices on the level on which rates should be interpolated, fixing dates of interest rates and settlement dates of the derivative instruments and more. I will briefly elaborate on one of these issues.

The discount factors, as used in the valuation of derivatives, are in theory (or textbooks) relatively straightforward to calculate or even given. In practice however many choices have to be made. Firstly, a choice have to be made concerning the level on which rates are interpolated. One can interpolate on market rates, zero rates or discount rates and the choice depends on the way one looks at it from a finance perspective. In general the market convention is used. Secondly, the interpolation method has to be determined. Two possible choices are, for example, linear interpolation and cubic spline interpolation. Finally, the interpolation must be programmed in such a way that the code is robust and performing the calculation quickly. Several disciplines come together for something being relative easy in theory.

EMEA Pricing Library
Finally, after all the hard work several member firms have performed over the past few years, it was a great moment to be able to value derivative instruments in line with our own (practical) view of derivative valuation via our tool and to present the tool to our colleagues. To see the enthusiastic reactions of our colleagues increased our enthusiasm about the tool even more.

Interested?
Have a look at our internship in quantitative programming position.

  • Frm
  • Financial Risk Management
  • Risk Modelling
  • Valuation
  • Derivatives
  • Risk
  • Programming
  • C#
Delen

Thom Kraaij

My name is Thom Kraaij and I am currently working as a consultant for the Financial Risk Management department at Deloitte. After a bachelor Mathematics in Nijmegen I graduated on Stochastic and Financial Mathematics at the University of Amsterdam. In my spare time I play soccer at VV Voorwaarts in Utrecht and furthermore I enjoy watching series.

Het bedrijven van Enterprise Architecture: een creatief proces?

  • Erik Hegeman
  • 18 juli 2016
Naar boven