Случайные процессы


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

Пример — движение молекулы газа в сосуде, при наличии других. Ну или цена хорошо торгуемой акции какой-нибудь.

Иногда их описывают в виде с.д.у. — стохастических дифференциальных уравнений. Как вот как-то так:

$$ dS_t = \mu*S_t*dt+\sigma*S_t*dW_t $$

Это геометрическое броуновское движение, где изменение величины зависит от самой величины, и еще от случайности под названием «случайное блуждание». Приращения случайного блуждания — нормально распределенные случайные величины.

Для такого процесса по траекториям можно делать оценки его параметров ($\mu, \sigma$ — снос и разброс которые).

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

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

Stack more layers

«добавьте больше слоёв»

Нейросети можно пробовать обучать восстанавливать параметры. Это даже срабатывает, при фиксированном генераторе случайных чисел. Параметры не (совсем) те, но траектории похожи.

random seed tuning — для разных затравок генератора случайных чисел — сравнение реальных и траекторий с восстановленными параметрами

Дальнейшие продолжения совпадают схожим образом, если хотите — проверьте, немного поменяв код. Я вот менял, и видел такое.

Черным отсечка, до какого момента видела значения нейросеть

Выглядит красиво.

Знал бы random seed — жил бы в Сочи

pfhedge вроде добавлял какой-то свой генератор внутрь

Подбирать затравку (random seed) я конечно пытался, не вручную естественно, всякими ухищрениями. Но фреймворк дифференцирования графов вычислений, pytorch, сказал (это точная цитата) мне good luck.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *