Я пытаюсь построить классификатор для прогнозирования цен на акции. Я сгенерировал дополнительные функции, используя некоторые из известных технических индикаторов, и подал эти значения, а также значения в предыдущих точках в алгоритм машинного обучения. У меня есть около 45 тысяч сэмплов, каждый из которых представляет час данных OHLCV.
Проблема на самом деле заключается в классификации по 3 классам: с сигналами на покупку, продажу и удержание. Я построил эти 3 класса в качестве моих целей на основе изменения (%) в каждый момент времени. То есть: я классифицировал только самые большие положительные (%) изменения как сигналы на покупку, противоположные для сигналов на продажу, а остальные - как сигналы удержания.
Однако представление этой цели 3-х классов алгоритму привело к низкой точности для классификаторов покупки и продажи. Чтобы улучшить это, я решил вручную назначать классы на основе вероятностей каждой выборки. То есть я устанавливаю цели как 1 или 0 в зависимости от того, произошло ли повышение или понижение цены.
Затем алгоритм возвращает вероятность от 0 до 1 (обычно от 0,45 до 0,55) для уверенности в том, к какому классу относится каждая выборка. Затем я выбираю некоторую вероятность вероятности для каждого класса в пределах этих вероятностей. Например: я выбираю p> 0,53 для классификации в качестве сигнала на покупку, p <0,48 для классификации в качестве сигнала на продажу и все промежуточное в качестве сигнала удержания. </p>
Этот метод значительно улучшил точность классификации, в некоторых точках до 65%. Тем не менее, мне не удается придумать метод выбора этих вероятностных границ без большого набора проверки. Я попытался найти наилучшие значения вероятности в наборе проверки 3000, и это улучшило точность классификации, но чем больше становится набор проверки, становится ясно, что точность прогноза в наборе испытаний уменьшается.
Итак, я ищу любой метод, с помощью которого я мог бы определить, какими должны быть конкретные вероятности принятия решения для каждого учебного набора без больших наборов валидации. Я также приветствовал бы любые другие идеи относительно того, как улучшить этот процесс. Спасибо за помощь!