Если перечислять других детальных демонов… Вопросы экзекьюшн важнее, чем кажутся. Как именно входить и выходить из позиции? Рыночной заявкой или лимитной? То есть немедленно, но по худшей цене (цене продавца, если ты покупатель, и цене покупателя — если продавец), или по указанной тобой цене, но с вероятностью, что сделки вообще не будет? Если указать цену поблизости от текущей, например, поместив заявку со своей стороны спреда, то вероятность сильно более 50 % процентов, что сделка пройдет по твоей цене.
Достаточно ли это, чтобы всегда работать лимитником? Давайте прикинем. Допустим, вероятность исполнения по статистике на данном инструменте за энный срок — 83 %. В 83 % случаев вы экономите на спреде, но чуть-чуть. В 17 % вы теряете, но значительно больше. Заявка поставлена. Заявка не исполнилась. Если это заявка на выход, вы все равно должны выйти. Но, допустим, цена хуже уже на 1 %. А на спреде вы экономили всего 0,1 %. Посчитайте сами, 17 % перевесят 83 %. Если это заявка на вход, можно просто не входить. Но скорее всего, если цену так вынесло за малое время, ее понесет и дальше: вы пропустите лучшие сделки года.
Вход по рынку можно корректно оттестить: примерно понятно, насколько хуже торговля, если платишь эту дань. Просто добавляешь цифру в графу «Транзакционные издержки» и смотришь — совсем плохо или терпимо? В случае входа лимиткой потери непонятны заранее. Обычно все будет хорошо, иногда будет сильно хуже, но как часто и насколько? Лишняя неопределенность — это плохо. Вы как бы подписались на маленького черного лебедя и в самый ответственный момент (например, в день биржевого краха) его вам доставят на дом.
Вообще, универсального совета нет, но…
Обычно в каждом конкретном случае оптимальный тип заявки — по маркету или лимиткой — можно прикинуть.
Например, на спекулятивных гиперликвидах у меня вход по рынку: спред столь мал, что значения не имеет, но важна определенность. Если нужно взять в портфель не самую ликвидную акцию, это будет лимитная заявка — спред в 1 % требует к себе уважительного отношения. Чтобы сэкономить настолько, можно подождать не пять минут, а пять часов — риск убегания цены компенсируется самой ценой вопроса. Бывают и такие спреды, ради которых выжидают пять дней. И черт с ним, с лебедем.
Какие еще черные лебеди летают над алготрейдером? Несколько систем на счете, конечно, лучше одной системы. Но опасность есть. По тестам видите, что системы не коррелируют. То есть их доходности складываются, а просадки нет. Это волшебно. Счет становится резиновым — вы пихаете туда системы без снижения сайза, а они отлично впихиваются. Плановая доходность уже давно перевалила за 100 %. А затем однажды утром вылезает тотальная корреляция. Между всем, что есть. «Никогда такого не было, и вот опять». У вас уже слито 25 % всех денег, и, кажется, вы еще летите в заданном направлении на энном плече. К обеду, возможно, будет 50 %. Подождем? Или рванем стоп-кран, примем 25 % как штраф и пойдем думать о корреляциях?
Если не заиграться с корреляцией, то диверсификация — всегда хорошо. Немного изменив условия на вход системы или на выход, вместо одной системы получим семейство схожих алгошек без ухудшения риска или доходности — лучше играть семейством. Можно создать такую семью, раскидав игру по схожим инструментам. Но если ожидание ухудшается, размножаться этим способом вредно. Например, мы играем фьючерс на рубль/доллар и решили диверсифицировать, часть игры перенеся на фьючерс «рубль/евро». Это обычно неверно. Второй инструмент
Вот еще вопрос: а робот обязателен?
Торговать строго механически — обязательно. Торговать ли при этом автоматически — решается по обстоятельствам.
Если в системе много сделок в день в непонятное заранее время — конечно, только робот. Если для исполнения алгоритма достаточно подойти раз в день в известное заранее время, глянуть в терминал и принять решение — лучше дойти ногами и сделать руками, чем использовать робота.
При всех достоинствах робот — звено в цепи, которое может порваться. Чем меньше звеньев, тем лучше.
Как оно порвется, заранее непонятно. Вы стопроцентно уверены в своем коде? В брокере? В бирже? Вдруг там все перевернется с ног на голову, пойдет поток диких котировок? Робот начнет, принимая дикие данные, делать адекватные им дикие вещи — и все на ваших деньгах. Вы сами бы так не сделали, и здесь вы умнее его.