Блог им. melamaster

Brent (бэктесты)

Пересобрал нефть с учетом накопленного опыта.
Получились две системы. Различия непринципиальны. И то и то направлено на недельно-месячные движения.
Торговля по тренду.
Лонг первой:
Brent (бэктесты)
Шорт первой:
Brent (бэктесты)
Лонг второй:
Brent (бэктесты)
Шорт второй:
Brent (бэктесты)
Это простые кумулятивные процентные эквити.

Накидайте в комментах, у кого как выглядят эквити на «нашем» бренте.
Благодарю.
★2
54 комментария
Это в пунктах? Или уже в рублях считали?
avatar
zam, накопленные проценты от долларовых цен. пересчет в рублевую вармаржу — отдельная история.
avatar
Sergey Pavlov,  самое странное что с такой системой ты ещё пишешь посты на смартлабе, а не тусишь по тёплым странам и не вкладываешь в бетон…
avatar
IliaM, с какой такой? Тут не больше 30 годовых с просадкой 30-40%.
avatar
Sergey Pavlov, 30-40% годовых, да на протяжении 10 лет…
avatar
Sergey Pavlov, у меня похожие характеристики системы. 
avatar
одна из торгуемых тс. брент на ммвб. 2017-2019


avatar
jin, а пошире временное окно?
avatar
Sergey Pavlov, финам не дает исторические данные скачать на m15 более 3х лет по br. а склеивать руками мне лень.
avatar
     Симпатично получается. Красиво. Когда я гонял похожие тесты, они давали более 100 000 000 % годовых. Мне нравилось очень. К сожалению, пока своего острова ещё не прикупил... 

     Кстати, как волки, нормально заходят? 
К сожалению переподгонка.нефть очень сложный инструмент
avatar
wrmngr, 1. явную переподгонку я бы не стал выкладывать. 2. на это ушел не один год. 3. это торгуется в реале. 4. если есть желание совместно проверить, могу раскрыть, перепроверим.
avatar
Sergey Pavlov, если готовы раскрыть, то пишите в личку. Буду рад ошибиться в своих выводах)
avatar
wrmngr, но всё равно в конце концов ничего кроме экспертного мнения же не получится относительно переподгонка или нет.
avatar
Sergey Pavlov, ну почему же, Если система использует только ценовые данные, то сделай тест на случайных сериях (с удалением автокорреляций), это будет вполне объективно
avatar
wrmngr, на случайных данных без автокорреляций она не работает. В основе системы лежит месячная автокорреляция. Вот этот базовый бэктест на мировых ценах на сам брент. Пример для лонга:




avatar
Sergey Pavlov, в этом и смысл, нужно сгенерировать ряды, сохраняющие все характеристики исходного, кроме автокорреляций. На них оптимизировать. Если результат близки к перформансу на реальном ряду, то это оверкурвфиттинг.
Эти картинки на данных CME? Ну вот уже гораздо хуже и близко к реальности
avatar
wrmngr, да, это огрубленный вариант. На дейли данных. Если на моексе только дэйли, то будет такая же картинка. Если просто перемешать исходный ряд, то такая система не подгоняется с таким перфомансом. Это я проверяю, но есть проблема. Что значит перемешать? Вот у нас есть месячные контракты. Минутки. Получили доходности. Как их мешать? Бесконечно монтекарлить? Жизни не хватит. На каждом варианте надо же еще внутри оптимизацию проводить. Я пробовал перемешивать доходности внутри каждого дня. И всё разваливается. Не получается нафиттить через оптимизацию аналогичных эквити.

Далее. Что еще из закономерного. Всё это от ртс у меня пошло.
На ртс исходная месячная автокорреляция это вот такое:


Это общая закономерность, которая есть на бренте и на ртс. Если на глаз, то но ртс она более выражена, конечно. Дальше мы собираем некую систему. Ну и любая трендовая система работает на ртс, но на нефть они переносятся плохо. Какие-то  — не работают. Какие-то — работают, но явно так себе. Какие-то (о которых щас пишу) — хорошо.

Ну и я тыкал-тыкал на эту закономерность в нефти и что-то через череду тестов на устойчивость и реальных торгов выродилось вот в это. Правила на вход-выход простые и их буквально два. Там нет нагромождения из условий. Если эту систему на наш рынок перенести без изменений, то на всём нашем она также перформит: ртс, си, сбер.
avatar
Sergey Pavlov, месячные тренды это вообще довольно размытое понятие. Получается сделок мало? Сколько в год?
Перемешивание такое: режем исходный ряд на приращения. Потом случайным образом их вытягиваем из общей кучи бесповторно (без возврата в кучу). В итоге получаем синтетический ряд такой же длины, с таким же байхолдом по последней точке, но заведомо с разрушением памяти между приращениями. Понятно, что в процессе случайно могут образоваться новые автокорреляции. Поэтому таких рядов генерим с десяток и на каждом запускае модельку. Показатели перформанса аггрегируем в конце. Сравниваем с перформансов на реальном ряду.
Общая закономерность для Брента си и сбера? Ну это только что-то действительно медленное типа моментума с глубиной больше недели, но перформанс будет слабый весьма, скорее всего неинтересный для торговли
avatar
wrmngr, 
медленное типа моментума с глубиной больше недели
да. 10-20 сделок в год.
вытягиваем из общей кучи бесповторно (без возврата в кучу)
я такое делаю в пределах одной сессии от 10 до 19 мск, перемешивая минутные доходности.
avatar
Sergey Pavlov, маловато конечно сделок...
Гепы между сессиями вполне можно уложить в схему. Просто будет два типа приращений 1. Интрадей 2. Гепы.
Мы же знаем сколько баров в интрадее, пусть N шт. Поэтому генератор будет брать N приращения из первой кучки и N+1 из второй
avatar
wrmngr, данные на МБ можно обсчитывать с начала 9 года. 14 лет — не так и мало. 
avatar
SergeyJu, автор сказал что 10-20 сделок в год. Как по мне это маловато
avatar
Sergey Pavlov, а зачем делаете, можете объяснить?
avatar
Kot_Begemot, не понял, к чему относится вопрос.
avatar

Sergey Pavlov, к перемешиванию ретурнов внутри сессии.

avatar
Kot_Begemot, один из способов оценить устойчивость системы относительно точек входа/выхода внутри дня. Насколько имеет смысл торговать внутри дня или это всё иллюзии и стоит остановиться на клозах дня.
avatar

Sergey Pavlov, ну если все рушится, то, вероятно, стоит) При клоузах дня, возможно гэпы будут играть существенную роль, так как сам клоуз в общем-то неторгуемый.

С другой стороны, если вы получатете сигнал по клоузу дня, то что там не мешай внутри этого дня без повторов — все будет то же самое, разве нет?!

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

wrmngr, это все интересно, конечно, но что мы тогда хотим найти? У Сергея условное правило на лонг и шорт, исходящее из предыдущих приращений. Если вместо предыдущих приращений подсунуть случайный набор, то правило поломается и никаких иных правил тоже не получится и все это уже будет соответствовать случайной торговле.

При этом, даже если правило построено не на предыдущей истории, а, скажем, спреде, то такая перемешка убъет и такую систему.

avatar
Kot_Begemot, все верно. На синтетиках медианный перформанс после оптимизации должен быть хуже. В этом и смысл. Границы применимости такого теста весьма узкие, это так. Только модели которые используют прошлую ценовую историю одного тикера. Для стокпикинга например нужна другая схема
avatar
wrmngr, мне кажется, что тут подгонка под генеральную совокупность идет, точнее не под нее, а под ее эмпирическую оценку. То есть на выборке роста будет лонг и холд, на выборке падения — шорт и холд. Примерно так. 
avatar
Kot_Begemot, да, байхолд по крайним точкам полностью совпадает. Соответственно подгонка под глобальный тренд имеет место быть, это надо держать в уме. Это плата за сохранность всех характеристик исходного ряда.
avatar

wrmngr, а есть где-нибудь описание этой методики и ее целей. Наверняка же это не лично ваша «фишка»?! А то мне совершенно непонятно что мы хотим получить таким адским перемешиванием.

avatar
Kot_Begemot, в литературе не видел (преступно мало читаю!). У нас был давно в одной конторе внутренний workpaper, но копии у меня нет
avatar
Sergey Pavlov, а можно в 2-х словах что за автокорреляции? И как торговать по данной торговой системе?

на всём нашем она также перформит: ртс, си, сбер.

Может это доллар (DXY) против всего остального?
avatar
asfa, может и доллар. Как один из факторов — как минимум. Это надо проверять.
Что за автокорреляция? Это когда будущие приращения цены коррелированы с прошлыми приращениями. Положительная автокорреляция это персистентность или трендовость ценового ряда.
avatar
Sergey Pavlov, 
автокорреляция? Это когда будущие приращения цены коррелированы с прошлыми приращениями. Положительная автокорреляция это персистентность или трендовость ценового ряда.

всё понятно, спасибо! 

А вот тот же РТС — на дневках трендовый, а на минутках М1 выглядит как-то не очень. Как с этим быть??...  
avatar
asfa, на m1 и ниже РТС контртрендовый инструмент. Там торговля внутри дня. Лимитки. Маркет-мейкинг и всякое такое.
avatar
wrmngr, овчинка выделки не стоит. Делать сложно, веры таким конструкциям нет. 
Нет НИКАКИХ гарантий, что результаты на искусственном ряду будут биться с реалом. 
avatar
SergeyJu, ничего сложного, 20 строк кода. Результаты и не должны биться, в этом и суть теста
avatar
wrmngr, математика, статистика как мясорубка, что засунул, то и получишь.  Если заложить что четные месяцы рост, а нечетные падение, любая система, которая это пользует, будет давать устойчивый плюс. А на данных без этой особенности — не будет. 
Было время, я монтекарлил весьма активно эквити, портфели, входные данные. Что сунул — то и вынул. Нет нового качества. 
avatar
SergeyJu, бесспорно это так. Поэтому закладываем, что НИКАКИХ закономерностей в генерируемых рядам достоверно нет. И это позволяет отвергнуть или принять гипотезу
avatar
wrmngr, не вижу смысла. Если закономерностей нет, ничего, кроме реакции на особенности генератора шума мы не получим. 

avatar
SergeyJu, я наверное неправильно донес смысл. Но не важно. Для опытного человека вроде вас этот тест избыточен, вы и так все понимаете на уровне интуиции
avatar
wrmngr, по каким критериям оцениваете?
avatar
ПBМ, по вкусу. Доходность, просадки, Шарп, сортино, что угодно разумное
avatar
wrmngr, я имел в виду как вы это из картинки увидели
avatar
ПBМ, опыт
avatar
Накидайте в комментах, у кого как выглядят эквити на «нашем» бренте.
Благодарю.
Моя сломалась:


Дмитрий Овчинников, потому что ММ-ы ушли из стакана или др. причина??
avatar
asfa, 
у меня нет ответа, к сожалению.
Дмитрий Овчинников, не факт, что сломалась. Возвращает экстремальный прирост. 
avatar
Вот моя тройка систем, которые в работе. Логика систем разная, тесты сразу с ММ позиций. Тестирую на самодельной склейке


avatar

теги блога Sergey Pavlov

....все тэги



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