ПАРНЫЙ ТРЕЙДИНГ , от практики к теории

ivanivan

Местный житель
==============================
Все верно за небольшим исключением.
1. При запуске вычисления скрипта в асинхронном режиме перед запросом результата вычисления обязательно проверять завершение(не занят). Иначе Rterm упадет. Это должно быть правилом.
Запуск в асинхронном режиме нужен только для длинных и тяжелых вычислений. Иначе есть просто Rexec.
2/ Это направление (парный трейдинг) исхожено и истоптано многими исследователями. Нет здесь хлеба.
Ищите в другом направлении - классификация.
Удачи

1. ну да,есть же проверка if (RIsBusy(R)).а вот падает не R,а мт4 регулярно, если в R чего-то не хватает,например,библиотека какая не подгружена,не установлена, функция какая-то вызывается,которой нет.
2. ну так в мире вообще нет справедливости)) ссылку на направление можно одну-две?)
 
Последнее редактирование:

ivanivan

Местный житель
запилил такую штуку- тут расчет ВСЕХ доступных валютных пар по одному из крупнейших ДЦ + золото-серебро + нефть за последние 250 дней.
отфильтрованы уже по величине корреляции (>0.6) и по величине p-value (<0.1).
напомню, что чем выше корреляция и ниже p-value,тем лучше.
достоинства:
- можно запилить не для двух пар,а для N пар. и иметь возможность выбрать уже "правильный" синтетик из расчитанных,без необходимости наобум совать пары в поисках подходящего.
-возможность дополнительной фильтрации расчитанных синтетиков по каким-либо критериям. потому как из всего набора инструментов для 2-х пар получилось на выбор 218 вариантов. Для колва > 2 это число вырастет еще многократно.
-возможность оценить полученных синтетики визуально практически онлайн

з.ы. речь идет о модели типа спред.
 

Вложения

  • Снимок экрана от 2016-09-08 00:04:19.png
    Снимок экрана от 2016-09-08 00:04:19.png
    53,5 КБ · Просмотры: 73
  • correlation_cointegration_currency.csv.zip
    2 КБ · Просмотры: 30

transcendreamer

Местный знаток
запилил такую штуку- тут расчет ВСЕХ доступных валютных пар по одному из крупнейших ДЦ + золото-серебро + нефть за последние 250 дней.
отфильтрованы уже по величине корреляции (>0.6) и по величине p-value (<0.1).
напомню, что чем выше корреляция и ниже p-value,тем лучше.
достоинства:
- можно запилить не для двух пар,а для N пар. и иметь возможность выбрать уже "правильный" синтетик из расчитанных,без необходимости наобум совать пары в поисках подходящего.
-возможность дополнительной фильтрации расчитанных синтетиков по каким-либо критериям. потому как из всего набора инструментов для 2-х пар получилось на выбор 218 вариантов. Для колва > 2 это число вырастет еще многократно.
-возможность оценить полученных синтетики визуально практически онлайн

з.ы. речь идет о модели типа спред.

respect
 

ivanivan

Местный житель
вопрос ко всем - давайте предположим,что стационарность и коинтеграция на ООС - это не выдумка эконометристов,чтобы оправдать свое никчемное существование, и не подгонка данных под заданный результат. тогда какой способ лучше для расчета и стационарности,и коинтеграции?
- стационарное окно - берем,например,за 4 года считаем и затем используем полученные результаты в течении N-го периода. например,в течении года.
- скользящее окно - берем ,например,250 раб.дней и каждый день сдвигаем окно на шаг вперед,соответственно пересчитывая все результаты.
- стационарное окно с учетом вновь поступивших данных - т.е. каждый день увеличиваем окно на шаг
лучше все же говорить по теме конструктивно без комментариев типа - все плохо! мы все умрем! тут рыбы нет! и т.п.)) можно даже с обоснованием)

з.ы. и еще,кто-нибудь может прям на пальцах,чтоб даже до последнего балбеса,типа меня,дошло,как считать весовые коэффициенты в тесте Йохансена? а то я так в инете и не нашел толкового объяснения. везде - вот пары,вот тест,вот матрицы с результатами,вот кривулька, вот итоги. а ответа на вопрос - где деньги,зин, и как получить коэфты нет((
вот из таких результатов надо получить
Eigenvectors, normalised to first column:
(These are the cointegration relations)

BAC.Close.l2 BIDU.Close.l2 WFC.Close.l2
BAC.Close.l2 1.000000000 1.00000000 1.00000000
BIDU.Close.l2 -0.003862535 0.05041472 -0.04868417
WFC.Close.l2 -0.583672285 -0.56437252 0.13941894

Weights W:
(This is the loading matrix)

BAC.Close.l2 BIDU.Close.l2 WFC.Close.l2
BAC.Close.d -0.01662252 -0.0059048542 -0.00952169
BIDU.Close.d 0.65165033 -0.5316735436 -0.05398857
WFC.Close.d 0.08815970 -0.0004502998 -0.02375281
 

ivanivan

Местный житель
нет ответа? ну тогда я продолжу.
вот попалась интересная статья об исследованиях стационарности синтетиков на ООС.
_https://quantsniper.wordpress.com/2013/05/24/коинтеграция_на_американском_рынке_2/
в ней исследуются синтетики из 4 акций РАЗНЫХ секторов за 3 года на доходность,с последующей оценкой этих же синтетиков на ООС в течении года.
тут хорошо видно,что многие синтетики на ООС являются убыточными,т.е. теряют стационарность на ООС.
_https://quantsniper.files.wordpress.com/2013/05/spreads1.pdf
однако в статье не говорится каким образом построены синтетики,как отобраны. просто говорятся-есть
целевая функция – функция от пяти параметров – четыре для селекции стоков и один для точки входа.
при этом
со входом при отклонении от фикисированного среднего такого спреда на процент от его ноушинола и выходом при пересечении этого среднего
. я так понимаю,что торговалось отклонение от медианы.
какие я вижу недостатки в подобном подходе:
- бралось стационарное окно (см. пред. пост п.1).т.е. новые данные не учитывались,соответсвенно не учитывались изменившиеся взаимосвязи между инструментами.
- бралось фиксированное среднее,вместо динамического - того же боллинджера.
НО! даже не смотря на все это хорошо видно, что многие синтетики отработали сразу на переходе на ООС как минимум 1 раз свою стационарность. если изменить стационарное окно на скользящее,можно предположить,что результаты были бы лучше.
 
Последнее редактирование модератором:

ivanivan

Местный житель
а теперь вернемся к тому ДЦ с 100 cfd на американские акции. при варианте с 3 акциями в синтетике мы получаем 1млн! различных сочетаний этих акций.
ниже результат работы скрипта, считал этот миллион вариантов 9.5 часов. что делалось-
брался период in-sample 250дней (т.е. с учетом еще периода ООС получается -300 дней от текущей даты),на нем считалась регрессия для 3 акций,полученная модель проверялась по адф тесту. затем смотрелось поведение синтетиков - оставлялись только те, что были относительно горизонтальны.т.е. ни одна точка синтетика не вылезала за границы канала медиана+-3 станд.отклонения. отфильтрованные таким образом синтетики проверялись уже периоде in-sample + ООС (это еще 50 дней.) таким образом предполагаем хотя бы некоторую жизнеспособность полученного синтетика. если и при этом он не выскакивал за пределы указанного канала, то делался окончательные расчет весовых коэфтов на периоде [текущая дата - 250].
в итоговую таблицу по таким проверкам попали всего около 350 из 1млн. синтетиков с условиями-
попарная корреляция >0.75 и p-value <0.1
 

Вложения

  • 111.png
    111.png
    218,6 КБ · Просмотры: 38
  • cointegration_CFD_3pairs_w_oos.csv.zip
    5,6 КБ · Просмотры: 19

transcendreamer

Местный знаток
стационарность и коинтеграция на ООС
три хаха

это не выдумка эконометристов,чтобы оправдать свое никчемное существование
эххх

и не подгонка данных под заданный результат
эххх

какой способ лучше для расчета и стационарности,и коинтеграции?
Все методы так или иначе условны и ограниченны, нет какой-то истины в последней инстанции, и Йохансен и Дики-Фуллер и Гранжер и другие дадут +/- то же самое что если взять и просто 2 кривые наложить и визуально оценить, более того, можно подобрать спред так что даже сам Йохансен будет думать что коинтеграция есть, а на самом деле её нет..... коинтеграция по определению говорит что кривые не разойдутся, этот тест какбы говорит нам: -- *** буду, клянусь что спред не порвёт, инфа 99.9%, но тест не знает о фундаментальной связи между активами, а мы можем знать это априорно, это намного важнее, а техническими приёмам мы можем лишь найти подтверждение но не доказательство коинтеграции.... и возможно это будет ложная коинтеграция (более сильный вариант ложной корреляции), поэтому тест на коинтеграцию мне не кажется чем-то принципиально важным, математика там наворочена сурьёзная, а практической пользы немного.....

стационарное окно, скользящее окно
Все три представленных способа мне не нравятся, они игнорируют фазы рынка..... технически, если стоит задача найти хорошую сходимость, то двигать нужно ОБЕ границы интервала оценки, но НЕ скользящим окном, границы нужно двигать независимо, то есть выбирается тот самый интервал где фаза рынка такова что активы идут очень плотно, если же двигать окно то высока вероятность что левым или правым концом попадём на "неудачный" участок (смену фазы) и тогда качество модели будет хуже......

как считать весовые коэффициенты в тесте Йохансена?
Уххх, это хардкор, я честно говоря сильно не вкуривал этот тест, так как не знаю куда его затем втыкать на практике, ведь с точки зрения трейдинговых задач удобнее оперировать распределением остатков модели, чем этими крышесносными векторами, правда пишут что собственный вектор (eigenvector) от Йохансена можно использовать как поправочные хедж-коэффициенты, наподобие того как собственный вектор МГК становится вектором оптимальных коэффициентов поглощающих максимум дисперсии, но с другой стороны - а зачем нам ещё один оптимизатор? чем он лучше других? к тому же тест Йохансена это не один тест, а целая серия тестов нескольких рангов, и это уже не так приятно, кроме того физический смысл теста иллюзорно ускользает и его трудно натянуть на депозит, хотя судя по описаниям это просто хитровывернутый тест на автокорреляцию.....

в инете и не нашел толкового объяснения
ЭТО ЗАГОВОР!
заговор тайного братства математиков
эти высокомерные гады даже на нормальном языке не разговаривают
и они презирают обычных людей
свои таинства они описывают не иначе как сатанинскими формулами
но вот здесь есть одна статья
_http://www.uh.edu/~bsorense/coint.pdf
там говорится что матрица нагрузок (loading matrix) отвечает за связь с долгосрочными трендами

все плохо! мы все умрем! тут рыбы нет!
всё тлен

и как получить коэфты нет((
ну а чем тебя обычная регрессия не устраивает?
я вот не верю что Йохансевские или Гранжерские выходы будут радикально лучше
 
Последнее редактирование модератором:

ivanivan

Местный житель
со всем вышесказанным согласен на 146% ))) тут тебе и конспирологические заговоры всех и вся,и подгонки, и 400 сравнительно честных способа отъема денег у населения)

ну а чем тебя обычная регрессия не устраивает?
я вот не верю что Йохансевские или Гранжерские выходы будут радикально лучше
вопрос по тесту возник из желания посмотреть на несколько инструментов, не используя просто лин. регрессию из-за ее недостатков. энгла-грейнджерса не подходит,т.к. используется только для 2 рядов. а вот йохансен позволяет вроде как исследовать до 12 рядов совместно. поскольку там всякие заговорщицкие закорючки математиков, то я в него тоже сильно не вкуривал,и какие там используются методы точно не знаю. есть инфа на 46% (именно на 46), что вся та же регрессия обыкновенная. как вариант - можно посчитать веса через РСА,построить модель и уже ее проверить на стационарность. но все упирается в то,что все математики гады и обманывают простых обывателей со своей стационарностью)) на рынке нет порядка)
 

transcendreamer

Местный знаток
вот попалась интересная статья
первая ссылка сломалась, сделай короткую ссылку через https://goo.gl/

_https://quantsniper.files.wordpress.com/2013/05/spreads1.pdf
хорошая подборка, где-то так я и ожидал увидеть,
некоторые спреды там весьма посредственного качества,
так что их функция ничего особоенного

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

бралось стационарное окно
мрак и тлен

новые данные не учитывались
двойной тлен

бралось фиксированное среднее
тройной тлен

многие синтетики отработали сразу на переходе на ООС как минимум 1 раз
Да, это часто встречается, на мой взгляд, если только на рынке нет каких очень серьезных изменений, то бывает что спред "отработает" разок прежде чем улетит в неизвестность, тут еще сказывается технический анализ и свойства волатильности, так как обычно после импульса бывает коррекция, но конечно не гарантируется что улетит сразу или откат будет совсем небольшим.....

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

в целом же классическая спред-возвратная торговля без хитроумных изыском в 2016 году видится как достаточно мрачный тлен

при варианте с 3 акциями в синтетике мы получаем 1млн! различных сочетаний
хыхы

да ты монстр

полученная модель проверялась по адф тесту. затем смотрелось поведение синтетиков
вообще очень годный тест
но это не значит что комбинации автоматически пригодны для торговли
например я взял первую тройку
построил спред по твоим бетам
подправил немного для лучшего вида
с 2015 года все хорошо
но на бэкварде видно что происходит со спредом
на и в расчетном интервале тоже не слишком то уверенно
 

Вложения

  • Без названия.png
    Без названия.png
    68,6 КБ · Просмотры: 49

transcendreamer

Местный знаток
со всем вышесказанным согласен на 146% ))) тут тебе и конспирологические заговоры всех и вся,и подгонки, и 400 сравнительно честных способа отъема денег у населения)


вопрос по тесту возник из желания посмотреть на несколько инструментов, не используя просто лин. регрессию из-за ее недостатков. энгла-грейнджерса не подходит,т.к. используется только для 2 рядов. а вот йохансен позволяет вроде как исследовать до 12 рядов совместно. поскольку там всякие заговорщицкие закорючки математиков, то я в него тоже сильно не вкуривал,и какие там используются методы точно не знаю. есть инфа на 46% (именно на 46), что вся та же регрессия обыкновенная. как вариант - можно посчитать веса через РСА,построить модель и уже ее проверить на стационарность. но все упирается в то,что все математики гады и обманывают простых обывателей со своей стационарностью)) на рынке нет порядка)

ну это скорее сами трейдеры себя обманывают уверовав в некие математические иллюзии
а точнее приписав им некие дополнительные свойства которые изначально и не декларировались
например сейчас есть распространённый миф о том что на ренко графике индикаторы работают лучше
..........................
если ты по хардкору взялся за R то можно запилить свой метод оптимизации
например в качестве целевой функции то что обсудали ранее:
отклонение со штрафом за ассиметричность
например D^2 * bars^2
D=отклонение, bars=число баров подряд по одну сторону от 0
 

ivanivan

Местный житель
ссылку поправить уже нельзя. привожу ее тут _goo.gl/RzU7kG
там у него довольно интересные статьи на сайте.
разумеется, на более дальнем сроке на бэкварде будет развал синтетика. мы же исходим из предпосылки,что на заданном участке нам удалось зацепить "коинтегрированность" и будем ее использовать на некотором коротком ООС.затем снова перестраивать и проверять не потерялись ли связи между активами.
без фундамента ,само собой,не бывает никакой ТРУ коинтеграции,которая длилась бы годами без изменений. хотя вон ару порвало же на сбере-сберприв.
ниже тру коинтеграция)) уже приводил ее в пример. 8 лет,Как с куста - прямая линия,Как у покойника)) не надо снова говорить,что профита там нет) речь о тру связях в активах)
 

Вложения

  • 111.png
    111.png
    106 КБ · Просмотры: 41

transcendreamer

Местный знаток
странно а у меня не открывается даже так

мы же исходим из предпосылки,что на заданном участке нам удалось зацепить "коинтегрированность" и будем ее использовать на некотором коротком ООС.затем снова перестраивать и проверять не потерялись ли связи между активами.
хороший план но только на относительно неизменном рынке
стоит выйти какой-то значимой новости и всё привет
или плохая отчетность по эмитенту

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

ivanivan

Местный житель
странно а у меня не открывается даже так


хороший план но только на относительно неизменном рынке
стоит выйти какой-то значимой новости и всё привет
или плохая отчетность по эмитенту


волшебства нет, два сбербанка могут разойтись на два месяца и висеть так

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

acronis7

Новичок форума
- стационарное окно - берем,например,за 4 года считаем и затем используем полученные результаты в течении N-го периода. например,в течении года.
- скользящее окно - берем ,например,250 раб.дней и каждый день сдвигаем окно на шаг вперед,соответственно пересчитывая все результаты.
- стационарное окно с учетом вновь поступивших данных - т.е. каждый день увеличиваем окно на шаг
лучше все же говорить по теме конструктивно без комментариев типа - все плохо! мы все умрем! тут рыбы нет! и т.п.)) можно даже с обоснованием)

скользящее окно, до открытия сделки. когда сделка уже открыта, то все превращается в стационарное окно, аж пока не произойдет закрытие.

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

acronis7

Новичок форума
НО! даже не смотря на все это хорошо видно, что многие синтетики отработали сразу на переходе на ООС как минимум 1 раз свою стационарность. если изменить стационарное окно на скользящее,можно предположить,что результаты были бы лучше.
у хренфикса тоже инструменты не связанные между собой.
у него скользящее окно. и результаты не лучше.
---------------------------------------------------------
в recycle тоже на первый взгляд инстременты отрабатывают хотя бы одну стационарность. но если собрать статистику - то все совсем не так.
 
Последнее редактирование:

transcendreamer

Местный знаток
у хренфикса тоже инструменты не связанные между собой.
у него скользящее окно. и результаты не лучше.
---------------------------------------------------------
в recycle тоже на первый взгляд инстременты отрабатывают хотя бы одну стационарность. но если собрать статистику - то все совсем не так.

всё зависит от того как будут поставлен границы
если правая граница премо перед новостями
то вероятность высока что спред заметно порвёт
 

acronis7

Новичок форума
а теперь вернемся к тому ДЦ с 100 cfd на американские акции. при варианте с 3 акциями в синтетике мы получаем 1млн! различных сочетаний этих акций.
ниже результат работы скрипта, считал этот миллион вариантов 9.5 часов. что делалось-
брался период in-sample 250дней (т.е. с учетом еще периода ООС получается -300 дней от текущей даты),на нем считалась регрессия для 3 акций,полученная модель проверялась по адф тесту. затем смотрелось поведение синтетиков - оставлялись только те, что были относительно горизонтальны.т.е. ни одна точка синтетика не вылезала за границы канала медиана+-3 станд.отклонения. отфильтрованные таким образом синтетики проверялись уже периоде in-sample + ООС (это еще 50 дней.) таким образом предполагаем хотя бы некоторую жизнеспособность полученного синтетика. если и при этом он не выскакивал за пределы указанного канала, то делался окончательные расчет весовых коэфтов на периоде [текущая дата - 250].
в итоговую таблицу по таким проверкам попали всего около 350 из 1млн. синтетиков с условиями-
попарная корреляция >0.75 и p-value <0.1
это может быть обычной случайностью. если мы возьмем 1000 000 графиков случайного блуждания, то полюбому штук 300 из них будут красивыми.
-------------------------------------------------------------------------
а зачем ты рассчитывал синтетики, а потом еще и смотрел попарную корреляцию. это же вообще из разных опер.)
 

ivanivan

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

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

ivanivan

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

acronis7

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