Избранное трейдера MrD

по

Лимитные ордера, их исполнение и рибейты. Навеяно последним топиком уважаемого Тихой Гавани

Доброй ночи, коллеги!

В последнее время участились (ну, или опять появились) топики, связанные с лимитными ордерами, рибейтами и прочей ересью.
После короткой дискуссии в последнем топике уважаемого Тихая Гавань, я решил вставить свои 4 копейки...

Дело в том, что лимитные ордера и особенности их исполнения — это достаточно сложная материя, в которой разбирается ещё меньше людей, чем тех, которые зарабатывают на рынке.
На моей памяти эрудицию в этой области проявляли буквально 4-5 резидентов СЛ, но лично я запомнил только fxsaber.

Азбуки в этом посте не будет. Если вкратце — лимитный ордер — это такой ордер, который может исполниться только по указанной цене или лучше, но никак иначе. Однако в ряде случаев он может быть отвергнут, либо исполнен по другой цене, но об этих исключениях я напишу ниже. В любом случае, традиционные проскальзывания на ордерах такого типа отсутствуют как класс.


( Читать дальше )

Теперь я владею стратегией Hamster (наименование условное)

    • 29 мая 2020, 22:28
    • |
    • 3Qu
  • Еще
Все совпадения с реальными именами и событиями случайны.
На днях написал топик — Модель идеального трейдера — Hamster. И вот оно, ушел в магазин, и 20 Кг сахара  стратегия. Она давно вынашивалась, тестировалась, и пора ее выводить на реал. Для того и писался индикатор, показанный в предыдущем топике.
Не все так просто, конечно, как показано на картинке, детали опущены, но стратегия — вот она:
Теперь я владею стратегией Hamster (наименование условное)
Картинка, кстати, никак не подбиралась, просто последняя (сегодняшний день), на первом попавшемся инструменте.
А че, хорошее название для стратегии. Главное, редкое.

КВИК-->Lua-->Python. Трансляция данных из КВИКа в Питон в реальном времени

Всех с пятницей — самоизолятницей!
Представляю общественности Python-сервер (в 9 строк кода) для получения данных из КВИКа в Питон через луа-скрипт в режиме реального времени.
Для примера приведу получение тиковых данных по SIM0.
Нам понадобятся следующие ингредиенты.
1. Понятное дело КВИК, версии ниже 8 или 8.5.2 и выше.
2. Питон Jupyter Notebook (Anaconda 3)
3. Луа-скрипт, взятый из Jatotrader (в нем буквально изменено пару строк)
Как работает сервер можно посмотреть в этом видео (1 мин. 38 сек.) Ну и по правилам хорошего тона, естественно сам текст ниже.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Экспорт данных Quik -> DDE -> Ваша программа.

    • 26 мая 2020, 13:56
    • |
    • 3Qu
  • Еще

После написания топика «Quik, DDE, Excel» [1], где была поставлена задача вывода данных доски опционов не непосредственно в Excel, что является очень неудобным для конкретных приложений, а в свой DDE-сервер. Свой DDE-Сервер обладает тем преимуществом, что данные из него можно направлять куда угодно, и как угодно.

С тех пор прошло 3 дня. Черновая болванка программы уже написана, отлажена, работает, и выполняет все возложенные на нее задачи. Как я опрометчиво обещал, проект DDE-Сервера будет предоставлен всем желающим [2](см. список ссылок). Проект выполнен на C++ в среде VS2017. DDE-Сервер на данном этапе выполнен в виде консольного приложения, и все что он делает, это выводит получаемые из Quik по DDE данные на консоль. В принципе, он должен работать с любой таблицей Quik, но делался под вывод доски опционов.

Я этот проект бросаю в таком виде, и уже начинаю на его основе делать приложение для решения своих конкретных задач. На этом наши пути расходятся. Проект поставляется в виде — как есть, и никакие изменения в него мною вносится уже не будут. Теперь это уже ваша задача. Вы можете модифицировать проект под решение ваших конкретных задач.



( Читать дальше )
  • обсудить на форуме:
  • QUIK

Еще раз о заработке на случайном блуждании - коллекция экспонатов

Доброй ночи, коллеги!

Ну вот и я стал нормальным человеком попал в ЧС к Константину «старый дед» Смирнову.
А все после вполне себе безобидного комментария, что если (его) метода показывает заработок на случайном блуждании, то ее надобно отправить в мусор. Комментарий был удален, но не сразу (дед думал), а я немедленно попал в ЧС.

С вопросом о возможности заработка на случайном блуждании мы разобрались в цикле из 2-х статей довольно давно. Напомню:
— на арифметическом случайном блуждании заработать невозможно
— на геометрическом случайном блуждании оптимальная стратегия имеет имеет линейно растующую эквити (что тоже не айс)

И вот пришла мне в голову идея — составить (с вашей помощью, коллеги) коллекцию методов, которые зарабатывают на случайном блуждании, чтобы никогда не использовать их на рынке. Т.к. если что-то зарабатывает на СБ, то оно либо написано с ошибками (алготорговля), либо применено неправильно (ручная торговля).

( Читать дальше )

Quik, DDE, Excel

    • 21 мая 2020, 12:16
    • |
    • 3Qu
  • Еще
Напомню, что обмен по DDE придуман в далеком 1995 году, еще для Windows 3.1.  DDE считается сильно устаревшим методом обмена данными и практически не поддерживается современными приложениями. Остался один Quik, который цепляется за DDE из последних сил.
Вывод по DDE в Excel еще и не удобен для обработки данных. Понадобилось мне, скажем, ввести дополнительно пару-тройку столбцов на опционную доску — в результате, в Excel все столбцы таблицы на листе сместятся, и всю адресацию ячеек листа Excel в программе надо будет переделывать заново.
В MS Access также имеется DDE-сервер, и есть возможность заполнять таблицы БД по DDE, однако Quik c Access по DDE работать не умеет.
В общем, решил, что экспорт таблицы из Quik по DDE надо запихнуть в таблицу базы данных (БД), и уже из БД программно работать с опционной доской. Что, кстати, гораздо удобней для любой таблицы Quik.
Хотел было через Lua — вроде все просто, Lua с таблицами работает. Ан нет, к доске опционов Lua доступа не имеет.
Наверное на С++ или C# связь по DDE надо делать.
И подумалось, а может у Смартлабовцев есть такие уже готовые рабочие решения, чего велосипеды изобретать? По крайней мере, для DDE (никогда программно с ним не работал), а в БД я и сам запихну, и если нужно поделюсь решением — здесь нет никаких ноу-хау.
Помогайте, граждане кто чем может.
  • обсудить на форуме:
  • Quik Lua

Идеальная "торговая система" А. Г. в реалиях нашего рынка

А. Г. интересную идеальную штуку описывает у себя в видео.

Прогоним эту систему без заглядывания в будущее на нашем рынке по следующим правилам:
Buy at open[m] if close[m-1]>OPEN[d] and HIGH*[m-1]+LOW*[m-1]>HIGH[d-1]+LOW[d-1].
Sell at open[m] if close[m-1]<OPEN[d].

Пояснения:
Расчеты делаются по минуткам opn, high, low, close.
m — текущая минута, которая только началась.
OPEN, HIGH, LOW это дневные значения. 
d — текущий день.
HIGH* и LOW* это максимум и минимум текущего дня с открытия и по завершившуюся минуту m-1.

Далее будут эквити без учета издержек.

Si (8% годовых при срсделке 0,01%):
Идеальная "торговая система" А. Г. в реалиях нашего рынка





























RI (22% годовых при срсделке 0,05%):
Идеальная "торговая система" А. Г. в реалиях нашего рынка

( Читать дальше )

Моделирование Торговых Систем на Python. 2.

    • 12 мая 2020, 10:29
    • |
    • 3Qu
  • Еще

Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].

В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.

Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:



( Читать дальше )

Zoppo - гений !!! По мотивам одноименной книги от Набиржеон

Доброе утро, коллеги!

Не успел я проснуться, как выяснил, что биржевой код взломан.
Это означает, что все мы (ну м.б. после окончания карантина) сразу становимся безработными. А это уже неприятно.

Познакомившись с трудами Zoppo/Набиржеон повнимательнее, я нашел в них пару умных мыслей. Собственно, только 2 эти мысли и были опубликованы )))

1. На коротких таймфреймах оптимальная стратегия очевидна
2. На длинных таймфреймах ее нет, и быть не может

Это уже совсем не такая абсолютная чушь, как тотальный взлом рынка. Мои личные исследования показывают, что на коротких таймфреймах действительно присутствуют супердоходные стратегии, которые стремительно теряют доходность при удлинении интервала квантования. При таймфрейме 10-36 часов эти extra fee уходят в никуда и мы приближаемся в хотелках к безрисковой ставке с некоей премией.

ОДНАКО: Активные (HFT?) стратегии несут в себе большие издержки. Довольно просто придумать стратегию (на любом активе), которая будет показывать идеальную эквити (Шарп больше 100, к примеру) при торговле без комиссий. При этом доход на сделку у типичной системы такого класса держится примерно на уровне половины спрэда, что полностью убивает потенциальную прибыль. Впервые такие плюшки я придумал в 1999, но, ввиду практически полной трейдинговой бесполезности, до сих пор использую их как некие индикаторы.

( Читать дальше )

Моделирование Торговых Систем на Python. 1.

    • 09 мая 2020, 19:31
    • |
    • 3Qu
  • Еще

Для моделирование ТС на Python, прежде всего нужен сам Python. Pythonы бывают очень разные.

Самый большой и длинный Python — Anaconda (https://anaconda.org/). Скачать дистрибутив Anaconda можно здесь — Индивидуальное издание -https://www.anaconda.com/products/individual.
Я работаю именно с Anaconda. Установив Anaconda мы получаем сам Python, уже установленные значительную часть нужных и ненужных пакетов с библиотеками Python, и несколько сред разработки. И все это сразу готово к работе, и нам, по большей части, уже не придется дополнительно устанавливать пакеты и среды.

Самый маленький Python последней версии 3.8.2. скачивается с сайта самого Python — https://www.python.org/. Это, практически, только сам язык, компилятор и минимальный набор пакетов. Сделать с ним практически ничего невозможно, и для работы придется постоянно устанавливать нужные пакеты. Среду разработки придется также устанавливать самостоятельно.
Этот Python больше подходит для запуска и работы с уже отлаженными законченными программами.



( Читать дальше )

....все тэги
UPDONW
Новый дизайн