3Qu
3Qu личный блог
04 сентября 2021, 00:24

Ох, уж, эти выбросы.

При анализе рыночных данных оч мешают выбросы. Гэпы всякие, которые зашкаливают за все нормальные диапазоны, и в течение длительного времени забивают все индикаторы и весь анализ. Вот такие, например:
Ох, уж, эти выбросы.
Здесь бы до 1.5 -1.7 все ограничить, и нормально бы было.
Для этого обычно применяются всяческие ограничители, типа сигмоидов и им подобных:
Ох, уж, эти выбросы.
По Х — вход, по У — выход. Ясно, что далеко, в данном случае ±1 не уйдет, а основной диапазон ±0.5 практически линеен.
Ну, и, как водится, код функции на Python:
def sigmoidnorm(x, alfa = 1.0, xmin = -1.0, xmax = 1.0):
    return (xmax - xmin)*((1 / (1 + math.exp(-x*2.0*alfa))) - 1.0) + xmax
Все простенько. Все диапазоны регулируются. Входные данные сигмоида с помощью alfa и всяческих преобразований надо сделать самим. Выход настраивается уже самой функцией сигмоида.

PS Кстати, этот код можно перевести и применить на Lua, и многие индикаторы после гэпов будут вести себя более адекватно.
43 Комментария
  • NikolasM
    04 сентября 2021, 00:37
    Насколько строчек вверх в списке Форбс двигает этот сигмоид?
  • Glago
    04 сентября 2021, 08:52
    правильно ли я понял, что на втором графике это «некая» функция Хэвисайда, только для индикаторов?
    Ещё непонятно, что на первом графике по оси х и по оси у
  • Eugene Bright
    04 сентября 2021, 09:55
    Либо формула неполная, либо опечатка…
  • SergeyJu
    04 сентября 2021, 12:25
    Выбросы бывают разной природы. Если это ошибки поставщика данных, или внебиржевые сделки по нерыночным ценам, или еще какая-то подобная хрень, то никаких сигмоидов. Резать нах, не дожидаясь перитонита. 
    Если же это реальные сделки на реальной бирже, совсем не факт, что надо их как-то специально обрабатывать. Я бы сначала посмотрел на индикаторы, которые такими данными сбиваются.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн