Вы могли бы применить супервизированное машинное обучение.
Особенности: значения последних n точек данных.
Метки: -1 уменьшается +1 увеличивается
Теперь вам нужно только несколько помеченных образцов. Это даст следующую таблицу (здесь n = 5):
# t-4, t-3, t-2, t-1, t, label
#-----------------------------
54, 43, 98, 1, 45, +1
21, 12, 5, 98, 4, +1
6, 78, 45, 65, 37 -1
...
теперь возьмите несколько готовых к использованию библиотек машинного обучения (например, WEKA) и обучите их этому. В зависимости от алгоритма вы также получите измерение достоверности результата. Сколько маркированных учебных образцов вам понадобится предсказать сложно. Для начала попробуйте 100, но их также может быть больше 1000. В возможностях есть и большой потенциал. Может быть, это работает лучше, если вы используете не абсолютные значения, а различия.
Обозначенные тренировочные данные могут быть помечены вручную. Но для прогнозирования рынка часто можно сделать это автоматически на основе исторических данных.
Там должно быть много литературы о прогнозировании акций. Люди веками занимались (и продолжают) исследованиями в этой области. Вышесказанное, конечно, очень примитивно.
Другим подходом будет подгонка кривой к вашим данным и ее производная. Чем больше вы знаете о данных, тем сильнее будет этот подход. Например, если у вас есть хорошее представление о вероятностной модели, производящей шум, вы можете получить «оптимальное» соответствие (максимальная вероятность и т. Д.). Если вы знаете что-то о вашем базовом сигнале (тот, который вы пытаетесь измерить), это тоже помогает (линейно ли? Квадратично ?, libschiz cont.?. Bounded ?, ...).
Этот подход требует специальных знаний по проблеме, которые могут быть недоступны, и большого количества математики. Но это может быть очень полезным, так как вы не получаете черный ящик, как если бы вы были с машинным обучением, но с математической моделью, которую вы понимаете и можете анализировать.