Skip to content

Commit

Permalink
Covar, Kendall, Spearman
Browse files Browse the repository at this point in the history
  • Loading branch information
mihakralj committed Nov 9, 2024
1 parent fce3a78 commit f46a533
Show file tree
Hide file tree
Showing 12 changed files with 788 additions and 191 deletions.
3 changes: 3 additions & 0 deletions Tests/test_eventing.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ private static readonly (string Name, object[] DirectParams, object[] EventParam
("Zscore", new object[] { DefaultPeriod }, new object[] { new TSeries(), DefaultPeriod }),
("Beta", new object[] { DefaultPeriod }, new object[] { new TSeries(), DefaultPeriod }),
("Corr", new object[] { DefaultPeriod }, new object[] { new TSeries(), DefaultPeriod }),
("Covar", new object[] { DefaultPeriod }, new object[] { new TSeries(), DefaultPeriod }),
("Kendall", new object[] { DefaultPeriod }, new object[] { new TSeries(), DefaultPeriod }),
("Spearman", new object[] { DefaultPeriod }, new object[] { new TSeries(), DefaultPeriod }),
("Hv", new object[] { DefaultPeriod, false }, new object[] { new TSeries(), DefaultPeriod, false }),
("Jvolty", new object[] { DefaultPeriod, 0 }, new object[] { new TSeries(), DefaultPeriod, 0 }),
("Rv", new object[] { DefaultPeriod, false }, new object[] { new TSeries(), DefaultPeriod, false }),
Expand Down
21 changes: 21 additions & 0 deletions Tests/test_updates_statistics.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ public void Corr_Update()
TestDualTValueUpdate(indicator, indicator.Calc);
}

[Fact]
public void Covar_Update()
{
var indicator = new Covar(period: 14);
TestDualTValueUpdate(indicator, indicator.Calc);
}

[Fact]
public void Curvature_Update()
{
Expand All @@ -39,6 +46,13 @@ public void Hurst_Update()
TestTBarUpdate(indicator, indicator.Calc);
}

[Fact]
public void Kendall_Update()
{
var indicator = new Kendall(period: 14);
TestDualTValueUpdate(indicator, indicator.Calc);
}

[Fact]
public void Kurtosis_Update()
{
Expand Down Expand Up @@ -95,6 +109,13 @@ public void Slope_Update()
TestTValueUpdate(indicator, indicator.Calc);
}

[Fact]
public void Spearman_Update()
{
var indicator = new Spearman(period: 14);
TestDualTValueUpdate(indicator, indicator.Calc);
}

[Fact]
public void Stddev_Update()
{
Expand Down
173 changes: 173 additions & 0 deletions lib/_list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
# QuanTAlib Indicators Status

## Implementation Status

| Category | Done | Todo | Total |
|------------|------|------|-------|
| Averages | 33 | 0 | 33 |
| Momentum | 17 | 0 | 17 |
| Oscillators| 24 | 5 | 29 |
| Patterns | 0 | 8 | 8 |
| Statistics | 21 | 2 | 23 |
| Volatility | 31 | 4 | 35 |
| Total | 126 | 19 | 145 |

## Indicators by Category

### Averages (33/33)
✔️ AFIRMA - Adaptive FIR Moving Average
✔️ ALMA - Arnaud Legoux Moving Average
✔️ CONVOLUTION - 1D Convolution with sliding kernel
✔️ DEMA - Double Exponential Moving Average
✔️ DSMA - Dynamic Simple Moving Average
✔️ DWMA - Dynamic Weighted Moving Average
✔️ EMA - Exponential Moving Average
✔️ EPMA - Endpoint Moving Average
✔️ FRAMA - Fractal Adaptive Moving Average
✔️ FWMA - Forward Weighted Moving Average
✔️ GMA - Gaussian Moving Average
✔️ HMA - Hull Moving Average
✔️ HTIT - Hilbert Transform Instantaneous Trendline
✔️ HWMA - Hann Weighted Moving Average
✔️ JMA - Jurik Moving Average
✔️ KAMA - Kaufman Adaptive Moving Average
✔️ LTMA - Linear Time Moving Average
✔️ MAAF - Moving Average Adaptive Filter
✔️ MAMA - MESA Adaptive Moving Average (MAMA, FAMA)
✔️ MGDI - McGinley Dynamic Indicator
✔️ MMA - Modified Moving Average
✔️ PWMA - Parabolic Weighted Moving Average
✔️ QEMA - Quick Exponential Moving Average
✔️ REMA - Regularized Exponential Moving Average
✔️ RMA - Running Moving Average
✔️ SINEMA - Sine-weighted Moving Average
✔️ SMA - Simple Moving Average
✔️ SMMA - Smoothed Moving Average
✔️ T3 - Triple Exponential Moving Average (T3)
✔️ TEMA - Triple Exponential Moving Average
✔️ TRIMA - Triangular Moving Average
✔️ VIDYA - Variable Index Dynamic Average
✔️ WMA - Weighted Moving Average
✔️ ZLEMA - Zero-Lag Exponential Moving Average

### Momentum (17/17)
✔️ ADX - Average Directional Movement Index
✔️ ADXR - Average Directional Movement Index Rating
✔️ APO - Absolute Price Oscillator
✔️ DMI - Directional Movement Index (DI+, DI-)
✔️ DMX - Jurik Directional Movement Index
✔️ DPO - Detrended Price Oscillator
✔️ MACD - Moving Average Convergence/Divergence (MACD, Signal, Histogram)
✔️ MOM - Momentum
✔️ PMO - Price Momentum Oscillator
✔️ PO - Price Oscillator
✔️ PPO - Percentage Price Oscillator
✔️ PRS - Price Relative Strength
✔️ ROC - Rate of Change
✔️ TSI - True Strength Index
✔️ TRIX - 1-day ROC of TEMA
✔️ VEL - Jurik Signal Velocity
✔️ VORTEX - Vortex Indicator (VI+, VI-)

### Oscillators (24/29)
✔️ AC - Acceleration Oscillator
✔️ AO - Awesome Oscillator
✔️ AROON - Aroon oscillator (Up, Down)
✔️ BOP - Balance of Power
✔️ CCI - Commodity Channel Index
✔️ CFO - Chande Forcast Oscillator
✔️ CHOP - Choppiness Index
✔️ CMO - Chande Momentum Oscillator
✔️ COG - Ehler's Center of Gravity
✔️ COPPOCK - Coppock Curve
✔️ CRSI - Connor RSI
✔️ CTI - Ehler's Correlation Trend Indicator
✔️ DOSC - Derivative Oscillator
✔️ FISHER - Fisher Transform
✔️ EFI - Elder Ray's Force Index
✔️ RSI - Relative Strength Index
✔️ RSX - Jurik Trend Strength Index
✔️ SMI - Stochastic Momentum Index
✔️ SRSI - Stochastic RSI (SRSI, Signal)
✔️ STC - Schaff Trend Cycle
✔️ STOCH - Stochastic Oscillator (%K, %D)
✔️ TSI - True Strength Index
✔️ UO - Ultimate Oscillator
✔️ WILLR - Larry Williams' %R
FOSC - Forecast Oscillator
GATOR - Williams Alliator Oscillator (Upper Jaw, Lower Jaw, Teeth)
KDJ - KDJ Indicator (K, D, J lines)
KRI - Kairi Relative Index
RVGI - Relative Vigor Index (RVGI, Signal)

### Patterns (0/8)
DOJI - Doji Candlestick Pattern
ER - Elder Ray Pattern (Bull Power, Bear Power)
MARU - Marubozu Candlestick Pattern
PIV - Pivot Points (Support 1-3, Pivot, Resistance 1-3)
PP - Price Pivots (Support 1-3, Pivot, Resistance 1-3)
RPP - Rolling Pivot Points (Support 1-3, Pivot, Resistance 1-3)
WF - Williams Fractal
ZZ - Zig Zag Pattern

### Statistics (21/23)
✔️ BETA - Beta coefficient measuring volatility relative to market
✔️ CORR - Correlation coefficient between two series
✔️ COVAR - Covariance between two series
✔️ CURVATURE - Curvature of a time series
✔️ ENTROPY - Information entropy of a series
✔️ HURST - Hurst exponent for trend strength
✔️ KENDALL - Kendall rank correlation
✔️ KURTOSIS - Kurtosis measuring tail extremity
✔️ MAX - Maximum value over period
✔️ MEDIAN - Median value over period
✔️ MIN - Minimum value over period
✔️ MODE - Mode (most frequent value)
✔️ PERCENTILE - Percentile rank calculation
✔️ SKEW - Skewness measuring distribution asymmetry
✔️ SLOPE - Linear regression slope
✔️ SPEARMAN - Spearman rank correlation
✔️ STDDEV - Standard deviation
✔️ THEIL - Theil's U statistics for forecast accuracy
✔️ TSF - Time series forecast
✔️ VARIANCE - Statistical variance
✔️ ZSCORE - Z-score standardization
COINTEGRATION - Test for cointegrated series
GRANGER - Granger causality test

### Volatility (31/35)
✔️ ADR - Average Daily Range
✔️ AP - Andrew's Pitchfork
✔️ ATR - Average True Range
✔️ ATRP - Average True Range Percent
✔️ ATRS - ATR Trailing Stop
✔️ BBAND - Bollinger Bands® (Upper, Middle, Lower)
✔️ CCV - Close-to-Close Volatility
✔️ CE - Chandelier Exit
✔️ CV - Conditional Volatility (ARCH/GARCH)
✔️ CVI - Chaikin's Volatility
✔️ DCHN - Donchian Channels (Upper, Middle, Lower)
✔️ EWMA - Exponential Weighted Moving Average Volatility
✔️ FCB - Fractal Chaos Bands
✔️ GKV - Garman-Klass Volatility
✔️ HLV - High-Low Volatility
✔️ HV - Historical Volatility
✔️ JVOLTY - Jurik Volatility (Jvolty, Upper band, Lower band)
✔️ NATR - Normalized Average True Range
✔️ PCH - Price Channel Indicator
✔️ PV - Parkinson Volatility
✔️ RSV - Rogers-Satchell Volatility
✔️ RV - Realized Volatility
✔️ RVI - Relative Volatility Index
✔️ SV - Stochastic Volatility
✔️ TR - True Range
✔️ UI - Ulcer Index
✔️ VC - Volatility Cone (Mean, Upper Bound, Lower Bound)
✔️ VOV - Volatility of Volatility
✔️ VR - Volatility Ratio
✔️ VS - Volatility Stop (Long Stop, Short Stop)
✔️ YZV - Yang-Zhang Volatility
ICH - Ichimoku Cloud (Conversion, Base, Leading Span A, Leading Span B, Lagging Span)
KC - Keltner Channels (Upper, Middle, Lower)
PSAR - Parabolic Stop and Reverse (Value, Trend)
STARC - Starc Bands (Upper, Middle, Lower)
142 changes: 0 additions & 142 deletions lib/_todolist.md

This file was deleted.

4 changes: 2 additions & 2 deletions lib/momentum/_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
✔️ DMI - Directional Movement Index (DI+, DI-)
✔️ DMX - Jurik Directional Movement Index
✔️ DPO - Detrended Price Oscillator
✔️ *MACD - Moving Average Convergence/Divergence (MACD, Signal, Histogram)
✔️ MACD - Moving Average Convergence/Divergence (MACD, Signal, Histogram)
✔️ MOM - Momentum
✔️ PMO - Price Momentum Oscillator
✔️ PO - Price Oscillator
Expand All @@ -16,4 +16,4 @@
✔️ TSI - True Strength Index
✔️ TRIX - 1-day ROC of TEMA
✔️ VEL - Jurik Signal Velocity
✔️ *VORTEX - Vortex Indicator (VI+, VI-)
✔️ VORTEX - Vortex Indicator (VI+, VI-)
Loading

0 comments on commit f46a533

Please sign in to comment.