Important
This branch contains vNext (v3) code that is under development. For the currently released stable version (v2), please see the main branch.
Stock Indicators for .NET is a C# library package that produces financial market technical indicators. Send in historical price quotes and get back desired indicators such as moving averages, Relative Strength Index, Stochastic Oscillator, Parabolic SAR, etc. Nothing more.
Build your technical analysis, trading algorithms, machine learning, charting, or other intelligent market software with this library and your own OHLCV price quotes sources for equities, commodities, forex, cryptocurrencies, and others. Stock Indicators for Python is also available.
v3 introduces comprehensive streaming capabilities for real-time and incremental data processing. Most indicators now support three calculation styles:
- Series - Traditional batch processing for complete historical datasets
- BufferList - Incremental calculations with efficient buffer management
- StreamHub - Real-time processing with observable patterns and state management
Quick example using streaming:
// Create a quote hub for streaming quotes
QuoteHub<Quote> quoteHub = new();
// Subscribe indicators to the hub
EmaHub<Quote> emaHub = quoteHub.ToEma(20);
RsiHub<Quote> rsiHub = quoteHub.ToRsi(14);
// Stream quotes as they arrive
foreach (Quote quote in liveQuotes)
{
quoteHub.Add(quote);
// Access real-time results
EmaResult emaResult = emaHub.Results.LastOrDefault();
RsiResult rsiResult = rsiHub.Results.LastOrDefault();
}Visit our project site for more information:
