FateevVV
FateevVV личный блог
23 февраля 2016, 22:24

Анализатор опционных позиций. OptionFVV. Версия 1.0

Здравствуйте дорогие друзья!

Поздравляю все мужчин с праздником!!!

Я переписал свой анализатор опционных позиций из экселя на C#. Пишу в visual studio 2010.
Кстати я только начал изучать этот язык и это моя первая программа на этом языке. Так что мы с Тимофеев вроде как коллеги по цеху ;)

Начну со слов благодарности:
1. Евгению, за его комментарий, собственно именно оно заставило меня задуматься о том что все равно придется все переписывать с экселя, рано или поздно, пусть уж лучше рано.
Вот его комментарий «А вы подумайте, что дальше будет еще больше написанного, и тогда еще больше будете переписывать.». Хотя помню в первой версии программы он меня пытался отговорить от написания своего анализатора. Как хорошо, что я не податлив на чужое мнение. И то что я проделал такой путь ни грамма не жалею, наоборот есть еще большее желание развивать свой софт.
2. Всем тем кто согласился тестировать сырую версию моего анализатора, за их терпение и подсказки. Их было 4 человека Сергей, Дмитрий, Дмитрий и Максим (они знают про кого я говорю).
3. Есть еще один человек которому я благодарен, его к сожалению нет на смарт-лабе. Это профессиональный программист, на сайте MQL5 он известен как «Dmitriy Skub». Он мне периодически подсказывал по самому коду программы.

Собственно рассказывать особо нечего про программу, я её постарался сделать подобной экселю с тем же функционалом, только вот дизайн сделал так как мне хочется, в экселе я так сделать не мог.

Просто приведу пару скриншотов программы:
Доска:
Анализатор опционных позиций. OptionFVV. Версия 1.0

Диаграмма:
Анализатор опционных позиций. OptionFVV. Версия 1.0

Улыбка:
Анализатор опционных позиций. OptionFVV. Версия 1.0

Остальные 4 вкладки не так интересны для показа, но не менее значимые, сами посмотрите в общем, если интересно.

Есть возможность настраивать цветовые темы программы. Знаю что это абсолютно не важная функция, но мне просто было интересно как это можно организовать в своем приложении, раз уж сделал то пусть будет. Всего 5 цветовых тем (для девушек могу добавить розовую тему ;) ), вам покажу 2 моих любимых, остальные сами посмотрите:
Тема «Витек» — была на предыдущих скриншотах.
Тема «Угли с золой»:
Анализатор опционных позиций. OptionFVV. Версия 1.0

За пару билдов, доведу программу до того вида которого я хочу (аналитический функционал) и приступлю к модулям набора позиции, дельта и вега хеджеров.

Какие в программе присутствуют недостатки, которые я неприменно устраню (ну или постараюсь устранить):
1. В программе используется в качестве ДДЕ сервера мой любимый эксель, из за этого скорость обработки данных на порядок меньше чем нежели я бы использовал свой ДДЕ сервер. Я уже чувствую как летят в меня тухлые помидоры от программистов-профессионалов, мол не профессионально, ляля траля... Знаю, но этот пункт пока для меня не очень важен (текущая скорость устраивает и глюков из за экселя я пока не встречал), не охото тратить время на написание своего ДДЕ сервера, а у меня его и так катострофически не хватает.
2. Хочу привести вкладку калькулятор к тому же виду как и в экселе, это я обязательно сделаю в дальнейшем.
3. Продолжу усовершенствовать модуль рассчета ГО, пока используются сценарии по изменению цены и волы. Для простых позиций годится, а вот моих любимых календарей нет. В таких позициях он ГО будет занижать. Мне надо будет для них добавить сценарии по изменению раздвижки по воле разных опционных серий и по цене разных фьючерсов. В общем модуль рассчета ГО можно усовершенствовать до бесконечности, главное найти ту черту где дальнейшее усовершенствование не целесообразно. По поводу ГО, я плюнул его подгонять под биржу, всеравно не подгоню, так как там черный ящик, погрешность расчета всегда будет присутствовать. В место этого буду рассчитывать свое ГО, мое личное представление о рисках позиций, для меня это будет гораздо полезнее и понятнее.
4. На диаграмме хочу сделать, чтоб когда водишь по полю мышкой, где нибудь отображались координаты X и Y диаграммы профилей позиций. Пока это можно сделать методом экстраполяции на глазок ;)
5. Усовершенствовать доску опционов. Чтобы она помогала определять оптимальные страйки для календарей и простых спредов. Пока не определился какой вид, какие поля у неё будут, у кого есть дельные предложения подсказывайте. Сразу говорю основной упор будет делаться на календари.
6. Усовершенствовать работу с улыбкой.
7. На диаграмме бывает выступают артефакты в виде не гладкой линии диаграммы. Заметил это на очень маленьких значениях диаграммы, в основном когда строим гамму. Я думаю это косяк алгоритма сглаживания майкрософт при построении графика. Буду разбираться.

Порядок пунктов, это не приоритет, нумерация рандомная, в каком порядке буду исправлять будет зависеть от душевного порыва.

Ну и пару слов, чем же всетаки моя программа мне нравиться (это только основные моменты):
1. Моя прога бесплатная.
2. Корректный расчет и отображение календарей, особенно с разными фьючерсными сериями. Я вообще не понимаю чего сложного сделать это в других программах, почему нет возможности строить календари с разными фьючерсными сериями даже в платных программах. Есть конечно же программы которые позволяют это делать, но их мало и они в основном зарубежные.
3. Лично для меня, удобная система стратегий, это разбиение, ведения и учет.
4. Куча других мелких авторских мелочей, которые не так важны. Да и функционал программы ограничивается только моей фантазией, творю чего захочу!
Если бы в каком то приложении хотя бы первые 3 пункта было организовано, то я бы на начальных этапах задумался, а стоит ли делать свой софт ;)

Выкладываю дистрибутив программы, скачать можно тут.
Писать руководство по эксплуатации откровенно лень, мне оно не нужно, а для вас его писать не хочу, поэтому записал видео.
Видео с подробным объяснением функционала, настройки и подключения программы, скачать (1 ГБайт, 38 минут) тут.

Можете мне писать свои пожелания и найденные баги, выполнять их буду со следующим приоритетом:
1. Найденные не точности или откровенно неверные расчеты позиций, греков и так далее.
2. Найденные баги, зависания программы.
3. Пожелания по интерфейсу и функционалу программы.

Сразу поясню, первые 2 пункта будут устраняться однозначно, а вот пункт под номером 3 на мое усмотрение и думаю что процентов 90 будет отсеяно. Я уже сделал как мне хочется и есть четкое представление как надо в дальнейшем делать. Но все равно есть шанс, что прилетит действительно какое то очень полезное или удобное новшество.

Сразу предупрежу, что я никому ничего не должен, ни какие претензии не принимаю, если у кого то есть фантазии, что в моей проге зашит злобный вирус это их проблемы, делаю прогу для себя, никому ничего не навязываю. Кому она показалась полезной и пользуется ей, я только буду рад, что хоть кому-то сделал добро. Если нет, просто проходите мимо.

С уважением Фатеев Виктор!

59 Комментариев
  • Lexuz77
    23 февраля 2016, 22:32
    Супер! спасибо! будем тестировать!
  • миха
    23 февраля 2016, 22:35
    +++++++++
  • Alex
    23 февраля 2016, 22:38
    Буду тестировать! Спасибо за то, что Вы предлагаете данную программу всем страждущим! Жаль плюсануть не могу :(
  • Владислав (Pilot)
    23 февраля 2016, 22:39
    Однозначно — в мемориз!!! ++++++
    Посмотрим. Спасибо!
  • Бобровский Дмитрий
    23 февраля 2016, 22:41
    Мб на github положишь? Я бы присоединился к разработке, если позволишь. Может, что интересное получится))
      • Alex
        23 февраля 2016, 22:51
        FateevVV, все скачалось за 5 минут. Ещё раз спасибо Вам!
  • Andy_Z
    23 февраля 2016, 22:46
    «Корректный расчет и отображение календарей, особенно с разными фьючерсными сериями».
    Разные фьючерсные серии по сути это разные базовые активы. Сравнивать по ним опционы не совсем корректно.
    По крайней мере так утверждают разработчики Option-Lab (которым я сильно верю), поэтому такую возможность они у себя не реализовали и не собираются.
    • Alex
      23 февраля 2016, 22:49
      Andy_Z, скорее Вы путаете понятия. Если базовый актив 3.16. А у вас опционы и 1.16 и 2.16 и 3.16, про корректность их отображения идет речь, базовый актив у них одинаковый.
      • Andy_Z
        23 февраля 2016, 22:55
        Alex, Это так, и это Option-Lab позволяет. Я имел в виду опционы, к примеру,  на серии 3.16 и 6.16.
      • Andy_Z
        23 февраля 2016, 22:57
        FateevVV, Тогда почему бы не строить одновременно позицию по RI и Si? Корреляция у них тоже близка к 1. 
      • Алексей
        23 февраля 2016, 23:07
        FateevVV, по поводу dde сервера, если нужно будет готов помочь, есть своя переделка, нужно только под твои таблицы в квике структуру данных продумать, работает через события. но освобожусь где то через неделю.
          • Алексей
            24 февраля 2016, 00:01
            FateevVV, а так даже интересней :-) завтра со свободным временем определюсь и контакты в личку скину.

            p.s. где ж ты был пару месяцев назад, я примерно тоже самое для своих нужд делаю, только с перламутровыми пуговицами :-)
  • CloseToAlgoTrading
    23 февраля 2016, 22:56
    Скажите, а бэктест стратегий возможен? 
      • vitsantal
        25 февраля 2016, 16:21
        FateevVV, жаль, вот этого точно ни у кого из разработчиков нет
        а было бы интересно стратегию прогнать и на 2008, и на 2011 и на март2014, дек 2014.
    • Niktesla (бывш. Бабёр-Енот)
      23 февраля 2016, 23:05
      Denis, там хулиард самых разнообразных исторических данных нужен для бектестинга…
  • Niktesla (бывш. Бабёр-Енот)
    23 февраля 2016, 23:03
    хо хо хо… масштабно задумано, браво!
    И это в то время когда ~Колинкович 2-й год уже рассказывает про свои виртуальные опционы (это никак не связано конечно, но почему-то вспомнилось))
  • Lexuz77
    23 февраля 2016, 23:06
    Вопрос: есть ли возможность добавить в портфель один и тот же опцион, но по разной цене? 
  • CloseToAlgoTrading
    23 февраля 2016, 23:13
    Вы молодец, главное не останавливайтесь. :) 
    А какую модель расчета теоретической цены используете?
  • Dr Gonzo
    23 февраля 2016, 23:24
    Спасибо, буду пробовать
  • NukeProof
    23 февраля 2016, 23:32
    Зачётно!  Особенно про календари разных фьючерсных серий, ведь подобные стратегии имеют смысл, а софта считающего такую позицию целиком нет.
  • ivan tolopeev
    23 февраля 2016, 23:53
    Спасибо!
  • shprots
    24 февраля 2016, 00:12
    Офигеть… как можно только начать учить и сразу выдать такое? Расскажите о методике обучения))
      • Евгений
        24 февраля 2016, 08:09
        FateevVV, 
        не охото тратить время на написание своего ДДЕ сервера, а у меня его и так катострофически не хватает.
        Уже все написано на С++ и обернуто для использования в С#, требуется минимум движений

        гугли бесплатную библиотеку NDde.dll

        server = new MyDDEServer(«DDEServer»);  //Создаем объект DDE сервер

        server.Register();  //Регистрируем его

        пример использования robostroy.ru/community/article.aspx?id=683

        От этого у тебя тормоза и зависания

        Прога с квиком работает?
  • Goreloff
    24 февраля 2016, 00:52
    Товарисч молодетс, побольше бы таких авторов
  • Пафос Респектыч
    24 февраля 2016, 01:42
    Хорошая программа наверное, напомнило анекдот:

    Киев, прохожий спрашивает у местных, как пройти на Крещатик. Ему в ответ:
    — Шо?
    Повторяет вопрос на английском.
    — Шо?
    Hа немецком.
    — Шо?
    Hа французском.
    — Шо?
    Hе получив ответа, прохожий идёт дальше. Один местный другому:
    — Дивись Петро, яки умный человек — скильки ж много языков знает!
    — Hу и шибко це ему помогает?
    • shprots
      24 февраля 2016, 09:25
      Zweroboi, в анекдоте вся суть Украины.
  • lexabush79
    24 февраля 2016, 11:28
    Недавно начал тоже изучать C#, хотел тоже сделать свою программку для расчета опционов. Может тоже как Мартынов сделаете уроки по C# с несколькими примерами из вашей программы.
  • Сергей Ф
    24 февраля 2016, 15:31
    Автору плюс и огромное спасибо за программу, дальнейшего успеха в разработке! Вопрос к автору, планируется ли сделать управление масштабом картинки с улыбками и профилем стратегии? и Второе, биды и аски на улыбке показывает по колам или путам?
  • Natik
    24 февраля 2016, 21:19
    Здравствуйте, запустила анализатор, настроила вывод через dde сервер по видео, во вкладке Лог выдает ошибку «Ошибка в ClassDataDDE метод ReadDDE». Не подскажете, с чем это может быть связано? Спасибо!
      • Natik
        24 февраля 2016, 22:24
        FateevVV, Да, данные в эксель шли, все было открыто, фьючи были. Перезапустила квик, все заработало.
  • Дмитрий
    24 февраля 2016, 22:53
    Прямая DDE-шка, кстати, не очень сложно делается. Я помню из квика делал вывод для робота тоже на C#, там нужны:

    1. dll NDde
    2. класс XLTable

    Оба тырятся в нете. И можно просто со строками и столбцами работать как в экселе.

    Другой вопрос, нужна ли она сейчас. Если надумаете, пишите в личку, скину примеры кода.
  • Mr_Noname
    25 февраля 2016, 09:06
    Спасибо вам огромное. Я рад, что есть еще такие люди, которые готовы делиться с другими плодами своего труда «просто так».

    Анализатор я скачал. Сейчас смотрю видео. Позднее буду подключать. 

    Здорово, что теперь будет альтернатива www.option.ru

    ЗЫ. Плюс в в профиль поставил. Добавил в читаемые.
    Спасибо вам еще раз.
    ЗЗЫ. Не ожидал увидеть такое фото в разделе «О программе» :-) Улыбнуло.
    • Сергей Ф
      25 февраля 2016, 11:29
      Mr_Noname, ну в определенном смысле даже не альтернатива.а замена — календари в опшн.ру редко получается нормально отстроить, а у автора программы — отлично все отрисовывает. Вобщем, мне очень понравилась программа.
      • Mr_Noname
        25 февраля 2016, 14:01
        Сергей Ф, можно и так сказать. 
        Согласен насчет отрисовки. Не скажу, что очень понравилась. Скажу, что, пока что, в восторге от нее :-)
  • Konsta68
    25 февраля 2016, 23:59
    Не могу добиться работы вашей программы. В логах — Ошибка в ClassDataDDE метод ReadDDE. В окне Информация — В ДДЕ сервере нет фьючерса.      Quik 7.0.4.10
  • Konsta68
    26 февраля 2016, 08:39
    Они добавлены, в таблице Эксель они есть, и еще в Квике в параметрах для экспорта по ДДЕ нет параметра тип опциона.
  • Konsta68
    26 февраля 2016, 08:42
    Когда ставлю на экспорт параметр Погашение — выдает ошибку что формат не соответствует формату даты.
  • Konsta68
    26 февраля 2016, 09:34
    запустилось с параметром не Погашение а Дата исполнения инструмента
  • Денис Никитин
    26 февраля 2016, 17:50
    программа работает только с квик? со смартХ данные не возьмет?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн