Replies: 3 comments 8 replies
|
There’s a very good reason why I don’t source my formulas from other people’s code 😬. I primarily rely on formulas from original authors and don’t apply any “creative improvements” and then do way more manual and automated testing than most. Though, much of these differences can probably be attributed to compounding or other rounding errors due to coding techniques, data types, or conversions. I’ve done some thinking and experimentation on data precision, so I’ve seen how this can go wrong if not careful. |
|
That is exactly why I down-selected validation of my library against three libraries:
I am struggling to create reliable unit tests in C# that would call Kevin's Python library through Python.net - so I was looking for alternative validation library. Trady and Ooples looked decent. Well, not anymore. :-) |
|
@mihakralj, no performance benchmarking yet? I’m pretty sure I can beat most Python projects and most of the other C# projects. I’m not sure how we’d compare to native C++ projects, but these newer .NET frameworks are much faster overall, might be close. |
Uh oh!
There was an error while loading. Please reload this page.
I wanted to share my experiment this week when I tried to add more validation tests across TA libraries. I wanted to compare four .NET TA libraries - not so much for the same results, but to check the performance of each of them. Here is the setup in my .NET interactive notebook, showing which four libraries I pulled in:
Let's start with the basics - a Simple Moving Average across 10,000 bars. I had to tinker with transforms of data input to make each library happy and supply the source in just perfect format:
And here is the comparative output, comparing the first valid and last available value:
So far so good, except when we start comparing more complex indicators - and results are uncomfortably different:
Below is EMA, where only QuanTAlib and Skender are identical, other two libraries are returning very odd results...
All reactions