Skip to content
This repository has been archived by the owner on Jan 2, 2024. It is now read-only.

Homework for the C++ course at ITMO University (2023): "Combination classification"

Notifications You must be signed in to change notification settings

npanuhin/ITMO-CPP-combinations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++: Классификация комбинаций

Лабораторная работа по курсу C++, ИТМО

Теоретическое введение

На современных электронных финансовых рынках торгуется множество видов финансовых инструментов - акции (share), облигации (bond), фьючерсные (future contract) и форфардные (forward contract) контракты, различные типы опционов и т.д. Отдельным видом финансовых инструментов являются комбинации.

Комбинацией называется композитный финансовый инструмент, состоящий из множества инструментов и сопоставленных им весов:

$$C=(I_1, w_1), (I_2, w_2), ..., (I_N, w_N)$$

где $I_1, I_2, ... , I_N$ - произвольные финансовые инструменты (компоненты), а $w_1, w_2, ... , w_N$ - соотвествующие им веса ($w_1, w_2, ... , w_N \in R$). Покупка (продажа) комбинации влечет за собой приобретение (продажу) компонент с положительным весом и продажу (покупку) компонент с отрицательным весом. Простым примером комбинации может быть фондовый индекс.

Далее полезно будет знать что такое опцион. Опционом называется финансовый инструмент, дающий право его владельцу купить (колл опцион, call option) или продать (пут опцион, put option) базовый актив (например, акцию) по определенной цене (цена исполнения, strike price) в определенный момент в будущем (дата исполнения, expiration date).

Комбинации, как и другие финансовые инструменты, могут быть различных типов. Например комбинация состоящая из одного колл и одного пут опционов с одинаковыми ценами и датами исполнения называется стреддл (straddle). А если цена исполнения пут опциона меньше цены исполнения колл опциона (даты истечения одинаковы), то комбинация называется стренгл (strangle).

Постановка проблемы

Задача состоит в определении типа комбинации по ее структуре и свойствам компонент.

Описание формата ресурса

Множество всех типов описано в виде XML-ресурса. Каждая комбинация описыватеся тегом <combination>: