Избранное трейдера zserg
Этой статьей я начинаю изложение серии исследований на фондовом, срочном и валютных рынках Московской биржи. Цель – показать те закономерности, которые сохраняют свои свойства продолжительное время. Исследования основаны на результатах тестов большого количества торговых систем (более 50000 шт.). Системы были сгенерированы в режиме перебора индикаторов конструктором торговых роботов 3CBot. Каждая система состоит из 1-2 индикаторов технического анализа, параметры индикатора классические, оптимизации значений параметров не проводилось. Всего обработано 35 тикеров, 3 таймфрейма (15m, 60m, 1D), 2 периода (2013-2015 г., 2016 г.). На каждую комбинацию (тикер+ТФ+период) приходится по 370 тестов различных систем. Данный подход, в отличие от оптимизации параметров индикаторов, позволяет шире взглянуть на рынок, т.к. исключает заточенность отдельного индикатора или параметра индикатора под конкретный период рынка. Кроме того такой подход позволяет выявить тикеры и таймфреймы, где работает или не работает большинство систем, построенных на индикаторах, а также выявить системы, которые работают или не работают на большинстве тикеров. И да… сразу отвечаю на вопрос — тестированием я не сильно утруждался, все сгенерировалось автоматически за пару дней на обычном ноутбуке…
Каждую неделю я пишу рассылку для своего проекта Speculant.com
Часто бывает, что мне действительно нравится то, что я пишу. Поэтому публикую это и на Смартлабе. Последнее время я немного забил на него...
О знаниях
Знания важны, но некритичны, по моему мнению. Во-первых, я уверен, что все можно познать на практике. Кое-что можно прочитать в книжках, на форуме, да, в конце концов, посмотреть чей-нибудь видео курс. Так что, если у Вас нет знаний о финансовом рынке, то есть нет профильного образования – это некритично. Конечно, если Вы собираетесь анализировать фундаментальные факторы, то экономическое образование Вам бы очень пригодилось.
Я приведу свой пример. Когда я начал изучать опционы на товарных рынках, многое мне было легко. Я легко мог оценить влияние тех или иных факторов на рынок, потому что для меня не было проблемы построить цепочку межотраслевых связей, ведь меня этому учили в университете. Но, конечно, не только этому. Например, Вы знали, что американцы отказываются от потребления говядины в пользу более дешевых свинины и курицы, когда цены на бензин растут? И для меня это поначалу было не совсем очевидно, но потом разобрался. Более низкое потребление – низкий спрос, а, значит, снижение цены на Live Cattle.
В обзоре мы разберем, какие факторы определяли стоимость российского рубля в начале 2016 года, уделив внимание не только динамике цен на нефть, но изменениям в платёжном балансе России в целом. Используя полученные результаты и добавив несколько предположений относительно внутренних и внешних экономических факторов мы попытаемся оценить перспективы рубля сроком на один год, которые найдут отражения в базовом сценарии.
Платёжный баланс
Торговля
В первом квартале 2016 года доля нефти и нефтепродуктов в российском товарном экспорте сократилась до минимального за много лет уровня, составив менее 40%, что не наблюдалось даже в кризис 2008-2009 годов. Тем не менее колебание цен на топливном рынке остаётся основным фактором изменений курса рубля. Последние 6 месяцев корреляция недельных доходностей держалась близко к максимальному истории уровню, приблизившись к значению в 0,8.
Что бы выяснить. Когда можно увеличивать размер позиции. Разберем условную стратегию. Стратегию монетки (как в простой задачке по теории вероятности, подкидывание монетки). Имеем показатели: соотношение прибыльных сделок к убыточных равно 1:1. Примем прибыльную сделку за 1, а убыточную за 0. В теории имеем, что за 10 сделок мы получим вот такую последовательность сделок:
1) 1010101010
Дело в том. Что на практике так редко бывает. Вместо этой последовательности, можем получить и вот такие:
2) 1110110000
3) 0001001111
Предположим. Что за сделку мы имеем прибыль равный 1, убыток равный -1.
Мы сделали 5 сделок. Нам выпала 2-ая последовательность. И мы на счете имеем уже прибыль, равную трем. Что будет, если мы увеличим размер позиции в два раза? Последующие 5 сделок принесут нам минус шесть. И итогом получим минус три убытка. Вместо нуля для данной стратегии. Когда чаще всего увеличивают позиции? Когда на счете мы уже имеем деньги. На простом примере видим. Как такой подход создаст убыток по стратегии в целом.
Продолжаем разработку универсального робота!
Выкладываю код OUR-0.3, который в настоящий момент еще далеко не полный – это только основа, скачать можно здесь https://yadi.sk/d/l3uic67yruCxa
Код прокомментирован подробно, но дам дополнительное описание общего плана, чтобы логику работы робота можно было представить.
Итак, по порядку:
Робот состоит из двух файлов: OUR.lua содержит основные функции (OnInit, main, коолбэки – пока только один OnStop), FunOUR.lua содержит вспомогательные функции – все остальные. Дополнительно приложен файл с информацией и файл с образцом котировок.
Функция OnInit
1 Первоначально котировки с сервера поступают в источник – таблицу с барами TBar (там все заполняется автоматически при подключении источника).
2 Далее робот делает различные вычисления, результаты которых он помещает в таблицу с данными TDat (также туда копируются параметры баров из TBar), эту таблицу нужно заполнять самому, ключи таблицы на свое усмотрение, но конечно часть ключей в алгоритм уже заложены, это «key»,«O»,«H»,«L»,«C»,«V»,«T» от них идут все вычисления. TDat – это таблица, содержащая таблицы по каждому бару, ключ соответствует номеру бара в источнике. Структура такого типа:
TDat = { [1321] = {"O","H","L","C","SMAf","SMAs"…}, [1322] = {"O","H","L","C","SMAf","SMAs"…}, … }