Блог им. Eugene777

Немного извратов с Random Forest в R

Продолжая тему, затронутую в  предыдущей публикации хочу поделиться некоторыми наблюдениями.

И так, возьмем 1000 дней AAPL, 20 внутридневных метрик и попробуем обучить алгоритмы случайного леса и ближайших соседей и прогнать его на последних 120 днях. 

Результат для числовых значений результата:
Немного извратов с Random Forest в R 

Теперь формализованные значения:
Немного извратов с Random Forest в R 
Выглядит хуже, почти нет разбросам в результатах работы ближних соседей и RF.

Очень хорошо оценить эффективность обучения можно с помощью коэффициента корреляции между нашими результатами и B&H.


А теперь сделаем следующую вещь. Обучим 50 случайных лесов на случайных 80 процентах данных InSample, проверим на оставшихся 20%, и посмотрим, что получилось для каждого из них на наших 120 днях.

Немного извратов с Random Forest в R 


 Теперь это можно проанализировать. Среднее значения для прогонки InSample — 68, OutOfSample — 55. Не стоит сравнивать эти значения между собой, так как объем данных отличается, но это значит, что в среднем леса в произвольной выборке были прибыльными, и наш OutOfSample в среднем тоже оказался прибыльными. 

Теперь посмотрим коэффициент корреляции между этими  значениями. Он равен -0.13, что значит, что зависимости результатов прогнозирования OutOfSample от результата пронозирования InSample нет.


А теперь посмотрим, какая эквити на OutOfSample у нас получится, если мы будем брать среднее прогнозное значение всех 50 лесов.
  
Немного извратов с Random Forest в R 
В общем, неплохо, но смущают просадки. Попробуем заменить абсолютные значения нашей выборки на термины Long/Short/Flat и брать только те случаи, когда перевес за лонг или шорт больше чем у пяти деревьев.

Немного извратов с Random Forest в R
 Получилось красивее, просадки меньше. Коэффициент корелляции равен -0.76, то есть мы в основном шортили, что было вполне оправдано. 

Ну и последним делом я решил попробовать обучить еще один случайный лес уже на результатах этих 50 лесов и прогнать последние двадцать сделок.

Немного извратов с Random Forest в R 

Получилось, честно говоря, не очень, ну и ладно. Данных действительно мало.
 

И так, что я всем этим хотел сказать…
— несмотря на довольно относительные предикторы, самообучающиеся алгоритмы делают интерсные вещи; 
— надо уметь оценивать эффективность обучения и использовать для этого разные возможности; 
— оценка результатов обучения чрезвычайно важна при принятии решения о переобучении и достоверности новых моделей;


На связи!
233 | ★15
35 комментариев
молоток!
Тимофей Мартынов, стараемся!
avatar
Eugene777, привет!) где можно по R найти что-нить почитать, руководства и т.д.?
avatar
Макс, привет! Есть документация, есть сообщество русское, думаю, можно найти и очень хороший блог я нашел как раз по временным рядам algorithmist.ru. Человек перестал писать, но там много кейсов практически применимых.
avatar
Eugene777, ок, почитаю! Спасибо!)
avatar
Макс, Matloff N. — Art of R Programming — A Tour of Statistical Software Design — 2011, примитивно, просто и быстро.

Можно и guide — под 1000 страниц!
avatar
Rustem, Оу, круто! Спасибо!)
avatar
Я тебе без всяких алгоритмов скажу: до тех пор, пока люди верят, что разбив стольник на десять десяток они становятся богаче — в них будут без малейшего сомнения разгружать позиции институционалы, уверяя, что сплит 1:7 в начале июня приведет к цене за акцию в $100.

Алиса.У нас пять червонцев. Понятно? Пять на два не делится. Понятно? Попробуем разделить на пять, получается один червонец. Получай…
Базилио.Ты, слушай, не путай меня.
Алиса.Боже сохрани, когда же я путала. Остается четыре червонца. Четыре на пять не делится… Понятно? (Постным голосом.)Уж так и быть, я себе и неделящиеся возьму… Я всегда готова услужить другу.
Базилио.Запутала, обманула, тварь!
avatar
Spekyl, да, запутаться есть в чем!
avatar
Eugene777, и ты туда же…

Ну смотри. Акция AAPL стоит сегодня $600. Через 2-3 недели будет сплит, одну акцию разобьют на семь. Вопрос: сколько будет стоить одна новая акция?
avatar
Spekyl, ты же сам сказал — 100$ =)))
avatar
Eugene777, ну и про то же! Т.е. у тебя сколько сейчас денег есть? Я могу еще по старой цене эппловских акций тебе продать. На бирже их уже не осталось почти, да и обманут там. А мне деньги срочно понадобились.
Только быстро думай, тут уже покупатель едет. Мне всё равно, кому продать, но он мент бывший, а ты мне нравишься. Есть у тебя голова, сразу видно! В общем, если успеешь за 15 минут через вебмани бабки мне скинуть — я мусору скажу, что все акции кончились, быстрее ехать надо было.
avatar
Spekyl, ща, погоди, кредит возьму!
avatar
Eugene777, да я тебе и дам кредит… Не переживай. У тебя прямо сейчас хоть немного денег есть? Надо только маржу внести, а остальное потом заплатишь. Под 8% в рублях — где еще такой процент найдешь? За два дня там всего-то ничего набежит, процентов 16. А прибыль все покроет.
avatar
Начать стоило бы серию постов о двадцати метриках :)

Или это грааль? ;)
avatar
siva, метрики — шлак, честно…
avatar
Eugene777, вот в этом то все и дело.
Имхо.
Хватило бы и двух хороших метрик без всякого леса, да где их взять, вот в чем вопрос.
avatar
SergeyJu, по сути да. Чем меньше — тем лучше, но пост все же не о метриках, а о способюе оценки. На самом деле все сводится с тому, что торговать — тренд или флэт.
avatar
Eugene777, а Вы не пробовали оценить, какие из метрик реально что-то дают Вашему лесу и Вашим ближайшим соседям. Наверняка окажется, что из этих 20 можно оставить 5, а то и 3 и получится результат не хуже.
avatar
SergeyJu, пробовал. Так и есть. В данном случае я просто загнал все что мог. Опять же, хотелось понять как оценивать качество обучения.
avatar
Skifan, немного промазал =)
avatar
Eugene777, да я в предыдущий пост писал )))
avatar
Skifan, я понял!
avatar
А на тиковых данных не хотите проверить?
avatar
Lafert, на тиковых, наверное нет, а вот на секундах — да. Просто сейчас задача стоит доточить робота под не очень быстрый ньюйорк, а там как пойдет.
avatar
Интересно, кто нибудь понял из присутствующих о чем это все?
Написано конечно увлекательно, но к сожалению непонятно!
Автору было бы хорошо немного добавить текста «для чайников» :)
Frank_Cowperwood, на самом деле здесь есть люди, которые разбираются в этом в разы лучше меня. Суть поста в методе оценки обучения алгоритма случайного лесас помощью совокупности случайных лесов, обученых на случайных данных предыдущего периода. А если еще проще, то подогнать алгоритм под прошлые данные достаточно просто, но гарантировать его работоспособность в будущем чрезвычайно сложно.
avatar
Eugene777, я бы с удовольствием почитал бы о сути этого метода, о языке R, о лесах могучих только в более читаемом формате с разъяснениями.
Frank_Cowperwood, трудно объяснять математику «на пальцах».
Вот обзор, попробуйте просмотреть, не вдаваясь в детали.
file:///C:/Users/saltykov/Downloads/trudy_2013_1_117-136.pdf
Смысл в том, чтобы настряпать кучу простых решающих правил (каждое из них называется дерево) и принимать решение по совокупности решений частных правил.
avatar
SergeyJu, ссылка не та.
transactions.krc.karelia.ru/publ.php?plang=r&id=10552
Качните ПДФ по ссылке.
avatar
Frank_Cowperwood, ну для этого есть литература специальная. Я только практик, мне не совсем важно как, главное, чтобы работало.
avatar
Попробуйте сделать шаг за шагом тестирование чтобы не попасть в тренд (как у вас преимущественно short).
Я тоже играю с Random Forest (использую alglib) — результат совсем не впечатляет увы :(
Возможно дело в моих кривых руках и входных данных — я пока только цены и объемы запихал (на скорую руку).
avatar
ELab, есть определенные ньюансы с этим всем. Если у Вас в выборке 80 процентов лонговых сделок, то и лес обучится на лонг не зависимо от того, какие данные на входе.
avatar
Eugene777, я запихывал по 2000 баров для обучения и все равно выходили ямы — алгоритм тупил при OutOfSample внушительными убытками
PS. Есть кнчно и периоды просветления — как в данном примере. Вообщем или я тупой или RandomForest никуда не годится
avatar

Читайте на SMART-LAB:
ДОМ.РФ обсудит перспективы рынка жилья
Друзья, привет! ⚡️Сегодня наш партнер, ДОМ.РФ, проведет свой первый День инвестора. Компания обсудит финансовые итоги 2025 года и поделится...
Фото
Подводим финансовые итоги ДОМ.PФ за 2025 год
⚡️ Ключевые финансовые показатели ДОМ.РФ уверенно идут вверх!
Фото
Корпоративный учебный центр «МГКЛ»: экспертиза, оформленная в образование
В Группе «МГКЛ» за годы работы с обеспеченными активами накоплен значительный практический опыт в оценке, управлении залогами и обороте...
Фото
Россети Урал. Отчет об исполнении инвестпрограммы за Q4 2025г. Считаем дивиденды!
Компания Россети Урал опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по РСБУ в...

теги блога Eugene777

....все тэги



UPDONW
Новый дизайн