TradeAPI_вакансия.docx
14.3 KB
Всем добрый день!
Финам ищет менеджера продукта для своей следующей версии Trade API. Вакансию прикладываю. Если интересно, то отпишитесь Андрею Хвану @haoshoku_haki.
Я на отдыхе до конца лета. Много работаю с идеологией, концептами и кодом. Постараюсь вас удивить в сентябре.
Финам ищет менеджера продукта для своей следующей версии Trade API. Вакансию прикладываю. Если интересно, то отпишитесь Андрею Хвану @haoshoku_haki.
Я на отдыхе до конца лета. Много работаю с идеологией, концептами и кодом. Постараюсь вас удивить в сентябре.
До осени еще пара недель, а я начинаю выкладывать код, над которым работал летом. Начнем с QuikPy. Глобальное обновление. Работает с:
- LUA 5.4.1
- Оригинальными скриптами QUIK#
- Текущей версией QUIK LUA 11.2
- По умолчанию QuikPy - Singleton. Это значит, что с QuikPy можно работать одновременно из нескольких скриптов. Для множественных подключений в коде можно вернуть создания экземпляров класса QuikPy для каждого подключения.
- Переписаны все примеры
- Bars.py выполнен в том же стиле, что и для AlorPy/FinamPy/TinkoffPy
К сожалению, не получилась совместимость с предыдущими версиями. Поэтому, в ваших скриптах проверьте правильность вызова функций, подписок и обработки подписок.
Также если вы используете QuikPy в связке с BackTraderQuik, то подождите, когда я опубликую изменения в нем.
- LUA 5.4.1
- Оригинальными скриптами QUIK#
- Текущей версией QUIK LUA 11.2
- По умолчанию QuikPy - Singleton. Это значит, что с QuikPy можно работать одновременно из нескольких скриптов. Для множественных подключений в коде можно вернуть создания экземпляров класса QuikPy для каждого подключения.
- Переписаны все примеры
- Bars.py выполнен в том же стиле, что и для AlorPy/FinamPy/TinkoffPy
К сожалению, не получилась совместимость с предыдущими версиями. Поэтому, в ваших скриптах проверьте правильность вызова функций, подписок и обработки подписок.
Также если вы используете QuikPy в связке с BackTraderQuik, то подождите, когда я опубликую изменения в нем.
GitHub
GitHub - cia76/QuikPy: Библиотека-обертка, которая позволяет получить доступ к функционалу Quik из Python
Библиотека-обертка, которая позволяет получить доступ к функционалу Quik из Python - cia76/QuikPy
У Квика была странность с потерей подписок после отключения терминала от сервера. Сделал в QuikPy механизм подписок/отписок/восстановления подписок для стаканов и свечек. Примерно так, как сделано в AlorPy. Пользуйтесь на здоровье!
P.S. Telegram ввел особые статусы постов (звёзды). Попробую ими маркировать все интересные (и бесплатные) новинки. Для примера поставил звезду в прошлый пост. Если есть желание, то можете поддерживать посты этими особыми статусами.
P.S. Telegram ввел особые статусы постов (звёзды). Попробую ими маркировать все интересные (и бесплатные) новинки. Для примера поставил звезду в прошлый пост. Если есть желание, то можете поддерживать посты этими особыми статусами.
Был вопрос про запуск нескольких скриптов в QuikPy одновременно. Это сделать просто:
Сначала заготовьте скрипты, которые на вход будут получать QuikPy
Напишите скрипт, в котором:
- инициализируете QuikPy
- вызываете скрипты как потоки с передачей QuikPy как параметр
- дожидаетесь их исполнения
- закрываете QuiikPy
На рисунках показан как достаточно лаконичный код запуска скриптов (находится здесь), так и результат исполнения. Видно, что сначала идет результат 1-го скрипта, затем 2-го, затем снова 1-го. Значит, они работают независимо друг от друга.
Сначала заготовьте скрипты, которые на вход будут получать QuikPy
Напишите скрипт, в котором:
- инициализируете QuikPy
- вызываете скрипты как потоки с передачей QuikPy как параметр
- дожидаетесь их исполнения
- закрываете QuiikPy
На рисунках показан как достаточно лаконичный код запуска скриптов (находится здесь), так и результат исполнения. Видно, что сначала идет результат 1-го скрипта, затем 2-го, затем снова 1-го. Значит, они работают независимо друг от друга.
Большое обновление BackTraderQuik:
- Возможность указать счет в getcash/getvalue/buy/sell
- Получение новых бар по расписанию
- Сохранение бар в файл
- Возможность указать счет в getcash/getvalue/buy/sell
- Получение новых бар по расписанию
- Сохранение бар в файл
GitHub
GitHub - cia76/BackTraderQuik: Провайдер для автоторговли в BackTrader из Quik
Провайдер для автоторговли в BackTrader из Quik. Contribute to cia76/BackTraderQuik development by creating an account on GitHub.
На выходных сделал торговлю фьючерсов в BackTrader (BT) для QUIK и Алор.
Как это работает. По фьючерсам будут приходить в BT цены и объемы (лоты) с биржи без изменений. По ним можете строить индикаторы, условия. От цен считать цены входа/выхода. Когда будете отправлять заявки через buy/sell, то BT проверит цены на корректность (соответствие шагу цены и кол-во знаков после запятой), выставит на биржу. А вот в заявках и позициях уже будет цена за штуку в рублях. Лоты будут преобразованы в штуки.
Также сделал возможность указывать счет для заявки или, если счет не указан, то выбирать счет автоматически. Смотреть остаток и список позиций по счету.
Для торговли нужно обновить QuikiPy, BackTraderQuik, AlorPy, BackTraderAlor.
Как это работает. По фьючерсам будут приходить в BT цены и объемы (лоты) с биржи без изменений. По ним можете строить индикаторы, условия. От цен считать цены входа/выхода. Когда будете отправлять заявки через buy/sell, то BT проверит цены на корректность (соответствие шагу цены и кол-во знаков после запятой), выставит на биржу. А вот в заявках и позициях уже будет цена за штуку в рублях. Лоты будут преобразованы в штуки.
Также сделал возможность указывать счет для заявки или, если счет не указан, то выбирать счет автоматически. Смотреть остаток и список позиций по счету.
Для торговли нужно обновить QuikiPy, BackTraderQuik, AlorPy, BackTraderAlor.
Наш трейдер Надежда хочет предупредить всех тех, кто будет разбираться с торговлей из QUIK через BackTrader со скриптом LimitCancel.py.
Обязательно проверяйте в чем вам присылает остатки брокер (на примере в красной рамке). В лотах или штуках. Например, Алор шлет остатки в лотах. Финам и БКС - в штуках.
Если перепутать, то можно или не поставить заявку, или поставить во много раз больше.
Будьте внимательны и читайте комментарии в коде! 😊
Обязательно проверяйте в чем вам присылает остатки брокер (на примере в красной рамке). В лотах или штуках. Например, Алор шлет остатки в лотах. Финам и БКС - в штуках.
Если перепутать, то можно или не поставить заявку, или поставить во много раз больше.
Будьте внимательны и читайте комментарии в коде! 😊
За записью видео в последние годы совсем забыл про старые добрые текстовые статьи. Новый сезон - прекрасный повод вернуться к основам. Тем более, был вопрос, как формировать список ликвидных акций для скринеров.
Отвечаю в новой статье здесь >>>
Старые статьи после рецензирования также буду перемещать в раздел Обучение. Чтобы весь материал не был разбросан по сайту, а находился в одном месте.
Отвечаю в новой статье здесь >>>
Старые статьи после рецензирования также буду перемещать в раздел Обучение. Чтобы весь материал не был разбросан по сайту, а находился в одном месте.
Уже говорил про то, что все бесплатные библиотеки ФинЛаба развиваются нашими уважаемыми трейдерами. Сегодня в библиотеку BackTraderQuik были внесены изменения, которые позволят даже при частых отключениях/подключениях QUIK быстро восстанавливать подписки и фильтровать уже отработанные бары.
Благодарю Антона и Надежду за помощь!
Текущую версию библиотеки вы всегда можете взять с GitHub здесь >>>
Благодарю Антона и Надежду за помощь!
Текущую версию библиотеки вы всегда можете взять с GitHub здесь >>>
Когда мы работаем с QuikPy из нескольких потоков, которые интенсивно работают с запросами, то возможны ситуации, когда ответы от QuikPy или приходят не в тот поток, или не приходят вообще.
Чтобы этого не происходило, ввел несложную блокировку на функцию отправки запроса и приема ответа (на картинке).
Также поправил пример MultiScrips.py, чтобы дать нагрузку на QuikPy.
Благодарю Анастасию (МосБиржа) за постановку задачи.
QuikPy всегда доступен вам здесь >>>
Чтобы этого не происходило, ввел несложную блокировку на функцию отправки запроса и приема ответа (на картинке).
Также поправил пример MultiScrips.py, чтобы дать нагрузку на QuikPy.
Благодарю Анастасию (МосБиржа) за постановку задачи.
QuikPy всегда доступен вам здесь >>>
В октябре будем заниматься Системой Джона Элерса. Последний год я не сильно вникал в его новые торговые техники, а там есть где развернуться! Тем более, что мы с вами тоже набрались уму-разуму, и кое-что сможем у Джона или поправить, или докрутить.
Начнем с того, что у меня было 15 статей в блоге. Но жизнь меняется. Часть видео удалила Vimeo, да и YouTube не всегда комфортен. Поэтому, я решил все посты оформить в виде статей-уроков. Поэтому, заглядывайте в раздел Система Джона Элерса: Статьи.
Первые 2 статьи уже ждут вас:
- Принципы циклов
- Почему у Джона Элерса торговые системы лучше ваших
Смотрите, изучайте!
Начнем с того, что у меня было 15 статей в блоге. Но жизнь меняется. Часть видео удалила Vimeo, да и YouTube не всегда комфортен. Поэтому, я решил все посты оформить в виде статей-уроков. Поэтому, заглядывайте в раздел Система Джона Элерса: Статьи.
Первые 2 статьи уже ждут вас:
- Принципы циклов
- Почему у Джона Элерса торговые системы лучше ваших
Смотрите, изучайте!
Грааль, да еще и всего в 3 строки кода. Так умеет только Джон Элерс! 😄
Перенес все 14 постов про Систему Джона Элерса вот сюда.
Видео перенес в VK, поправил в некоторых постах текст и оформление.
Мне больше всего нравятся видео про дивергенцию и Фибо последовательность.
Читайте, смотрите, изучайте себе во благо!
Видео перенес в VK, поправил в некоторых постах текст и оформление.
Мне больше всего нравятся видео про дивергенцию и Фибо последовательность.
Читайте, смотрите, изучайте себе во благо!
Джон Элерс постоянно говорит о том, что рыночный сигнал - это розовый шум. Но вместо доказательств рассказывает про походку пьяницы.
Этим летом я формировал базу понимания, что есть рыночный сигнал, поэтому вопрос природы рынка встал и передо мной. Я решил вооружиться научными инструментами, и привести объективное доказательство того, что рынок - это розовый шум.
В результате получился одноименный курс из 12-и уроков, который выкладываю для всех в открытый доступ здесь >>>
Приятного обучения!
Этим летом я формировал базу понимания, что есть рыночный сигнал, поэтому вопрос природы рынка встал и передо мной. Я решил вооружиться научными инструментами, и привести объективное доказательство того, что рынок - это розовый шум.
В результате получился одноименный курс из 12-и уроков, который выкладываю для всех в открытый доступ здесь >>>
Приятного обучения!
Я доказал, что рыночный сигнал - это розовый шум. Раз появилась сущность "шум", то нужно понять, что можно с шумом делать. Основные исследования исходили из того, что шум - паразитный сигнал. Все, что нужно сделать, это его удалить. Тем самым очищая сигнал, несущий смысловую нагрузку. У нас кроме шума ничего нет. Поэтому, его нужно научиться объективно оценивать, создавать (синтезировать) и выделять (анализировать). Чем и займемся. Мы выведем несколько формул. Объективно оценим чистый розовый шум. В завершении покажу, что изменение характера рынка - это далеко не случайность. О чем давно догадывался Ларри Вильямс, но показать удалось только сейчас. Это исследование выложено в курсе Система Игоря Чечета: Исследование шумов.
В исследовании шумов я опирался на концепцию построения EMA. У Джона Элерса была формула связи альфы EMA с критическим периодом, которую он транслирует во всех своих публикациях более 10-и лет. Я ничего не принимаю на веру, и решил сделать вывод этой формулы, опираясь на базу цифровой обработки сигналов (ЦОС). Могу сказать, что из-за "детской" ошибки раскрытия скобок, формула Джона Элерса не верна. Что и показал в курсе Система Джона Элерса: Правильный расчет EMA. Также приложил верную формулу. Поэтому, если вы использовали формулу альфы EMA через тригонометрические функции, то исправьте ее на ту, что привел в курсе.
С такой мощной базой вышел на новую "окончательную" оптимальную скользящую среднюю от Джона Элерса. Зная ЦОС, я усомнился в "идеальности" предложенной скользящей. Объяснил всё в курсе Система Джона Элерса: Оптимальная скользящая средняя. Шаг за шагом построил 4 типа скользящих средних, которые вы можете использовать в своих торговых системах в зависимости от задач.
К каждому курсу прикладывается файл исследования. Все формулы в курсах выведены и расписаны. Алгоритмы реализованы как готовые функции, которые вы можете сразу же использовать в исследованиях и торговых системах.
В исследовании шумов я опирался на концепцию построения EMA. У Джона Элерса была формула связи альфы EMA с критическим периодом, которую он транслирует во всех своих публикациях более 10-и лет. Я ничего не принимаю на веру, и решил сделать вывод этой формулы, опираясь на базу цифровой обработки сигналов (ЦОС). Могу сказать, что из-за "детской" ошибки раскрытия скобок, формула Джона Элерса не верна. Что и показал в курсе Система Джона Элерса: Правильный расчет EMA. Также приложил верную формулу. Поэтому, если вы использовали формулу альфы EMA через тригонометрические функции, то исправьте ее на ту, что привел в курсе.
С такой мощной базой вышел на новую "окончательную" оптимальную скользящую среднюю от Джона Элерса. Зная ЦОС, я усомнился в "идеальности" предложенной скользящей. Объяснил всё в курсе Система Джона Элерса: Оптимальная скользящая средняя. Шаг за шагом построил 4 типа скользящих средних, которые вы можете использовать в своих торговых системах в зависимости от задач.
К каждому курсу прикладывается файл исследования. Все формулы в курсах выведены и расписаны. Алгоритмы реализованы как готовые функции, которые вы можете сразу же использовать в исследованиях и торговых системах.
Постоянно говорю ребятам в своей инженерной школе о том, что язык формул и код более скудны, чем наш язык общения. Выучить и понять их гораздо легче, чем стать мастером словесности. Но, с другой стороны, формулы и код не простят нам даже малейшую помарку.
Так и произошло с тригонометрической формулой зависимости альфы в EMA от периода у Джона Элерса. Ошибка была при раскрытии скобок. Смоделирую простым примером:
10 - 2 *(4 - 1) = 4
На первый взгляд всё просто. В скобках получим 3. Умножим на 2, получим 6. Вычтем из 10-и, получим 4.
Джон Элерс пошел другим путем, и попытался раскрыть скобки вот так:
10 - 2 * 4 - 2 * 1 = 0
Конечно, это неверно. Но именно эта ошибка, в итоге, привела к неверной формуле, которую более 12-и лет использует Джон.
Когда записывал для вас курс Система Джона Элерса: Правильный расчет EMA, то для проверки формулы построил АЧХ фильтра EMA. Очень удивился, что отсечка -3 dB была далеко за заданным периодом.
Тогда понял, что надо вывести формулу заново. Я не торопился. Разбил вывод формулы на части, чтобы самому не ошибиться в нюансах. Проверил на разных периодах через АЧХ. Всё работает как надо. Конечно, как обычно, все проверки, алгоритмы, код и формулы выложил вам в файле исследования в курсе.
Так и произошло с тригонометрической формулой зависимости альфы в EMA от периода у Джона Элерса. Ошибка была при раскрытии скобок. Смоделирую простым примером:
10 - 2 *(4 - 1) = 4
На первый взгляд всё просто. В скобках получим 3. Умножим на 2, получим 6. Вычтем из 10-и, получим 4.
Джон Элерс пошел другим путем, и попытался раскрыть скобки вот так:
10 - 2 * 4 - 2 * 1 = 0
Конечно, это неверно. Но именно эта ошибка, в итоге, привела к неверной формуле, которую более 12-и лет использует Джон.
Когда записывал для вас курс Система Джона Элерса: Правильный расчет EMA, то для проверки формулы построил АЧХ фильтра EMA. Очень удивился, что отсечка -3 dB была далеко за заданным периодом.
Тогда понял, что надо вывести формулу заново. Я не торопился. Разбил вывод формулы на части, чтобы самому не ошибиться в нюансах. Проверил на разных периодах через АЧХ. Всё работает как надо. Конечно, как обычно, все проверки, алгоритмы, код и формулы выложил вам в файле исследования в курсе.
В курсе Система Джона Элерса: Правильный расчет EMA мы заменили альфу (параметр периода) по моей правильной формуле. Была EMA, которая по периоду соотносилась с SMA. Стала EMA, у которой период является частотой среза. Это хорошо, но достаточно ли нам работать только с фильтрами 1-го порядка?
Для выделения белого шума и синтеза розового шума EMA вполне достаточно. Что показал в курсе Система Игоря Чечета: Исследование шумов. Но более качественную оценку с помощью EMA сделать нельзя. После применения EMA на розовом шуме снова получаем розовый шум. Сменить период - тоже не вариант. Характеристики будут те же, просто сместится частота среза.
Раз нельзя копать вширь, копаем вглубь. Фильтры 2-го порядка более качественно "режут" сигнал. То, что мы знаем как спектральное расширение в 6 dB на октаву, или, другими словами, фрактальность рынка, устраняется только с помощью фильтров 2-го порядка.
Один из таких фильтров представлен в курсе Система Джона Элерса: Оптимальная скользящая средняя. Джон там напутал знатно. Например то, что преобразование идет не только в частотной, но и во временнОй области. Т.е. фильтр нижних частот (в трейдинге известен как скользящая средняя) без задержки получить не удастся. В курсе я всё поправил как надо. В итоге, мы получим 4 скользящих средних 1-го и 2-го порядков, чтобы решить любую задачу в нашей торговой системе.
Для выделения белого шума и синтеза розового шума EMA вполне достаточно. Что показал в курсе Система Игоря Чечета: Исследование шумов. Но более качественную оценку с помощью EMA сделать нельзя. После применения EMA на розовом шуме снова получаем розовый шум. Сменить период - тоже не вариант. Характеристики будут те же, просто сместится частота среза.
Раз нельзя копать вширь, копаем вглубь. Фильтры 2-го порядка более качественно "режут" сигнал. То, что мы знаем как спектральное расширение в 6 dB на октаву, или, другими словами, фрактальность рынка, устраняется только с помощью фильтров 2-го порядка.
Один из таких фильтров представлен в курсе Система Джона Элерса: Оптимальная скользящая средняя. Джон там напутал знатно. Например то, что преобразование идет не только в частотной, но и во временнОй области. Т.е. фильтр нижних частот (в трейдинге известен как скользящая средняя) без задержки получить не удастся. В курсе я всё поправил как надо. В итоге, мы получим 4 скользящих средних 1-го и 2-го порядков, чтобы решить любую задачу в нашей торговой системе.