Forwarded from MOEX - Московская биржа
«Опционы: основы торговли»
На бесплатном вебинаре вы узнаете, как выбирать подходящие для вашей стратегии деривативы, как продавать и покупать опционы, а также настроите специальную программу для торговли QUIK.
«Скальпинг: авторская стратегия — 2023 на практике»
На курсе вы разберете стратегию скальпинга, поймете, как торговать спокойно и эмоционально адаптироваться под ситуацию, а также увидите примеры реальных сделок, заключенных по авторской методике.
«Опционные стратегии для начинающих трейдеров»
Спикер расскажет, как торговать опционами без погружения в сложную математику, как использовать опционы для хеджирования рисков и как создавать и реализовывать разные стратегии в трейдинге.
Будем ждать вас на занятиях! А если не сможете прийти на онлайн-уроки, вышлем запись и все необходимые материалы — нужно будет только зарегистрироваться по ссылкам на интересующие вебинары.
Please open Telegram to view this post
VIEW IN TELEGRAM
#ml #medicine #asthma #breastcancer
Интересная structure-leveraged функция потерь.
https://www.youtube.com/watch?v=_5H8fwAZQjc
Интересная structure-leveraged функция потерь.
https://www.youtube.com/watch?v=_5H8fwAZQjc
YouTube
Clinical machine learning for risk prediction - Mark Craven
On May 6-7, 2019, the National Human Genome Research Institute (NHGRI) sponsored its 12th Genomic Medicine meeting: Genomic Medicine XII: Genomics and Risk Prediction. More: https://www.genome.gov/event-calendar/genomic-medicine-xii-genomics-and-risk-prediction
#featureselection #knockoffs #hmm #fdr
“The Knockoffs Framework: New Statistical Tools for Replicable Selections”
Emmanuel Candès, Stanford University
Abstract: A common problem in modern statistical applications is to select, from a large set of candidates, a subset of variables which are important for determining an outcome of interest. For instance, the outcome may be disease status and the variables may be hundreds of thousands of single nucleotide polymorphisms on the genome. In this talk, we develop an entirely new read of the knockoffs framework of Barber and Candès (2015), which proposes a general solution to perform variable selection under rigorous type-I error control, without relying on strong modeling assumptions. We show how to apply this solution to a rich family of problems where the distribution of the covariates can be described by a hidden Markov model (HMM). In particular, we develop an exact and efficient algorithm to sample knockoff copies of an HMM, and then argue that combined with the knockoffs selective framework, they provide a natural and powerful tool for performing principled inference in genome-wide association studies with guaranteed FDR control. Finally, our methodology is applied to several datasets aimed at studying the Crohn’s disease and several continuous phenotypes, e.g. levels of cholesterol.
This is joint work with Rina Barber, Yingying Fan, Lucas Janson, Jinchi Lv, Chiara Sabatti and Matteo Sesia.
Institute for Pure and Applied Mathematics, UCLA
September 27, 2018
https://www.youtube.com/watch?v=NuVBHXYBC4k
“The Knockoffs Framework: New Statistical Tools for Replicable Selections”
Emmanuel Candès, Stanford University
Abstract: A common problem in modern statistical applications is to select, from a large set of candidates, a subset of variables which are important for determining an outcome of interest. For instance, the outcome may be disease status and the variables may be hundreds of thousands of single nucleotide polymorphisms on the genome. In this talk, we develop an entirely new read of the knockoffs framework of Barber and Candès (2015), which proposes a general solution to perform variable selection under rigorous type-I error control, without relying on strong modeling assumptions. We show how to apply this solution to a rich family of problems where the distribution of the covariates can be described by a hidden Markov model (HMM). In particular, we develop an exact and efficient algorithm to sample knockoff copies of an HMM, and then argue that combined with the knockoffs selective framework, they provide a natural and powerful tool for performing principled inference in genome-wide association studies with guaranteed FDR control. Finally, our methodology is applied to several datasets aimed at studying the Crohn’s disease and several continuous phenotypes, e.g. levels of cholesterol.
This is joint work with Rina Barber, Yingying Fan, Lucas Janson, Jinchi Lv, Chiara Sabatti and Matteo Sesia.
Institute for Pure and Applied Mathematics, UCLA
September 27, 2018
https://www.youtube.com/watch?v=NuVBHXYBC4k
YouTube
Emmanuel Candès: “The Knockoffs Framework: New Statistical Tools for Replicable Selections”
Green Family Lecture Series 2018“The Knockoffs Framework: New Statistical Tools for Replicable Selections”Emmanuel Candès, Stanford UniversityAbstract: A com...
#leaks #security #mts
https://3dnews.ru/1094688/roskomnadzor-podtverdil-fakt-utechki-dannih-klientov-mtsbanka-summa-shtrafa-moget-sostavit-60100-tis-rubley
https://3dnews.ru/1094688/roskomnadzor-podtverdil-fakt-utechki-dannih-klientov-mtsbanka-summa-shtrafa-moget-sostavit-60100-tis-rubley
3DNews - Daily Digital Digest
Утечка данных миллиона клиентов МТС-банка подтвердилась — банку грозит штраф до 100 тыс. руб.
Роскомнадзор (РКН) провёл проверку в связи с появлением в интернете базы данных более 1 млн клиентов МТС-банка, оказавшихся в открытом доступе из-за утечки, рассказал «Ведомостям» представитель регулятора.
#war #politics #relocation #savva
Поразительно, какая каша у этого человека (математика, доктора наук) в голове. Корпорации хотят чтоб люди не размножались, религиозное знание достоверно. Миллионы самых активных и умных людей, покинувшие Россию после начала войны - глупцы, не способные предвидеть последствия своих поступков.
https://www.youtube.com/watch?v=UabGSrpEV5c
Поразительно, какая каша у этого человека (математика, доктора наук) в голове. Корпорации хотят чтоб люди не размножались, религиозное знание достоверно. Миллионы самых активных и умных людей, покинувшие Россию после начала войны - глупцы, не способные предвидеть последствия своих поступков.
https://www.youtube.com/watch?v=UabGSrpEV5c
YouTube
ЧТО ГОВОРИТ МАТЕМАТИКА О МОБИЛИЗАЦИИ И КОРРУПЦИИ? Алексей Савватеев / "Голосовое Сообщение" К.Мацану
Проект реализован в рамках проекта "Гости из Настоящего"
"Голосовое Сообщение" в телеграм
https://news.1rj.ru/str/golosovoe_soobshenie2023
"Голосовое сообщение" в контакте
https://vk.com/public218660158
Таймкоды:
00:00 - Голосовое сообщение от Алексея Савватеева…
"Голосовое Сообщение" в телеграм
https://news.1rj.ru/str/golosovoe_soobshenie2023
"Голосовое сообщение" в контакте
https://vk.com/public218660158
Таймкоды:
00:00 - Голосовое сообщение от Алексея Савватеева…
#hardware #cpu #amd
"Флагманской моделью серии является 96-ядерный Ryzen Threadripper PRO 7995WX с поддержкой 192 виртуальных потоков, работающий в диапазоне частот от 2,5 до 5,1 ГГц. Процессоры Ryzen Threadripper PRO 7000 предназначены для использования с новой платформой WRX90. Для неё заявляется поддержка восьмиканальной оперативной памяти DDR5-5200 общим объёмом до 2 Тбайт, поддержка 148 (доступны 144) линий PCIe, до 128 из которых относятся к стандарту PCIe 5.0, поддержка разгона процессоров, оперативной памяти, а также наличие дополнительных функций для удалённого управления и повышения безопасности."
https://3dnews.ru/1094721/amd-predstavila-desktopnie-hedtprotsessori-ryzen-threadripper-7000-i-modeli-ryzen-threadripper-7000-pro-dlya-rabochih-stantsiy
"Флагманской моделью серии является 96-ядерный Ryzen Threadripper PRO 7995WX с поддержкой 192 виртуальных потоков, работающий в диапазоне частот от 2,5 до 5,1 ГГц. Процессоры Ryzen Threadripper PRO 7000 предназначены для использования с новой платформой WRX90. Для неё заявляется поддержка восьмиканальной оперативной памяти DDR5-5200 общим объёмом до 2 Тбайт, поддержка 148 (доступны 144) линий PCIe, до 128 из которых относятся к стандарту PCIe 5.0, поддержка разгона процессоров, оперативной памяти, а также наличие дополнительных функций для удалённого управления и повышения безопасности."
https://3dnews.ru/1094721/amd-predstavila-desktopnie-hedtprotsessori-ryzen-threadripper-7000-i-modeli-ryzen-threadripper-7000-pro-dlya-rabochih-stantsiy
3DNews - Daily Digital Digest
AMD представила Threadripper 7000 для энтузиастов и 7000 PRO для профессионалов — у флагмана 96 ядер
Компания AMD представила новые высокопроизводительные десктопные HEDT-процессоры Ryzen Threadripper 7000, а также модели Ryzen Threadripper PRO 7000, предназначенные для профессиональных рабочих станций.
#politics #war
А вот другой приспособленец, а скорее даже, мурло пропагандонское, т.н. гоблач. Единственная критика современной исполнительной власти, что он себе позволял, это стеб над Медведевым, когда тот грел кресло. А так оправдает любое преступление, ложь, некомпетентность руководства страны. Язык подвешен отлично, врёт складно. Плюс много читает, много знает. Как он классифицирует резню евреев, устроенную недавно террористами Хамаз? "Порезвились, за каким-то бесом". Редкостный ублюдок, однако.
https://vk.com/video-3156562_456246881
А вот другой приспособленец, а скорее даже, мурло пропагандонское, т.н. гоблач. Единственная критика современной исполнительной власти, что он себе позволял, это стеб над Медведевым, когда тот грел кресло. А так оправдает любое преступление, ложь, некомпетентность руководства страны. Язык подвешен отлично, врёт складно. Плюс много читает, много знает. Как он классифицирует резню евреев, устроенную недавно террористами Хамаз? "Порезвились, за каким-то бесом". Редкостный ублюдок, однако.
https://vk.com/video-3156562_456246881
Vk
О большой войне на Ближнем Востоке, главных плодах отношений России и Китая и запрете УПЦ
Sputnik на русском: https://rutube.ru/channel/23466577/ SputnikLive в Телеграме: https://news.1rj.ru/str/sputniklive Аудиоверсия: https://oper.ru/video/getaudio/kategoricheski65.mp3
👍1👀1
#ml
Чёт задумался: что, если в большинстве примеров датасета точность прогноза примерно на одном уровне, но в некоторые нечастые моменты (например, при стечении некоторых обстоятельств) она резко повышается или резко падает? Как это увидеть при моделировании?
Чёт задумался: что, если в большинстве примеров датасета точность прогноза примерно на одном уровне, но в некоторые нечастые моменты (например, при стечении некоторых обстоятельств) она резко повышается или резко падает? Как это увидеть при моделировании?
Forwarded from V-Stock Школа трейдинга Вадима Федосенко
Написал небольшую статейку про динамический хедж - рекомендую!
https://smart-lab.ru/company/alorbroker/blog/951811.php
https://smart-lab.ru/company/alorbroker/blog/951811.php
smart-lab.ru
Как купить акции Сбера и захеджировать их бесплатно
По акциям Сбера выплачивают неплохие дивиденды. В 2023г было выплачено 25р на акцию – 565млрд. По РСБУ Сбер уже
#huang #nvidia
Удивительно, насколько Дженсен в теме про ИИ, графику и железо. Также интересен его подход к управлению компанией.
А ещё он считает, что развитие ИИ вовсе не приведёт к безработице - напротив, с увеличением производительности компании станут больше нанимать для более глубоких исследований.
"Дженсен Хуанг родился на Тайване 60 лет назад; когда он был ребёнком, его семья перебралась сначала в Таиланд, а затем в США. Решение о создании NVIDIA было принято в 1993 году на встрече с двумя другими учредителями в ресторане Denny’s в калифорнийском Сан-Хосе. До этого Хуанг успел поработать в AMD и LSI Logic; сейчас же он уверяет, что не стал бы создавать собственную компанию, будь ему снова 30 лет.
В недавнем интервью подкасту Acquired лидер NVIDIA заявил, что главная «сверхспособность» предпринимателя — способность обмануть самого себя и заставить себя поверить, что «не так уж это и сложно». А самый большой его страх — неспособность поддержать сотрудников на пути к успеху, и этот вопрос терзает его с самого основания компании: приходящие в компанию новые сотрудники в итоге начинают верить в её видение и принимают устремления NVIDIA как свои собственные. Налаженная в компании «сеть поддержки» помогла подчиненным ни разу не разочароваться в нём за все 30 лет, говорит Хуанг, и это позволило NVIDIA стать такой, какой она является сегодня."
https://youtu.be/y6NfxiemvHg
Удивительно, насколько Дженсен в теме про ИИ, графику и железо. Также интересен его подход к управлению компанией.
А ещё он считает, что развитие ИИ вовсе не приведёт к безработице - напротив, с увеличением производительности компании станут больше нанимать для более глубоких исследований.
"Дженсен Хуанг родился на Тайване 60 лет назад; когда он был ребёнком, его семья перебралась сначала в Таиланд, а затем в США. Решение о создании NVIDIA было принято в 1993 году на встрече с двумя другими учредителями в ресторане Denny’s в калифорнийском Сан-Хосе. До этого Хуанг успел поработать в AMD и LSI Logic; сейчас же он уверяет, что не стал бы создавать собственную компанию, будь ему снова 30 лет.
В недавнем интервью подкасту Acquired лидер NVIDIA заявил, что главная «сверхспособность» предпринимателя — способность обмануть самого себя и заставить себя поверить, что «не так уж это и сложно». А самый большой его страх — неспособность поддержать сотрудников на пути к успеху, и этот вопрос терзает его с самого основания компании: приходящие в компанию новые сотрудники в итоге начинают верить в её видение и принимают устремления NVIDIA как свои собственные. Налаженная в компании «сеть поддержки» помогла подчиненным ни разу не разочароваться в нём за все 30 лет, говорит Хуанг, и это позволило NVIDIA стать такой, какой она является сегодня."
https://youtu.be/y6NfxiemvHg
YouTube
NVIDIA CEO Jensen Huang
We finally sit down with the man himself: Nvidia Cofounder & CEO Jensen Huang. After three parts and seven+ hours of covering the company, we thought we knew everything but — unsurprisingly — Jensen knows more. A couple teasers: we learned that the company’s…
#supercomputers #hardware
"Ливерморская национальная лаборатория им. Э. Лоуренса (LLNL) Министерства энергетики США опубликовала видео (см. ниже), демонстрирующее процесс сборки вычислительного комплекса El Capitan, которому предстоит стать самым мощным суперкомпьютером мира. В текущем рейтинге TOP500 лидирует система Frontier, установленная в Национальной лаборатории Окриджа (ORNL), также принадлежащей Министерству энергетики США. Быстродействие Frontier достигает 1,194 Эфлопс.
Суперкомпьютер El Capitan сможет демонстрировать производительность более 2 Эфлопс (FP64). Сборка комплекса началась в июле нынешнего года, а ввод в эксплуатацию запланирован на середину 2024-го. Стоимость проекта оценивается приблизительно в $600 млн. В основе El Capitan — платформа HPE Cray Shasta.
В проекте El Capitan задействованы сотни сотрудников LLNL и отраслевых партнёров. Суперкомпьютер состоит из тысяч вычислительных узлов и требует столько же энергии, сколько город среднего размера. В течение нескольких лет специалисты готовили инфраструктуру для El Capitan, создавая подсистемы электропитания и охлаждения, устанавливая компоненты и монтируя сетевые соединения. После запуска суперкомпьютер будет использоваться для решения задач в сферах ядерной энергетики, национальной безопасности, здравоохранения, изменений климата и пр."
https://youtu.be/MPRjIlgVwlg
"Ливерморская национальная лаборатория им. Э. Лоуренса (LLNL) Министерства энергетики США опубликовала видео (см. ниже), демонстрирующее процесс сборки вычислительного комплекса El Capitan, которому предстоит стать самым мощным суперкомпьютером мира. В текущем рейтинге TOP500 лидирует система Frontier, установленная в Национальной лаборатории Окриджа (ORNL), также принадлежащей Министерству энергетики США. Быстродействие Frontier достигает 1,194 Эфлопс.
Суперкомпьютер El Capitan сможет демонстрировать производительность более 2 Эфлопс (FP64). Сборка комплекса началась в июле нынешнего года, а ввод в эксплуатацию запланирован на середину 2024-го. Стоимость проекта оценивается приблизительно в $600 млн. В основе El Capitan — платформа HPE Cray Shasta.
В проекте El Capitan задействованы сотни сотрудников LLNL и отраслевых партнёров. Суперкомпьютер состоит из тысяч вычислительных узлов и требует столько же энергии, сколько город среднего размера. В течение нескольких лет специалисты готовили инфраструктуру для El Capitan, создавая подсистемы электропитания и охлаждения, устанавливая компоненты и монтируя сетевые соединения. После запуска суперкомпьютер будет использоваться для решения задач в сферах ядерной энергетики, национальной безопасности, здравоохранения, изменений климата и пр."
https://youtu.be/MPRjIlgVwlg
YouTube
Building El Capitan: How LLNL’s Exascale Supercomputer Came to Be
When Lawrence Livermore National Laboratory’s next-generation supercomputer El Capitan is deployed in 2024, it will likely be the most powerful computing machine in the world, delivering more than two quintillion floating-point operations per second (2 exaFLOPs)…
#physics
Удивительно, оказывается, концепция супердетерминизма всё ещё оставляет лазейку идеям Эйнштейна! Как тут не задуматься о предопределённости бытия и не стать фаталистом... Хотя, кажется, супердетерминизм сродни идеям, что в центре каждой ЧД есть новая вселенная (да ещё со своими физическими законами), или что частица не просто выбирает одну из случайных траекторий, а нас самом деле проходит их все, но только в параллельно ветвящихся вселенных.
https://youtu.be/gKWN5y5O-6s
Удивительно, оказывается, концепция супердетерминизма всё ещё оставляет лазейку идеям Эйнштейна! Как тут не задуматься о предопределённости бытия и не стать фаталистом... Хотя, кажется, супердетерминизм сродни идеям, что в центре каждой ЧД есть новая вселенная (да ещё со своими физическими законами), или что частица не просто выбирает одну из случайных траекторий, а нас самом деле проходит их все, но только в параллельно ветвящихся вселенных.
https://youtu.be/gKWN5y5O-6s
YouTube
Нобелевская премия-2022: запутанные частицы, неравенство Белла и структура реальности
Официально открываем нашу новую рубрику, посвящённую разбору содержания открытий, удостоенных Нобелевской премии по физике в различные годы, и сегодня поговорим о премии 2022 года, присуждённой за весьма любопытные эксперименты, призванные установить, насколько…
#probabilities #outcomes #synthetic #calibration #decisionmaking #python
Зная вероятности событий, сгенерировать по ним возможные бинарные исходы тривиально. Проще всего сравнить вероятность со случайным числом из интервала [0;1], если число оказалось меньше исходной вероятности, записываем в исход 1, иначе 0.
Внезапно возникла обратная задача: мы знаем исходы (они взяты из реального процесса), но интересно, какие ground truth вероятности могли бы привести к таким исходам? Для чего это может понадобиться: я тестирую систему принятия решений по ML модели, и хочется понять границы возможностей такой связки для конкретной задачи. Допустим, нам удалось построить "идеальную" в вероятностном плане модель, т.е. прекрасно откалиброванную (раз она сказала в какие-то моменты, что вероятность положительного исхода 60%, то примерно в 60% случаев такой исход и случился) - чего тогда можно ожидать от неё в плане онлайн метрик? Понятно, что получить такую модель сложно, часто и невозможно, но нам же хочется знать, каких результатов вообще возможно достичь?
И вот тут оказалось сложнее, чем кажется. Попробуйте поставит текст на паузу и предложить решение )
На удивление, ИИ в лице Чат ГПТ оказался совершенно бессилен, и пришлось думать. (Если сможете получить от него ответ, напишите.)
@njit ()
def generate_probs_from_outcomes(
outcomes: np.ndarray, chunk_size: int = 20, scale: float = 0.1, nbins: int = 10, bins_std: float = 0.1, flip_percent: float = 0.6
) -> np.ndarray:
"""Can we generate hypothetical ground truth probs knowing the outcomes in advance?
Our model probs will (hopefully) be calibrated. So, we need synthetic probs to be calibrated, too. With some degree of fitness.
We also need to cover broad range of probs.
So, how to achieve this?
0) if flip_percent is specified, for a random portion of data zeroes and ones are flipped. this will lower ROC AUC.
1) we can work with small random chunks/subsets of data
2) for every chunk, its real freq is computed.
3) for every observation, 'exact' prob is drawn from some distribution (uniform or, say, gaussian) with center in real freq.
then, if bins_std is specified, constant bin noise is applied to all observations of the chunk.
final result is clipped to [0,1]
"""
n = len(outcomes)
indices = np.arange(n)
np.random.shuffle(indices)
probs = np.empty(n, dtype=np.float32)
bin_offsets = (np.random.random(size=nbins) - 0.5) * bins_std
if flip_percent:
# flip some bits to worsen our so far perfect predictive power
flip_size = int(n * flip_percent)
if flip_size:
outcomes = outcomes.copy()
flip_indices = np.random.choice(indices, size=flip_size)
outcomes[flip_indices] = 1 - outcomes[flip_indices]
l = 0 # left border
for idx in range(n // chunk_size): # traverse randomly selected chunks/subsets of original data
r = (idx + 1) * chunk_size # right border
freq = outcomes[l:r].mean() # find real event occuring frequency in current chunk of observation
# add pregenerated offset for particular bin
bin_idx = int(freq * nbins)
freq = freq + bin_offsets[bin_idx]
# add small symmetric random noise. it must be higher when freq approaches [0;1] borders.
probs[l:r] = freq + (np.random.random(size=chunk_size) - 0.5) * scale * np.abs(freq - 0.5)
l = r
return np.clip(probs, 0.0, 1.0)
Зная вероятности событий, сгенерировать по ним возможные бинарные исходы тривиально. Проще всего сравнить вероятность со случайным числом из интервала [0;1], если число оказалось меньше исходной вероятности, записываем в исход 1, иначе 0.
Внезапно возникла обратная задача: мы знаем исходы (они взяты из реального процесса), но интересно, какие ground truth вероятности могли бы привести к таким исходам? Для чего это может понадобиться: я тестирую систему принятия решений по ML модели, и хочется понять границы возможностей такой связки для конкретной задачи. Допустим, нам удалось построить "идеальную" в вероятностном плане модель, т.е. прекрасно откалиброванную (раз она сказала в какие-то моменты, что вероятность положительного исхода 60%, то примерно в 60% случаев такой исход и случился) - чего тогда можно ожидать от неё в плане онлайн метрик? Понятно, что получить такую модель сложно, часто и невозможно, но нам же хочется знать, каких результатов вообще возможно достичь?
И вот тут оказалось сложнее, чем кажется. Попробуйте поставит текст на паузу и предложить решение )
def generate_probs_from_outcomes(
outcomes: np.ndarray, chunk_size: int = 20, scale: float = 0.1, nbins: int = 10, bins_std: float = 0.1, flip_percent: float = 0.6
) -> np.ndarray:
"""Can we generate hypothetical ground truth probs knowing the outcomes in advance?
Our model probs will (hopefully) be calibrated. So, we need synthetic probs to be calibrated, too. With some degree of fitness.
We also need to cover broad range of probs.
So, how to achieve this?
0) if flip_percent is specified, for a random portion of data zeroes and ones are flipped. this will lower ROC AUC.
1) we can work with small random chunks/subsets of data
2) for every chunk, its real freq is computed.
3) for every observation, 'exact' prob is drawn from some distribution (uniform or, say, gaussian) with center in real freq.
then, if bins_std is specified, constant bin noise is applied to all observations of the chunk.
final result is clipped to [0,1]
"""
n = len(outcomes)
indices = np.arange(n)
np.random.shuffle(indices)
probs = np.empty(n, dtype=np.float32)
bin_offsets = (np.random.random(size=nbins) - 0.5) * bins_std
if flip_percent:
# flip some bits to worsen our so far perfect predictive power
flip_size = int(n * flip_percent)
if flip_size:
outcomes = outcomes.copy()
flip_indices = np.random.choice(indices, size=flip_size)
outcomes[flip_indices] = 1 - outcomes[flip_indices]
l = 0 # left border
for idx in range(n // chunk_size): # traverse randomly selected chunks/subsets of original data
r = (idx + 1) * chunk_size # right border
freq = outcomes[l:r].mean() # find real event occuring frequency in current chunk of observation
# add pregenerated offset for particular bin
bin_idx = int(freq * nbins)
freq = freq + bin_offsets[bin_idx]
# add small symmetric random noise. it must be higher when freq approaches [0;1] borders.
probs[l:r] = freq + (np.random.random(size=chunk_size) - 0.5) * scale * np.abs(freq - 0.5)
l = r
return np.clip(probs, 0.0, 1.0)