Big Data Days 2020

24-26 ноября

Онлайн

Головин Дмитрий

Data инженер в Quantnet

Россия, QuantNet

Биография

Дмитрий – инженер-программист, закончил УГАТУ в 2012. Специалист с 10-летним опытом разработки ПО (карьеру начал еще будучи студентом) в различных сферах: промышленная разработка ПО (Java SE/EE, Python, Javascript, Php, C, etc.), разработка игр (WebGL, Unity) и последние несколько лет он является Data Engineer в области FinTech в компании Quantnet (java, scala, python data stack). В рамках своего доклада, Дмитрий поделится опытом в разработки быстрых алгоритмов обработки данных из области FinTech.

Доклад

Работа с большими числовыми массивами в python

Наша компания организует соревнования по Data Science сфере FinTech. Главная задача для участников – построить инвестиционную стратегию, для чего мы предоставляем участникам много числовых данных (порядка нескольких гигабайт). Мы видим, что многие участники не умеют работать с такими большими объемами. Часто, их алгоритмы очень медленные и ресурсоемкие. Мы подобрали эффективные подходы для разработки таких алгоритмов и хотим с вами поделиться этими подходами.
План:
1. Выбор правильного формата хранения для больших числовых массивов. CSV, JSON, pickle, NetCDF, Avro;
2. Библиотеки Numpy, Pandas, Xarray. Особеннности и их назначение;
3. Проблемы с plain циклами при использовании этих библиотек.
Стандартные способы решения: использование векторные(и матричные) операции, агрегатные и rolling операции.
4. Когда подходов из (3) не достаточно, есть другой подход. Есть возможность использовать скомпилированный машинный код. Мы рассмотрим Cython и Numba.

Все пункты будем рассматривать на конкретном практическом примере, который наглядно покажет увеличение производительности минимум в 100 раз.

Ключевые слова

FinTech
Python
Numpy
Pandas

« Hазад