Я понял, что я не то искал. Время от времени пытаюсь найти API от TradingView и всегда натыкаюсь на то, что есть только для брокеров. А искал-то не то. Данные-данными, данные в другом месте можно взять, а вот UI про графики хороший. Оказывается у них есть такая штука: www.tradingview.com/lightweight-charts/
Есть и более продвинутые у них, но эта вроде сама нетребовательная к скиллам разработчика. Хотя даже эта для меня слишком front-ориентированная, кажется. Но благо есть какие-то либы на гитхабе чтобы с этим можно было взаимодействовать из Python.
В моих розовых мечтах (пока даже не уверен, позволит ли это всё делать эта либа) я это могу заиспользовать для чего-то такого:
— Мой автоматический скринер-алертер, найдя интересный кейс автоматом кидает его в окно график, может сразу в нескольких TF. И я могу сам по своему усмотрению определять логику работы: например, новый тикер вешается в окно, куда был добавлен наиболее давно добавленный график или что-то такое.
— У меня есть простенький UI (пусть даже просто в JupyterNotebook), но он позволяет полностью подстраиваться под мои процессы, а не процессы подстраивать под tool. Ну например, выделил список тикеров и они все «прыгнули» в окна графиков или что-то такое.
Вы можете отключить все наши mt5, но вы не сможете отобрать у нас Quik).
Использовал mt5 как источник свечных данных для алго-торговли и алго-рисёчей. Историю скачал. А для торговли запилил источник данных вокруг Quik.

Я не очень хорош когда дело доходит до мелких деталей, типа чтения договоров, документаций, мелких шрифтов и т.д.
Подскажите, правильно ли я понимаю?
Инструмент: акции.
Брокер: любой, у которого получилось получить тариф с фиксированной платой (типа платишь скока-то тыщ. рублей в месяц в независимости от оборота и чего-то ещё) — обычно это был договорной тариф, но вроде видел, что у некоторых такой тариф уже в базе есть.
Правильно ли я понимаю, что если я во всех сделках использовал лимитные ордера и ждал в стакане и исполнялись всегда об меня, а не я об кого-то, то:
— Биржевой комисс 0.
— Брокерского комисса дополнительного сверх фиксированной месячной суммы нет.
Или где-то я ошибся?
Иногда ощущаю себя в роли героя американских мультиков а-ля Дисней. Вот этих красивых трехмерных. Тех которые сделаны по шаблону: есть представители традиционных взглядов – семья, племя, окружение, кто-то ещё, есть какой-то парень, девчонка, ребёнок с блеском в глазах и есть какая-то «запретная»», но очень интересная херня. Этот парень/девушка/ребенок тянется/рвётся к запретной херне, а традиционное окружение – отговаривает, сопротивляется, вставляет палки в колёса.
Вот я ощущаю себя часто как этот парень/девчонка/ребёнок, вокруг, причем не зависимо от того только ли ты думаешь о запретной херне или начал движение, или в паре шагов от или уже дошел – на протяжении всего пути вокруг будет условное:
— Твой дед как-то пробовал ходить к неведомой херне и его там побили/обжёгся/не понравилось и ты не ходи.
— Ходят легенды, что неведомая херня это опасно/не работает/страшно/не существует, нехер тебе там делать.
— Все, бл, не ходят к неведомой херне, а ты чё рыжий, и ты не ходи, не стремись к неведомой херне.
Бэктесты на неликвидах.
А кто-то бэктестит на таком? Как исполнение организовано? Ещё бы конечно хотелось динамически исполнение подстраивать (речь всё ещё про бэктест) в зависимости от текущей оценки ликвидности, а не постфактум оценки какой-то.
Я на свечах тещщу всё.
У меня сейчас 2 вида исполнения в бэктестах – для ликвида и неликвида. Хочется более интеллектуально и адаптивно это делать. Может у кого-то опыт есть, какие-то лайфхаки.
Отличия в исполнении, например: если ты стоишь лимиткой под ценой, а потом раз и дневка открылась ниже цены заявки, в ликвиде – тебе дадут на аукционе по цене открытия, а в неликвиде это скорее всего просто прострел и дай бог чтобы ликвидности хватило в твою-то заявку налить… по цене заявки, ясно.
Можно смотреть на проторгованные объемы, но это надо как-то инфляцию учесть, а-то ж это в разы или может десятки раз разница стоимости денег будет в разные периоды.
Можно по свечам оценивать, например, для внутридня что-то типа отношение на скользящем окне среднего abs(close текущей – open следующей) к ATR. Типа если дохрена оупен новой свечи от клоуза предыдущей улетает часто – видимо спреды запредельные. Да, наверно, что-то такое можно, с доп. подстраховкой через фильтр по деньгам или типа того.
Прокрастинировать тоже надо правильно. В алго не все задачи вау-интересные, много рутины, иногда хочется сменить пластинку. Отлично на эту роль подходит какой-нибудь креативный рисёч. Важно, чтобы было не слишком затратно по усилиям, иначе завязнешь, тоже станет скучно и т.д. При этом тема рисёча должна быть интересной, нестандартной или мотивирующей. В этот раз в качестве такого отвлечения решил погрызть извечный грааль алгостроения – прогнозирование состояния рынка.Думаю, вы знаете, что на рынке есть такие состояния, при которых любые (ну не любые, конечно) стратегии начинают хорошо перформить. И поэтому, умея прогнозировать такие состояния, ты как бы накачиваешь все свои стратегии стероидами.
По-быстрому без изысков определил как чё буду делать, на что смотреть (назовём это предикторами) и как измерять эффект. В принципе первые же предположения сработали. Но до грааля далеко. Эффект (for fun) получен, результат (и задел на будущее получен), дальше можно возвращаться, улучшать, развивать, ветвить рисёч.
В алгоритмической торговле много аспектов и много чем можно заниматься для улучшения результата. Интересно, кто в каких пропорциях время распределяет.
Как алготрейдеру сразу, конечно, хочется факторы вычленить, закономерности построить, посмотреть как распределение времени на результаты влияет, эксперимент спроектировать и провести. Но тут так, конечно, не выйдет), но просто послушать всё равно очень интересно. Интересно не чем в моменте занимаешься, а на каком-то скользящем окне помасштабней понять как усилия распределяется. Основной фактор, думаю, тут стадия жизненного цикла трейдера, но и в пределах стадии всё равно разброс на основе индивидуальных предпочтений приличный.
Я долго в инфраструктуру усилия вкладывал, потом в рисёч стратегий, щас основной упор в мета-исследования – исследования, положительный результат в которых аффектит эффективность всего процесса и всех/большинства стратегий. Наверно, процентов 60 этим занимаюсь, 30 – рисёч и написание стратегий, 10 – инфраструктуру допиливаю по необходимости.
Ваше взаимодействие с рынком как RPG игра – ты можешь выбирать ту роль, которая тебе нравится, можно отыгрывать сразу несколько.
Я, например объединяю в себе такие роли:
— Исследователь.
— Трейдер.
— Изобретатель, генератор идей.
— Автоматизатор-улучшатор.
— Лудоман.
— Кукловод в бункере.
Исследователь – очень люблю на рынке исследовательские челленджи. Исследовать какую-то конкретную идею для стратегии, ветвить её, исследовать мета-идею, влияющую на процесс создания стратегий или на уже созданные стратегии. Придумываю направления для исследования, придумываю методики, валидирую результаты, делаю выводы, улучшаю процессы и стратегии в соответствии с результатами.
Трейдер – достаточно абстрактная роль, конечно, но мне нравится называть себя трейдером, отождествлять себя с трейдером.
Изобретатель, генератор идей – люблю генерировать идея, изобретать подходы, изобретать способы, методы и архитектуры.
Автоматизатор-улучшатор – чем бы не занимался под диктовкой других ролей, хотя бы небольшой ветер всегда дует в парус улучшения оптимизации процессов – упростить, улучшить, автоматизировать. Особый интерес – автоматизировать неавтоматизируемое – потому что тоже челлендж.
Инфраструктурно меня конкретно штормило раньше). Видимо, строить инфраструктуру (где-то в глубинах внутренних предпочтений) мне ничуть не менее интересно, чем рисёчить стратегии. Поштормило-поштормило, да подотпустило. Зато теперь у меня внутри нет никакой недосказанности вида «а что если своё попробовать написать», «а что если готовую вот эту специализированную взять» и прочих. Лучше жалеть о то, что сделал… и я делал)).
Сейчас самописная инфрастуктура. Не разраб, не кодер, не архитектор, но кой какие-то принципы усвоил – какие-то из своего опыта вынес, какие-то из курсов или ещё откуда. Соблюдение банальной IT гигиены на порядки облегчает жизнь. Пример: раньше мог запилить коннектор какой-нибудь, который корнями врастал в остальную часть инфраструктуры и чтобы заменить его на другой коннектор, если понадобится, приходится выкорчёвывать, а это долго, сложно и отличный повод запустить прокрастинационный цикл. А надо-то, банально, написать базовый класс и, много не надо, буквально несколькими с указанием сигнатур, дальше от этого класса наследоваться – всё.
Скачал с этих страниц списки американских акций
https://stockanalysis.com/list/nyse-stocks/
https://stockanalysis.com/list/nasdaq-stocks/
Запустил бэктестер, он последовательно проходит по бумагам — бэктестит одну, потом к следующей переходит и т.д., после каждой выводит результаты по бумаге и накопительные. Ну и я иногда поглядываю на процесс, смотрю нарисовались какие-то средние метрики после некоторого кол-во отбэктесченных бумаг, потом смотрю PF плюс минус стабильно стал падать и падать и падать, думаю ну кто его там этот рандом поймёт, но, подозрительно, в начале процесса бумаги выдавали стабильно 1.7-2.0 PF, а тут чёт всё больше вокруг 1.1-1.2 стали плясать и тоже подозрительно стабильно. В какой-то момент, смотрю, накопленные метрики начали расти опять, присмотрелся, средний бэктест опять ближе к 1.7-2.0. Ага, я положил список с NYSE тикерами, а справа прилепил Nasdaq и понимаю, что этот скачок был связан с переходом между биржами. Сомнений нет, это не просто рандом – пора идти смотреть, по какому принципу тикеры отсортированы, чувствую, не по алфавиту. Так и есть – по капитализации.