2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Метод для предсказания курса валют
Сообщение11.09.2019, 08:58 


11/09/19
13
Я разрабатываю торгового робота для пары BTC/USD (сам - программист корпоративных систем, с образованием теорфизика).
Текущая постановка проблемы следующая:
- есть временной ряд с ценами
- стоит задача найти лучшую оценку среднего значения цены
- лучшее значение понимается в смысле значения функционала величины суммы трейдов:
* после каждого значения цены $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-го трейда
* считаем сумму трейдов для всех цен
Если сумма трейдов положительная, это означает, что если в реальности открывать и закрывать позиции в зависимости от знака $sign$, то результат будет положительный (и для того, чтобы получить прибыль достаточно открывать и закрывать позиции с ценой, в которую заложена компенсация комиссии биржи, риск и прибыль).

Какой класс алгоритмов есть смысл попробовать (и на чем основана уверенность, что именно в этом классе алгоритмов должно быть представитель с положительным значением прибыли)?

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


09/05/12
18736
Кронштадт
 i  ady1981, не забывайте окружать формулы долларами. Выше поправлено.

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


16/07/14
3176
Москва
Есть смысл попробовать алгоритм $p_{average;i} = p_{current;i}$ (который советует ничего не продавать и не покупать). Ожидание прибыли без учета комиссии у всех алгоритмов одинаковое (нулевое, т.к. игра на текущий момент с нулевой суммой), так что есть смысл экономить на комиссиях.

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


11/09/19
13
mihaild в сообщении #1414547 писал(а):
Есть смысл попробовать алгоритм $p_{average;i} = p_{current;i}$ (который советует ничего не продавать и не покупать). Ожидание прибыли без учета комиссии у всех алгоритмов одинаковое (нулевое, т.к. игра на текущий момент с нулевой суммой), так что есть смысл экономить на комиссиях.

$p_{average;i} = p_{current;i}$ - невозможно, так как в момент вычисления $p_{average;i}$,
$p_{current;i}$ - еще не известно.
И этот вариант не подходит под требование, что ожидаемая прибыль будет > 0 (она будет гарантировано меньше или равно 0).

-- 12.09.2019, 00:10 --

mihaild в сообщении #1414547 писал(а):
Есть смысл попробовать алгоритм $p_{average;i} = p_{current;i}$ (который советует ничего не продавать и не покупать). Ожидание прибыли без учета комиссии у всех алгоритмов одинаковое (нулевое, т.к. игра на текущий момент с нулевой суммой), так что есть смысл экономить на комиссиях.

И если это решение совпадает с решением с максимальной прибылью, то тоже хотелось бы увидеть обоснование этого факта :).

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


01/09/13
2444
ady1981 в сообщении #1414614 писал(а):
этот вариант не подходит под требование, что ожидаемая прибыль будет > 0

А откуда взялась идея что это требование выполнимо?
ady1981 в сообщении #1414614 писал(а):
то тоже хотелось бы увидеть обоснование этого факта

Допустим, что все пользуются этим "решением с положительной прибылью"...

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


16/07/14
3176
Москва
ady1981 в сообщении #1414614 писал(а):
$p_{average;i} = p_{current;i}$ - невозможно, так как в момент вычисления $p_{average;i}$,
Пардон, должно было быть $p_{average;i} = p_{current; i - 1}$ - т.е. предсказание "будет такая же цена как сейчас".
ady1981 в сообщении #1414614 писал(а):
И если это решение совпадает с решением с максимальной прибылью, то тоже хотелось бы увидеть обоснование этого факта
Без учета комиссий все стратегии дают одинаковое ожидание прибыли. В самом деле, пусть есть какая-то, дающая ненулевое ожидание прибыли. Без ограничения общности считаем его положительным (иначе просто инвертируем стратегию). Теперь замечаем, что на рынке много агентов (почти все деньги у таких), которые способны реализовать эту стратегию, и которые из всех стратегий выбирают максимизирующие ожидание прибыли. Получим, что на рынке много агентов, имеющих положительное ожидание прибыли. Но так не бывает, т.к. средняя прибыль по всем агентам нулевая.

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


11/09/19
13
Цитата:
Без учета комиссий все стратегии дают одинаковое ожидание прибыли.


На данном этапе интересует "лучшая" оценка средней цены. Очевидно, что она не зависит от размера комиссии.

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

Это было бы верно, только в случае, если бы все агенты выставляли ордера в соответствии со своей прибыльной стратегией и в этом случае сделок просто бы не было :).
Однако, сделки - есть, и это означает (с учетом существования комиссии за сделку), что, либо у всех агентов, либо у части агентов стратегия трейдов убыточная. Но мы не знаем размер этой части.
Это, кстати, отдельная интересная задача - можно ли только по объемам сделок и средней комиссии за сделку делать выводы о проценте сделок с прибыльной стратегией (хотя бы о том, растет она или падает...) :). Как-то очевидно, что нельзя (но может быть и тут есть какая-то "физика" из-за которой - иногда можно делать такие выводы... :)).

=====

На самом деле, общую архитектуру этого метода можно описать в общем виде:
- есть исторические данные с ценами (считаем, что все данные - без разрывов по времени).
- все данные разбиваются на окна данных, размером $h$
- для каждого окна можно построить описательный вектор $[x(i,1),...,x(i,n)]$ и значение цели предсказания $y(i)$
- задача состоит в построении наиболее точного предсказания $f(x(i-1,1),...,x(i-1,n)) \to y(i)$ для исторических данных

Очевидно, что $x(i,j)$ - это функции частот, а $y(i)$ - это медиана цены в некотором интервале.

Вопрос в том, как разложить $f(x(i-1,1),...,x(i-1,n)) в некоторый ряд и взять в нем первые члены так, чтобы "не выплеснуть ребенка вместе с водой" и дальше найти оптимальное значение на исторических данных.

Это первая часть для разработки реального робота. Вторая часть - добавить оценки риска и давать советы с учетом значений цены и значения риска.

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


13/12/05
3603
Прежде, чем подобным заниматься, естественно было бы сначала проверить гипотезу о том, что рыночные цены не являются броуновским случайным блужданием.

-- Чт сен 12, 2019 12:50:50 --

ady1981 в сообщении #1414647 писал(а):
найти оптимальное значение на исторических данных

кто сказал, что будущее повторит прошлое?

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


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

Вот результат с оценкой функционала трейда для некоторой модели:

Изображение

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


10/03/16
985
mihaild в сообщении #1414547 писал(а):
Ожидание прибыли без учета комиссии у всех алгоритмов одинаковое (нулевое, т.к. игра на текущий момент с нулевой суммой)


Безусловное матожидание нулевое, это действительно следует из нулевой суммы. Каким образом отсюда следует, что условное матожидание (при условии заданного алгоритма) также нулевое?

Интересно -- стоит появиться теме про трейдинг, и она тут же собирает все расхожие стереотипы.

Стереотип 1:

Geen в сообщении #1414621 писал(а):
Допустим, что все пользуются этим "решением с положительной прибылью"...


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

Стереотип 2:

mihaild в сообщении #1414628 писал(а):
Получим, что на рынке много агентов, имеющих положительное ожидание прибыли. Но так не бывает, т.к. средняя прибыль по всем агентам нулевая.


(выделение мое). Все абсолютно верно до момента "Но так не бывает" - 5% выигрывают, 95% (из которых 99.999% - планктон) -- проигрывают. Отсюда матожидание = 0, но "так не бывает" отсюда не следует.

Стереотип 3:

Padawan в сообщении #1414648 писал(а):
кто сказал, что будущее повторит прошлое?


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

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


13/12/05
3603
ozheredov в сообщении #1414653 писал(а):
но есть же закономерности

В этом и вопрос, есть ли они. Как это доказать? Пока мне это не очевидно.
Padawan в сообщении #1414648 писал(а):
естественно было бы сначала проверить гипотезу о том, что рыночные цены не являются броуновским случайным блужданием

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


11/12/16
5690
ady1981
"Я придумал и сделал межгалактический космолёт. Осталось придумать и сделать двигатель для него"

Помедитируйте вот над этим:
Geen в сообщении #1414621 писал(а):
Допустим, что все пользуются этим "решением с положительной прибылью"...


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

-- 12.09.2019, 12:29 --

ozheredov в сообщении #1414653 писал(а):
Допустим, все перестали быть идиотами, лентяями и долбоящерами. Тогда разрушится социальная пищевая цепочка, и начнется страшная апокалиптическая война всех против всех. Пока что этого не наблюдается. Хотя для того чтобы "началось в колхозе утро" надо всего лишь всем перестать быть идиотами, лентяями и долбоящерами.


Это вполне наглядно проявляется в игре в покер на низких блайдах. Вот там рыбы много. Да и то, ловля её - тяжелое, нудное и неблагодарное занятие, потому что на каждую рыбу имеется куча рыбаков, которые, конечно, не считают себя "идиотами, лентяями и долбоящерами", и старательно нарабатывают скилз игры в мультитейбл. :mrgreen:

Что же касается биржевой торговли, то в качестве рыбаков там выступают либо маркетмейкеры и-или инсайдеры, а в качестве рыбы - все остальные, "частные инвесторы". :mrgreen:

-- 12.09.2019, 12:33 --

ozheredov
Нельзя утверждать, что невозможно создать стратегию, которая будет давать плюс (больший чем рост рынка в целом) в данное время на данном рынке.
Но универсальную (то есть работающую всегда для данной игры) выигрышную стратегию для симметричной игры с нулевым банком создать нельзя.

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


16/07/14
3176
Москва
ady1981 в сообщении #1414647 писал(а):
либо у всех агентов, либо у части агентов стратегия трейдов убыточная
Не путайте ожидание случайной величины с её реализацией. То, что агент получил прибыль (или убыток) - не означает, что ожидание прибыльности его стратегии было ненулевым.
ady1981 в сообщении #1414647 писал(а):
На данном этапе интересует "лучшая" оценка средней цены. Очевидно, что она не зависит от размера комиссии.
Если рынок эффективен (а он уже достаточно велик и свободен, чтобы требования для эффективности выполнялись), то не может существовать (доступная многим агентам) оценка, лучшая чем "цена будет такой же как сейчас", на величину, превышающую комиссии за сделки.
ozheredov в сообщении #1414653 писал(а):
Каким образом отсюда следует, что условное матожидание (при условии заданного алгоритма) также нулевое?
Только из этого - не следует, конечно. Но было два утверждения: 1) мат. ожидание прибыли всех алгоритмов одинаковое; 2) игра с нулевой суммой. Из этого уже следует, что ожидание прибыли всех алгоритмов нулевое.
ozheredov в сообщении #1414653 писал(а):
95% (из которых 99.999% - планктон) -- проигрывают
Если 90% населения - дураки, которые даже не способны понять, что они дураки, и не умеют правильно оценивать аргументацию, то вас не должно волновать, что делать по их поводу. Вас должно волновать, не входите ли вы в эти 90%. С чего вы взяли, что не входите? Ах, у вас есть хорошие аргументы? А теперь перечитайте внимательно первое предложение.

(Оффтоп)

Естественно "вы" здесь обобщенное, а не конкретно про ozheredov
Так рынок же. Деньги от "планктона" переходят к тем, кто "умеет". Причем довольно быстро. Т.к. денег у "планктона" конечное количество, то за конечное (и на практике довольно малое время) большая часть денег окажется у тех, кто "умеет". И дальше им придется играть друг против друга.
EUgeneUS в сообщении #1414655 писал(а):
Что же касается биржевой торговли
Только нужно учитывать, что фондовые биржи - игра с положительной суммой (индексы растут).

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


11/12/16
5690
mihaild в сообщении #1414656 писал(а):
Только нужно учитывать, что фондовые биржи - игра с положительной суммой (индексы растут).

До следующего кризиса :mrgreen:

-- 12.09.2019, 12:37 --

mihaild в сообщении #1414656 писал(а):
Но было два утверждения: 1) мат. ожидание прибыли всех алгоритмов одинаковое; 2) игра с нулевой суммой. Из этого уже следует, что ожидание прибыли всех алгоритмов нулевое.

Еще требуется симметричность игры.

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


18/12/17
61
ady1981, в интернете есть небольшая книжка, "Ефимов А.Н., Предсказание случайных процессов. - М.:Знание, 1976. - 64 с.". Там в конце приводится модель Н. Винера для случая военной ПВО, когда лётчик (гипотетически) крутит штурвал по гауссову распределению, чтобы придать траектории самолёта полную непредсказуемость, но самолёт, из-за массы, не успевает реагировать мгновенно. В результате возникает корреляция во времени. Не особо большая, но для ракеты достаточно, чтобы сформировать поправку и предсказать место, где окажется цель.

Если по этой "технологии" оценить инерционность рынка, то она окажется около 15 минут. Хороший робот с быстрыми и правильными каналами может кое-что успеть. Лично я оценивал, давно правда, среднестатистический выигрыш с обычных валютных пар с учётом комиссии и инерционности рынка. Выходило уручающе - около 0,3% годовых, если не сделать ни одной ошибки. Насчёт BTC не знаю, я высказался лишь по технике прогноза.

На всякий случай повторюсь, что 0,3% годовых - это оценка по модели Винера из упомянутой книги, а не по какой-то личной доморощенной модели.

Впрочем, "чудо - это то, чего быть не может, но вдруг происходит". Искренне желаю удачи.

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

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



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

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


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

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