Продолжая тему, затронутую в
предыдущей публикации хочу поделиться некоторыми наблюдениями.
И так, возьмем 1000 дней AAPL, 20 внутридневных метрик и попробуем обучить алгоритмы случайного леса и ближайших соседей и прогнать его на последних 120 днях.
Результат для числовых значений результата:
Теперь формализованные значения:
Выглядит хуже, почти нет разбросам в результатах работы ближних соседей и RF.
Очень хорошо оценить эффективность обучения можно с помощью коэффициента корреляции между нашими результатами и B&H.
А теперь сделаем следующую вещь. Обучим 50 случайных лесов на случайных 80 процентах данных InSample, проверим на оставшихся 20%, и посмотрим, что получилось для каждого из них на наших 120 днях.
Теперь это можно проанализировать. Среднее значения для прогонки InSample — 68, OutOfSample — 55. Не стоит сравнивать эти значения между собой, так как объем данных отличается, но это значит, что в среднем леса в произвольной выборке были прибыльными, и наш OutOfSample в среднем тоже оказался прибыльными.
Теперь посмотрим коэффициент корреляции между этими значениями. Он равен -0.13, что значит, что зависимости результатов прогнозирования OutOfSample от результата пронозирования InSample нет.
А теперь посмотрим, какая эквити на OutOfSample у нас получится, если мы будем брать среднее прогнозное значение всех 50 лесов.
В общем, неплохо, но смущают просадки. Попробуем заменить абсолютные значения нашей выборки на термины Long/Short/Flat и брать только те случаи, когда перевес за лонг или шорт больше чем у пяти деревьев.

Получилось красивее, просадки меньше. Коэффициент корелляции равен -0.76, то есть мы в основном шортили, что было вполне оправдано.
Ну и последним делом я решил попробовать обучить еще один случайный лес уже на результатах этих 50 лесов и прогнать последние двадцать сделок.
Получилось, честно говоря, не очень, ну и ладно. Данных действительно мало.
И так, что я всем этим хотел сказать…
— несмотря на довольно относительные предикторы, самообучающиеся алгоритмы делают интерсные вещи;
— надо уметь оценивать эффективность обучения и использовать для этого разные возможности;
— оценка результатов обучения чрезвычайно важна при принятии решения о переобучении и достоверности новых моделей;
На связи!
Алиса.У нас пять червонцев. Понятно? Пять на два не делится. Понятно? Попробуем разделить на пять, получается один червонец. Получай…
Базилио.Ты, слушай, не путай меня.
Алиса.Боже сохрани, когда же я путала. Остается четыре червонца. Четыре на пять не делится… Понятно? (Постным голосом.)Уж так и быть, я себе и неделящиеся возьму… Я всегда готова услужить другу.
Базилио.Запутала, обманула, тварь!
Или это грааль? ;)