mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-17 01:58:06 +00:00
Fibonacci Moving Average
This commit is contained in:
+19
-15
@@ -12,30 +12,24 @@
|
||||
[](https://github.com/mihakralj/QuanTAlib/watchers)
|
||||
[](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
|
||||
|
||||
**Quan**titative **TA** **lib**rary (QuanTAlib) is a C# library of classess and methods for quantitative technical analysis useful for trading securities with [Quantower](https://www.quantower.com/) and other C#-based trading platforms.
|
||||
**Quan**titative **TA** **lib**rary (QuanTAlib) is a C# library of classess and methods for quantitative technical analysis useful for analyzing quotes with [Quantower](https://www.quantower.com/) and other C#-based trading platforms.
|
||||
|
||||
**QuanTAlib** is written with some specific design criteria in mind - some reasons why there is '_yet another C# TA library_':
|
||||
**QuanTAlib** is written with some specific design criteria in mind - why there is '_yet another C# TA library_':
|
||||
|
||||
- Supports both **historical data analysis** (working on bulk of historical arrays) and **real-time streaming analysis** (adding one data item at the time without the need to re-calculate the whole history)
|
||||
- **Calculate early data right** - no hiding of incomplete calculations with NaN values (unless explicitly requested), data is as valid as mathematically possible from the first value
|
||||
- Usage of events for communication between indicators - each data series is an event publisher, each indicator can be a subscriber - this allows easy and seamless data flow between indicators
|
||||
- Prioritize **real-time data analysis** (series can add new data and indicator doesn't have to re-calculate the whole history)
|
||||
- **Allow updates** to the last quote and adjusting the calculation to the still-forming bar
|
||||
- **Calculate early data right** - output data is as valid as mathematically possible from the first value onwards
|
||||
|
||||

|
||||
|
||||
If not obvious, QuanTAlib is intended for developers, and it does not focus on sources of OHLCV quotes. There are some very basic data feeds available to use in the learning process: `RND_Feed` and `GBM_Feed` for random data, `Yahoo_Feed` and `Alphavantage_Feed` for a quick grab of daily data of US stock market.
|
||||
|
||||
See [Getting Started](https://github.com/mihakralj/QuanTAlib/blob/main/Docs/getting_started.ipynb) .NET interactive notebook to get a feel how library works. Developers can use QuanTAlib in .NET interactive or in console apps, but the best usage of the library is withing C#-enabled trading platforms - see **QuanTower_Charts** folder for Quantower examples.
|
||||
See [Getting Started](https://github.com/mihakralj/QuanTAlib/blob/main/Docs/getting_started.ipynb) .NET interactive notebook to get a feel how library works. Developers can use QuanTAlib in [Polyglot Notebooks](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode) or in console apps, but the best usage of the library is with C#-enabled trading platforms - see **QuanTower_Charts** folder for Quantower examples and check **Releases** for compiled Quantower DLL.
|
||||
|
||||
### Coverage
|
||||
|
||||
[List of all indicators - current and planned](indicators.md)
|
||||
|
||||
- **Basic calculations:** ADD, DIV, MAX, MIDPOINT, MIDPRICE, MIN, MUL, SUB, SUM, ZL
|
||||
- **Momentum:** CCI
|
||||
- **Statistics:** BIAS, VORR, COVAR, ENTROPY, KURTOSIS, LINREG, MAD, MAPE, MEDIAN, MSE, SDEV, SMAPE, SSDEV, SVAR, VAR, WMAPE, ZSCORE
|
||||
- **Trends:** ALMA, DEMA, DWMA, 3EMA, HEMA, HMA, JMA, KAMA, MACD, MAMA, RMA, SMA, SMMA, T3, TEMA, TRIMA, TRIX, WMA, ZLEMA
|
||||
- **Volatility:** ADL, ADOSC, ATR, ATRP, BBANDS, CMO, RSI
|
||||
- **Volume:** OBV
|
||||
- **Feeds:** GBM, RND, Yahoo, Alphavantage
|
||||
|
||||
### Validation
|
||||
|
||||
QuanTAlib uses validation tests with four other TA libraries to assure accuracy and validity of results:
|
||||
@@ -43,4 +37,14 @@ QuanTAlib uses validation tests with four other TA libraries to assure accuracy
|
||||
- [TA-LIB](https://www.ta-lib.org/function.html)
|
||||
- [Skender Stock Indicators](https://dotnet.stockindicators.dev/)
|
||||
- [Pandas-TA](https://twopirllc.github.io/pandas-ta/)
|
||||
- [Tulip Indicators](https://tulipindicators.org/)
|
||||
- [Tulip Indicators](https://tulipindicators.org/)
|
||||
|
||||
### Performance
|
||||
|
||||
Is QuanTAlib fast? Well, _no_, but actually *yes*. QuanTAlib works on an additive principle, meaning that even when served a full list of quotes, QuanTAlib will process one item at the time, rolling forward throug time series of data.
|
||||
- If the last bar is still forming (parameter `update: true`), QuanTAlib easily recalculates the last entry as often as needed without any need to recalculate the history.
|
||||
- If a new bar is added to the input, QuanTAlib will process that one item (default parameter `update: false`) and add that one result to the List. No recalculation of the history needed.
|
||||
|
||||
If you feed QuanTAlib 500 historical bars and calculate EMA(20) on it, the performance of QuanTAlib will be dead last compared to all other TA libraries.
|
||||
|
||||
But when system uses 10,000 historical bars, does updates to the current/last bar every tick, and adds a new bar every minute, QuanTAlib has no rivals; all other libraries need to re-calculate the full length of the array on each update/addition to the time series. Longer the series and more updates/additions it gets, more advantage for QuanTAlib.
|
||||
Reference in New Issue
Block a user