Блог им. fxseminar

Результат численного моделирования OHLC-представления винеровского процесса

    • 09 сентября 2020, 20:23
    • |
    • Ivan FXS
  • Еще
Не найдя теоретического ответа, выполнил-таки численное моделирование винеровского процесса (случайного блуждания). А именно — OHLC-баров, сформированных суммированием шагов (приращений), имеющих гауссово распределение N(0, 1) (см. «преобразование Бокса — Мюллера»).

Если взять O (Open бара) за ноль и  привести бар к нормировке StDev( С)=1, то получились следующие статистики:

Avg(Abs( С)), Avg((H-L)/2),Avg(H), Avg(-L) — между 0.788 и 0.79

— причем
Avg(Abs( С)) находится в этом диапазоне практически уже при малом количестве шагов (на бар), а вот остальные три величины приходят туда только после 5000 шагов на бар. Видимо, это связано с тем, что "... the algorithm will not produce random variables more than 6.660 standard deviations from the mean" (это про преобразование Бокса — Мюллера в https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform )

Статистика Avg(Abs( С)/(H-L)) начинается выше 0.5, но к 10000 шагов на бар опускается до 0.46 (объяснение, видимо, то же самое).

Может кто-нибудь сформулировать критическую позицию относительно этих результатов?
 
★1
46 комментариев
Извините, а вы это докторскую диссертацию пишете или хобби просто такое? Сформулировать не смогу, но несколько слов понял.
avatar
krolix, не мучайте себя — если не понятно, значит и не надо.
avatar
Хорошо поставил. Но вот, не понял на фига это нужно. Про СБ все давно и хорошо известно.
Вот получили мы некие результаты. И чё?
Обычно подобными делами занимаются с целью получения каких-то вспомогательных результатов для решения какой-то конкретной задачи
avatar
3Qu, да, казалось бы, «про СБ все давно и хорошо известно»… однако когда я начал эту тему (в посте https://smart-lab.ru/blog/644449.php )

— почему-то никто не произнёс, что M(H) = M(Abs( C))…

А вообще, СБ есть «нулевое приближение» модели движения цены. А все«неэффективности рынка», которые пытается эксплуатировать алгоритмический трейдинг — это поправки к (отклонения от) этому нулевому приближению.
avatar
Ivan FXS, даже М(x(t)) = M(x(t +T)), где Т — произвольно.
avatar
Ivan FXS, 
А вообще, СБ есть «нулевое приближение» модели движения цены.
Это априори ясно.
Тем не менее, для большинства стат задач СБ остаётся лучшей моделью рынка.
avatar
3Qu, «лучшей моделью рынка», в рамках которой заработок (алгоритмический) невозможен? Это прямо оксюморон какой-то!
avatar
Ivan FXS, модели никогда не были предназначены для заработка. Модели предназначены для исследований.
А вот для заработка предназначены торговые системы. Иногда они создаются на основе результатов исследований. )
avatar
Ivan FXS, гкх-м… ээээ… Пардон, а зачем вы возитесь с СБ, коли на нем заработать невозможно?
Надо не моделировать винеровский процесс (это уже делали все, включая папуасов), а обрести на рынке Истину.
Аминь.
avatar
Toddler, я ответил выше в реплике с таймингом 20:39

avatar
чтоб что то внятное сказать, надо знать детали твоего моделирования. как ты там моделировал одному куклу известно.
какой рандом-генератор использовал?
avatar
Kapeks, а какая разница -- какой рандом-генератор? Стандартный в VB — Rnd. Вы опасаетесь, что он недостаточно рандомен для таких расчётов?

(Ну то есть, да, если вы разбираетесь в таких нюансах — он идет на второй круг после ~16 миллионов вызовов; если это критично — нужно там его Randomize-ировать.)
avatar
Ivan FXS, я не знаю какой именно у тебя был расчёт. ты детали не раскрыл. нет инфы — нет совета. досвидос.
avatar
Я бы модель делал более приближенной к реальности.
Генерация по единичным событиям: 1) ход на шаг вверх с вероятностью p,
2) ход на шаг вниз с вероятностью p, 3) цена не меняется с вероятностью 1-2*p.
Затем шаги по n штук группируются в свечи. По которым уже считаем статистики.
avatar
MS, реальность такая что в тихие периоды торговли цена рисует синусоиду, которая раскачивается объемом по 4 цикла в одном фрактале. По любому чем меньше тайм, тем выше волатильность и синусоида все более похожа на шум.Но силу тренда определить легко через перекрытие уровней, созданных группами(или одинокими) одноцветных свечей .  Сила вверх  = L -ref(H,-2) . Силу групп считать через среднюю.
avatar
ezomm, да, тихим периодам надо отвести подходящую долю, а модель усложнить всплесками волатильности, когда соседние «тики» могут отличаться не на один шаг.
------------
тут в теме речи о трендах и измерениях их тем или иным способом пока не шло. Со стороны впечатление, что синусоида — условная, когда лучше, когда хуже будет описывать, чем иные кривые. Ну, и «силу» как измерять — вопрос вкуса, тоже будут периоды, когда неважная метрика эта будет.
avatar
Может кто-нибудь сформулировать критическую позицию относительно этих результатов? 

на рынке нет баров. это квантование, или представление, оно умозрительное (наше). есть на самом деле только лента — тиковый поток сделок.
не очень понятно какую вы решали задачу, поэтому и осознанно что то покритиковать кроме того что я написал выше — не получается
avatar
trader_notes, согласен. Но исторические данные, на которых мы строим (и проверяем) торговые системы обычно именно квантованы в виде баров.
avatar
trader_notes, Позволю себе не согласиться, коллега, по крайней мере в части инструментов финансового рынка. Лента сделок не бесконечна, поскольку далеко не все инструменты торгуются круглосуточно с одинаковым объёмом. Позволю себе сделать таки громкое заявление, что на американском рынке акций, таки, есть ДНЕВНЫЕ бары, ибо дневной бар это начавшийся и закончившийся дневной аукцион, где на закрытии бара (закрытии аукциона) проходят максимальные объёмы ордерами MOC и LOC. Таким образом, закрытие дневного аукциона (бара) становится важной ценой, потому как демонстрирует баланс или дисбаланс сил.
И, кстати, многие «сетапы» с дневного фрейма не работают при переносе их на более мелкий тайм-фрейм (кто бы что ни говорил о фрактальности рынка).
Ну и это сугубо моё личное мнение, не претендующее на истину. 
avatar
Antishort, в целом дни (и только они), действительно имеют хоть какой то смысл. хотя даже спекулянты старого времени торговали только по ленте -в ту пору еще телеграфной, от того и названа была так. с ростом популярности фьючерсов в «ямах» стали появлятся понятия «аукцион» и дневное закрытие, тк трейдеры в яме были наиболее активны в часы закрытия. 
но это было так давно, что мне кажется для всех ликвидных инструментов с развитием компьютеров, роботизации, это потеряло смысл 
avatar
Сложно критиковать т.к. цель сия занятия не обозначена.
avatar
Кстати, для получения нормального распределения можно использовать ЦПТ. Берем сумму обычных N рандомов и масштабируем до нормального распределения. Чем больше рандомов в сумме, тем выше максимальный разброс. Лучше применить применить это к Боксу-Мюллеру и тем самым расширить диапазон возможных значений.
avatar
ivanovr, на самом деле поскольку на каждый бар и так суммируется много б-мюллеров, то выходит что предположение о влиянии 6.66 не имеет оснований.
avatar
ivanovr, только благодаря составлению бара из (множества) приращений у нас появляются H и L.
avatar
Ivan FXS, вот, потому по ЦПТ распределение этой суммы будет нормальным, даже если генератор приращений хреновый. Даже если больше 6.66 не дает, это не важно, в сумме все выровняется как надо.
Попробуйте взять просто равномерное 0..1 (с учетом нормировки на матожидание и дисперсию). Думаю при кол-ве рандомов в баре >100 разницы вобще не будет. Так работает ЦПТ.
avatar
ivanovr, странно, то есть вы не видите на выложенном мной картинке поведение кривых внутри красного овала? Статистики заметно меняются вплоть до тысяч шагов на бар даже при том, что я использую N(0, 1) шаги…
avatar
Ivan FXS, если я правильно понял посыл, то вы считаете что для виннеровского процесса распределение величины «максимальное удаление за N шагов» не должно зависеть от N? Вот тут я совсем не уверен.
Возможно, есть точные формулы для такого случая, нужно книжки смотреть.
avatar
ivanovr, нет, не правильно. Когда я составляю бар за K шагов, то на каждом шаге генерирую приращение на основе
N(0, 1/Sqr(K)) — именно благодаря этому у меня получается распределение N(0, 1) у величины C.

А при фиксированном шаге — типа N(0, 1)  --  все статистики бара будут пропорциональны Sqr(K)
avatar
Ivan FXS, я не про C, с которым вроде  нормально, а про «остальные три величины приходят туда только после 5000 шагов на бар». У них же свои, более другие распределения. И свои зависимости матожидания от K.
avatar
ivanovr, 

Avg(H) это и есть «максимальное удаление [вверх] за N шагов [из которых составлен бар]».

Оно ~ Avg(|C|) на всем диапазоне значений «чисел шагов, из которых составлен бар», отображенных на выложенных мною графиках.

А если просто будем наращивать число шагов, не нормируя бар на
StDev( С) = 1, то ВСЕ обсуждаемые статистики будут расти как корень из числа шагов.
avatar
ivanovr, вот статистики для предложенного вами эксперимента. Видно, что при тысячах шагов на бар разницы в самом деле нет. Так что — вооружившись этим знанием — я, возможно, в самом деле, слегка сэкономлю на Боксе—Мюллере. Так что спасибо.

avatar
Ivan FXS, может я из поста чето не уловил, но вроде был вопрос почему одни статистики не зависят от K, а другие вроде как зависят? Или не туда смотрю? (K — число шагов в баре)
avatar
ivanovr, нет, пост прежде всего об окончательных значениях этих статистик (которые значения достигаются, естественно, при большом количестве шагов).
avatar
Ivan FXS, а что, не совпадают с теорией? И что, кстати, говорит теория?
avatar
ivanovr, увы, я не владею этой/такой теорией.

Мне под первым постом ( https://smart-lab.ru/blog/644449.php#comment11593584 ) накидали некоторое количество книжек, но не уверен, что в них есть ответ, ибо они мне оказались не по мозгам.
avatar
Ivan FXS, теория может и не давать ответа, или ответ может не выражаться аналитически. Но даже если и может… зачем???
Радиоуправляемый троллейбус - ЯПлакалъ

avatar
ivanovr, вы сейчас спрашиваете, зачем нужны модели движения цены?
avatar
Ivan FXS, зачем нужны модели без автокорреляций? Понимаю, что например для оценки опционов (т.е. риска), но там вроде «уже все ясно давно». А для чего еще?
avatar

1) ничто не мешает добавить автокорреляцию;

2) я вполне допускаю, что все мои результаты кому-то «уже все ясно давно».

avatar
Главный довод ровно один — распределение приращений цен далеко от нормального. Так что процесс не винеровский.
Довод № 2 — соседние приращения цен ощутимо коррелируют друг с другом, так что о сумме независимых случайных величин речь точно не идет.

В связи с вышеизложенным — приведенное и похожие рассуждения сродни поискам сферического коня в безднах вакуума. Увлекательно, но зачем?

С уважением

P.S. Нулевое приближение для синусоиды — это прямая. Но Вы же в самом деле не собираетесь этим пользоваться? Тем более, пытаться заработать на этом?
avatar
Мальчик Buybuy, 
соседние приращения цен ощутимо коррелируют друг с другом

— это тики что ли (соседние)? Все другие «приращения» — точно также «квантование, или представление, оно умозрительное (наше)», как было сказано выше про бары.
avatar
Ivan FXS, да

И тики, и минутные бары
Чем выше таймфрейм, тем слабее корреляция

С уважением
avatar
Мальчик Buybuy, понятие «нулевое приближение» — в самом деле не слишком однозначно определённое. Лично мне не кажется, что 

«нулевое приближение для синусоиды — это прямая»…
avatar
Кстати, если кому нужны «винеровские HLC-бары» — могу накидать.

avatar

теги блога Ivan FXS

....все тэги



UPDONW
Новый дизайн