Не Грааль, просто обычненький такой - Баблокос!!! - страница 239

 
АргумЕЕЕЕнт)
 
_new-rena:

к тому что именно там мы вместе с Александром в том числе писали ту ветку и очень много, чего в той ветке нет, шло через личку. Я же знаю как он торговал, не с бухты-барахты ляпнул.

К тому же корреляция не постоянна. Поставьте индикатор и убедитесь воочую.

Оценка корреляции и есть самое лучшее наложение пар.

Я не о том говорил. Я говорил, что у вас неверное представление о корреляции и её следствии - коинтеграции
 
qimer:
Я не о том говорил. Я говорил, что у вас неверное представление о корреляции и её следствии - коинтеграции
ок
 
lob32371:

... Вы дальше каждому такому сочетанию начинаете делать перебор лотов? Так это же не понимание сути портфеля.

Может быть конечно, кто-то и считает перебором, но я этим не балуюсь. Есть другие инструменты и методы (Recycle, МНК и т.д.). А вообще, чтобы быть в "теме" надо хотя бы часть ветки перечитать, а то сами себе придумываете чем мы здесь занимаемся и критикуете.
 
qimer:

Вы фигню какую-то написали. Корреляция говорит о схожести движения пар. Она не показывает ни коим образом сходятся пары или расходятся. Высокая корреляция есть коинтеграция, т.е. одинаковость движения пар. 

Нет, корреляция не есть коинтеграция! 

Корреляция показывает тесноту связи между рядами данных (схожесть движения пар, как ты пишешь). 

А что бы понять, что такое коинтеграция, надо представить человека с собакой на поводке. Собака может отбежать, но только на длину поводка (и в право и влево), но путь весь проделает рядом с человеком. Вот  

Т.е. при высокой корреляции ряды могут расходится бесконечно долго, а при коинтеграции будут колебаться один вокруг другого. 

 
Mislaid:

У меня есть статистика по трендовым синтетикам. Я взял такое определение: синтетик является перспективным для покупки, если он в течение полумесяца на днях торгуется выше АМА. Т.е., был пробой АМА. Объем всех приведенных в файле синтетиков не более 6,1 минимальных лотов USD.

Трендовые синтетики как строите? И смотрю используете не только мажоры, но и кроссы, в связи с этим вопрос: в какие единицы переводите итоговое эквити?
 
pastor-ru:
Список всех синтетиков из семи пар по четыре пары. Всего 35 штук. Нависали робота на mt5  на основе Recycle2 заработок в среднем под 50-100% в месяц при просадке 10 %, но бывают выпады и провал в просадку стабильности пока маловато. Не  до конца понимаю математику Recycle2 и движение графика спреда в канале. 

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

 
Mislaid:

У меня есть статистика по трендовым синтетикам. Я взял такое определение: синтетик является перспективным для покупки, если он в течение полумесяца на днях торгуется выше АМА. Т.е., был пробой АМА. Объем всех приведенных в файле синтетиков не более 6,1 минимальных лотов USD.

В колонке А - день года, когда синтетик был идентифицирован, как перспективный. Колонка В - вес синтетика в минимальных лотах USD. Колонка D - сам синтетик. Колонки K, G и F - день, номер дня года и количество синтетиков, идентифицированных в этот день, как перспективные, и остающихся таковыми на последнюю дату. Колонка I -выбытие синтетиков из списка перспективных на последнюю дату.

Видно, что многие синтетики держатся месяцами выше АМА. Регулярно идентифицируются новые. Так что, они не все похожи.

Многие синтетики очень сильно коррелированы между собой. Я различаю два вида корреляции: векторная и трендовая. Векторная - это когда синтетики очень близки по валютам. Трендовая - близки по движению.

Вектор. Каждому синтетику можно противопоставить вектор, компоненты которого вычисляются, как стоимость купленной (проданной со знаком "минус") валюты в одинаковой единице измерения. Косинус угла между такими векторами дает векторную корреляцию.

Я взял файл с планом на 18.11.14. Вот так один из синтетиков выглядит сегодня. Кластеры формируются по трендовой корреляции. Сильно коррелированые векторно синтетики усекаются: выбирается паттерн с наименьшим весом.

сложно так разобрать этот файл без комментариев но общую мысль я уловил

я думаю Вы используете термин "трендовые синтетики" в своем смысле

я имел в виду что трендовые синтетики (в своем смысле, то есть полученные регрессией на линейный тренд) все похожи потому что если взять произвольный набор инструментов достаточно широкий (более 6-7) то на одном периоде графики полученных трендовых синтетиков будут с большой вероятностью очень похожи визуально

 
transcendreamer:

сложно так разобрать этот файл без комментариев но общую мысль я уловил

я думаю Вы используете термин "трендовые синтетики" в своем смысле

я имел в виду что трендовые синтетики (в своем смысле, то есть полученные регрессией на линейный тренд) все похожи потому что если взять произвольный набор инструментов достаточно широкий (более 6-7) то на одном периоде графики полученных трендовых синтетиков будут с большой вероятностью очень похожи визуально

угу

два практически неизменных лагеря (портфеля) за последние 40 лет, если посмотреть графики на месяцах. точнее - с помощью к-та корреляции можно разбить



 
lob32371:

Код джокера запустить не сумел. А твой - получилось:

По результату сразу стало понятно, что же монстрский код джокера делает:

Не будем заострять внимание на школьном алгоритме перебора сочетаний. И что на ООП это бы выглядело во сто крат красивее. А перейдем сразу к сути.

Зачем вы устраиваете себе такую изощренную попаболь? Вы дальше каждому такому сочетанию начинаете делать перебор лотов? Так это же не понимание сути портфеля.

Есть же замечательный такой лот (коэффициент - правильнее) - ноль. Ну считайте, что у вас нулевой лот у некоторых символов. Так и перебирайте.

Одночзначно, с таким перебором далеко не уедешь - даже Облако не поможет протестить ТС.  Надо математику включать, без перебора.

 

 

#include <spreadsmath.mqh>

extern int N=4;

extern string Symbols="EURUSD,GBPUSD,NZDUSD,AUDUSD,USDJPY,USDCHF,USDCAD";




void OnStart()
  {
      int K=GetSpreadsCount(Symbols,N);      
      
      for(int i=1;i<=K;i++)
         {string symbol_list=GetSpreadByIndex(Symbols,N,i);