Недавно прошла робоконфа на Дерексе, где я был модератором круглого стола с частными алготрейдерами. В том числе обсуждался вопрос про языки программирования.
Существует легенда, что чтобы быть конкурентным алготрейдером надо писать исключительно на низкоуровневых языках, а еще лучше паять алгоритмы сразу в виде платы.
Это полная ерунда. Придуманная для отмазок теми, кто ничего не хочет делать.
Переход на более низкоуровневые языки нужен для того, чтобы зарабатывать БОЛЬШЕ денег. Рабочую стратегию можно написать даже в экселе. И да, если у нее много сделок, то совершенствование кода позволит зарабатывать больше.
Тут вот в чем беда для начинающих крутых программеров. В 2005-2009 годах на алго поднимались сумасшедшие деньги. На эти деньги покупалось в том числе развитие, то есть инфраструктура, серверы, разработки и ресерч. Эти люди сейчас лидеры HFT рынка. У них УЖЕ все есть, а у вас нет). От конкурентов они защищены тем, что сейчас норма доходности стартапа нового проекта будет достаточно низкой. То есть сейчас, чтобы быть в топе HFT надо вложить кучу денег, а прибыль от этих денег во первых, не факт, что появится, а во вторых не так уж и много, как мечталось бы. А самое главное, это сроки!!! Прибыль пойдет не скоро.
То есть начинать с цели быть техническим топом бессмысленно.
В противовес, можно начинать с логических стратегий. Так, например, у меня на одном из счетов несколько лет крутится робот, чья инфраструктура полностью написана на 1С. Не меняются параметры, ничего не оптимизируется, все живет как и много лет назад и зарабатывает.
Этот робот будет работать и на Эксел, и на купайл и на Блокноте.
Мораль. Не ипите себе мозг ассемблером, создавайте стратегии.
Mikhail Sukhov, вот как раз хорошо, что напомнил, я совсем забыл сказать, что единственный язык, на котором точно ничего не будет работать, это стокшарп, особенно точка ком.
fenix-fx, «что единственный язык, на котором точно ничего не будет работать, это стокшарп, особенно точка ком.»
Язык С#.
Платформа Stock#.
Наехали и на то и на другое)))
Вывод очевиден: если ваш алгоритм незначительно улучшается от выигрыша в десятки микросекунд ( а то и меньше), то есть ли смысл? Я для себя давно решил, что нет. В моих стратегиях микросекунды не решают ничего.
at60hz, асм даёт в основном не скорость, но понимание и больше стабильности. Гигантские модули подключённый к ЯВУ-коду над которым трудились 100 программистов творит в своих недрах всякую хрень и не факт, что при всех входах будет верных выход. То есть чем больше намутили в сумме, тем выше вероятность ошибок системного(софто-глючного) характера и меньше понимание как их избежать. Но в целом — да, асм не нужен.
1) Писать на привычных языках типа C++/c# тупо удобнее, и если уже решили изучить программирование, используйте лучшее.
Знаете, почему 1С ники зарабатывают много, хотя работа не бей лежачего? Да потому что язык — гавно на палке, проще нервы сберечь и писать на признанных технологиях.
Т.е. на C#/С++ писать не только эффективней, но и ПРОЩЕ
2) Из самой логики арбитража — там же нет супер умных стратегий — там кто успел, тот и съел, стратегии примитивные, главное скорость. Феникс опять всем засирает мозг. Робот-роботу рознь. Для одних скорость важна, для других — нет. Да и рынок рынку — рознь. На РТС может и не так важно, на западных рынках — изволь
3) На зло Фениксу еще раз пропиарю отличный сервис он-лайн котировок RuTicker.com. Недавно в кластерах по многочисленным заявкам добавил так же выбор времени (если анализ внутри одной даты)
RuTicker.com, ну так и шел бы работать 1с-ником, работа не бей лежачего, платят много
ну или как вариант разработал бы свой бухгалтерский софт на «признанных технологиях»
RuTicker.com, 1с-ники которые зарабатывают — не тупокодеры, как некоторые… а прикладные программисты которые кроме программирования(знания языка)разбираются в учете. :)
Да и вообще честно говоря Феникс в этот раз написал чушь. С чего бы ставить цель быть технологическим топом — бессмысленно? Ну если смотришь как баран на новые ворота C# Рихтера, то да. Но не стоит о всех судить по себе. Всегда нужно использовать свои сильные стороны. Если знаешь, что входишь в профессиональную элиту, то от чего бы сразу не стать лидером, а не корячиться над недо-технологиями для чайников, только потому что Феникс так сказал?
RuTicker.com, слуш, мне реально все равно, какие пакости ты про меня пишешь и будешь, но пиарщиков-по-любому-поводу я буду у себя банить. Последнее китайское.
RuTicker.com, здесь пожалуй соглашусь с Фениксом, что судьба околорыночночного программера писать никому не нужные сайтики, приводы и пр. хрень :)
Трейдер если обладает какой-то стратегией, то это совокупность понимания рынка и рисков которые он на себя берет, а зарабатывать да, можно и руками вводя ордера раз в день и у пендосов, примеры есть :)
FDAX, у тебя белая горячка или что? По твоему цель любого программиста написать торгового робота или что? Вообще-то существует огромное кол-во ПО, которое вообще к рынку отношения не имеет
А мне тогда вопрос мона?
По поводу железок как раз. У меня пару роботов крутятся на 1 серве через виртуальные машины. Периодически пропадает канал интернета. Соответственно вечером когда я прихожу домой меня встречает лось. Он рогами бьет мне по голове и говорит, что есть второй канал интернета и его надо как аварийный подцепить.
Как у вас это сделано? В датацентрах стоитесь или резервируете как то?
roma095, 1. сложный вопрос. Есть мнение, что просто вы чего то не учли, а стратегия рабочая. Либо кто то тырит у вас пряники из под носа. Либо не хватает волатильности, ликвидности, скорости и т.п. Вариантов тьма.
2. Да, больше похоже на то, что называют трендовиками.
> Не ипите себе мозг ассемблером
как кодер на асме могу сказать, что знание асма лишь помогает лучше понять, что делает машина, а кодить торговую стратегию на асме — глупо (нейтив С — фактически один хрен, что асм). С++ хорош тем, что под него большая база наработок, но шарп изначально обвязан «халявчиной», то есть кодить «тело» быстро и удобно, а публичные наработки в области трейдинга сейчас, полагаю, под шарп в основном и идут. Одна проблема, надо хорошо понимать что такое ООП, а это требует серьёзных усилий со стороны «не программиста» по специальности.
«Exel» vs «C++/C#» это СОВСЕМ не одно и то же, что C++/asm.
На асме сейчас пишут разве что для embdedded, т.к. прирост производительности мизерный. На Экселе же будет работать медленней в сотни раз.
barabas, поясните плиз свою мысль что есть
робот в виде платы ???
Кстати я бы хотел чтоб и топикстартер пояснил что он имел ввиду?
мне как инженеру начавшего свою труд. деятельстность с разработки девайсов на микроконтролерах(соотв. и плат для них и того самомого асм для их кодинга) это очень(искренне) интересно!
но хоть убей не пойму как это можно прикрутить к бирже на нынешнем этапе её развития?
Гусев Михаил(debtum),
ну а что сложного ))) поставить на плату какой-нибудь ARM, запустить на нем WinMobile, а в ней запустить Quik )))
И воткнуть это всё по Ethernet-у в роутер/свитч )))
Жаль, протокол подключения к серверу не раздают, а то бы можно было вообще каким-нибудь AVR обойтись )))
А топикстартер просто поиронизировал над мифами :)
Еще один миф, особенно злостный в последнее время, что программированию можно научиться за 2 недели. Камень в огород курсовиков и семинарщиков по этой теме.
Это конечно миф уже из несколько в другой плоскости…
fenix-fx, конечно можно +) только никто почему-то не говорит о том, как придется трахнуть себе мозг еще этим (помимо трейдинга), прежде чем появятся первые «слезы успеха» (с).
Кому как. Лично меня изучение С# несущественно продвинуло в части написания той части робота, которая ответственна за выставление-снятие заявок в квик и контроль исполнения (эту часть «без ущерба для производства» можно было бы оставить и VBAшном варианте), зато сильно ускорили тестирование идей и модификаций на ценовых данных, дав возможность быстро их обсчитывать даже на минутках с 1 декабря 2005-го.
Ну на С# новичок, так сказать со способностями или предрасположенностью вполне несложный алгоритм описать сможет, то есть математические функции есть, какие нить циклы понять не сложно.
С С++ я думаю всетаки посложнее будет, в плане управления памятью и другими особенностями языка. Лучше Яву тогда)
Не соглашусь. Простая арифметика говорит обратное. Рассмотрим наиболее очевидный пример из доступных. UT. Делает более сотни тысяч сделок по РИ за одну сессию, имеет прибыль порядка 200-250 тысяч пунктов. Итого, прибыль с каждой сделки — 1 пункт (с вычетом комиссии). Общеизвестно, что чем ближе твоя заявка к началу очереди, тем больше шанса что твоя заявка сведется с лучшей по цене, чем ты рассчитывал и ты получишь бонус в размере от 10 до n пунктов на каждую сделку. Допустим таких сделок с бонусом около 5% если ты находишься в середине очереди (то есть ты середнячок по скорости) итого получаем, что бонусом при 100 тысячах сделок ты получаешь порядка 5 тысяч сделок, а это «лишние» 50 тысяч пунктов. К началу очереди количество таких сделок растет экспоненциально, соответственно доход от сделок — экспоненциальный. Таким образом, в HFT, скорость это принципиальная вещь и ваш доход напрямую от неё зависит. Причём, если ты в очереди на 1 микросекунду медленнее чем самый быстрый, то ты всё равно второй, так что важна любая выигранная за счёт оптимизации микросекунда и наносекунда.
В ЦБ рассказали о случаях недобросовестной скупки акций Yandex
Ряд инвесторов без разрешения правкомиссии и в нарушение закона покупали акции иностранного «Яндекса», чтобы затем обменять их на ро...
Лесенкой, ты про установку одной двери для сартира на даче?
Или про ремонт в доме стоимостью 50 млн?
Да, в стране 140 млн, кто умеет это делать профессионально. Много пенсионеров и инвалидов, к...
Российский рынок акций после негативного старта восстановился и выходил в умеренный плюс. Однако вскоре наши фондовые индикаторы возобновили активное снижение, которое наблюдалось до закрытия дневных ...
Зарплата в USD, Да для многих проблема ПРИНЯТЬ УБЫТКИ много слабых людей они готовы ждать обнуления своих счетов если с плечами
или ГОВОРЯТ А И ЛАДНО через 10 лет ВЫРАСТЕТ
any_to_real, без глубокого изучения ответ: нет. И самоподдерживающийся процесс термоядерного синтеза на базе золота невозможен. Мгновенная потеря энергии.
P.S. Могу путать, но по-моему предел тер...
строка 69: Missing ) [LOGDATA(«Order»,POPER & PPRICE)]
Язык С#.
Платформа Stock#.
Наехали и на то и на другое)))
www.itu.dk/people/sestoft/papers/numericperformance.pdf
Вывод очевиден: если ваш алгоритм незначительно улучшается от выигрыша в десятки микросекунд ( а то и меньше), то есть ли смысл? Я для себя давно решил, что нет. В моих стратегиях микросекунды не решают ничего.
А так — ну ляпнул что-то, ну молодец.
Знаете, почему 1С ники зарабатывают много, хотя работа не бей лежачего? Да потому что язык — гавно на палке, проще нервы сберечь и писать на признанных технологиях.
Т.е. на C#/С++ писать не только эффективней, но и ПРОЩЕ
2) Из самой логики арбитража — там же нет супер умных стратегий — там кто успел, тот и съел, стратегии примитивные, главное скорость. Феникс опять всем засирает мозг. Робот-роботу рознь. Для одних скорость важна, для других — нет. Да и рынок рынку — рознь. На РТС может и не так важно, на западных рынках — изволь
3) На зло Фениксу еще раз пропиарю отличный сервис он-лайн котировок RuTicker.com. Недавно в кластерах по многочисленным заявкам добавил так же выбор времени (если анализ внутри одной даты)
ну или как вариант разработал бы свой бухгалтерский софт на «признанных технологиях»
1) Язык — гавно на палке? оОчень интересное определение. Вы вообще инфраструктуру предприятия когда последний раз поднимали?
Трейдер если обладает какой-то стратегией, то это совокупность понимания рынка и рисков которые он на себя берет, а зарабатывать да, можно и руками вводя ордера раз в день и у пендосов, примеры есть :)
По поводу железок как раз. У меня пару роботов крутятся на 1 серве через виртуальные машины. Периодически пропадает канал интернета. Соответственно вечером когда я прихожу домой меня встречает лось. Он рогами бьет мне по голове и говорит, что есть второй канал интернета и его надо как аварийный подцепить.
Как у вас это сделано? В датацентрах стоитесь или резервируете как то?
У меня сайты на VDS в HETZNER лежат. Но может какой то другой лучше будет
2 года не оптимизируете робота, это трендовик?
2. Да, больше похоже на то, что называют трендовиками.
как кодер на асме могу сказать, что знание асма лишь помогает лучше понять, что делает машина, а кодить торговую стратегию на асме — глупо (нейтив С — фактически один хрен, что асм). С++ хорош тем, что под него большая база наработок, но шарп изначально обвязан «халявчиной», то есть кодить «тело» быстро и удобно, а публичные наработки в области трейдинга сейчас, полагаю, под шарп в основном и идут. Одна проблема, надо хорошо понимать что такое ООП, а это требует серьёзных усилий со стороны «не программиста» по специальности.
«Exel» vs «C++/C#» это СОВСЕМ не одно и то же, что C++/asm.
На асме сейчас пишут разве что для embdedded, т.к. прирост производительности мизерный. На Экселе же будет работать медленней в сотни раз.
робот в виде платы ???
Кстати я бы хотел чтоб и топикстартер пояснил что он имел ввиду?
мне как инженеру начавшего свою труд. деятельстность с разработки девайсов на микроконтролерах(соотв. и плат для них и того самомого асм для их кодинга) это очень(искренне) интересно!
но хоть убей не пойму как это можно прикрутить к бирже на нынешнем этапе её развития?
ну а что сложного ))) поставить на плату какой-нибудь ARM, запустить на нем WinMobile, а в ней запустить Quik )))
И воткнуть это всё по Ethernet-у в роутер/свитч )))
Жаль, протокол подключения к серверу не раздают, а то бы можно было вообще каким-нибудь AVR обойтись )))
А топикстартер просто поиронизировал над мифами :)
Это конечно миф уже из несколько в другой плоскости…
С С++ я думаю всетаки посложнее будет, в плане управления памятью и другими особенностями языка. Лучше Яву тогда)