Разбор кода опциона
Как разобрать код опциона или фьючерса на языке Lua?
Коды срочных контрактов РТС состоят из следующих частей:
| C | M | Y | |
|---|---|---|---|
|
|
|||||||||||||||||||||||
Расшифровка полей:
- C – код базового актива, 2 символа,
- P – цена страйк, переменное количество символов,
- К – тип расчетов,
- M – месяц исполнения (а также тип для опциона), 1 символ,
- Y – год исполнения, 1 символ,
- W – признак недельного опциона, 1 символ.
Подробнее на сайте Московской биржи.
Попробуем разобрать эти коды на составляющие, поупражняемся с механизмом паттернов Lua:
Фьючерсы:
pattern = "(%a%a)(%a)(%d)"
print(string.match("RIM5",pattern))
print(string.match("EuZ6",pattern))
Результат:
RI M 5
Eu Z 6
Опционы
pattern = "(%a%a)([%d%.]+)(%a)(%a)(%d)(%a-)"
print(string.match("ED000001BF5",pattern))
print(string.match("ED001.14BR5",pattern))
print(string.match("RI065000BW5",pattern))
Результат:
ED 000001 B F 5
ED 001.14 B R 5
RI 065000 B W 5
См. также Шаблоны в Lua
