Wednesday, July 8, 2009

Similarities Betwen Financial Modeling and Software Development

Our training program has started and we've been going over the basics of financial modeling.

One thing I've noticed with financial modeling (which should actually come as no big surprise) is the similarity with developing software.

Software development concepts that are portable (and important) for financial modeling:
  • Modularity - Portability of code. Being able to use one formula in another area and putting pieces together
  • Functions and variables - No hard coding. Having computed values feed into each other so that changes are immediately propagated throughout the model (without having to tediously consume time readjusting calculations - a huge waste of time)
  • Memory addressing and pointers - Cell references and pointer arithmetic, arrays and vectors
Good programming practices such as adding comments to describe assumptions, keeping documentation and understanding the underlying fundamentals of the math (and what can break the formulas and models) is critical to understanding how robust your model is. People who have studied computer science will probably be familiar with many of the above terms and concepts.

No comments: