Блог им. fenix-fx

Мифы о программировании.

    • 11 сентября 2012, 13:35
    • |
    • fenix-fx
      Проверенный аккаунт
  • Еще
Недавно прошла робоконфа на Дерексе, где я был модератором круглого стола с частными алготрейдерами. В том числе обсуждался вопрос про языки программирования.

Существует легенда, что чтобы быть конкурентным алготрейдером надо писать исключительно на низкоуровневых языках, а еще лучше паять алгоритмы сразу в виде платы.

Это полная ерунда. Придуманная для отмазок теми, кто ничего не хочет делать.

Переход на более низкоуровневые языки нужен для того, чтобы зарабатывать БОЛЬШЕ денег. Рабочую стратегию можно написать даже в экселе. И да, если у нее много сделок, то совершенствование кода позволит зарабатывать больше.

Тут вот в чем беда для начинающих крутых программеров. В 2005-2009 годах на алго поднимались сумасшедшие деньги. На эти деньги покупалось в том числе развитие, то есть инфраструктура, серверы, разработки и ресерч. Эти люди сейчас лидеры HFT рынка. У них УЖЕ все есть, а у вас нет). От конкурентов они защищены тем, что сейчас норма доходности стартапа нового проекта будет достаточно низкой. То есть сейчас, чтобы быть в топе HFT надо вложить кучу денег, а прибыль от этих денег во первых, не факт, что появится, а во вторых  не так уж и много, как мечталось бы. А самое главное, это сроки!!! Прибыль пойдет не скоро.

То есть начинать с цели быть техническим топом бессмысленно.

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

Этот робот будет работать и на Эксел, и на купайл и на Блокноте.

Мораль. Не ипите себе мозг ассемблером, создавайте стратегии.
★21
94 комментария
хочу пример робота на блокноте! ))
avatar
smb, он же общеизвестен. Buy Low, sell High / Tut Pokupaem, Tut prodaem. Разработчик — маэстро трейдинга.
avatar
smb, пожалуйста smart-lab.ru/blog/75196.php
avatar
vfreeman, не работает

строка 69: Missing ) [LOGDATA(«Order»,POPER & PPRICE)]
avatar
smb, все пишется в блокноте ;) Вообще ВСЕ!
avatar
Dimanite, кстати да)
avatar
Прошу на qpile и вообще то все устраивает. Что не устраивает то придумываю. И снова все устраивает.
avatar
Полностью согласен!
avatar
Swan, мне объясни, я попробую понять)
avatar
fenix-fx, если не секрет, сколько стоит Ваша инфраструктура (построение/в месяц), как организована?
avatar
xTestero, это не то, чтобы вот прям секрет секретище, но конечно же я не буду это обсуждать в широком кругу.
avatar
fenix-fx, ну я не гордый согласен и на ПМ, на детали которые не жалко:)
avatar
Да никто себе мозг и не парит. Пишут на купели, ами в основном. И конечно же stocksharp.com =)
avatar
Mikhail Sukhov, вот как раз хорошо, что напомнил, я совсем забыл сказать, что единственный язык, на котором точно ничего не будет работать, это стокшарп, особенно точка ком.
avatar
fenix-fx, ха-ха. Стокшарп — это платфома, а не язык. Учи матчать =))
avatar
Mikhail Sukhov, на платформе тем более
avatar
fenix-fx, у тебя же у самого своя платформа. Тоесть у тебя ничего не работает? Везде обман? =)
avatar
Mikhail Sukhov, ага, даже в Макдональдсе, хотя казалось бы, если не им, кому тогда вообще верить…
avatar
fenix-fx, почему на C# не будет? Аргументы!
avatar
Jetta, Миш, ну ты видишь, никто не понимает, что ты не про C#. Двойка вашему пиарагенту.
avatar
fenix-fx, «что единственный язык, на котором точно ничего не будет работать, это стокшарп, особенно точка ком.»
Язык С#.
Платформа Stock#.
Наехали и на то и на другое)))
avatar
Jetta, C# (сишарп, блеать)) наверное лучшее, для начинающих. Да и для продолжающих самый быстрый способ что то попробовать.
avatar
Swan, слушай, это же очевидный сарказм))) С Михой про стокшарп а не про сишарп речь. Нет ничего плохого в стокшарпе, просто чо он пиарится в моих комментах нахаляву?)))
avatar
Ладно, чтобы не писал Феникс, все равно он самый крутой трейдер на Объе Бирже (сорри, не знаю как сейчас она называется по правильному)! Сделал этот сайт не скучным. Я отчалил.
avatar
Mikhail Sukhov, это, я же написал, что шутка, хватит уже дуться)
avatar
Swan, он не плох, просто Феникс в этом не шарит. Феникс наехал на нашу платформу, а про язык он ничего не написал. Не любит он нас, говорит мы алготрейдинг убиваем. Хотя сам то пользовался StockSharp-ом ;-)
avatar
Mikhail Sukhov, фу, думал тень на C# бросили…
avatar
Swan, видишь, они и тебя своим партизанским маркетингом запутали.
avatar
Всем любителям порассуждать на тему низкоуровневых языков предлагаю глянуть вот на это небольшое исследование:
www.itu.dk/people/sestoft/papers/numericperformance.pdf

Вывод очевиден: если ваш алгоритм незначительно улучшается от выигрыша в десятки микросекунд ( а то и меньше), то есть ли смысл? Я для себя давно решил, что нет. В моих стратегиях микросекунды не решают ничего.
avatar
at60hz, асм даёт в основном не скорость, но понимание и больше стабильности. Гигантские модули подключённый к ЯВУ-коду над которым трудились 100 программистов творит в своих недрах всякую хрень и не факт, что при всех входах будет верных выход. То есть чем больше намутили в сумме, тем выше вероятность ошибок системного(софто-глючного) характера и меньше понимание как их избежать. Но в целом — да, асм не нужен.
Было бы неплохо закончить пост — выложить или объяснить что за стратегия 10 лет работает и не оптимизируется.
А так — ну ляпнул что-то, ну молодец.
avatar
Станислав Иванов, было бы неплохо советовать на красной площади или у себя в бложиге, а так, ляпнул что то в комментах, ну молодец.
avatar
fenix-fx, я не ляпаю, а пишу честное мнение простого человека об этом топике
avatar
Станислав Иванов, ну а я не ляпаю, а пишу что хочу и класть хотел с прибором на советчиков, требующих халявы, да побольше.
avatar
1) Писать на привычных языках типа C++/c# тупо удобнее, и если уже решили изучить программирование, используйте лучшее.
Знаете, почему 1С ники зарабатывают много, хотя работа не бей лежачего? Да потому что язык — гавно на палке, проще нервы сберечь и писать на признанных технологиях.
Т.е. на C#/С++ писать не только эффективней, но и ПРОЩЕ

2) Из самой логики арбитража — там же нет супер умных стратегий — там кто успел, тот и съел, стратегии примитивные, главное скорость. Феникс опять всем засирает мозг. Робот-роботу рознь. Для одних скорость важна, для других — нет. Да и рынок рынку — рознь. На РТС может и не так важно, на западных рынках — изволь

3) На зло Фениксу еще раз пропиарю отличный сервис он-лайн котировок RuTicker.com. Недавно в кластерах по многочисленным заявкам добавил так же выбор времени (если анализ внутри одной даты)
avatar
RuTicker.com, слуш, ты мой персональный тролль или общий?)
avatar
fenix-fx, интересных людей троллить интереснее
avatar
RuTicker.com, ну так и шел бы работать 1с-ником, работа не бей лежачего, платят много
ну или как вариант разработал бы свой бухгалтерский софт на «признанных технологиях»
avatar
fau, платят много, но не больше чем зарабатываю сейчас на c++/C#. Но писать под 1С реально гемморойней, чем на нормальных технологиях.
avatar
RuTicker.com, теперь понял, вы не понимаете про что говорите, так что дальнейшая дискуссия бессмысленна
avatar
RuTicker.com, 1с-ники которые зарабатывают — не тупокодеры, как некоторые… а прикладные программисты которые кроме программирования(знания языка)разбираются в учете. :)
avatar
skatino, мой друг 1с-ник точно не тупокодер. Очень умный и мудрый человек.
avatar
fenix-fx, связи нет вообще. Тем более мудрость программисту не нужна (хоть 1С, хоть саперу, хоть плюсовику).
avatar
skatino, Программирования там почти никакого нету, хотя учет нужно знать, да. Работал на 1С в начале карьеры… Сейчас работаю в 1С, гы…
avatar
RuTicker.com, я уже 10 лет на 1С…
avatar
RuTicker.com,
1) Язык — гавно на палке? оОчень интересное определение. Вы вообще инфраструктуру предприятия когда последний раз поднимали?
avatar
vancuver, да он троллит просто для самопиара, не ведись)
avatar
fenix-fx, ok )
avatar
Да и вообще честно говоря Феникс в этот раз написал чушь. С чего бы ставить цель быть технологическим топом — бессмысленно? Ну если смотришь как баран на новые ворота C# Рихтера, то да. Но не стоит о всех судить по себе. Всегда нужно использовать свои сильные стороны. Если знаешь, что входишь в профессиональную элиту, то от чего бы сразу не стать лидером, а не корячиться над недо-технологиями для чайников, только потому что Феникс так сказал?
avatar
RuTicker.com, слуш, мне реально все равно, какие пакости ты про меня пишешь и будешь, но пиарщиков-по-любому-поводу я буду у себя банить. Последнее китайское.
avatar
fenix-fx, и где я написал про тебя гадости? Написал х-ню в этот раз, это да. А что, ты всегда ожидал восхищения в свой адрес?
avatar
RuTicker.com, я же сказал, что пиши, что хочешь, кроме вставляния рекламы сайта своего везде.
avatar
RuTicker.com, здесь пожалуй соглашусь с Фениксом, что судьба околорыночночного программера писать никому не нужные сайтики, приводы и пр. хрень :)

Трейдер если обладает какой-то стратегией, то это совокупность понимания рынка и рисков которые он на себя берет, а зарабатывать да, можно и руками вводя ордера раз в день и у пендосов, примеры есть :)
avatar
FDAX, у тебя белая горячка или что? По твоему цель любого программиста написать торгового робота или что? Вообще-то существует огромное кол-во ПО, которое вообще к рынку отношения не имеет
avatar
Вот в профиле ссылка на жж, а там говорится, что на смартлабике Феникс не пишет. Что из этого неправда?
avatar
Spoki, Ура, раскрыт заговор века! Вот ведь вам делать нечего)
avatar
fenix-fx, Да мне как бы пофигу, если это Вы и есть, то с уважением читаю, если нет, то тоже не беда )
avatar
А мне тогда вопрос мона?
По поводу железок как раз. У меня пару роботов крутятся на 1 серве через виртуальные машины. Периодически пропадает канал интернета. Соответственно вечером когда я прихожу домой меня встречает лось. Он рогами бьет мне по голове и говорит, что есть второй канал интернета и его надо как аварийный подцепить.

Как у вас это сделано? В датацентрах стоитесь или резервируете как то?
avatar
roma095, дата центр
avatar
fenix-fx, посоветуйте пожалуйста хороший.
У меня сайты на VDS в HETZNER лежат. Но может какой то другой лучше будет
avatar
roma095, макомнет, РТС на кольской, М1
avatar
fenix-fx, там просто win система? А правильно понимаю?
avatar
Dimanite, не понял вопрос
avatar
Еще вопрос — почему стратегии перестают работать? Смена трендовости и волатильности рынка или тупое переоптимизированность роботов?

2 года не оптимизируете робота, это трендовик?
avatar
roma095, 1. сложный вопрос. Есть мнение, что просто вы чего то не учли, а стратегия рабочая. Либо кто то тырит у вас пряники из под носа. Либо не хватает волатильности, ликвидности, скорости и т.п. Вариантов тьма.

2. Да, больше похоже на то, что называют трендовиками.
avatar
> Не ипите себе мозг ассемблером
как кодер на асме могу сказать, что знание асма лишь помогает лучше понять, что делает машина, а кодить торговую стратегию на асме — глупо (нейтив С — фактически один хрен, что асм). С++ хорош тем, что под него большая база наработок, но шарп изначально обвязан «халявчиной», то есть кодить «тело» быстро и удобно, а публичные наработки в области трейдинга сейчас, полагаю, под шарп в основном и идут. Одна проблема, надо хорошо понимать что такое ООП, а это требует серьёзных усилий со стороны «не программиста» по специальности.
Fry, все так.
avatar
fenix-fx, что «все так»?

«Exel» vs «C++/C#» это СОВСЕМ не одно и то же, что C++/asm.
На асме сейчас пишут разве что для embdedded, т.к. прирост производительности мизерный. На Экселе же будет работать медленней в сотни раз.
avatar
fenix-fx, у тебя робот на семерке или на восьмерке?
avatar
marginaltrader, да какая разница то)
avatar
fenix-fx, нехорошо обманывать
avatar
marginaltrader, согласен
avatar
marginaltrader, вот мой пост трехлетней давности fenix.2stocks.ru/post/1444. Этот бот до сих пор жив и работает на 1С.
avatar
На счет плат — понятно, что это скорее экзотика
avatar
В 2008-2009 не надо было быть программистом чтобы заработать много денег. А вот на нынешнем рынке беда.
avatar
Хорошая идея — сделать робота в виде платы! Как-нибудь слеплю от скуки :)
avatar
barabas, поясните плиз свою мысль что есть
робот в виде платы ???
Кстати я бы хотел чтоб и топикстартер пояснил что он имел ввиду?
мне как инженеру начавшего свою труд. деятельстность с разработки девайсов на микроконтролерах(соотв. и плат для них и того самомого асм для их кодинга) это очень(искренне) интересно!
но хоть убей не пойму как это можно прикрутить к бирже на нынешнем этапе её развития?
Гусев Михаил(debtum),
ну а что сложного ))) поставить на плату какой-нибудь ARM, запустить на нем WinMobile, а в ней запустить Quik )))
И воткнуть это всё по Ethernet-у в роутер/свитч )))
Жаль, протокол подключения к серверу не раздают, а то бы можно было вообще каким-нибудь AVR обойтись )))
А топикстартер просто поиронизировал над мифами :)
avatar
Еще один миф, особенно злостный в последнее время, что программированию можно научиться за 2 недели. Камень в огород курсовиков и семинарщиков по этой теме.

Это конечно миф уже из несколько в другой плоскости…
avatar
ZAKST, ну научится нельзя, это понятно, но начать учится же можно?
avatar
fenix-fx, конечно можно +) только никто почему-то не говорит о том, как придется трахнуть себе мозг еще этим (помимо трейдинга), прежде чем появятся первые «слезы успеха» (с).
avatar
ZAKST, как хобби точно не прокатит
avatar
Кому как. Лично меня изучение С# несущественно продвинуло в части написания той части робота, которая ответственна за выставление-снятие заявок в квик и контроль исполнения (эту часть «без ущерба для производства» можно было бы оставить и VBAшном варианте), зато сильно ускорили тестирование идей и модификаций на ценовых данных, дав возможность быстро их обсчитывать даже на минутках с 1 декабря 2005-го.
avatar
Ну на С# новичок, так сказать со способностями или предрасположенностью вполне несложный алгоритм описать сможет, то есть математические функции есть, какие нить циклы понять не сложно.
С С++ я думаю всетаки посложнее будет, в плане управления памятью и другими особенностями языка. Лучше Яву тогда)
avatar
Не соглашусь. Простая арифметика говорит обратное. Рассмотрим наиболее очевидный пример из доступных. UT. Делает более сотни тысяч сделок по РИ за одну сессию, имеет прибыль порядка 200-250 тысяч пунктов. Итого, прибыль с каждой сделки — 1 пункт (с вычетом комиссии). Общеизвестно, что чем ближе твоя заявка к началу очереди, тем больше шанса что твоя заявка сведется с лучшей по цене, чем ты рассчитывал и ты получишь бонус в размере от 10 до n пунктов на каждую сделку. Допустим таких сделок с бонусом около 5% если ты находишься в середине очереди (то есть ты середнячок по скорости) итого получаем, что бонусом при 100 тысячах сделок ты получаешь порядка 5 тысяч сделок, а это «лишние» 50 тысяч пунктов. К началу очереди количество таких сделок растет экспоненциально, соответственно доход от сделок — экспоненциальный. Таким образом, в HFT, скорость это принципиальная вещь и ваш доход напрямую от неё зависит. Причём, если ты в очереди на 1 микросекунду медленнее чем самый быстрый, то ты всё равно второй, так что важна любая выигранная за счёт оптимизации микросекунда и наносекунда.
avatar

теги блога fenix-fx

....все тэги



UPDONW
Новый дизайн