Как разделить сделки по типу инструмента и направлению
Что проверяют
Умеете ли вы построить классификацию, которая однозначно раскладывает каждую сделку, и понимаете ли предметную область настолько, чтобы не смешать разные признаки. Следом обычно спрашивают про пограничные случаи: репо, свопы, сделки из нескольких ног.
Как отвечать
Начните с потребителя: для кого разбивка. Риск-менеджменту, регуляторной отчётности и дашборду продаж нужна разная детализация, и от этого зависят справочники.
Дальше разведите два независимых измерения:
- тип инструмента: берётся из справочника инструментов, а не вводится в сделке текстом. Удобна иерархия класс → тип → подтип: акции, облигации, производные (фьючерсы, опционы, свопы), валюта, репо. Для сверки с внешними системами опирайтесь на стандарт CFI (ISO 10962), где первая буква кода задаёт категорию: E для акций, D для долговых, F для фьючерсов, O для опционов;
- направление: покупка или продажа относительно нашей стороны, как поле
Sideв протоколе FIX. Короткую продажу выделяют отдельно, если это важно для риска.
Хеджирование и спекуляция это не направление, а цель сделки. Если цель нужна в отчёте, это третье измерение со своим источником, обычно признак портфеля или стратегии.
Для самой разбивки подойдёт GROUP BY instrument_type, side с COUNT(*) и SUM по объёму, но объём приводите к одной валюте по курсу на дату сделки, иначе суммы несопоставимы.
Отдельно пропишите правила:
- составные сделки: своп и репо состоят из двух ног с противоположными направлениями, решите, считаете вы сделку целиком или по ногам;
- статусы: отменённые сделки исключаются, исправленные учитываются только последней версией.
Где спотыкаются
Смешивают направление и цель в одном списке: «покупка, продажа, хеджирование, спекуляция». Одна сделка тогда попадает в две категории сразу.
Считают только количество сделок. Десять мелких покупок и одна крупная продажа дают картину, противоположную реальному потоку денег.
Не учитывают исправления и отмены: сделка, скорректированная дважды, попадает в отчёт трижды.