Второе видео о МаркетМейкере, в котором я рассажу о его базовой архитектуре, индексах и карте стакана.
----------
Протестил с 2010 по 2021 год включительно несколько фьючей. Потери заложил -5 рублей на вход и -5 рублей на выход. Тестил по годам.
Вердикт:
Рыба есть. Местами даже жирная. Но алгоритм дает внутригодовые просадки таких адских амплитуд, что среднестатистический мужчина будет срать силикатными кирпичами и кричать от боли.
Например, внутригодовое отклонение от идеальной (прямой) эквити может превышать 100% от финального результата. А брент в 2014 году нарисовал акуенный минус. Сишка нарисовала не менее акуенный минус в 2021 году.
В 2019 году в TSLab сделал тесты стратегии «Hi_Lo», которая установлена в базовой версии этой программы. Смысл стратегии заключается в том. что вход в лонг осуществляется при пробитии хая предыдущей свечи, вход/переворот в шорт осуществляется при пробитии лоя предыдущей свечи. В TSLab мною был создан скрипт для тестирования одновременной торговли несколькими инструментами с целью диверсификации:
В результате тестирования и опыта торговли остановился на следующем варианте: торгуются фьючерсы RTS, Si, BR в соотношении 1:6:4, дневной таймфрейм. Результаты тестов за период с 01.01.2003 г. по настоящее время без капитализации, без учета комиссии и проскальзывания представлены ниже:
for (int i = i0; i < weeks.Count; ++i) { int idxIni = IndexOf (weeks[i][0]-1, entryTime); int idxFin = IndexOf (weeks[i][1], exitTime); double strike = mwu.RoundTo (Open[idxIni], strikeStep); double dura = (Date[idxFin] - Date[idxIni]).TotalDays; double calIni = OptPrice ('C', Open[idxIni], strike, dura, volaIni); double putIni = OptPrice ('P', Open[idxIni], strike, dura, volaIni); double calFin = OptPrice ('C', Close[idxFin], strike, 1e-6, volaFin); double putFin = OptPrice ('P', Close[idxFin], strike, 1e-6, volaFin); double win = (calIni+putIni) * (1-slpg) - (calFin+putFin) - 2*fee; PrintDebug (String.Format (fmt, i, Date[idxFin].ToShortDateString() ,calIni, putIni, calFin, putFin, win)); } // for (int i = i0Вот выдача за первый квартал