В продолжение прошлого поста сравниваю по логам еще один день:
На данных бэктеста: 17 сделок, прибыль 844 пунктов
OPEN 236 short 2021-11-24 07:25:00+00:00
CLOSE short 2021-11-24 07:47:00+00:00 profit= 51.0
OPEN 237 short 2021-11-24 07:54:00+00:00
CLOSE short 2021-11-24 07:55:00+00:00 profit= 86.0
OPEN 238 short 2021-11-24 08:01:00+00:00
CLOSE short 2021-11-24 08:03:00+00:00 profit= 40.0
OPEN 239 short 2021-11-24 08:04:00+00:00
CLOSE short 2021-11-24 08:45:00+00:00 profit= 32.0
OPEN 240 short 2021-11-24 10:10:00+00:00
CLOSE short 2021-11-24 10:11:00+00:00 profit= 43.0
OPEN 241 short 2021-11-24 10:11:00+00:00
CLOSE short 2021-11-24 10:27:00+00:00 profit= 32.0
OPEN 242 short 2021-11-24 10:33:00+00:00
CLOSE short 2021-11-24 10:36:00+00:00 profit= 60.0
OPEN 243 short 2021-11-24 10:52:00+00:00
CLOSE short 2021-11-24 10:56:00+00:00 profit= 58.0
OPEN 244 short 2021-11-24 11:15:00+00:00
CLOSE short 2021-11-24 11:18:00+00:00 profit= 53.0
OPEN 245 short 2021-11-24 11:31:00+00:00
CLOSE short 2021-11-24 11:35:00+00:00 profit= 48.0
OPEN 246 short 2021-11-24 12:22:00+00:00
CLOSE short 2021-11-24 12:40:00+00:00 profit= 94.0
OPEN 247 short 2021-11-24 13:23:00+00:00
CLOSE short 2021-11-24 13:30:00+00:00 profit= 61.0
OPEN 248 short 2021-11-24 13:45:00+00:00
CLOSE short 2021-11-24 13:46:00+00:00 profit= 37.0
OPEN 249 short 2021-11-24 16:51:00+00:00
CLOSE short 2021-11-24 16:54:00+00:00 profit= 40.0
OPEN 250 short 2021-11-24 19:19:00+00:00
CLOSE short 2021-11-24 19:23:00+00:00 profit= 35.0
OPEN 251 short 2021-11-24 19:23:00+00:00
CLOSE short 2021-11-24 19:39:00+00:00 profit= 39.0
OPEN 252 short 2021-11-24 19:42:00+00:00
CLOSE short 2021-11-24 20:05:00+00:00 profit= 35.0
M = (H + L)*0.5; BlaBlaMagic(M);
M = Ref((H + L)*0.5, -1); // сдвиг вектора на 1 бар назад BlaBlaMagic(M);
Идея не нова, вопрос был только в реализации.
Платформа MetaTrader 5 обладает возможностями автоматизации Тестера. Расчет огромного количества данных на истории реальных тиков — обыденность.
Проверка адаптивности ТС — аналогично.
Однако, при большом количестве уже проведенных вычислений требуется разобрать эту кучу данных и найти в ней что-то, действительно, интересное.
Это можно делать двумя способами:
В первом случае получается быстро, но можно легко что-то упустить, действительно, важное.
Во втором случае все гораздо тщательнее, но очень много времени на это уходит. Элементарно утомить природную машину настолько, что больше никогда не захочется к этому возвращаться.
Привет всем. Чтобы не изобретать велосипеды #софты для просмотра структуры портфеля#.
Скачиваем R, RStduio. В RStudio устанавливаем библиотеки: rusquant, PerformanceAnalytics, PerformanceAnalytics.
Добавляем следующий код в RStudio.
Подключаем библиотеки:
library(rusquant) library(PerformanceAnalytics) library(PortfolioAnalytics)
tickers <- c("FXGD","IRAO") weights <- c(.5,.5) start_data <- "2014-01-01" PortPrices <- NULL
for(curr in tickers) { PortPrices <- cbind(PortPrices, getSymbols(curr, src = 'Finam', auto.assign = FALSE)[,4]) }
benchmark <- getSymbols("MICEX", src = "Finam", auto.assign = FALSE)[,4] benchmarkRet <- na.omit(ROC(benchmark))Тоже самое для портфеля акций, плюс считаем портфель и включаем ребалансировку каждый месяц.
PortReturn <- na.omit(ROC(PortPrices)) PortRet <- Return.portfolio(PortReturn, weights = weights, rebalance_on = "month")
PortCum <- cumsum(PortRet) Micex <- cumsum(benchmarkRet)
Ничего удивительного, когда MT5-версия советника проверяется на реальных тиках в MT5-тестере, но отчет выкладывается из MT4, где котировки совсем другие. Въехать в стиль торговли советника возможно только по MT4-statement.
Предлагаю использовать скрипт TesterReport, который создает html-отчет для одиночного прогона MT5-тестера.
В этом посте я хочу рассмотреть вариант арбитражной стратегии, и протестировать его на чувствительность к проскальзыванию, чтобы понять возможность применения.
Далее будут приведены мои субъективные умозаключения.
Для начала перечислю виды арбитража, которые я знаю:
Момент, который объединяет эти стратегии, состоит в том, что торговая позиция выставляется всегда одновременно по двум инструментам в противоположные стороны (если активы прямо скоррелированы, и в одинаковые стороны в ином случае).
Все эти арбитражные стратегии в основном относятся к классу рыночно-нейтральных «mean reversing» стратегий, потому что не следуют за трендом, а пытаются вернуться к некой справедливой цене актива (та же трендовая составляющая), выставляя позиции против отклонения от тренда, хотя, конечно, можно придумать и трендовые стратегии, использующие актив-«поводырь» для прогнозирования тренда.