Интересное что-то – Telegram
Интересное что-то
517 subscribers
2.71K photos
253 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://news.1rj.ru/str/asisakov_channel
Чат: https://news.1rj.ru/str/youknowds_chat
Download Telegram
#interesting
У Артема Груздева теперь даже свой канал!

https://news.1rj.ru/str/Gewissta
Написал на Хабре еще один туториал (в рамках курса ML System Design).
На этот раз посвященный ClearML - системе трекинга Ml-экспериментов.

https://habr.com/ru/post/691314/

Заходим, читаем и не забываем ставить лайки :)
#quant
Крутой проект с волатильностью криптовалюты
Forwarded from Ivan Novikov
Информация по дополнительному проекту
Также под началом Ролана проходит проект по калибровке поверхности волатильности.
Все желающие принять активное участие, приглашаются на созвоны в телеграмме с 14:00 по 15:00 в субботу,
где можно узнать актуальную информацию по проекту, задать вопросы и поделиться наработками.

Название: Калибровка поверхности волатильности крипто-опционов.

Описание: Цель проекта - понять динамику поверхности волатильности для крипто-опционов. Торговля опционами на BTC и ETH на централизованных биржах существует уже некоторое время. Но только сейчас он начинает привлекать значительное внимание и переживает заметный рост, в основном благодаря сильному интересу институциональных инвесторов и трейдеров к криптопространству. Практическая сторона проекта начнется сначала со сбора данных о волатильности поверхностных котировок с биржи Deribit, которая на сегодняшний день является крупнейшей биржей для торговли опционами.
Собрав эти данные, мы сможем откалибровать различные модели из курса по вычислительным финансам, получив большой практический опыт работы с численными методами, используемыми при калибровке и расчетах рисков. И, наконец, мы протестируем некоторые классические стратегии торговли опционами и рассмотрим потенциальные возможности арбитража на этом рынке.

Организаторы:
Ролан Гринис - ментор
@scaevolabars, @AlicePH - менеджеры проекта от ЦМФ
@mrfendel, @molozey - ассистенты

Материалы:
- Скрейпер данных на Kotlin от Ролана (с выгрузкой в БД для будущей удобной работы с данными)
- Скрейпер данных на Python от @molozey (Андрей) и ссылка на запись с пояснением
- Ноутбук по методу Levenberg-Marquad с калибровкой модели SABR от @scaevolabars (Сергей)

- Getting Markprices for Deribit options
- Getting Quotes for perpetual swaps form Deribit
- Public trading dashboard for Derbit with order books and option chains
- Post about historical data on Deribit
- Доп. ссылка на статью о крипто-опционах
- Курс по опционам от Deribit
Forwarded from Ivan Novikov
Материалы курса:
- Гитхаб с ноутбуками
- Записи по 2,3 лекции в PDF (стохастические процессы)

Рекомендуемые ресурсы:
- Записи лекций Seydel в PDF + его сайт с материалами по курсу Computational Finance
- Плейлист лекций по вычислительным финансам от Lech Grzelak + GitHub с кодом
- Пост с книгами по двум курсам выше
- Методичка на русском языке по курсу Математической теории финансов в МФТИ
- Пост с дополнительной литературой

- Ссылки на посты с литературой по стохастическим процессам:
Shreeve Stochastic Calculus I and Stochastic Calculus 2;
Damiano Brigo Interest Rate Models;
Степанов Сергей Стохастический мир;
Лекции MIT по стохастическим процессам;
Forwarded from ИЦ "ГЕВИССТА"
Полезные функции NumPy

Функция np.apply_along_axis()

Функция np.apply_along_axis() применяет заданную функцию к 1-D срезу массива вдоль указанной оси.
Давайте создадим массив.

# импортируем NumPy
import numpy as np

# создаем массив NumPy
a = np.array([[0, 0, 0, 1],
[1, 1, 1, 0],
[0, 1, 1, 1],
[0, 1, 1, 0]])

Теперь с помощью функции np.apply_along_axis() применяем по оси строк функцию np.bincount() для подсчета количества вхождений значений, а затем функцию np.argmax() для поиска индекса максимального элемента.

# применяем по оси строк функцию подсчета количества
# вхождений значений, затем функцию поиска индекса
# максимального элемента
np.apply_along_axis(lambda x: np.argmax(np.bincount(x)),
axis=0,
arr=a)

array([0, 1, 1, 0])



Практический пример применения https://github.com/rasbt/mlxtend/blob/master/mlxtend/evaluate/bias_variance_decomp.py
Forwarded from ИЦ "ГЕВИССТА"
Трюки_в_NumPy_от_Антона_Вахрушева_GM_Kaggle,_Лаборатория_Сбербанка.ipynb
14.6 KB
Проект «Наши»
Трюки в NumPy от Антона Вахрушева (GM Kaggle, Лаборатория Сбербанка)

In-place операции в NumPy и быстрый mean target encoder на NumPy.
Подробный разбор будет в моей книжке по предподготовке.
Forwarded from Just links
Omnigrok: Grokking Beyond Algorithmic Data https://arxiv.org/abs/2210.01117
Forwarded from Start Career in DS
📊 [ENG] Очень красивый курс по базовой теории вероятностей и статистике:
https://seeing-theory.brown.edu/
Тут фактически ускоренное введение в предметную область, которое позволит вам быстро понять ключевые идеи и термины.

Много супер-наглядных визуализаций. Даже если считаете что шарите в статистике - советую потыкаться и получить эстетическое удовлетворение.
Мне понравились визуализации базовых понятий (мат. ожидание, дисперсия, функция распределения, условная вероятность и т.д.). Если они всегда вас пугали или настораживали - рекомендую посмотреть курс.
Forwarded from Arseniy Trushin
А. Да. Я же хотел написать, как перестановки генерировать.

Ну так вот. Если у нас есть перестановка [1, 2, 3], то какие перестановки из неё можно сделать, имея на руках 4?
Ну конечно же [4, 1, 2, 3], [1, 4, 2, 3], [1, 2, 4, 3] и [1, 2, 3, 4]. То есть, рассуждаем по математической индукции по длине перестановки. Если у нас n = 1, то список всех перестановок понятен: [[1]]. А если мы уже решили задачу для n - 1, то для решения задачи для n нужно это самое n воткнуть в разные места каждой из сгенерированных ранее перестановок. Вот так

def insert_before(pos, num, perm):
return perm[:pos] + [num] + perm[pos:]

def permutations(n):
if n == 1:
return [[1]]
return [insert_before(q, n, current_perm) for current_perm in permutations(n-1) for q in range(n)]
Forwarded from DevFM
Тернистый путь к ClickHouse

Статья ClickHouse: Путь джедая, искавшего дом для своих данных не о самой технологии, а о неоднозначном, сложном пути выбора технологии. И в этом её особенная ценность.

Внедрение новой технологии не возникает на пустом месте. Нужно критически подходить к этому вопросу.
1. Сначала обнаруживается проблема. Если проблемы нет, то и чинить не нужно. В статье обозначена проблема сбора и анализа большого количества данных о действиях пользователей из разных систем и их вечном хранении.
2. Решение следует начинать с анализа предметной области и формирования важных критериев. Автор выделил сложность внедрения и сопровождения, порог входа для аналитиков данных, цену использования.
3. Предлагаемые решения сравниваются по сформированным критериям.

Помимо описания процесса выбора и возникающих сложностей интересно узнать в ретроспективе об архитектуре хранения и работы с данными: MariaDB -> Elasticsearch -> ClickHouse.

Для желающих погрузиться в технические особенности рекомендуем статью от тех же авторов: Репликация ClickHouse без костылей: ожидание и реальность
#skills #softskills