КУРС

DATA SCIENCE ACADEMY

Научитесь использовать инструменты анализа данных, включая языки программирования и средства визуализации.
 

«For professions that have long relied on trawling through spreadsheets, Python is especially valuable. Citigroup, an American bank, has introduced a crash course in Python for its trainee analysts», — The Economist

В этой статье мы расскажем, какие возможности предоставляет Python в работе финансовых специалистов.

Цель этой статьи — помочь вам решить, действительно ли Python настолько сложный и запутанный и стоит ли добавить его в свой технический инструментарий. Если вы уже решили изучать Python, то рекомендуем начать с нашего открытого курса «Первый код на Python».

Рассмотрим на примере того, как Stefan Thelin, в прошлом инвестиционный банкир, а теперь — финансовый директор стартапа — использует Python в работе.

Как директор по слияниям и поглощениям использует Python, image #1

Введением в программирование у Стефана был BASIC на Oric 1 в середине 1980-х гг. Тогда BASIC был самым распространенным языком для начинающих. Другими языками, которыми он баловался с конца 80-х до середины 90-х, были Pascal и C, но они никогда не использовались в их профессиональной деятельности.

С момента первого знакомства с Python Стефан использовал его для широкого спектра задач, от небольших скриптов до более крупных проектов, как для личных целей, так и для профессиональных.

Многие имеют дело с электронными таблицами — базовым инструментом работы финансовых специалистов.

Вот несколько примеров отличного взаимодействия таблиц и Python:

1. Отслеживание сотен действий проектной команды в динамике в процессе сделок по слияниям и поглощениям (M&A)

Стефан работает со сделками M&A, отвечая не только за исполнение, но и за последующую интеграцию приобретенного актива в структуру компании-покупателя.

Не так давно команда приняла решение о гибридном подходе к управлению проектом, используя «водопад» и диаграммы Ганта для высокоуровневых планов для каждого из двенадцати рабочих потоков интеграции в дополнение к Канбан-доске, которая помогает отслеживать сотни событий, происходящих в любой момент времени, в рамках так называемого «плана первых 100 дней».

Канбан-доска, MeisterTask, имеет ряд статистических и отчетных функций, но потребности команды вышли за рамки этого с точки зрения анализа и представления информации, что потребовало специального решения.

Ниже представлен рабочий процесс, который Стефан автоматизировал с помощью Python:

1. Сохранение статуса доски еженедельно в виде файла CSV.
2. Просмотр всех исторических CSV файлов в Pandas DataFrame.
3. Сортировка, фильтрация, группировка данных в согласованные форматы отслеживания прогресса (по статусу активности, рабочему процессу и т. д.).
4. Подготовка результатов в файл Excel с данными из каждого анализа, отформатированного таким образом, чтобы его можно было просто скопировать и вставить в think-cell таблицы.
5. Создание таблиц и диаграмм для пакета отчетов для ежемесячного заседания руководящего комитета.

Разработка сценария потребовала нескольких часов, но теперь обновление отчетов для заседаний руководящего комитета занимает несколько минут: буквально, около 30 секунд, чтобы перейти в нужную папку и запустить скрипт с помощью однострочной команды, а затем несколько минут, чтобы скопировать-вставить вывод в слайд.

Даже еженедельное отслеживание около 500 действий (карт) в двенадцати рабочих потоках в течение 12 месяцев исполнения без автоматизации — довольно сложная задача.

Проанализировав эффективность данного проекта по оптимизации, Стефан принял решение на первом этапе экспортировать данные в виде CSV-файлов. MeisterTask, как и многие современные веб-приложения, имеет API, который может быть подключен к приложению Python, но время, затраченное на его настройку, намного перевешивает экономию времени в рамках данного примера.

Зачастую, оптимальным решением является автоматизация только определенных шагов рабочего процесса.

2. Анализ статистики цен на жилье с помощью веб-скрапинга, Google Maps API и Excel

Второй пример – это личный проект Стефана, но также раскрывает полезные свойства Python.

Процесс выглядит так:

1. Залейте данные о списках объектов недвижимости, включая адрес, площадь, количество комнат, цену и пр., от нескольких сотен до, возможно, тысячи строк в общей сложности.
2. Сохраните данные.
3. Подключитесь к Google Maps API и для каждой позиции сформируйте расстояние между объектом и ключевыми достопримечательностями, такими как: море, центр города, ближайший железнодорожный вокзал, ближайший аэропорт и т. д.
4. Экспортируйте данные в Excel.
5. Используйте стандартные функции Excel для выполнения регрессий, расчета статистики и создания диаграмм по стандартным показателям, таким как: цена за квадратный метр и расстояние до ориентиров.

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

Это всего лишь два примера автоматизации работы электронных таблиц и добавления функций, но это далеко не все возможности Python!

 

КУРС

DATA SCIENCE ACADEMY

Научитесь использовать инструменты анализа данных, включая языки программирования и средства визуализации.
 

Оригинал статьи