WARNING
This module is lack of maintainance.
If you are familiar with python programming maybe you could check stock-pandas which provides powerful statistic indicators support, and is backed by numpy
and pandas
. Its performance is many times higher than JavaScript libraries, and can be directly used by machine learning programs.
kdj
FinTech utility method to calculate the KDJ indicator.
KDJ is a derived form of the Stochastic Oscillator Indicator with the only difference of having an extra line called the J line.
The J line represents the divergence of the %D value from the %K.
Install
$ npm install kdj
Usage
import kdj from 'kdj'
kdj(close, low, high)
// is equivalent to
kdj(close, low, high, 9, 3, 3, 3, 2)
// which returns:
// {
// K: <Array>,
// D: <Array>,
// J: <Array>
// }
kdj(close, low, high, periods, kPeriods, dPeriods, kTimes, dTimes)
To understand the parameters better, we need to mathematically describe the calculation of K, D, J lines. (via wikipedia)
%K = SMA( (closePrices - L) / (H - L), kPeriods )
L
is the lowest prices over the last periods
periods.
H
is the highst prices over the last periods
periods.
%D = SMA( %K, dPeriods )
%D
is the dPeriods
-periods moving average of %K
.
KDJ is calculated quite alike Stochastic indicator, but the difference is in having a J line, which Stochastic does not have.
%J = %K * kTimes + %D * dTimes
-
close
Array.<Number>
array of closing prices. -
low
Array.<Number>
array of low prices. -
high
Array.<Number>
array of high prices. -
periods
Number=9
the size of time periods to get the highest / lowest prices. Defaults to9
. -
kPeriods
Number=3
the time periods to calculate the moving average for %K. Defaults to3
. -
dPeriods
Number=3
the time periods to calculate the moving average for %D. Defaults to3
. -
kTimes
Number=3
-
dTimes
Number=2
Returns DKJValue
DKJValue
struct -
K
Array.<Number|>
the array of K values. -
D
Array.<Number|>
the array of D values. -
J
Array.<Number|>
the array of J values.
License
MIT