A modern and robust C# Technical Analysis library based on the original open-source TA-Lib by Mario Fortier, using Generic Math and supporting Double, Float, and Decimal data types.
- TaLibStandard
TaLibStandard is a modern interpretation of the widely used TA-Lib, reimagined in C# 12. It is designed to be reliable, efficient, and user-friendly for developers performing financial market analysis. The addition of .NET's Generic Math feature allows for a richer, more flexible library that can handle a variety of number types.
The primary objective of TaLibStandard is to provide a comprehensive, feature-rich and accessible library for conducting technical analysis on financial market data.
To get started with TaLibStandard, you can clone the repository and explore the examples provided in the examples
directory. You can also refer to the list of available functions in the documentation for a comprehensive overview of the library's capabilities.
- Support for Double, Float, and Decimal data types, with the help of .NET's Generic Math
- With some basic tests (coverage: >= 80%)
- .NET Exception handling (BREAKING CHANGE)
- Comprehensive API documentation that is easy to understand
- High-Level API for common use cases
- Support for more data types
- Support for more functions
- More tests
- More examples
- Add a Benchmark project
- Create a gRPC server to expose the library as a service
TaLibStandard provides a COMPLETE DOCUMENTATION of the library.
All summaries are written in English. If you want to help us translate the documentation, please open an issue to discuss it.
Note: The documentation is generated using Doraku/DefaultDocumentation tool. It is generated automatically when the project is built.
- .NET 8.0 (supported versions: 8.x)
- A C# IDE (Visual Studio, JetBrains Rider, etc.)
- A C# compiler (dotnet CLI, etc.)
This library targets .NET 8.0 and uses the latest C# features. It is written in C# 12.0 and uses the new init
properties, record
types, switch
expressions, using
declarations and more.
I invite you to read the C# 12.0 documentation to learn more about these features.
Package Name | NuGet Version Badge | NuGet Downloads Badge | Package Explorer |
---|---|---|---|
Atypical.TechnicalAnalysis.Candles | Explore | ||
Atypical.TechnicalAnalysis.Functions | Explore | ||
Atypical.TechnicalAnalysis.Core | Explore |
This table is automatically updated regularly the latest developments and releases in the Atypical Technical Analysis suite.
- Target framework : .NET 8
- Language version : C# 12
- xUnit and FluentAssertions
To install TaLibStandard, you can use the NuGet package manager. Run the following command in your terminal:
dotnet add package Atypical.TechnicalAnalysis.Candles
dotnet add package Atypical.TechnicalAnalysis.Functions
We strive for the highest code quality in TaLibStandard, leveraging Codacy—an automated code analysis/quality tool. Codacy provides static analysis, cyclomatic complexity measures, duplication identification, and code unit test coverage changes for every commit and pull request.
View our Codacy metrics here.
For reporting bugs or suggesting new features, kindly submit these as an issue to the TaLibStandard Repository. We value your contributions, but before submitting an issue, please ensure it is not a duplicate of an existing one.
We welcome contributions from the community! If you'd like to contribute to TaLibStandard, please fork the repository and submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
You can contact us by opening an issue on this repository.
Here is a list of recent notable changes to TaLibStandard.
- dotnet 8.0 support
- Generic Math support
- .NET Exception handling
- NuGet packages
GNU General Public License v3.0 or later.