Serving the Quantitative Finance Community

 
User avatar
Cuchulainn
Topic Author
Posts: 65000
Joined: July 16th, 2004, 7:38 am
Location: Ganymede

Good Numerical Analysis and Statistics Libraries in C#

December 6th, 2008, 12:25 pm

Any good ones?Only native C# libraries preferred.
Last edited by Cuchulainn on December 5th, 2008, 11:00 pm, edited 1 time in total.
65000
 
User avatar
axsaxs
Posts: 13
Joined: January 4th, 2008, 12:19 am

Good Numerical Analysis and Statistics Libraries in C#

December 6th, 2008, 4:18 pm

 
User avatar
DanZee
Posts: 3
Joined: December 8th, 2008, 5:03 pm

Good Numerical Analysis and Statistics Libraries in C#

December 9th, 2008, 8:28 am

We use this one for standard mathematical functions: http://www.extremeoptimization.com/
 
User avatar
Cuchulainn
Topic Author
Posts: 65000
Joined: July 16th, 2004, 7:38 am
Location: Ganymede

Good Numerical Analysis and Statistics Libraries in C#

December 9th, 2008, 8:58 am

I think if C# is to get critical mass in finance that some concerted attempt must be made, the way that the boost (very profi) libraries do it. I am worried that we may need to do our own plumbing and this feels like doing in C# what we used to do in C++ but we don't need to do because boost does it for us.In short, C# Boost would be ideal.
Last edited by Cuchulainn on December 8th, 2008, 11:00 pm, edited 1 time in total.
65000
 
User avatar
xeno
Posts: 24
Joined: June 21st, 2005, 1:56 am

Good Numerical Analysis and Statistics Libraries in C#

December 13th, 2008, 6:34 pm

QuoteOriginally posted by: CuchulainnI think if C# is to get critical mass in finance that some concerted attempt must be made, the way that the boost (very profi) libraries do it. I am worried that we may need to do our own plumbing and this feels like doing in C# what we used to do in C++ but we don't need to do because boost does it for us.In short, C# Boost would be ideal.I'm curious, Cuch, what you think should be in this "C# Boost" library? After all, one of the purposes for Boost was to address cross-platform issues, something that C# doesn't have to deal with. Also, the .NET BCL is perhaps a little richer than the C++ Standard Libraries. What "plumbing" do you have in mind? Like everyone else, I've got oodles of helper/utilities that I wish I don't need to maintain myself. :-)I use the Extreme Optimization library myself. It's neither good nor bad. Most of the times, it has stuff I need so no need to roll out the Numerical Recipes book. However, it's a little painful having to write xyz.Lenght (note misspelling) in a few places.-xeno
 
User avatar
Cuchulainn
Topic Author
Posts: 65000
Joined: July 16th, 2004, 7:38 am
Location: Ganymede

Good Numerical Analysis and Statistics Libraries in C#

December 13th, 2008, 7:04 pm

xeno,I would like to see "level 3" libraries such as in boost:maths +stats+special functions(boost has LOTS)uBLASmulti-arrayRNGetc. //I also need to have generic parameters as in TinyArray<T, N> where N is an integer. And for operators such as * and + I must use Reflection to emit code to generate them.so, I think my proposal is very modest QuoteLike everyone else, I've got oodles of helper/utilities that I wish I don't need to maintain myself. :-)Are these a product in the market?
Last edited by Cuchulainn on December 12th, 2008, 11:00 pm, edited 1 time in total.
65000
 
User avatar
xeno
Posts: 24
Joined: June 21st, 2005, 1:56 am

Good Numerical Analysis and Statistics Libraries in C#

December 14th, 2008, 4:58 am

QuoteOriginally posted by: Cuchulainnxeno,I would like to see "level 3" libraries such as in boost:maths +stats+special functions(boost has LOTS)uBLASmulti-arrayRNGetc. I see. I would have use for all of the above. I have to admit, the last time I used Boost was around 2002(?), and mostly for the smart pointer and bind stuff. I'm surprised to see how much it has grown since then. Quote//I also need to have generic parameters as in TinyArray<T, N> where N is an integer. And for operators such as * and + I must use Reflection to emit code to generate them.so, I think my proposal is very modest QuoteLike everyone else, I've got oodles of helper/utilities that I wish I don't need to maintain myself. :-)Are these a product in the market?Nope, it's not a product, just in-house use. My day job is a buy-side quant.The utilities I mentioned are things like: * DateTime helpers, e.g. date.NextWeekDay(), DateRange, and other date arithmetic* String helpers, e.g. prices.JoinWith(",") similar to Python's ",".join(prices)* Tuple<T1,T2>, Tuple<T1,T2,T3>, etc similar to Boost::Tuple* Python's zip: take two or more IEnumerable and return an IEnumerable of Tuples* Math helpers: d.StandardDeviation(), d.Percentile(x), etc where d is an IEnumerable<double>. Note that the BCL already has d.Sum() and d.Average().* CSV Reader/writer.* Excel reader/writer.I also have a hand-rolled WPF chart library that I work on once in a while. (The ones I've seen either suck or have so steep a learning curve that I give up, but I guess that's another discussion. For WinForms, I recommend ZedGraph. Barely.)So yes, I certainly would have use for a "C# Boost".-xeno
 
User avatar
Cuchulainn
Topic Author
Posts: 65000
Joined: July 16th, 2004, 7:38 am
Location: Ganymede

Good Numerical Analysis and Statistics Libraries in C#

December 14th, 2008, 3:01 pm

Yes, boost is truly amazing these days. I use it mostly for the number-crunching duties.For the desktop, I think it is hard to beat C# and .NET. I like it because:. good integration with Excel (almost as easy as VBA???). design patterns are directly implementable (fast development time). Use Reflection to configure (Excel) appsIt's possible to create the vital data structures but doing the advanced stuff oneself is really time-consuming (e.g. Day count stuff, Chi^2 distributions..). The boost developers would do it as a great service? especially
Last edited by Cuchulainn on December 13th, 2008, 11:00 pm, edited 1 time in total.
65000
 
User avatar
Cuchulainn
Topic Author
Posts: 65000
Joined: July 16th, 2004, 7:38 am
Location: Ganymede

Good Numerical Analysis and Statistics Libraries in C#

December 14th, 2008, 3:20 pm

zedgraph
65000
 
User avatar
spmacdonald
Posts: 23
Joined: February 18th, 2008, 5:42 pm

Good Numerical Analysis and Statistics Libraries in C#

December 15th, 2008, 4:03 am

 
User avatar
jurowilmott1
Posts: 21
Joined: January 20th, 2007, 11:40 pm

Good Numerical Analysis and Statistics Libraries in C#

December 15th, 2008, 3:24 pm

Why don't you look at http://www.vni.com/products/imsl/cSharp/overview.php. Their code is fast and covers a lot (lot more than extreme optimization library or any other C# library I looked at relatively recently) but their licensing is beyond painful.
 
User avatar
Cuchulainn
Topic Author
Posts: 65000
Joined: July 16th, 2004, 7:38 am
Location: Ganymede

Good Numerical Analysis and Statistics Libraries in C#

December 16th, 2008, 6:43 pm

QuoteOriginally posted by: jurowilmott1Why don't you look at http://www.vni.com/products/imsl/cSharp/overview.php. Their code is fast and covers a lot (lot more than extreme optimization library or any other C# library I looked at relatively recently) but their licensing is beyond painful.I see it has some interpolation stuff but it is not clear what exactly. Then you would have to use it in a yield curve module. It might be just better to port existing code from C++, which takes little time if the code has been set up using templates (i.e. no pointers). BTW those generic constraints are really robust.
Last edited by Cuchulainn on December 15th, 2008, 11:00 pm, edited 1 time in total.
65000