Прежде всего замечу, что в Рунете не нашлось общепринятого русскоязычного термина, соответствующего Computational Finance. Имеются попытки называть эту область «вычислительными финансами», а иногда «финансовой инженерией» или «прикладным финансовым анализом», что ограничивает смысл термина. По этой причине в данном обзоре введем свой термин, не претендуя на его повсеместное внедрение. Теме номера посвящены три из пяти больших статей номера.
Первая статья называется так же, как и тема номера, ее написали Чаякорн Йингсаери, Филип Треливен и Джузеппе Нути (Chaiyakorn Yingsaeree, Philip Treleaven, Giuseppe Nuti). Банки и инвестиционные фонды все чаще основывают свою конкурентоспособность на качестве количественных методов: программирования, аналитики и финансовых приложений, что делает критически важной вычислительную науку о финансах – междисциплинарную область, направленную на поддержку индустрии финансовых услуг. Эта область опирается на финансовую математику, численные методы и компьютерное моделирование для поддержки принятия решений по поводу торговых и страховых сделок, а также инвестиций. Кроме того, она облегчает управление портфельными рисками (рисками, связанными с качеством активов банков и их распределением по отдельным видам и категориям).
Между родственными областями финансового моделирования, финансовой математики и финансовой инженерии имеется значительное перекрытие:
- финансовое моделирование, являясь наиболее общей из этих трех связанных областей, отвечает за финансовые вычисления, такие как моделирование оценки стоимости опционов, с первичной целью моделирования стоимости в условиях неопределенности;
- финансовая математика – это ветвь прикладной математики, занимающаяся финансовыми рынками; традиционно ассоциируемая со стохастическим исчислением, на практике эта дисциплина охватывает несколько направлений прикладной математики;
- финансовая инженерия фокусируется на инновациях, помогая производить новые ценные бумаги, такие как опционы и деривативы фьючерских рынков.
Таксономию вычислительной науки о финансах, которую можно считать подобластью науки о вычислениях и которая состоит из двух разных ветвей. Интеллектуальный анализ данных позволяет разыскивать скрытые шаблоны в огромных массивах данных с целью выдвижения гипотез, а компьютерное моделирование обеспечивает анализ на основе симуляции, позволяя проверить осмысленность этих гипотез. К числу дополнительных дисциплин, включаемых в вычислительную науку о финансах, относятся компьютерные символьные вычисления, численный анализ, вычислительная геометрия, а также визуализация и машинная графика.
Статью «Системы управления потоками данных для вычислительной науки о финансах» (Data Stream Management Systems for Computational Finance) написали Бадриш Чандрамули, Мохамед Али, Джонатан Голдстейн, Бейсин Сежин и Балан Сету Раман (Badrish Chandramouli, Mohamed Ali, Jonathan Goldstein, Beysim Sezgin, Balan Sethu Raman). У вычислительных финансовых приложений имеются уникальные потребности, связанные с повсеместным применением сетевых технологий и непрерывно продолжающейся автоматизацией бизнес-процессов. Для достижения эффективности этим приложениям требуется способность быстро обрабатывать нескончаемые потоки данных. Любая система, управляющая этими потоками, должна уметь с очень низкой задержкой обрабатывать запросы над непрерывно изменяемыми данными и инкрементально включать результаты в происходящие бизнес-процессы. Такая система также должна поддерживать обработку данных, архивируемых для исторического анализа, что включает выполнение аналитических запросов и запросов обратного тестирования.
В этой быстро изменяющейся среде для большинства организаций основным требованием является сокращение задержек при обработке данных, поэтому разработчики финансовых приложений часто предпочитают для каждой конкретной проблемы использовать специальные решения. Но это требует больших затрат, и, как правило, специализированные решения не слишком хорошо обобщаются, так что такой вариант не пригоден для предприятий с разнотипными приложениями.
Для построения гибких финансовых приложений можно было бы использовать и базы данных — их технология не только обеспечивает простую и одновременно мощную модель данных, но и позволяет приложениям обращаться к системе с декларативными запросами над множествами элементов данных. Однако традиционные базы данных не удовлетворяют уникальным запросам финансовых приложений, для которых необходима высокопроизводительная обработка сложных запросов над темпоральными данными.
Осознавая потребность в более реактивных универсальных платформах, многие организации начинают отдавать предпочтение системам управления потоками данных (Data Stream Management System, DSMS). DSMS – это промежуточное программное обеспечение, принимающее и обрабатывающее долговременные запросы над темпоральными потоками данных. При использовании DSMS приложения могут зарегистрировать в системе выполняемые запросы и инкрементно выдавать результаты по мере поступления новых данных.
В DSMS используется цикл мониторинга данных (рис. 1), управления данными и анализа данных для поддержки сложных запросов потоковых финансовых приложений. В приложениях, включающих операции над потоками данных реального времени и историческими данными, важнейшим является время, и торговля на бирже — один из примеров таких задач. Приложения управления рисками должны выявлять различные модели изменения курсов ценных бумаг в соответствии с последними показателями, а модель торгов основывается на годами накапливаемых исторических данных. Другие приложения поддерживают трейдинговые решения на основе алгоритмов, обеспечивая финансовые рекомендации с использованием и исторических данных, и данных, позволяющих прогнозировать будущее.
В нескольких академических и коммерческих организациях разрабатываются прототипы и полностью функциональные DSMS:
- система Oracle Complex Event Processing (CEP), основанная на исследовательской модели Stanford Stream;
- система StreamBase, основанная на исследовательских моделях Aurora и Borealis;
- система StreamInsight, основанная на результатах проекта Microsoft Complex Event Detection and Response (CEDR);
- IBM InfoSphere Streams, основанная на результатах исследовательского проекта System S, и Coral8 (куплена Sybase).
Разработчики финансовых приложений на основе этих систем могут выбирать разные модели выполнения, семантику и способы обработки запросов, механизмы расширений и т. д.
Последняя статья тематической подборки называется «Высокопроизводительные вычисления на Уолл-стрит» (High-Performance Computing on Wall Street), и написана она Брэдом Спайерсом и Денисом Уэйлзом (Brad Spiers, Denis Wallez). Сегодня наблюдается взрывообразный рост интереса к высокопроизводительным вычислениям в индустрии финансовых услуг. Частично это объясняется появлением очень сложных продуктов (в частности, опционов), для поддержки которых требуются финансовые модели, опирающиеся на большой объем вычислений. Эту тенденцию укрепил мировой экономический кризис, вынудивший чиновников обязать финансовые компании применять новые механизмы управления рисками. Авторы статьи анализируют основные высокопроизводительные приложения, применяемые на Уолл-стрит, а также алгоритмы, аппаратные средства и языки программирования, применяемые при создании и использовании этих систем. Кроме того, в статье исследуются проблемы, с которыми сталкиваются программисты при переходе к распараллеливанию финансовых приложений для задействования всех возможностей новых компьютеров.
Вне тематической подборки опубликованы две большие статьи. Статью «Медиаскопия: идентификация мультимедийного контента для управления цифровыми правами» (Mediaprinting: Identifying Multimedia Content for Digital Rights Management) представили Тайжун Хуанг, Йонфонг Тиан, Вен Гао и Жиан Лю (Tiejun Huang, Yonghong Tian, Wen Gao, Jian Lu). Internet коренным образом изменяет порядок распространения мультимедийного контента, обеспечивая пользователям небывалые возможности совместного использования цифровых фотографий, аудио- и видеофайлов, но это ставит серьезные проблемы при управлении цифровыми правами (Digital Rights Management, DRM).
Простота загрузки и скачивания любого материала значительно облегчает злоупотребления, пиратство и плагиат. Например в 2000 году компания A&M Records и другие ведущие компании грамзаписей подали в суд на сайт Napster, поддерживавший файлообменную пиринговую сеть для совместного использования музыкальных файлов, за пособничество нарушению авторских прав. Семь лет спустя компания Viacom вызвала в суд YouTube за «массовое намеренное нарушение авторских прав». Эти и другие судебные процессы подчеркивают повышение важности защиты контента и управления авторскими правами по мере того, как Интернет становится всемирной платформой распространения мультимедийного контента.
Термин DRM применим к технологиям и системам, защищающим права, связанные с использованием цифрового контента, обеспечивая их соблюдение. В последние два десятилетия появились два превентивных подхода к управлению цифровыми правами: шифрование мультимедийного контента для предотвращения неавторизованного доступа и встраивание в контент «водяных знаков» для последующей установки его подлинности. Однако у обоих подходов имеется много ограничений, и ни один из них не может помочь при решении проблемы с авторскими правами при наличии огромных объемов контента, распространяемого миллионами пользователей Интернета.
Все это привело к появлению нового подхода к управлению цифровыми правами, ориентированного на защиту авторских прав «задним числом» путем идентификации мультимедийного контента и проверки законности его распространения и совместного использования в Интернете. Медиаграммы (mediaprint) – это компактные описатели, которые, в отличие от внешних идентификаторов (например, «водяных знаков»), присоединяемых к мультимедийному контенту, извлекаются из самого контента. Медиаграмму невозможно разрушить или подделать, поскольку ее всегда можно заново вычислить на основе контента. В отличие от криптографических хеш-кодов, которые вычисляются на основе бинарных данных и всегда являются исключительно уязвимыми и чувствительными к данным, медиаграммы устойчивы к разнообразным изменениям и преобразованиям одного и того же контента, но существенно различны для каждого отдельного элемента контента.
Медиаграммы при идентификации контента имеют сходство с отпечатками пальцев или спектрограммами голоса при идентификации личности. Для разных типов контента имеются разные типы медиаграмм, поэтому медиаграммы для изображений, аудио- и видеоконтента называются "графограммами" (imageprint), "аудиограммами" (audioprint) и "видеограммами" (videoprint) соответственно. Можно ввести также "докграммы" (docprint) для документов и "софтграммы" (softwareprint) для исходного кода программ. Можно было бы также назвать медиаграммы «отпечатками пальцев» мультимедийного контента, перцепционными хеш-кодами, аудио- и видеосигнатурами и ДНК мультимедийного контента.
Рисунок 2 иллюстрирует свойства устойчивости и уникальности медиаграмм. Здесь показаны 64-разрядные графограммы, полученные путем применения дискретного косинусного преобразования к двум исходным изображениям и шести преобразованным копиям каждого из них. Хотя внешне изображения очень похожи, у двух исходных имеются разные графограммы (при вычислении с использованием расстояния Хэмминга сходство составляет 0,6563). При преобразовании изображений их графограммы остаются очень близкими.
Последняя большая статья номера «Формальная разработка приложений интеллектуального восприятия внешней среды» (Formal Design of Ambient Intelligence Applications) написана Антонио Коронадо и Джузеппе Де Пьетро (Antonio Coronato, Giuseppe De Pietro). Интеллектуальное восприятие внешней среды (Ambient Intelligence, AmI) характеризует возможность программной системы воспринимать изменения физической среды, приспосабливаться к ним и реагировать на них. Технологии AmI все чаще применяются в критических системах с очень изменчивыми внешними условиями (например, в больницах, при ликвидации чрезвычайных ситуаций и при кризисном регулировании).
К приложениям AmI, в разработке которых участвуют авторы статьи, относятся система контроля пациентов больниц, а также системы удаленного мониторинга, обрабатывающие физиологические данные, поступающие из сетей физиологических датчиков и управляющих адаптеров устройств типа дозаторов инсулина. Такие приложения должны работать с данными в реальном масштабе времени, а при получении критических показателей уметь мгновенно поднять тревогу. Понятно, что функциональные некорректности или ошибки времени выполнения программных систем могут иметь катастрофические последствия для пациентов.
При создании таких критически важных приложений разработчики должны учитывать наличие жестких требований к надежности. Для достижения этой цели авторы используют формальные методы повышения надежности системы за счет устранения ошибок при спецификации требований и на ранних стадиях разработки. Формальные методы позволяют наиболее эффективно и четко специфицировать требования, предотвращая появление в них ошибок. В то же время они обеспечивают средства формальной верификации требований, что позволяет выявлять и устранять ошибки в начале процесса разработки.
В течение многих лет авторы выполняют исследования в области мобильных систем, в частности они разрабатывали новые методы, инструментальные средства и сервисы для определения местоположения мобильных пользователей и ресурсов, придания мобильным средам свойства осведомленности о контексте и обеспечения возможности самоуправления компонентам программного обеспечения. Однако при переходе от прототипов к реальным системам AmI пришлось столкнуться с отсутствием как средств моделирования требований, так и четких процессов разработки. Поэтому авторы решили разработать собственную методологию формальной разработки приложений AmI, они создали соответствующий набор инструментальных средств, поддерживающих формальные методы спецификации требований и их верификации.
Всего хорошего, Сергей Кузнецов (kuzloc@ispras.ru).