[Numpy-discussion] add xirr to numpy financial functions?

Robert Ferrell ferrell at diablotech.com
Mon May 25 23:29:02 EDT 2009


I haven't read all the messages in detail, and I'm a consumer not a  
producer, but I'll comment anyways.

I'd love to see additional "financial" functionality, but I'd like to  
see them in a scikit, not in numpy.  I think to be useful they are too  
complicated to go into numpy.  A couple of my many reasons:

1. Doing a precise, bang-up job with dates is paramount to any  
interesting implementation of many financial functions.  I've found  
timeseries to be a great package - there are some things I'd like to  
see, but overall it is at the foundation of all of my financial  
analysis.  Any moderately interesting extension of the current  
capabilities would rapidly end up trying to duplicate much of the  
timeseries functionality, IMO.  Rather than partially re-implement the  
wheel in numpy, as a consumer I'd like to see financial stuff built on  
a common basis, and timeseries would be a great start.

2. I've read enough of this discussion to hear a requirement for both  
good date handling and capable solvers - just for xirr.  To do a  
really interesting job on an interesting amount of capability requires  
even more dependencies, I think.

Although it might be tempting to include a few more "lightweight"  
financial functions in numpy, I doubt they will be that useful.  Most  
of the lightweight ones are easy enough to whip up when you need  
them.  Also, an approximation that's good today isn't the right one  
tomorrow - only the really robust stuff seems to survive the test of  
time, in my limited experience.  A start on a really solid scikits  
financial package would be awesome, though.

A few months ago, when the open source software for pricing CDS's was  
released (http://www.cdsmodel.com/information/cds-model) I took a look  
and noticed that it had a ton of code for dealing with dates.  (I also  
didn't see any tests in the code.  I wonder what that means.  Scary  
for anybody that might want to modify it.)  I thought if I had an  
extra 100 hours in every day it would be fun to re-write that code in  
numpy/scipy and release it.

-r





More information about the NumPy-Discussion mailing list