Сегодня, графические процессоры( GPU ) значительно быстрее, чем центральные процессоры (CPU) компьютеров, и эта ситуация не изменится в ближайшие годы.

Более того, разрыв между GPU и CPU продолжает увеличиваться, как это было на протяжении последних  лет.

Что можно сделать со всем этим резервном мощности?
Крупные игроки рынка, как известно, раньше всех воспользовались графическими процессорами для выполнения Near-Time тяжелого анализа рисков, ранее доступного только на ежедневной основе.

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

Bloomberg, со штаб-квартирой в Нью-Йорке с офисами по всему миру, является одним из ведущих финансовых организаций услуг. Одина из его услуг — моделирование рисков и определения цены CMO / CDO корзин для своих клиентов.

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

При использование обычных процессоров, эти расчеты заняли бы 16 часов, что неприемлемо.

Блумберг внедрили  вычеслительную систему GPU NVIDIA Tesla в своем центре обработки данных и  CMO / CDO приложения для запуска на архитектуре CUDA.

Результаты не заставили себя ждать.

Большие расчеты, которые затянулись на часы в CPU-кластере, теперь выполняются за считанные минуты; а небольшие вычисления, которые выполнялись ранее за  20 минут, теперь выполняются за несколько секунд.

new-1

 

 

 

 

 

 

 

 

Основные приложения в сфере вычислительных финансов на базе CUDA

НППО ОПИСАНИЕ
Murex Анализ рисков (MACS)
MATLAB® Математика параллельных данных(MATLAB PCT, MDCS)
Quantifi Solutions Портфельный риск, (Quantifi Risk),кредитный риск(Quantifi Counterparty Risk)
Numerical Algorithms Group Генератор случайных чисел
Wolfram Mathematica Анализ символьных вычислений(Mathematica)
Streambase Обработка сложных событий(StreamBase CEP Engine)
Risk Management Solutions Анализ страхования от несчастных случаев
Hanweck Associates Ценообразование опционов(Volera)
SciComp, Inc Ценообразование деривативов(SciFinance)
Xcelerit Набор разработчика на GPU для C++,предназначенный для метода Монте-Карлои других численных методов.
Arrayfire Библиотека функций GPUдля C, C++, FORTRAN

Заявленные клиенты в финансовом секторе

  • Проект JP Morgan Chase «Использование GPU для расчета рисков» признан инновационным в области банковских технологий
  • PathWise от Aon Benfield использует преимущества работы с GPU в Standard Life
  • Bloomberg использует GPU для ускорения расчета цен на облигации
  • BNP Paribas использует Tesla GPU для вычисления ценовых производных инструментов

 

ПО по вычислительным финансам для CUDA

  • CUDA SDK содержит примеры кодов для генераторов случайных чисел и моделей ценообразования опционов и дериватов по методам Монте-Карло, Блэка-Шоулза и биноминальному методу с помощью SciFinance
  • Программирование на CUDA в Mathematica
  • Код геренатора псевдослучайных чисел Вихря Мерсенна от авторов MT
  • Подсистема оценки опциона в режиме реального времени от Hanweck
  • 3D визуализация рыночных данных от Aqumin
  • Анализ рисков с помощью CUDA от Exegy Ticker Plant
  • Модель рынка LIBOR, метод Монте-Карло
  • Level 3 Finance
  • Библиотека PricingCatalyst по ценообразованию и хеджированию от QuantCatalyst
  • Ускоренные торговые решения от OnEye (Австралия)
  • Arbitragis Trading
  • Поддержка GPU вычислений в программе для статистических расчетов R
  • Ускорение MATLAB
This entry was posted on Среда, 30 октября, 2013 at 20:34 and is filed under Микропроцессоры, Разное, Фондовый рынок. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

3 comments so far

jug
 1 

Проблема с cuda только в том, что она хорошо ускоряет задачи , бьющиеся на достаточно короткие несвязанные по данным участки кода. Сама по себе задача переделки кода под такую модель достаточно нетривиальна. На длинных же участках кода с больщим количеством циклов и переходов одиночный процессор cuda проигрывает нити центрального процесса порою на 2 порядка ( сначала встретил эту цифру где то в англоязычном интернете, потом сам получил аналогичные результаты)

31 октября, 2013 at 06:30
Kamynin
 2 

действительно, технология CUDA предназначена для обработки блоков данных. Поэтому и применение специфично.
Что касается фондовых рынков, то я вижу возможности применения как минимум в двух вариантах:
1) Предсказание рынков на основе спектрального анализа
2) Вычисление первичных признаков большого числа инструментов методами спектрального анализа и матричной арифметики
Кроме того, речь не идет о подмене CPU, просто сложные матричные вычисления отдаются CUDA.

31 октября, 2013 at 13:04
jug
 3 

Никто и не говорит о подмене CPU , просто если даже у вас программа бьется на несколько сотен потоков, а внутри одног потока логика обработки посложнее, да еще и потоки по данным связаны ( а в реале так бывает почти всегда) , то ощутимого выигрыша можно и не получить . У меня было так- сделал макет программы- получил выигрыш на несколько порядков, добавил немного логики в поток- и разница была уже только десятки процессов. А в целом согласен- технология перспективная. Жалко, что не очень универсальная, да и трудоемкость отладки кода возрастает тоже прилично

31 октября, 2013 at 14:20