The .NET ecosystem is rich with excellent, free libraries that cover pretty much everything you need when writing trading software. So here’s a collection of libraries I use in my applications, mostly focused on stats, math, and machine learning but also including time handling, data structures, and calendars:
Accord.NET
Based on the Aforge.NET library, it offers tons of useful stuff for traders: matrices, descriptive statistics, probability distributions, optimization methods, regression, PCA, as well as a wide array of machine learning algorithms. I use it all the time.
ILNumerics
Tons of useful math and stats functions, matrices & linear algebra (very fast), PCA, regression, unsupervised machine learning.
Math.NET Numerics
Probability distributions & random number generation, linear algebra, simple statistical analysis, various useful math functions.
Wintellect Power Collections
Various extremely useful data structures: double ended queue, dictionary with multiple values per key, red-black tree, ordered dictionary/list.
QLNet
A port of quantlib to C#. Not just derivatives, there’s a lot of useful stuff in here such as calendars with holidays for a very wide array of markets. There’s also NQuantLib which I haven’t tried.
Noda Time
Time handling done right. You need this.
R.NET
Lets you use R from your .NET applications. Slow, buggy as hell, hard to work with, but some times it’s very useful to have access to some of the more obscure/specialized R libraries.
ALGLIB
Regression, some machine learning, PCA, optimization, and linear algebra, simple hypothesis testing.
There are several commercial options available as well, such as Extreme Optimization and NMath. I haven’t used either of them so I can’t comment on their quality.
Yanick says:
Hi,
thanks for these free libraries and this blog. Have you tried to use these directly in Multicharts .NET? For example, could it be possible to create an autotrading script that will act differently on important dates with RLNet? Or maybe use Accord to monitor live tick data?
Sorry if my question may look simple but I’m still in my learning phase of C# and .NET and so far, it seems to me that Multicharts doesn’t allow reference to external libraries. Yet I haven’t found a way to do it with Accord.NET…
Thanks again!
qusma says:
Hi,
In the powerlanguage editor, right click right in the editor and go to “References”.
mohammadpouya says:
This result is very good ….لامپ کم مصرف–کرکره برقی