Разбор кода опциона

Опубликовано в QLua

Как разобрать код опциона или фьючерса на языке Lua?

 

Коды срочных контрактов  РТС состоят из следующих частей:

Фьючерсы
C M Y
       

 

Опционы
C P K M Y
                                                                     
  
W
      

Расшифровка полей:

  • 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

 

Архив QLua