Подобные задачи точно решает регрессионный анализ.
Я пишу проект на c# и реализую это через библиотеки, которые содержат методы так сказать типичных ситуаций

каждая ситуация - это фигура, которую можно встретить на графиках котировок биржы: голова-плечи, лебедь и др. и в зависимости от шага времени [масштаба], можно с какой-то вероятностью утверждать, что через два-три шага будет голова, а дальше - второе плечо. Вероятность считается у меня через линии тренда: грубо говоря, есть некая идеальная модель той же фигуры голова-плечи, которую можно разбить на совокупность линий трендов и чем больше то, что у тебя на графике похоже на эту фигуру, тем выше вероятность. Не спорю, что мой метод велосипедно-совковый, но я только начал над ним работать и уверен в том, что он может работать в совокупе с другими, в частности, с регрессионкой: ситуации на бирже повторяются с течением времени, нужно их только узнать достаточно достоверно, аминь

.