Петля Мёбиуса - страница 818

 
Roman #:
Виталь, по парному куча информации в интернете.
Кратко, корреляция, коинтеграция, тест на стационарность.
Если всё это обнаружено, тогда используем классику линейную регрессию.
Но в реальности на рынках такого нет. Есть только не постоянная корреляция в взаимосвязанных рядах.
Поэтому берём нелинейную модель и описываем текущее состояние взаимосвязанных активов, строим остатки вот и весь парный.
Только всё зависит насколько качественная будет модель в описательной способности, от этого и будет зависеть результат.

Это подходит?

Шаг 2: Линейная регрессия (МНК) — находим β и α
β = (n·Σxy − Σx·Σy) / (n·Σxx − (Σx)²)
α = (Σy − β·Σx) / n
где n = InpWindowSize (500 баров).

Шаг 3: Спред (остатки регрессии)
spread[j] = y[j] − β·x[j] − α
Шаг 4: Стандартизация — сам Z-Score
μ = среднее(spread[j])        — среднее спреда за окно
σ = ст.отклонение(spread[j])  — сигма спреда за окно

Z = (текущий спред − μ) / σ
или развёрнуто:

Z = (ln(Close₁[i]) − β·ln(Close₂[i]) − α − μ) / σ
Это классический подход парного трейдинга на коинтеграции:

Коинтеграция (Энгл–Грейнджер, 1987): если две цены движутся вместе, то комбинация ln(P₁) − β·ln(P₂) − α является стационарной (возвращается к среднему).

β — коэффициент хеджирования: сколько лотов Symbol2 нужно на 1 лот Symbol1, чтобы нейтрализовать общий тренд. Оценивается через регрессию логарифмов цен.

Z-Score — стандартизация: показывает, на сколько сигм текущий спред отклонился от своей средней истории:

Z > +2 → спред сильно выше нормы → продаём спред (SELL Symbol1, BUY Symbol2)
Z < −2 → спред сильно ниже нормы → покупаем спред (BUY Symbol1, SELL Symbol2)
Z → 0 → спред вернулся к среднему → закрываем позицию
Уровни ±2.0 — стандартные пороги: для нормального распределения ~95% значений лежат в диапазоне ±2σ, поэтому выход за них — статистически значимое отклонение (маловероятно, что оно случайно).

Этот метод описан в классической литературе:

Ernest Chan — "Quantitative Trading", "Algorithmic Trading"
Gatev, Goetzmann, Rouwenhorst — "Pairs Trading: Performance of a Relative-Value Arbitrage Rule" (2006)
Vidyamurthy — "Pairs Trading: Quantitative Methods and Analysis"
 
Roman #:
На волатильности самый сок собирать сливки, а если чуть вынесет просто сливки получаются жирнее ))
Поэтому любые нежданчики надо закладывать в свой риск и грамотно выходить из позиции, иногда в мелкий +- Всё.
Остальные периоды просто шелест стоит ))
У тебя половина уже есть, твои подготовленные данные масштабированные по волатильности.
Это нормальный правильный вариант. Засунь их в многомерную модель и построй любой синтетик по своим правилам, без повторений, оцени что получиться.
Но раз ты подобрал пары для круз контроля, то должно получится красиво на младших периодах.
Я твой подход не изучал, не знаю что получится. Всё давно разжёвано, бери делай.
Опять и снова никакой конкретики.очерелнойинабор умных букв.все что нужно мне у меня есть .и я не в чем не нуждаюсь.вы не понимая что и как я делаю вы хотите туда впихнуть свою математику синтетик сам по себе и есть фильтр а эквити это есть чистый сигнал в  реальном времени без всяких доп фильтров которые только искозят реальность .ваша математика вчерашний день для построения индикаторов для торговли по тех анализу и фильтрации не пойми чего..
 
mvf358 #:
Опять и снова никакой конкретики.очерелнойинабор умных букв.все что нужно мне у меня есть .и я не в чем не нуждаюсь.вы не понимая что и как я делаю вы хотите туда впихнуть свою математику синтетик сам по себе и есть фильтр а эквити это есть чистый сигнал в  реальном времени без всяких доп фильтров которые только искозят реальность .ваша математика вчерашний день для построения индикаторов для торговли по тех анализу и фильтрации не пойми чего..
Ага, математику - точную науку, которая не терпит даже малейших неточностей, назвать вчерашним днём, это верх глупости.
Ну довольствуйся тогда месячными графиками, что тут сказать ещё.
И не верещи о своей гениальности с мега синусом, по круче есть решения но видимо не для твоего понимания. 
 
Roman #:
Ага, математику - точную науку, которая не терпит даже малейших неточностей, назвать вчерашним днём, это верх глупости.
Ну довольствуйся тогда месячными графиками, что тут сказать ещё.
И не верещи о своей гениальности с мега синусом, по круче есть решения но видимо не для твоего понимания. 
Круче Синуса только поросячий хвост.я так и не понял с какой целью то заходили?
 
Vitaly Muzichenko #:

Это подходит?

МНК она же парная линейная регрессия только как база для изучения, чтоб понимать как строить парный синтетик.
Но сам алгоритм не подходит для реальных данных, так как на рынке нет постоянной коинтеграции,
а модель заточена именно под неё. Для начала как учебная классика которую преподают в вузах отличное начало.
Потом когда освоишься, поймёшь все проблемы, автоматом сложится понимание что искать дальше.

 
Roman #:
Ага, математику - точную науку, которая не терпит даже малейших неточностей, назвать вчерашним днём, это верх глупости.
Ну довольствуйся тогда месячными графиками, что тут сказать ещё.
И не верещи о своей гениальности с мега синусом, по круче есть решения но видимо не для твоего понимания. 

Есть ещё расчёт, какой более верный?

Шаг 1: Коэффициент Beta (функция CalculateBeta)
Регрессия логарифмов цен методом наименьших квадратов (МНК):

logX = ln(Close₁[i])    — цены Symbol1
logY = ln(Close₂[i])    — цены Symbol2

meanX = ΣlogX / n
meanY = ΣlogY / n

covariance = Σ (logX − meanX)·(logY − meanY)      — ковариация
varianceX  = Σ (logX − meanX)²                     — дисперсия

β = covariance / varianceX
n = InpPeriod (у вас 25 баров).

Шаг 2: Бета-спред
spread[i] = ln(Close₁[i]) − β · ln(Close₂[i])
β > 0 — инструменты движутся вместе → вычитаем (Long/Short пара)
β < 0 — движутся разнонаправленно → вычитание отрицательного даёт плюс автоматически
Шаг 3: Полосы Боллинджера на спреде
SMA  = (1/BBPeriod) · Σ spread[i]              — средняя за BBPeriod баров
σ    = √( (1/BBPeriod) · Σ (spread[i] − SMA)² ) — стандартное отклонение

Upper = SMA + BBDeviation · σ   (BBDeviation = 2.75)
Lower = SMA − BBDeviation · σ
Тот же фундамент, что и у Z-Score — парный трейдинг на коинтеграции:

Коинтеграция (Энгл–Грейнджер, 1987): комбинация ln(P₁) − β·ln(P₂) стационарна — спред возвращается к средней.

β — коэффициент хеджирования: показывает пропорцию, в которой нужно торговать второй символ против первого, чтобы убрать общий тренд и оставить только «неправильную цену» (отклонение спреда).

Полосы Боллинджера (Джон Боллинджер, 1980-е) — заменяют Z-Score: вместо фиксированных порогов ±2σ используют скользящую среднюю и текущую волатильность. ±2.75σ — консервативный порог, сигнал только при сильном отклонении.

Логика входа/выхода: выход за полосы = спред «перегрет» (перекуплен/перепродан) → ждём возврата к средней. Возврат к средней = закрываем — реверсия к среднему (mean reversion).

Это стандартная методология статистического арбитража: Ernest Chan, Vidyamurthy ("Pairs Trading"), Gatev–Goetzmann–Rouwenhorst (2006). 

Разница с Z-Score только в способе стандартизации: BB использует скользящее окно, Z-Score — фиксированное.
 
Roman #:

МНК она же парная линейная регрессия только как база для изучения, чтоб понимать как строить парный синтетик.
Но сам алгоритм не подходит для реальных данных, так как на рынке нет постоянной коинтеграции,
а модель заточена именно под неё. Для начала как учебная классика которую преподают в вузах отличное начало.
Потом когда освоишься, поймёшь все проблемы, автоматом сложится понимание что искать дальше.

По этим двум формулам написаны индикаторы, и вот сколько символов прошёл, все почему-то похожи на изменение эквити (средний на графике)

Это выбрал самые непохожие символы, чтобы было хоть какое-то отличие


 
Vitaly Muzichenko #:

По этим двум формулам написаны индикаторы, и вот сколько символов прошёл, все почему-то похожи на изменение эквити (средний на графике)

Это выбрал самые непохожие символы, чтобы было хоть какое-то отличие

О чём я и писал, что эквити это всего лишь один из вариантов подготовки данных,
которые полностью повторяют изменения в котировках, чем наглядно ты это показал упоротому товарищу.
Отличие есть, потому что модель подвирает и не оценивает корректно из-за отсутствия коинтеграции в моментах.
В этом и стоит задача, построить адекватную модель, которая не будет запаздывать и не будет искажать реальность.
Что это даст в отличие от использования сырого эквити? то что можно будет закручивать абсолютно любые комбинации, в пределах корреляции
а не зацикливаться на глобальное состояние всего рынка, подбирая только подходящие варианты которые более менее дают стационарность.
 
Roman #:
О чём я и писал, что эквити это всего лишь один из вариантов подготовки данных,
которые полностью повторяют изменения в котировках, чем наглядно ты это показал упоротому товарищу.
Отличие есть, потому что модель подвирает и не оценивает корректно из-за отсутствия коинтеграции в моментах.
В этом и стоит задача, построить адекватную модель, которая не будет запаздывать и не будет искажать реальность.
Что это даст в отличие от использования сырого эквити? то что можно будет закручивать абсолютно любые комбинации,
а не зацикливаться на глобальное состояние всего рынка, подбирая только подходящие варианты которые более менее дают стационарность.

1. На форекс это скорее невозможно, чем возможно случайно найти более приближённую формулу.

2. Это чуть-ли не единственная возможность что-то вытащить с рынка, чем 50 лет заниматься поиском формулы и ничего так и не найти.

 
Vitaly Muzichenko #:

Есть ещё расчёт, какой более верный?

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