Author Archive
В статье «Новая парадигма тестирования торговых стратегий и роботов» я описал мою концепцую для оценки эффективности торговых стратегий и роботов.
В качестве эталона предложил идеальную торговую стратегию NKIS.
В статье приведен алгоритм на языке программирования C++.
//NKIS сигнал Buy=Cover — «купить или закрыть шорт»:
if (j-iS->x.last()==1) {
if (iS->x.pref()>=iR->x.last() && iS->y.pref()>iS->y.last() ) Buy[iS->x.pref()]=0;
Buy[iS->x.last()]=1; BuyPrice[iS->x.last()]=iS->y.last();
}
//NKIS сигнал Sell=Short — «продать или открыть шорт»:
if (j-iR->x.last()==1) {
if (iR->x.pref()>=iS->x.last() && iR->y.last()>iR->y.pref() ) Sell[iR->x.pref()]=0;
Sell[iR->x.last()]=1; SellPrice[iS->x.last()]=iR->y.last();
}
где j — текущее время;
iS->x.last(),iS->y.last() — время и значение последнего локального минимума;
iR->x.last(),iR->y.last() — время и значение последнего локального максимума;
iS->x.pref(),iS->y.pref() — время и значение предыдущего локального минимума;
iR->x.pref(),iR->y.pref() — время и значение предыдущего локального максимума
Учитывая просьбу читателей пояснить данный алгоритм для возможности его реализации на других языках программирования, попробую рассказать его иначе.
Исходными данными для реализации NKIS являются отсчеты экстремальных значений цены.
Такие значение можно получить, например, функцией fraktal , встроенной в QUIK,
любой другой функцией, определяющей локальные максимумы и минимумы.
Обозначим значения максимумов R, а значения минмумумов S.
алгоритм NKIS сожно перемисать так:
Buy=S — сигнал «купить» в момент возникновения минимума и по цене минимума;
Sell=R — сигнал «продать» в момент возникновения максимума и по цене максимума.
Кроме того, необходимо обеспечить следующее условие:
Обычно сигналы R и S чередуются.
Но, при сильных трендах, возможна ситуация, когда два одноименных сигнала появляются последовательно. в этом случае надо отменить Buy, если подряд следуют S и отменить Sell , если подряд следуют R.
NKIS реализуется на любом тайме и позволяет сравнивать различные торговые алгоритмы на различных рынках.
Для наглядности приведу графики сигналов NKIS:
тайм 5 минут
тайм 1 час