Решил пощупать рынок за опционы. Кубики на эту тему спроектированы не очень понятно, но достаточно гибко. Набросал сценарий, погонял по истории (правда выяснилось, что хрен ты автоматом задашь расчетный опцион из дохлых, только руками даты экспирации подбирать), ну да ладно. Обошелся тестами на последнем, срок истечения которого совпадает с истечением фьюча. Все запустил, сижу жду. Входим в позицию и тут агент начинает выбрасывать эксепшены. Причем в отличии от прошлого раза, исключение можно вносить в палату мер и весов по информативности:
07:53:30.54[2219]DEBUG:System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.SZArrayHelper.get_Item[T](Int32 index)
в TSLab.User.Script.Execute(IContext context, IOption ТоргуемОпцион)
В лабе проблем нет. Два агента на том-же коде, но без позиций — тоже чисто. После часа ковыряний, выяснилось, что если убрать все опционные кубики и заменить их посконными, то агент больше не ругается. В итоге на том и порешил. Жаль конечно. Изначальная задумка предполагала возможность быстрого развёртывания, где указывается только опорный инструмент, а страйки рассчитываются автоматом. Но нет. Зато я теперь по названию опциона умею быстро понимать про что он, уже профит.
Производитель программы черным по белому пишет: «тестирование опционов на истории не реализовано».
Но обязательно найдется человек, который начнет ковырять, убедится, что "не реализовано" — и обязательно пойдет кричать об этом на смарт-лабе.
Давайте заодно акцентируем внимание общественности, что "торговать опционами через Квик — нельзя (фьючерсами и акциями — можно)".
Я что подумал… почему бы Вам не начать с освоения штатных опционных скриптов? Честное слово, с нуля получить сопоставимый функционал — это будет довольно долгий путь.
И понятно, будет возможность тестировать виртуальными позициями в рилтайме, но не будет тестирования на истории. Кмк, виртуальные позиции должны заменять процентов 70 от курвафитинга, который Вы неизбежно получите при прогоне опционов в оптимизаторе.
Sergey Cellinsky, ну, так и не надо.
У меня аналогия с ездой на машине: Вы не лезете разбираться в конструкции автоматической коробки передач и не вспоминаете цикл Карно, чтобы сесть за руль и поехать.
Возвращаясь к опционам. Нужно освоить определенный набор из нескольких приборов. Этого достаточно, чтобы тронуться с места. Все необходимое для этого в ТСЛаб есть в готовом виде.
Чтобы торговать опционы, не нужно знать назначение каждого из примерно 150 опционных кубиков.