Здравствуйте дорогие друзья!
Теперь тест опционных стратегий на истории возможен ;)
Хочу поделиться с вами давнишней моей прогой, но чрезвычайно важной и без преувеличения уникальной. Я не видел еще таких плееров у нас в России, может они конечно и существуют, но както не попадались на глаза.
Тестирование опционных стратегий очень сложная задача. Может кто помнит, я выкладывал тесты простых конструкций, посмотреть можно
тут.
Каждый тест, это по сути, отдельно написанная программа. Когда я протестировал основные комбинации, встал вопрос тестирования методов роллирования. Методов роллирования просто не счесть и я понял, что для этих целей старый подход тестирования никуда не годится, иначе я бы рисковал погрязнуть в бесконечном круге программирования этих методов. В итоге решил сделать плеер. С помощью плеера можно протестировать любую идею роллирования опционной конструкции и ничего не надо программировать заново.
Для чего плеер нужен (для чего применяю его я):
1. Протестировать опционную стратегию на истории и посмотреть работает она или нет.
2. Можно потренироваться с методами роллирования на истории и посмотреть какие из них как себя ведут в разных фазах рынка.
3. Испытать черного лебедя и понять чего будет с вашей стратегией, какие убытки, какое ГО.
Тестирование происходит довольно долго (можно неделю тестить один алгоритм на всей базе), но в этом есть тоже свои плюсы. Вы всю эту информацию пропускаете через себя, в отличии от сухого теста в виде цифр отчета тестера. Ну тоесть в живую набираете позу, роллируете, выравниваете греки, по дням видите свой результат, загрузку ГО и так далее. Согласитесь это гораздо лучше, чем проторговать 2 года какую то идею и обнаружить, что она не работает. Тут уйдет от нескольких часов до недели на прогонку своей идеи на истории.
Все подробности в видео.
Приведу лишь скриншоты:
Портфель.
Диаграмма.
Отчет
Остальные вкладки неинтересны.
Скачать архив с программой и видео можно
тут. (815 МБ, видео около 23 минут)
Пояснения:
1. Программа бесплатная, делюсь просто от того, что хочется сделать кому то добро (особенно начинающим опционщикам). Поэтому претензии не принимаю, а вот здравую критику, это можно ;)
2. Для корректной работы не забудьте включить макросы.
3. База данных сделана только по RI (с 15.06.2010 по 20.10.2016) и на дневном таймфрейме, внутридневные стратегии протестить нельзя.
4. В базе присутствует 2 периода пропуска котировок размером примерно с 1 неделю каждый. Вина не моя, у биржы такие данные.
5. Можно тестировать только месячные опционы, квартальные не получиться.
6. В видео я не привожу торгового алгоритма, там я просто описываю функционал на первом попавшимся примере.
7. Программу писал сугубо для себя, поэтому там много мелких недоработок. Они ни на что не влияют, но мне для себя их лень устранять.
Недоработки какого плана? Нет защиты от «дурака», отчеты надо в полу ручном режиме делать, нет кнопки отмена и нет возможности сохранять промежуточные результаты, возможно еще чего то по мелочи не помню уж.
Меня текущая версия в принципе устраивает и я в ней уже давно работаю. Если данный проект будет интересен обществу, то я готов его подделать, устранить вышеуказанные недоработки и может еще чего нибудь добавлю полезного.
Кому не жалко, тот может поделиться тестами. Мне интересно взглянуть.
Я не преподаватель, объяснять доходчиво не умею, так что кому чего не понятно пишите.
С уважением Фатеев Виктор!
З.Ы. Шикарная у вас программа, восхищен.
Public Function f_CalculationT(f_Date As Date, f_Exp As Date) As Double '
...
x = CDbl(DateDiff(«s», FormatDateTime(f_Date, vbGeneralDate), FormatDateTime(f_Exp, vbGeneralDate))) / CDbl(DateDiff(«s», CStr(«00:00 01.01.» & Year(f_Exp)), CStr(«23:59 31.12.» & Year(f_Exp))))
...
— убедитесь, что у вас в экселе включены макросы и внешнее содержимое.
— вкладка «Настройки» убедитесь, что дата записана в корректной форме (типа 14.12.2013, без пробелов и находиться в диапазоне между 15.06.2010 и 20.10.2016).
— нажимать кнопку следующий день можно только после того как была нажата кнопка «Начать сначала» (может быть её забыли нажать.
если ничего непоможет из этого, напрашивайтесь ко мне в скайп и я помогу настроить через скайп (скайп в профиле)
Спасибо!)
Но у меня два вопроса, если можно.
1. Через некоторое время после использования вылетает ошибка Run-time error 75: Cold not find cpecified object.
2. Как добавить следующие данные по RI, у Вас заканчивается на 20.10.2016
«1. Через некоторое время после использования вылетает ошибка» — пока ничего непонятно. Нужно чтобы вы описали чего делаете перед тем как вылетает ошибка.
«Как добавить следующие данные по RI» — пока никак, мне лень этим заниматься. Базу надо готовить, это кропотливый труд, для формирования базы у меня даже специальный софт написан. Пользуйтесь пока этой базой.
Удачи тебе Добрый Человек!
С уважением,