Блог им. kvazar

Если начать сначала, что бы, какое подключение выбрали для работы механической торговой системы, для скорости?

    • 10 октября 2020, 17:47
    • |
    • kvazar
  • Еще

Если начать сначала, что бы, какое подключение выбрали для работы механической торговой системы, для скорости?

Quil->Lua->C++
Quil->Lua->C#
Tranzaq Connector
Fix
Fast
Plaza II
Другое
Всего проголосовало: 40

Если есть личный опыт использования нескольких вариантов ДЛЯ MOEX, было бы здорово получить комментарий.

★2

Прикол в том, что вы получите набор ответов.

Но среди них будет очень мало тех, кто реально пробовал создавать коннекторы.

Т.е. по сути вы узнаете мнение толпы.

А толпа в подавляющем большинстве случаев ошибается.

avatar

FinSerfing

FinSerfing, я понимаю, но это хоть какой то срез.
avatar

kvazar

kvazar, это срез из теоретиков и программистов.

Которые к прибыльному трейдингу отношения не имеют.

avatar

FinSerfing

Уточните для какого рынка
avatar

Андрей К

Андрей К, ММВБ
avatar

kvazar

kvazar, ммвб плаза не подойдет. Остается только fix для заявок и fast для котировок. Можно взять сразу шлюз ASTS — он как плаза для forts
avatar

Андрей К

Lua -C++. В общем, все основное, включая коды, есть в моем блоге
avatar

3Qu

3Qu, читал, да. 
avatar

kvazar

 Может я не понимаю, почему Tranzaq Connector не пользуется популярностью? он же предоставляет доступ минуя прослойку типа Квика, т.е. быстрее по идее должен быть?
avatar

kvazar

kvazar, а куда и зачем вам скорость? Пипсуете? Для остального сверхскорость без надобности.
avatar

3Qu

3Qu, хочу иметь возможность быстро управлять позицией — набрать с бросить, при прохождении уровней, например. у меня сейчас все интрадэй и скорость важна, да.
avatar

kvazar

kvazar, все вполне успевает я даже через Луа. Доли секунды ничего не решают.
Если руками все успевается, то любым скриптом тем более.
avatar

3Qu

kvazar, потому что Транзак привязывает к одному брокеру.

avatar

FinSerfing

FinSerfing, об этом я не подумал.
avatar

kvazar

Я бы начал под Transaq Connector, не забывая про абстракционный слой, чтобы можно было потом другим коннектором подменить при необходимости.

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

Минусы: ну да, только Финам.

Сам я коннектор писал и немного погонял, правда в итоге он мне не пригодился, потому что я бросил спекуляции.
avatar

Нувот Вчеранов

Нувот Вчеранов, а на чем исходники?
avatar

kvazar

kvazar, ну я более всего подкован в джаве и котлине, так что писал на них. Но обратиться к .dll можно из любого полноценного языка.

avatar

Нувот Вчеранов

Нувот Вчеранов, начинающий программист и абстрактный слой несовместимы.
avatar

FinSerfing

FinSerfing, ну вообще в вопросе не сказано что программист должен быть начинающим.
Да и на самом деле это мелочи. Даже если этот слой не делать, его можно потом впихнуть, проблемы не будет.

Но зато в остальном ты пишешь код в IDE, можешь легко писать тесты, подключать любимые библиотеки, и все радости отдельного программирования.

А с квиком? Через луа кое-как? Писать на двух языках? Или копаться с DDE в 2020? Да это преступление против человечества.

Лучше уж тогда сразу через коннекторы прямого доступа к бирже. Тем более если нужно действительно быстро, то другого варианта и нет.

avatar

Нувот Вчеранов

Нувот Вчеранов, нет.

Потом впихнуть его будет нельзя.

Всё это закладывается на этапе проектирования.

В противном случае получается высоко связанный код.

Т.е. клубок проблем.

Который затягивается на шее, выбрасывается и полностью переписывается.

 

Программист начинающий.

Я на этом настаиваю.

Это отчётливо видно из постановки и формы вопросов.

Он гонится за глубоко вторичным, упуская суть.

Потому что не имеет опыта.
 

Прямые коннекторы к бирже стоят денег, они сложнее в создании и их скорость в 99% не нужна.

От слова «совсем».

Это пустая трата времени и ресурсов.

Такова реальность.

avatar

FinSerfing

FinSerfing, да конкретно это задача это не рокет саенс, честно.
Если человек не подумал и написал аля Транзак.дайМнеСилу, то нажать пару кнопочек чтобы IDE за тебя переписала на Коннектор.дайМнеСилу, а Транзак бы наследовал «Коннектор». Я немного (но очень немного) утрирую, но тут максимум на день работы если не пытаться пользоваться специфическими функциями какого-то конкретно коннектора.

Коннекторы-то все примерно похожи и абстракционнный слой тут простой как 2 копейки. Послать/отменить ордер, получать цены.
avatar

Нувот Вчеранов

Нувот Вчеранов, простой для опытного и рокетсайнс для начинающего.

Это если делать отдельный модуль.

 

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

Для начинающего она просто непосильна.

avatar

FinSerfing

FinSerfing, начинающий в с++ да, в программировании — нет. что такое абстрактный слой вполне понятно. жаль что не занялся с++ лет 20 назад. 
у меня комиссии исчисляются десятками тысяч, 5000 в месяц вообще не проблема. я хочу оценить ± подходов. поскольку я клиент финама — мне Tranzaq Connector вполне себе бесплатная альтернатива. Один вопрос — профессиональные участники (группы алго/  фонды и т.д. через три/тро файлы гонят свои стратегии или напрямую в большинстве подключены? ответ очевиден. Я НИЧЕМ не хуже этих товарищей.
avatar

kvazar

kvazar, вы абсолютно беспричинно хватаетесь за C++.

Не понимая, что язык — это 1/10 от решения задачи.

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

А эти затраты просто запредельны.

Ради чего ?

Чтобы зарабатывать это не нужно.

avatar

FinSerfing

FinSerfing, ради того чтобы создать набор механических систем,  технологически соответствующий реальному временитекущему состоянию дел. это задача на 5-10-15 лет вперед. и это не отменяет работы с «системой №1», которая действует. есть идеи интрадэй (реализованы), среднесрок — тестятся, продумываются, ИИ/машинного обучения — продумываются, нарабатываю стсатстику для анализа. ЭТО комплекс мероприятий. Никогда не хотел создать робота на Си или Нефти и гонять его одного. Я хочу присутствовать во всех временных горизонтах, на нормальной технологической совеременной основе. Нормальное желание, тем более что вход за свой счет. только мое время. Проблем с освоением с++/фреймворков/коннекторов не будет. Каждый выбирает свой, я выбираю такой.
avatar

kvazar

kvazar, повторю ещё раз: во всех современных горизонтах вы присутствовать не сможете.

Как бы вам этого не хотелось.

Ибо время жизни не резиновое.

avatar

FinSerfing

FinSerfing, поживем -увидим.
avatar

kvazar

kvazar, 
. я хочу оценить ± подходов. 
вообщем никто не высказался, тогда я вам расскажу. Берете свои сделки, находите их в ленте и смотрите что вокруг них происходит. Если до них в пределах секунды постоянно проходят объяемные сделки, то есть перед вами постоянно съедается сайз и вам не достается и вы попадаете на проскальзывание, тогда стоит задуматься насчет коннекторов побыстрее. А пока, cтарайтесь проектировать так, что связка робота к коннекторам была более менее универсальна и взаимозаменяема
avatar

Андрей К

Условие «Для скорости» однозначно приводит к варианту Plaza.
avatar

ch5oh

Это смотря что понимать под «скоростью». Кому-то хватает квика, а кто-то соревнуется за лишние микросекунды покупая  FPGA, чтобы разместить в дата-центре бирже на коллокейшене
avatar

wrmngr

wrmngr, скажем так, скорость больше чем у 80% участников меня бы устроила. это здорово иметь возможность набирать/сдавать позицию быстро, перевыставлять ордера.  сейчас у меня такой возможности нет — просто сеткой выставляю и жду…
avatar

kvazar

kvazar, это слишком расплывчато. Быстро сдать можно и звонком брокеру по телефону рыночной заявкой. Перевыставлять ордера тоже не проблема, если вы не собираетесь конкурировать за место в очереди заявок
avatar

wrmngr

wrmngr, именно.

Техническое требование растёт из реальных потребностей торговой стратегии.

avatar

FinSerfing

Я работал на Quik+Lua+C#, TransaqConnector, TransaqConnector HFT, PlazaII через инет и PlazaII в колокейшен. Transaq хорош, сбоев не бывает, но если нужна именно скорость то Plaza.
avatar

PavelS

PavelS, спасибо за отзыв!
avatar

kvazar

Тоже работал transaq, quik — lua-c++, plaza2. Транзак однозначно проще использовать и по скорости вполне хорош. В квике, правда, особых тормозов тоже не видел, но намного больше кода. Из минусов, тики у транзака на сервере есть только за текущий день. Огромный плюс, можно прямо в питоне загрузить библиотеку и без всяких костылей работать с данными. Другое дело, если Вы хотите получать синхронные с глубиной рынка данные о ваших заявках, только plaza2 и полный ордер лог. Либо если Ваш алгоритм чувствителен к качеству котировок, ни на одном апи у брокеров их тоже не будет.
avatar

Andrew Morozov

Andrew Morozov, спасибо за отзыв! пока склоняюь к транзаку, раз уж он проще и я клиент финама, можно попробовать как альтернативный способ подключения квику.
avatar

kvazar


теги блога kvazar

....все тэги



2010-2020
UPDONW