Rich Newman


How To Ski


This blog focuses primarily on technical issues in .Net and other computer technologies that interest me.  I also write occasionally about derivatives and derivatives pricing.  Interestingly, in recent months the derivatives articles have generated far more interest than the computing articles, which is the reverse of when I started writing this blog.

I work in the investment banking division of a large American bank. I work in credit technology.  For several years I worked for that organization in Canary Wharf in London, but I am currently in New York.

Previously I was responsible for the development of a C# user interface framework and the application that used it.  This was the single application that all credit traders used for all functionality, from trade booking to risk management.  It is still our main trading system.  The project was successful, but its own success has led to a few problems.  Also it’s getting old now and both Microsoft’s desktop technologies and our management have changed.  As a result we have been working on upgrading this application using newer technologies.

For the last few years I have been involved in electronic trading, specifically in building a new system from scratch to handle all credit electronic trading.  This system has gone to production, and is being rolled out globally.  The client part of this was originally built within the trading application discussed above, thus forcing me to use my own framework in anger.  In recent times we have started moving this functionality onto newer platforms, and I have been involved in building some of these.

I have more years of experience than I care to remember working on trading systems, in FX options and equity derivatives as well as credit derivatives and other credit products. I have been working professionally with .Net since 2002.  I have to say I like building trading systems immensely.  It’s a great job.


  1. Dear Newman,
    Great work!
    I too asked yesterday in my company to produce the report of how many lines of code are there in two big .net projects.

    Your project solved my task within a minute.

    Thank you so much

    Comment by Kishor — August 29, 2007 @ 7:37 am

  2. Hi Richard,
    Really enjoying your articles and has been great start in order to get my head around this maze of concepts that is CAB. Am sure it will be worth it in the end but I am finding it hard to grasp all the ideas and put into practice. I wondered if you had an article, or any thoughts about, the use of State in order to maintain state? Is this still being used in the currect version of CAB?


    Comment by Stephen — September 25, 2007 @ 8:29 pm

  3. Hi Rich,
    my compliments for the great work done in the 15 articles on CAB/SCSF.
    Also if they are not going too deep in details on CAB/SCSF I can tell you that I learned and understood CAB/SCSF concepts and the way they work reading your 15 articles much better than after reading an entire book such as David S. Platt’s “Programming Microsoft CAB and SCSF”.
    I’m looking forward to see Part 16 and possible following chapters.


    Comment by Walter — November 1, 2007 @ 1:34 pm

  4. Hi Rich

    Your articles about CAB are great, I have studied microsoft docs about CAB , but understand it when I read your articles.

    Best Regards
    Reza Rahmati

    Comment by Reza — December 5, 2007 @ 7:08 am

  5. Hi Rich,

    I’m in the process of learning SCSF and I’ve found your articles to be great and very informative. I’m trying to push for it at work as it would make sense to have a common architecture rather than crafting something similar in-house, in this day and age you should have to start messing about with SetParent ;-). I’ve found it a very large learning curve and your articles have been very informative, more so than reading Platts book (which has a lot of white space). Are there any courses that you would recommend as we’ve got about 10 developers who will need to learn SCSF and my knowledge is still very new and possibly not right! Are you looking for a contract at a Investment house in the City (London)? 😉

    Great stuff.



    Comment by Steve — December 7, 2007 @ 12:01 pm

  6. Rich,

    I just wanted to say thanks for putting together the great articles on CAB and SCSF. I’ve been working with CAB since early 2006 and this past summer moved over from Canada to work in the Wharf. I’ve had to ramp up several team members in CAB over time and your articles provide an excellent start. Most recently I’ve been working closely with Kent Boogaart on WPF based CAB implementations — the three of us should get together for lunch someday if you’re just next door.

    Keep up the great work,


    Comment by Syd Millett — January 15, 2008 @ 10:58 am

  7. Rich

    I’ve enjoyed reading your articles. Many thanks.


    My last 2 .NET contracts have been with retail banks and I’m looking to make the switch to investment banking. It seems like a tough cookie to crack as most roles typically require investment bank experience already. But how do you get that if you can’t get in?

    Any advice you could give on ‘breaking-in’ would be much appreciated?


    Comment by Andy — March 3, 2008 @ 11:42 am

  8. Hi,
    Thanks a lot for all your articles. I love reading them especially the one on SCSF/Cab and on FPML.

    Great work !!

    Comment by Harsh — March 22, 2008 @ 8:55 am

  9. Rich, I was wondering if you could help me with something a little more advanced. I can get Excel calling C# libraries fine and displaying forms etc but cannot seem to find a way of getting the interaction 2-way in certain circumstances. I want to display a WinForm from Excel (this is fine), have the user select some settings etc and submit, the form then calls a web service which returns it data, then the form pass the data back to Excel. It’s this last bit I cannot work out. I thought of maybe using Events, passing a reference to Excel into the library etc but cannot get anything working. I could make the form modal and examine the calling class for a HasData setting but this modal operation is not ideal. Any ideas?



    Comment by Mark — March 31, 2008 @ 3:14 am

  10. You are writing a very good articles. Thank you so much. You are really a great guy.

    Comment by andrew — June 12, 2008 @ 11:19 am

  11. Hi,
    Thanks you so much for your “A Beginner’s Guide to calling a .NET Library from Excel” tutorial. It shows the clear way of calling NET library from
    Excel. But I get the runtime error when i run.
    “Run-time error ’91’:
    Object variable or With block variable not set”
    How can I correct that.Please help me. Thanks you so much.

    Comment by kkzin — June 16, 2008 @ 9:06 am

  12. You have been doing a great job Rich… Cant wait to see you next article on SCSF/CAB. Please keep it coming.

    Comment by Phil — June 19, 2008 @ 11:43 pm

  13. Hi Rich, When is your next blog article going to see the internet-light! I hope soon! Great work!

    Comment by PeterNL — August 24, 2008 @ 8:37 pm

  14. Hi Rich,

    What a hero! Do an article on CPPI / CPDO. Go on, you know you want to.

    Mike Lyall

    Comment by Mike Lyall — August 26, 2008 @ 1:42 pm

  15. Hi Rich,

    i wonder if you could help me with a “serious” problem regarding CAB/Commands that i have in our Smartclient project(s)!
    Its about the disposing of CommandAdapter instances that are created for me and should be disposed when the workitem is terminated.
    This works fine as long as there is no CommandHandler for this command in a parent workitem…
    Please send me an eMail if you are willing to help me, so i would describe my problem in more depth when i know that you are available for this 😉

    Thx so much.

    Regards, Robert

    Comment by Robert — November 28, 2008 @ 5:09 pm

  16. hi,
    i must say that your articles are awsome !!!!
    is there a link to chapter 26 regarding CAB/SCSF ?

    Comment by Avi Taib — January 7, 2009 @ 3:27 pm

  17. Thank you for this series. It helps me so much. Great work!

    Comment by langxang — March 19, 2009 @ 7:38 am

  18. Dear Rich,

    I wonder if I could ask you a low-level question. It is about the meaning of the first and second derivative as understood in “financial engineering”. In Calculus, the first derviative is the rate of change, while the secod deriviative is the rate of change of the rate of change. In physics, the first derivative is speed or velocity, while the second derivative is acceleration or change in the rate of velocity.

    What are their equivalents in your field?

    Thanks for whatever help you can provide.


    Comment by thedukeofurl — April 17, 2009 @ 11:34 pm

  19. Hi Rich

    Not only have you helped with me with exception handling but you have a whole series on SCSF, another area I am stuggling with.

    I’m working on a (sort of) basic trading system. Steep learning curve … no … it’s vertical !!!


    Comment by Geoff — April 21, 2009 @ 5:17 pm

  20. Impresionante. Great Work ! Thanks you very much for sharing your knoledge with us.

    Comment by Luis — May 12, 2009 @ 7:01 am

  21. Hi Rich, Good to see you back blogging again – where’ve you been?

    I regularly checked in to see if you’d added to your excellent CAB series and had almost given up hope!

    Comment by Hugh — June 18, 2009 @ 4:39 pm

  22. Great work! I have learn a lot from your blogs.
    For your time.

    Comment by R — July 21, 2009 @ 1:15 pm

  23. it seems that this year you have written less articles than last year. I hope you don’t mind sharing your knowledge either computer knowledge or any knowledge that you have such as derivatives theory, etc. I am fan of your blog.

    Comment by andrew — September 11, 2009 @ 2:11 am

  24. Thank you Mr Newman for this amazing resource.


    Comment by Wole — December 3, 2009 @ 1:25 pm

  25. Rich, thank you for this resource. Your discussion of FpML was invaluable for me. Only then I found that we work for the same company.


    Comment by Avi Farah — January 8, 2010 @ 4:32 am

  26. Rich, thank you for your article “A Beginner’s Guide to calling a .NET Library from Excel” at URL
    I am looking to do the same thing but from VB.NET rather than C#. Do you have any write-ups on this
    or any suggestions? This would be very appreciated. Thank you,

    Comment by Todd Voros — February 8, 2010 @ 5:32 pm

  27. Hi Rich,

    Is there an email address that I can contact you on. I had a few questions to ask of you in Banking.

    Thank you for your time.

    Comment by Raj — April 6, 2010 @ 7:41 pm

  28. Rich: I would like to re-print your “Beginners Guide to Credit-Default Swaps” for a free educational program a professional insurance society, of which I’m a member, is putting on.

    Would you e-mail me with your contact info so I can give you more of the details?

    Thank you.

    Comment by Dave — May 21, 2010 @ 1:36 am

  29. Rich,

    You are doing great.Please post some pricing materials on CDS Pricing.

    Shiva Reddy

    Comment by Shiva Reddy — December 21, 2010 @ 9:14 pm

  30. Hi rich,

    we have a project which is developed based on SCSF. But it looks like SCSF was not used properly in the project which is resulting in unstable application. The company is planning to revamp all the modules of application and wanted to get time estimate from us. There are around 14 modules in the application and all of them are developed using SCSF. Can you please let me know what factors do I need to consider when giving estimates. I haven’t done any prototype on SCSF and I am kind of struggling giving estimate. Can you please give me some pointers on how to arrive at estimate. I am sue that if the project implements SCSF in proper fashion it will fix lot of errors. Appreciate your help.

    Thanks and Regards,
    .net newbie

    Comment by .net newbie — March 3, 2011 @ 4:09 am

  31. .net newbie

    The CAB/SCSF itself isn’t going to make your application unstable. However, because all your modules run in the same process if any of them misbehave they can affect the performance of the entire application. For example, if any of them have unhandled exceptions on background threads at startup they will likely crash the application. I’ve actually been looking recently at the possibility of making Prism’s modules run in different processes, but that’s another story.

    This is the same as with any complex application. If parts of it are poorly written, or have poor exception handling, then the whole application can appear unstable.

    Unfortunately the only way you’re going to be able to make an estimate for addressing that is to look at the code in some detail, work out why the application is unstable, and come up with a plan to fix it. The alternative of course is just to rewrite the application from scratch from the original requirements, but usually that will take far longer than fixing the current application.

    Comment by richnewman — March 3, 2011 @ 3:37 pm

  32. Hi Rich, we’ve been running Smart Client Apps now for a few years and we’re looking to port them to Prism. Have you managed to do this successfully yet? I think no matter what we’re going to have to recompile our existing components to fit into the WPF world, even though the powers to be would rather not. Any direction would be appreciated. Also thanks for you excellent articles over the years.

    Comment by James A — July 12, 2011 @ 6:50 am

  33. Google’s top entry on credit default swaps for beginners. He is doing something right !

    Comment by Anonymous — August 18, 2011 @ 4:06 pm

  34. Have you written any article on prism as well?

    Comment by Sumit Bishnoi — September 2, 2011 @ 10:40 am

  35. I saw your post regarding the new design you would like to come up with if you had to re-do your project all over again.
    I have a question about it, how would you render all applications inside one main(shell) window if they are separate processes or multiple app domains in the same process? do you plan to use win32 API and call something like SetParent??

    Comment by Anonymous — January 25, 2012 @ 10:16 am

  36. Thank you for sharing your expertise on cds’s.

    Comment by J Riccio — April 15, 2012 @ 6:14 pm

  37. Hi Rich,

    Is there an email address I can reach you on? Thanks!

    Petar T.

    Comment by Petar Todorov — November 27, 2012 @ 4:01 pm

  38. Hi Rich,

    Do you have an e-mail address where I might be able to contact you in connection with portfolio management and risk applications?



    Comment by Howard Feitelberg — March 8, 2013 @ 10:42 pm

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at

%d bloggers like this: