deep-econom (deep_econom) wrote,
deep-econom
deep_econom

Categories:

трейдинг как задача многокритериальной оптимизации

Системный трейдинг как задача многокритериальной оптимизации (МО) или векторной оптимизации.
Мат.модель задачи МО включает в себя три элемента:
1) целевые функции;
2) ограничения;
3) граничные условия.


Задан временной ряд векторной функцией Price(t)={Open(t), High(t), Low(t), Close(t), Volume(t)}

Трейдеры навешивают на график разные индикаторы т.е.
I1= Indicator_1: Price(t) --> Indicator_1( Price(t) )
и т.д….
In= Indicator_n: Price(t) --> Indicator_n( Price(t) )
I=(I1,…, In) – векторная функция
Какие-то Ij могут относиться к индикаторам ФА и/или прочим…

Далее на основе некой комбинации индикаторов и оценок ФА (фундаментальный анализ) принимают решения о входе в торги в том или ином направлении и/или выходе из торгов, т.е
С=Сonclusion (I1,…, Im) --> {Long, ExitLong, Short, ExitShort, OutMarket,}

На основе решений С1…Ck получим кривую изменения счета Equity Curve Line - ECL=ECL(С1…Ck)

Таким образом, МТС (механическая торговая система) и трейдер преобразуют Price --> I(Price) --> C(I) --> ECL
Т.е. получаем ECL(С(I(Price)))

В зависимости от конкретных видов Price и от его временных отрезков мы получим семейство кривых ECL

Нам хотелось бы выбрать самую ХОРОШУЮ.

Частных целевых функций (частных критериев оптимизации) может и должно быть много:
1. Q1 = Equity(T)= SUM { Equity(t) , t0 <= t <= T } => max* - Максимизация значения функции
2. Q2 = P{ Equity(T) => max* } => max* - Максимизация вероятности получения макс. значения
3. Q3 = { Profit factor } => max*
4. Q4 = { Sharpe Ratio} => max*
5. Q5 = { RINA Index } => max*
6. Q6 = { Net Prft/Max Drawdown } => max*
… и т.д. и т.п.
N. Qn = { еще что-нибудь } => max*

Набор частных критериев оптимальности образует вектор-функцию (векторный критерий) Q=(Q1, Q2,…,Qn)
тогда наша цель Q => max*

Задачу МО можно свести к задаче ОДНОкритериальной оптимизации с помощью некоторой функции предпочтений лица принимающего решение (ЛПР) - свертки векторного критерия.
Например линейной L= a1*Q1 +a2*Q2+… +an*Qn, где a1+a2+…+an=1
aj – это весовые коэффициенты важности (предпочтения лицом принимающим решение) критерия Qj
можно в качестве функции L взять любую, которая кажется полезной
В данном случае L(Q) => max*

Способов свертки много: аддитивный, мультипликативный, степенной и т.д… как хочешь так и сворачивай.

В зависимости от конкретных видов Price и от его временных отрезков мы получим семейство кривых ECL
Тогда задача получения профита сводится к задаче оптимизации выбора оптимальной ECL* такой что L(Q) => max*

И наконец этапы большого пути
1. определить множество Price – виды и длины временных рядов
2. определить (I1,…, In) - состав и вид индикаторов
3. определить С1…Ck - это торговые правила
4. определить Q1, Q2,…,Qn –частные критерии оптимизации (целев.функции)
5. определить L - функцию предпочтения лица принимающего решение
6. оптимизировать до потери пульса, иногда изменяя вид и состав элементов из п.п. 1-5

Можно поручить п.6 алгоритмам генетической оптимизации.

ps
Price - котировки, цены временного ряда
МТС = механическая торговая система
ФА = фундаментальный анализ


Tags: трейдинг
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments