Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...
просто мне, как не математику, абстрактная теоретическая формула с интегралами и альфа, бета, фи не говорит ни о чем, ...
Ну, так и стоит ли мучаться с аналитическим решением?
Генеришь пачку портфелей, придумываешь целевую функцию, и выбираешь наиболее подходящий. Можно OpenCL задействовать ;)
kazakov.v:
... придумываешь целевую функцию ...
это само по себе является аналитическим решением
Точнее, рекомендуют делать PCA на основе SVD разложения. Ковариационная матрица используется в любом случае, количество вычислений не уменьшается.
Задача оценивания ковариации тоже не так проста, как кажется. Оценка cov(x) = (x-E(x))' (x-E(x)) далеко не лучшая среди известных.
Но вообще появились более актуальные вопросы :
Немного пояснений по смыслу этой возни :
Изначально задумывался Pairs Trading (многие здесь могут скептично скривить лицо, но все не так однозначно) - это действительно может быть прибыльным, НО всегда случается беда (обычно 1-2 раза в месяц), пары НЕ сходятся, как результат, либо бесконечный висяк (своего рода лок), либо слив при попытке разрулить этот лок. Возникло некоторое желание увеличить кол-во пар для диверсификации, но перечитал сообщения более продвинутых в этой теме, понял, что с 2мя парами и треугольником делал все слишком примитивно (ошибся) - надо изначально все выравнивать по USD и коэффициентам даже для начальных лотов - поэтому пока в очередной раз переписываю советник на 2х парах, но тема портфеля и их разбиение по кластерам также актуальна, поэтому буду признателен за ответы на вопросы выше.
P.S. вечером выложу новую версию - поправил несколько багов, оптимизировал выделение памяти, отрисовал график синтетика, вынес все методы в отдельный файл для использования в советнике, добавил возможность составления синтетика автоматически по выбранной валюте (не паре, типа индекс)
P.P.S. для расчетов синтетика используются весовые коэффициенты на основе ковариационной матрицы (не корреляционной) и считается он как среднее геометрическое
artemiusgreat:
...буду признателен за ответы на вопросы выше...
Рад бы помочь, да еще меньше понимаюсь в статистических расчетах...
hrenfx вам товарищ, однозначно.
Скажите пожалуйста, как Вы определяете уровни покупки/продажи синтетика? Имею ввиду - какую функцию используете для расчёта отступов от средней, если её используете.
Рад бы помочь, да еще меньше понимаюсь в статистических расчетах...
hrenfx вам товарищ, однозначно.
Скажите пожалуйста, как Вы определяете уровни покупки/продажи синтетика? Имею ввиду - какую функцию используете для расчёта отступов от средней, если её используете.
да, я знаю тех, кто занимался этим, перелопатил много тем на четверке, реально много :)
но, если брать Хренфикса, то на всех MQL форумах он по традиции забанен, на остальных особой активности не проявляет, а вцелом - не факт, что все еще интересуется торговлей ...
последнее сообщение Хренфикса на Forex Factory звучало примерно так (после описание работы одного трейдера) : "Не ставил цели никого зацепить, только повысить общий уровень знаний, к тому же, как вы можете заметить я сейчас тоже в просадке около 90% ... да и вообще, хрень все это (о торговле вцелом)"
По поводу расчета уровней :
НЕПРАВИЛЬНЫЙ ВАРИАНТ : если вы спрашиваете как я открывался в советнике - зря, я делал это неправильно, использовался разницу машек, как в индикаторе Семен Семеныча, но сглаживание машек мешало понять когда валюты действительно сошлись, поэтому чтобы обойтись без сложных расчетов я просто ждал пока профит по всем открытым позициям станет положительным, индикатор ена разнице машек есть здесь - https://www.mql5.com/ru/forum/14348 (там есть баги кое-какие, но общий смысл отражает)
ПРАВИЛЬНЫЙ ВАРИАНТ : переводить все в доллары, приводить к стационарному ряду в индикаторе (минус Мат Ожидание, но anonymous говорит, что это плохая мера, есть еще первая разность, но она вообще рубит ряд в корне полностью меняя его) и по этому ряду считать Standard Deviation - это и будет уровень, по которому можно открываться / закрываться, чуть детальней, например, здесь, страницы с 4й http://www.forexfactory.com/showthread.php?t=262827&page=4 хотя полезно читать все, также есть несколько тем на четверке от 3х юзеров ...
по поводу уровней синтетика - до советника с синтетиком дело еще не дошло, но там ситуация та же, есть формула синтетиска, делаем ее стационарной и и дальше по тексту https://www.mql5.com/ru/code/10096
Если следите за тем что hrenfx пишет, то вам наверное сюда
Форум с уклоном на алготрейдеров.
Большая погрешность, плохая применимость на финансовых данных. Из общедоступного по моему опыту Ledoit-Wolf estimator весьма хорош. Можно и более точную модель построить.
Да.
Так бывает когда используется плохая модель оценки справедливой цены.
input int InpOosDepth = 0; // сколько баров выделить на тестирование OOS, т.е. расчитываем коэффициенты на InpDepth барах, а потом на InpOosDepth их просто применяем для порверки стабильности
input int InpIterations = 1000; // допустимые итерации при нахождении eigenvalues вращением Якоби (сколько разрешено итераций до достижения желаемой точности)
input bool InpUseMinimum = true; // выбирать вектор с наибольшей корреляцией и минимальной дисперсией (false - самый размашистый)
input bool InpUseCorrelation = true; // считать коэффициенты в условных единицах или валютозависимых
input double InpPrecision = 0.0001; // точность расчетов при нахождении eigenvalues вращением Якоби (желаемая точность, при достижении такой точности, итерации прекращаются, обычно хватает ~ 50 итераций, но на всякий случай поставил 1000)
input ENUM_TIMEFRAMES InpPeriod = PERIOD_CURRENT; // составлять матрицы из текущего периода или другого
input string InpUnit = "USD"; // если InpSymbols - пустая строка, то выбрать все все символы в обзоре рынка, которые включают USD
input string InpSymbols = "AUDUSD,EURUSD,GBPUSD,USDCHF,USDJPY,USDCAD,NZDUSD,USDSEK,USDSGD,USDMXN,USDNOK"; // пары для расчета, если оставить эту строку пустой используется параметр InpUnit
P.S. этот вариант не включает в себя рекомендаций anonymous'a
P.P.S. из-за методики расчета график иногда получается перевернутым
- проблема описана здесь : http://www.forexfactory.com/showthread.php?p=4443700#post4443700
- пояснение здесь : http://www.forexfactory.com/showthread.php?p=4450788#post4450788 + Хренфикс придумал свой самопальный метод, физического смысла которого я не понимаю, поэтому боюсь применять (замена суммы квадратов коэффициентов на сумму их модулей)
P.P.P.S. коментарии / замечания, как всегда, приветствуются ...
С двумя парами все относительно просто - написать линейную комбинацию, допустим Xi - C*Yi, пропустить через нее два тестируемых ряда и проверить на стационарность, допустим, Дики-Фуллером.
Как проверить наличие коинтеграции для множества пар, т.е. чтобы при открытии позиций по этому портфелю суммарный (профит - спред) болтался в области 0?