Как работает talib.LINEARREG?
Кроме того, мой вопрос сейчас заключается в том, хочу ли я регрессировать на два массива, которые не равны разнесенным и неупорядоченным, например
x = np.array([0.1, 0.5, 2.0, 1.6, 2.8, 3.5, 0.9, 1.5])
y = np.array([0.22, 1.21, 4.19, 3.39, 5.85, 7.21, 2.0, 3.2])
Что мне делать, используя функцию LINEARREG в talib?
Спасибо за то, что указывает на ссылку c-code, LINEARREG имеет дело только с x-массивом euqal distance и регрессирует только с помощью входного y-массива (цена закрытия здесь).
y = array([ 2., 4., 6., 8., 10., 12., 14., 16.])
tb.LINEARREG_INTERCEPT(y,5)
>>> array([nan, nan, nan, nan, 2., 4., 6., 8.])
tb.LINEARREG_SLOPE(y,5)
>>> array([nan, nan, nan, nan, 2., 2., 2., 2.])
Также следует отметить, что входной массив numpy нуждается в проверке типа
dtype=np.float
чтобы соответствовать "двойной" в c.
оригинальный вопрос
Я использую TA-Lib для расчета технических индикаторов, но я не понимаю функцию LINEARREG, где только один входной массив (называемый ценой закрытия), обычно выполняющий линейную регрессию, нам нужны, например, два массива x и y для регрессии мы хотим регрессировать цену закрытия при возврате.
действительный = LINEARREG(закрытый, период времени =14)
1 ответ
Вам лучше проверить код ta-lib для этой функции: https://sourceforge.net/p/ta-lib/code/HEAD/tree/trunk/ta-lib/c/src/ta_func/ta_LINEARREG.c#l238
Он содержит следующее объяснение:
/* Linear Regression is a concept also known as the
* "least squares method" or "best fit." Linear
* Regression attempts to fit a straight line between
* several data points in such a way that distance
* between each data point and the line is minimized.
*
* For each point, a straight line over the specified
* previous bar period is determined in terms
* of y = b + m*x:
*
* TA_LINEARREG : Returns b+m*(period-1)
* TA_LINEARREG_SLOPE : Returns 'm'
* TA_LINEARREG_ANGLE : Returns 'm' in degree.
* TA_LINEARREG_INTERCEPT: Returns 'b'
* TA_TSF : Returns b+m*(period)
*/
Кажется, ваша цена закрытия будет рассматриваться как массив y, а x будет массивом дня [1..14]. TA_LINEARREG_SLOPE, TA_LINEARREG_ANGLE, TA_LINEARREG_INTERCEPT и TA_TSF - это другие функции ta-lib, основанные на TA_LINEARREG.