Поиск ЕСТЕСТВЕННЫХ взаимосвязей валют

 
Возможно кто-то знает и горит желанием поделиться методом расчета идеального синтетика?
Под идеальным синтетиком имеется в виду такой, который сам может выбирать валютные пары для минимизации дисперсии, а не подгонят коэффициенты под уже выбранные.

Два уже опробованных метода - PCA (https://www.mql5.com/ru/code/16997) и Linear Regression (https://www.mql5.com/ru/code/11859) имеют главный и непереборный недостаток - пытаються создать взаимосвязи там, где их нет. По факту, здесь идет curve fitting через подгонку доли каждого инструмента в портфеле, в результате, на OOS все это вполне ожидаемо рушится.

Хотелось бы просто найти комбинацию инструментов, которые БЕЗ каких-либо коэффициентов дают на истории минимальный разброс, при этом желательно чтобы перебор возможных комбинаций был нелинейный, точнее включал линейные (Х1 + Х2 + Х3) и нелинейные (Х1 / Х2 + Х3 ^ 2) комбинации.
 
Andy Sanders:
Возможно кто-то знает и горит желанием поделиться методом расчета идеального синтетика?
Под идеальным синтетиком имеется в виду такой, который сам может выбирать валютные пары для минимизации дисперсии, а не подгонят коэффициенты под уже выбранные.

Два уже опробованных метода - PCA (https://www.mql5.com/ru/code/16997) и Linear Regression (https://www.mql5.com/ru/code/11859) имеют главный и непереборный недостаток - пытаються создать взаимосвязи там, где их нет. По факту, здесь идет curve fitting через подгонку доли каждого инструмента в портфеле, в результате, на OOS все это вполне ожидаемо рушится.

Хотелось бы просто найти комбинацию инструментов, которые БЕЗ каких-либо коэффициентов дают на истории минимальный разброс, при этом желательно чтобы перебор возможных комбинаций был нелинейный, точнее включал линейные (Х1 + Х2 + Х3) и нелинейные (Х1 / Х2 + Х3 ^ 2) комбинации.

Такого синтетика не может существовать в принципе, т.к.:

1. все пары взаимосвязаны;

2. корреляция пар меняется во времени из-за макроиндикаторов. 

 
Дмитрий:
1. уточню вопрос с учетом комментария, как найти упомянутый синтетик на опр. интервале, возможно в период между изменением корреляции между валютами?
2. допустим, связи меняются, но рост или падение валюты не бесконечно, ее все равно будут держать в опр. коридоре, поэтому всегда есть наиболее сжатая комбинация

не обязательно, чтобы эта комбинация была с постоянной минимальной дисперсией, просто нужен некий алгоритм, который будет самостоятельно перебирать формулы вида

Х1 * Х2
Х1 + Х2 + Х3
Х1 * (Х2 + Х3)
Х1 - Х2 + Х3 * Х4
 
Andy Sanders:
1. уточню вопрос с учетом комментария, как найти упомянутый синтетик на опр. интервале, возможно в период между изменением корреляции между валютами?
2. допустим, связи меняются, но рост или падение валюты не бесконечно, ее все равно будут держать в опр. коридоре, поэтому всегда есть наиболее сжатая комбинация

не обязательно, чтобы эта комбинация была с постоянной минимальной дисперсией, просто нужен некий алгоритм, который будет самостоятельно перебирать формулы вида

Х1 * Х2
Х1 + Х2 + Х3
Х1 * (Х2 + Х3)
Х1 - Х2 + Х3 * Х4

Нейронные сети.

 
Andy Sanders:
Возможно кто-то знает и горит желанием поделиться методом расчета идеального синтетика?
Под идеальным синтетиком имеется в виду такой, который сам может выбирать валютные пары для минимизации дисперсии, а не подгонят коэффициенты под уже выбранные.

Два уже опробованных метода - PCA (https://www.mql5.com/ru/code/16997) и Linear Regression (https://www.mql5.com/ru/code/11859) имеют главный и непереборный недостаток - пытаються создать взаимосвязи там, где их нет. По факту, здесь идет curve fitting через подгонку доли каждого инструмента в портфеле, в результате, на OOS все это вполне ожидаемо рушится.

Хотелось бы просто найти комбинацию инструментов, которые БЕЗ каких-либо коэффициентов дают на истории минимальный разброс, при этом желательно чтобы перебор возможных комбинаций был нелинейный, точнее включал линейные (Х1 + Х2 + Х3) и нелинейные (Х1 / Х2 + Х3 ^ 2) комбинации.

Идеальный синтетик был сформулирован Грэйнджером, за что он получил нобеля.

Смысл следующий. 

Берем две пары (либо n пар).

Комбинируем эти пары таким образом, что остаток от них является стационарным. Есть для этого готовые пакеты. Были придуманы тесты для проверки стационарности остатка.

Далее торгуем, принимая торговые решения по этому стационарному остатку. 

Широчайше применяемая торговая стратегия. 

 
Дмитрий: Нейронные сети.
Сонительно ...
Нейронные сети ожидают, что им предоставят какой-то эталонный пример, к которому надо стремиться, то есть до какого момент обучаться.
В данном случае непонятно, как их заставить генерировать формулы, боюсь, что при попытке задать формулы заранее получится, что сеть то как раз и не нужна совсем.
Мне же нужен именно механизм генерации формул, пройтись в цикле по результатам выполнения каждой из них я и так могу :)

Например, что крутится в голове, есть алгоритм генерации всех возможных пермутаций, всех возможных комбинаций из списка заданных элементов, например
var min = -1;
var index = 0;
var combos = []
var list = [ EURUSD, GBPUSD, USDCAD, USDJPY, EURGBP ]

for k in list
{
    for n in list
    {
        combos [index] = list [k] + list [n]  //  сюда как-то надо вклинить знаки сложения, умножения, деления, только простая арифметика
        
        var expression = evaluateExpression (combos [index])

        min = expression < min ? expression : min
        index++
    }
}
Пермутации чуть сложнее, пример выше только для пояснения того, что нужно ...
 
СанСаныч Фоменко:

Идеальный синтетик был сформулирован Грэйнджером, за что он получил нобеля.

Смысл следующий. 

Берем две пары (либо n пар).

Комбинируем эти пары таким образом, что остаток от них является стационарным. Есть для этого готовые пакеты. Были придуманы тесты для проверки стационарности остатка.

Далее торгуем, принимая торговые решения по этому стационарному остатку. 

Широчайше применяемая торговая стратегия. 

Грэнджер, а не Грэйнджер.

Он анализировал фондовый рынок 60-х, а не форекс 2000-х.

Нет комбинации валютных пар на форексе, которые бы давали стационарный остаток. 

 
Andy Sanders:
Сонительно ...



Тогда оптимизационная задача.

Формулируешь целевую функцию, например, дисперсия на минимум.

Формулируешь ряд ограничений портфеля - общий баланс, диверсификация и пр.

Решаешь - методов куча. 

 

В идеале - линейная отимизационная задача.

Симплекс-метод.

Или как в Экселе - тупой перебор

 

Я веду статистику количества трендовых синтетиков на покупку, составленных из 8 валют. Вес синтетика ограничен 6000 USD.

Когда количество растет - это тренд. Падение - изменение направления тренда. Впервые вижу их число около 16000. Значит, столько же на продажу (поменять знак). А сколько ни туда, ни сюда. И их распределение по количеству из ограничения на вес, тыс. USD

 

 
Alexander Laur:

Идеальный синтетик - нейтральный треугольник. Торговля идет в стационарном канале. Соотношение объемов в синтетике обратно пропорционально соотношению их залога.

При увеличении количества пар в синтетике возрастают накладные расходы: спред, комиссия, своп.  

А так как любая комбинация валют на форексе не может образовывать "идеальный треугольник" в течении долгого периода времени, то................................................
Причина обращения: