2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5  След.
 
 Re: Метод для предсказания курса валют
Сообщение07.10.2019, 10:03 


07/08/14
4231
Padawan в сообщении #1419494 писал(а):
То, что на броуновском движении стабильно (т.е. с положительным мат.ожиданием) зарабатывать в принципе нельзя.
Поэтому когда прям броуновское, не надо торговать, а когда не броуновское - надо. Оно ж не всегда броуновское (даже в стакане воды).

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение08.10.2019, 14:52 


10/03/16
4444
Aeroport
ady1981 в сообщении #1419466 писал(а):
Не совсем понял, как эти вопросы связаны с первоначальными вопросами данной дискуссии.


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

Padawan в сообщении #1419494 писал(а):
То, что на броуновском движении стабильно (т.е. с положительным мат.ожиданием) зарабатывать в принципе нельзя. И все торговые системы теряют какой-либо смысл. Они не лучше и не хуже случайных сделок. А с учетом комиссии и спреда вообще получается, что оптимальная стратегия - не торговать совсем.


И это правильно. Таким образом, вам нужно:

А) Правильно поставить задачу: обмозговать в своей голове вот этот тезис

ozheredov в сообщении #1419287 писал(а):
Понятно, что проиграете вы тогда, когда лось будет достигнут раньше, чем профит, и выиграете, если профит пересечется раньше лося. Как именно будет колебаться или флетоваться (flat), или трендоваться курс между этими двумя уровнями поглощения, вам должно быть безразлично.


и перестать гоняться за предсказанием курса в равномерной или СКВ-норме, как это делает стадо необразованного планктона.

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

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение21.10.2019, 13:34 


11/09/19
19
Вообщем, "резолюция" следующая :)
1. опыт наблюдений и сбора данных подсказывает мне какую "физику" явления можно ожидать, в том числе, каким должен быть характеристический вектор X, для которого цель предсказания должна быть линейной (или, по крайней мере, монотонной по координатам X).
2. все остальные параметры (которые приходится вводить из "физики") можно оценивать через максимум функционала суммы трейдов (из моего первого поста).
3. в итоге, для имеющихся данных и заданной "физики" получится некоторая модель. Качество этой модели можно также проверить через функционал суммы трейдов для оставшихся данных.
4. если результат будет статистический хороший - то "физика" была хорошей и систематические ошибки приемлемы. Можно двигаться дальше.
5. если результат будет статистически плохой, значит либо "физика" была плохой, либо систематические ошибки неприемлемы, либо был статистический выброс :). В этом случае, в особенности, если получится оценить вероятности систематической ошибки , это будет некоторый результат, о том, что этот вариант "физики" изучен и будущие исследователи могут его отбрасывать. Напишу об этом подробную статью :).

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение21.10.2019, 16:07 
Аватара пользователя


18/12/17
126
Позвольте полюбопытствовать: сколько вариантов белого шума нужно "отбросить", чтобы оставшаяся часть стала предсказуемой?

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение17.12.2019, 15:36 


11/09/19
19
Таки, да!
Используя комбинацию идей, о которых я писал выше, удалось построить адекватную модель, с небольшим количеством параметров.

Информационный сервис с оценками по модели: https://cdata-miner-ui.herokuapp.com

Комментарии:
- красный график - это график оценки средней цены на следующие 24 часа. Грубо говоря, это основанная только на теханализе "честная цена", по которой нужно покупать или продавать BTC, если сделку нужно провести в ближайшие 24 часа.
- оценка средней цены оптимальна "по построению" для заданного начального набора начальных параметров
- оценка выдается, если в данный момент есть достаточно данных для оценки (если данных нет, то робот находится в режиме набора данных)
- зеленый график - этот тот самый функционал суммы трейдов. Через этот функционал сразу видно, где робот ошибся (в краткосрочной перспективе).

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

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение18.12.2019, 02:02 


10/03/16
4444
Aeroport
ady1981 в сообщении #1430659 писал(а):
Таки, да!
Используя комбинацию идей, о которых я писал выше, удалось построить адекватную модель


Откудв видно, что ваш робот торгует лучше чем стратегия buy&hold?

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение18.12.2019, 20:53 


11/09/19
19
ozheredov в сообщении #1430766 писал(а):
Откудв видно, что ваш робот торгует лучше чем стратегия buy&hold?

- зеленый график - это сумма трейдов (нормированных на объем покупки/продажи): при каждой предсказанной цене робот открывает позицию (делает покупку 1 BTC, если текущая цена меньше предсказанной, и продажу, если текущая цена больше предсказанной) и закрывает позицию при смене направления сделки. Грубо говоря, значение этой суммы равной 1 соответствует прибыли в 100% (относительно номинального объема).
- в данный момент робот ничего не торгует, на самом деле, он оценивает "среднюю цену в следующие 24 часа". Эту цену можно использовать как цену для закрытия трейда (т.е. когда по стратегии нужно возвращаться в начальную позицию)
- алгоритм является оптимальным, для заданного набора начальных параметров, по построению. Чтобы получить статистически значимые backtesting результаты нужно количество данных значительно больше, чем есть сейчас.

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение18.12.2019, 22:16 
Аватара пользователя


29/05/17
808
ady1981 в сообщении #1430874 писал(а):
- алгоритм является оптимальным, для заданного набора начальных параметров, по построению. Чтобы получить статистически значимые backtesting результаты нужно количество данных значительно больше, чем есть сейчас.

А чем может помочь ваш сервис, если BTC упадёт на 2000 USD сроком на год из-за спекуляций или решений SEC?

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение18.12.2019, 23:17 


10/03/16
4444
Aeroport
ady1981 в сообщении #1430874 писал(а):
при каждой предсказанной цене робот открывает позицию (делает покупку 1 BTC, если текущая цена меньше предсказанной, и продажу, если текущая цена больше предсказанной) и закрывает позицию при смене направления сделки


Торговля = открытие и закрытие сделок

ady1981 в сообщении #1430874 писал(а):
в данный момент робот ничего не торгует


Выше вы сказали, что торгует.

ady1981 в сообщении #1430874 писал(а):
алгоритм является оптимальным, для заданного набора начальных параметров, по построению


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

P.S. В Правилах форума прямо оговаривается недопустимость превращать тему в личный блог. В случае продолжения игнорирования моих вопросов, забалтывания обсуждений и замусоривания темы бессмысленными картинками, я нажму восклицательный знак под вашим сообщением, предоставив функцию истолкования правил модераторам. И поверьте, они умеют доходчиво объяснять

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение19.12.2019, 15:34 


11/09/19
19
ozheredov в сообщении #1430886 писал(а):
ady1981 в сообщении #1430874 писал(а):
при каждой предсказанной цене робот открывает позицию (делает покупку 1 BTC, если текущая цена меньше предсказанной, и продажу, если текущая цена больше предсказанной) и закрывает позицию при смене направления сделки

Выше вы сказали, что торгует.


В данный момент робот не выдает никаких советов для сделки, поэтому он торговать не может. При желании можно добавить советы типа "fix-loss", но от них, понятное дело, будет мало пользы.
Зеленый график - это техническая величена (слова "покупка" и "продажа" использовались в объяснении, как эта величина вычисляется).

Цитата:
Я прошу сравнить эффективность вашего с одним единственным алгоритмом - buy&hold

Сравнивать алгоритм с другими и доказать его полезность - это следующий этап работ.
В данный момент есть проблема с тем, что дисперсия суммы трейдов (и аналогичных backtesting функционалов) для имеющегося объема данных - на порядок превышает значение результата.
Например, были результаты вида:
1) model 1: -0.02 (+/- 0.2)
2) model 2: +0.01 (+/- 0.3)
Такие результаты сравнивать невозможно (и соответственно, выбрать лучшего представителя - тоже невозможно).

ozheredov в сообщении #1430886 писал(а):
P.S. В Правилах форума прямо оговаривается недопустимость превращать тему в личный блог. В случае продолжения игнорирования моих вопросов, забалтывания обсуждений и замусоривания темы бессмысленными картинками, я нажму восклицательный знак под вашим сообщением, предоставив функцию истолкования правил модераторам. И поверьте, они умеют доходчиво объяснять

Не совсем понял суть.
На все вопросы по существу я отвечаю. Более того, я им рад. Если какие-то вопросы остались без ответа, то значит они не подошли по этому критерию.
Можете переформулировать их и, если, они по существу, я отвечу.
А к тому, что у вас есть какие-то восклицательные знаки и вы можете их нажимать - не хочу вас останавливать. Жмите сколько душе угодно :).

-- 19.12.2019, 16:48 --

Mental в сообщении #1430877 писал(а):
А чем может помочь ваш сервис, если BTC упадёт на 2000 USD сроком на год из-за спекуляций или решений SEC?

Почти ничем, очевидно. Вы ждали другой ответ? :)
Маленькая подсказка будет, когда курс только начнет рушиться. Но и эта подсказка в этом случае не будет обоснованной, т.к. курс будет рушится не по тем законам, по которым он обычно скачет :).
В моделе есть условия, которые должны быть выполнены для предсказания. Например: 3 дня не должно быть скачков.
Но, вообще, если случилось что-то, чего раньше никогда не было - не стоит ждать от робота, обученного на истории, хороших советов :).
Чем более уникальное событие случилось, тем больше нужно времени, чтобы все процессы вернулись к своему "стационарному состоянию".
Но если BТС все еще останется BТС, то 3-х дней обычно достаточно для этого.

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение19.12.2019, 20:24 


10/03/16
4444
Aeroport
ady1981 в сообщении #1421837 писал(а):
получится некоторая модель. Качество этой модели можно также проверить через функционал суммы трейдов


ady1981 в сообщении #1414528 писал(а):
значения функционала величины суммы трейдов:
* после каждого значения цены $p_{current;i-1}$ - вычисляется средняя цена $p_{average;i}$ ($i$ - индекс времени)
* если текущая цена больше средней цены ($p_{current;i} > p_{average;i}$), то продаем 1 единицу BTC по текущей цене, если - меньше, то покупаем 1 единицу BTC по текущей цене (храним состояние с количеством купленных или проданных BTC)
* если происходит смена знака $sign=p_{current;i}|p_{average;i}-1$ - то закрываем текущее состояние по $p_{average}$ цене и это значение есть значение 1-го трейда
* считаем сумму трейдов для всех цен


Ваша сумма трейдов это де-факто результат примитивной и достаточно специфической стратегии (виртуальной) торговли. Применять такой критерий это, в принципе, нормально. Далее вы говррите, что ваша модель по этому критерию прокатывает -- так может тому причина бычий тренд, разрывы при открытиях интервалов или еще черт знает чего. Почему именно btc/usd? Вы прбовали применить модель к другим валютным парам, скажем eur/usd, акциям, сырьевым ресурсам типа brent? Не работает? А причины?

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение20.12.2019, 18:35 


11/09/19
19
ozheredov в сообщении #1431018 писал(а):
Далее вы говррите, что ваша модель по этому критерию прокатывает -- так может тому причина бычий тренд, разрывы при открытиях интервалов или еще черт знает чего.

Есть данные за 1 год, которые можно использовать так: полгода - для обучения, и остальные полгода - для тестирования (и выбора лучшего представителя в пространстве начальных параметров).
А) Бычий тренд: в течении полугода на рынке BTC/USD вряд ли есть "бычий тренд" как эффект. Хотя если репрезентативность данных для тестирования испорчена каким-либо постоянным фактором (который оказывает значительное влияние и через какое-то время поменяет свое значение), то, очевидно, результаты тестирования будут тоже испорчены.
Б) Разрывы при открытиях интервалов:
а) разрывы в последовательности данных учитываются - все данные вначале разбиваются на последовательности, в которых разрыв времени данных не превышает 30 минут.
б) малость объема данных во временном интервале не играет роли, т.к. все цены всегда считаются для одного и того же объема.
В) "Eще черт знает чего": да, разумеется, еще много факторов, приводящих к ошибкам:
- баги в коде
- систематическая ошибка самой модели. Очевидно, модель по своей сути, не может учесть всех факторов. Как правило, скорее даже стоит вопрос: достаточно ли факторов учитывает модель, чтобы ее можно было назвать полезной :).
- случайные ошибки. Иногда они настолько велики, что вывод сделать нельзя.

Поэтому и нужно тестирование на репрезентативных выборках (на таких выборках, которые ничем не отличимы от реальных данных в будущем).

Идея со сравнением со стратегией "buy&hold" хороша (в силу своей простоты). Однако, эта стратегия - параметрическая, на самом деле: нужно задавать параметры для определения того, когда покупать и сколько времени держать актив.

Я попробую сравнить вначале со следующим вариантом "buy&hold":
- пропускаем 0 месяц и держим: 1 месяц, 2 месяца и т.д
- пропускаем 1 месяц и держим: 1 месяц, 2 месяца и т.д
- ...

-- 20.12.2019, 19:46 --

ady1981 в сообщении #1431124 писал(а):
Почему именно btc/usd? Вы прбовали применить модель к другим валютным парам, скажем eur/usd, акциям, сырьевым ресурсам типа brent? Не работает? А причины?

btc по своей сути - это распределенная система. Когда все количество BTC достаточно распылится среди огромного количества держателей, этой системой невозможно будет манипулировать -- цена BТС будет зависить только от "физических факторов". А значит, она будет в значительной мере подвержена техническому анализу.
К другим активам я не пробовал применять эту модель. В модель, помимо обучения, заложена какая-то "физика" процессов, которая наблюдается с BTC. Универсальна ли это "физика"? Очевидно, что эта модель не будет работать, например, для ETH/USD, потому что ETH/USD на 90% определяется ценой BTC/USD. Но если этот основной фактор - вычесть, то к этим данным можно будет попробовать применить эту модель. Вероятно, эту же логику можно применить и к другим активам.

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение31.12.2019, 09:51 


11/09/19
19
Пояснение к значениям на графике:
https://cdata-miner-ui.herokuapp.com/faq.pdf
Сам график с значениями предсказаний модели там же: https://cdata-miner-ui.herokuapp.com

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение20.03.2020, 20:32 


19/03/20

44
ozheredov в сообщении #1419770 писал(а):
Начать двигаться в сторону понимания того, когда движение курса начинает отличаться от броуновского, и как можно попытаться поймать этот момент.

Без отсутствия спрэда работал бы метод поиска тренда: открыться случайно в любую сторону, симметрично выставив тейк и стоп, в случае успеха открыться еще раз в эту же сторону, в случае неуспеха перевернуться, и т.д. Пока тренда нет, мат. ожидание равно 0, т.е. ничего не теряешь, малейший тренд выводит на прибыль.
Но спред по парам таков, что делает этот метод бесполезным. Также можно разориться при нехватке стартового капитала, чтобы переждать полосу невезения.

 Профиль  
                  
 
 Re: Метод для предсказания курса валют
Сообщение21.03.2020, 09:36 
Заслуженный участник


13/12/05
4620
Lena-Lisa в сообщении #1445936 писал(а):
Пока тренда нет, мат. ожидание равно 0

При броуновском движении даже при отстутствии спреда этот метод с вероятностью 100 % ведет к разорению, если доля размера ставки $\geqslant\varepsilon>0$ от начального капитала. Можно посчитать функцию распределения времени разорения $F_\varepsilon(x)$.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Модераторы: zhoraster, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group