Примените пользовательскую функцию к группам строк из фрейма данных - PullRequest
1 голос
/ 05 ноября 2019

Я занимаюсь разработкой финансового приложения. Цель состоит в том, чтобы вычислить различную статистику риска портфеля. Первая основная проблема заключается в следующем: у меня есть набор данных с тысячами строк, которые имеют следующую структуру

Instrument  Factor  Weight
A           F1      0.149386064
A           F2      0.282444926
A           F300    0.66216264
B           F1      0.501194572
B           F2      0.037874843
B           F300    0.939051411

Для каждого инструмента в кадре данных мне нужно рассчитать систематический риск, используя матричное умножение умножения весов инструментов наковариационная матрица, которая представлена ​​BlockMatrix.

Фактический расчет не сложен, и я выполнил эту часть. Мой вопрос заключается в том, какой самый эффективный способ Scala / Spark для расчета группы записей для каждого инструмента.

В основном мне нужно что-то, что может быть выражено как

instrument_df.groupBy("Instrument").agg(CalculateRisk), где CalculateRiskимеет ссылку на ковариационную матрицу и принимает строки весов для каждого инструмента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...