<HELP> for explanation

Блог им. fenix-fx

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

Недавно прошла робоконфа на Дерексе, где я был модератором круглого стола с частными алготрейдерами. В том числе обсуждался вопрос про языки программирования.

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

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

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

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

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

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

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

Мораль. Не ипите себе мозг ассемблером, создавайте стратегии.
 

хочу пример робота на блокноте! ))
avatar

smb

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

строка 69: Missing ) [LOGDATA(«Order»,POPER & PPRICE)]
smb, все пишется в блокноте ;) Вообще ВСЕ!
Dimanite, кстати да)
Прошу на qpile и вообще то все устраивает. Что не устраивает то придумываю. И снова все устраивает.
Полностью согласен!
avatar

Dr-Loss

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

Вывод очевиден: если ваш алгоритм незначительно улучшается от выигрыша в десятки микросекунд ( а то и меньше), то есть ли смысл? Я для себя давно решил, что нет. В моих стратегиях микросекунды не решают ничего.
avatar

at60hz

at60hz, асм даёт в основном не скорость, но понимание и больше стабильности. Гигантские модули подключённый к ЯВУ-коду над которым трудились 100 программистов творит в своих недрах всякую хрень и не факт, что при всех входах будет верных выход. То есть чем больше намутили в сумме, тем выше вероятность ошибок системного(софто-глючного) характера и меньше понимание как их избежать. Но в целом — да, асм не нужен.
Было бы неплохо закончить пост — выложить или объяснить что за стратегия 10 лет работает и не оптимизируется.
А так — ну ляпнул что-то, ну молодец.
avatar

siva

Станислав Иванов, было бы неплохо советовать на красной площади или у себя в бложиге, а так, ляпнул что то в комментах, ну молодец.
fenix-fx, я не ляпаю, а пишу честное мнение простого человека об этом топике
avatar

siva

Станислав Иванов, ну а я не ляпаю, а пишу что хочу и класть хотел с прибором на советчиков, требующих халявы, да побольше.
1) Писать на привычных языках типа C++/c# тупо удобнее, и если уже решили изучить программирование, используйте лучшее.
Знаете, почему 1С ники зарабатывают много, хотя работа не бей лежачего? Да потому что язык — гавно на палке, проще нервы сберечь и писать на признанных технологиях.
Т.е. на C#/С++ писать не только эффективней, но и ПРОЩЕ

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

3) На зло Фениксу еще раз пропиарю отличный сервис он-лайн котировок RuTicker.com. Недавно в кластерах по многочисленным заявкам добавил так же выбор времени (если анализ внутри одной даты)
avatar

StockChart.ru

RuTicker.com, слуш, ты мой персональный тролль или общий?)
fenix-fx, интересных людей троллить интереснее
RuTicker.com, ну так и шел бы работать 1с-ником, работа не бей лежачего, платят много
ну или как вариант разработал бы свой бухгалтерский софт на «признанных технологиях»
avatar

fau

fau, платят много, но не больше чем зарабатываю сейчас на c++/C#. Но писать под 1С реально гемморойней, чем на нормальных технологиях.
RuTicker.com, теперь понял, вы не понимаете про что говорите, так что дальнейшая дискуссия бессмысленна
avatar

fau

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

StockChart.ru

RuTicker.com, слуш, мне реально все равно, какие пакости ты про меня пишешь и будешь, но пиарщиков-по-любому-поводу я буду у себя банить. Последнее китайское.
fenix-fx, и где я написал про тебя гадости? Написал х-ню в этот раз, это да. А что, ты всегда ожидал восхищения в свой адрес?
RuTicker.com, я же сказал, что пиши, что хочешь, кроме вставляния рекламы сайта своего везде.
RuTicker.com, здесь пожалуй соглашусь с Фениксом, что судьба околорыночночного программера писать никому не нужные сайтики, приводы и пр. хрень :)

Трейдер если обладает какой-то стратегией, то это совокупность понимания рынка и рисков которые он на себя берет, а зарабатывать да, можно и руками вводя ордера раз в день и у пендосов, примеры есть :)
avatar

FDAX

FDAX, у тебя белая горячка или что? По твоему цель любого программиста написать торгового робота или что? Вообще-то существует огромное кол-во ПО, которое вообще к рынку отношения не имеет
Вот в профиле ссылка на жж, а там говорится, что на смартлабике Феникс не пишет. Что из этого неправда?
avatar

Spoki

Spoki, Ура, раскрыт заговор века! Вот ведь вам делать нечего)
fenix-fx, Да мне как бы пофигу, если это Вы и есть, то с уважением читаю, если нет, то тоже не беда )
avatar

Spoki

А мне тогда вопрос мона?
По поводу железок как раз. У меня пару роботов крутятся на 1 серве через виртуальные машины. Периодически пропадает канал интернета. Соответственно вечером когда я прихожу домой меня встречает лось. Он рогами бьет мне по голове и говорит, что есть второй канал интернета и его надо как аварийный подцепить.

Как у вас это сделано? В датацентрах стоитесь или резервируете как то?
avatar

roma095

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

2 года не оптимизируете робота, это трендовик?
avatar

roma095

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

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

«Exel» vs «C++/C#» это СОВСЕМ не одно и то же, что C++/asm.
На асме сейчас пишут разве что для embdedded, т.к. прирост производительности мизерный. На Экселе же будет работать медленней в сотни раз.
fenix-fx, у тебя робот на семерке или на восьмерке?
marginaltrader, да какая разница то)
fenix-fx, нехорошо обманывать
marginaltrader, согласен
marginaltrader, вот мой пост трехлетней давности fenix.2stocks.ru/post/1444. Этот бот до сих пор жив и работает на 1С.
На счет плат — понятно, что это скорее экзотика
avatar

StockChart.ru

В 2008-2009 не надо было быть программистом чтобы заработать много денег. А вот на нынешнем рынке беда.
avatar

surinam

Хорошая идея — сделать робота в виде платы! Как-нибудь слеплю от скуки :)
avatar

barabas

barabas, поясните плиз свою мысль что есть
робот в виде платы ???
Кстати я бы хотел чтоб и топикстартер пояснил что он имел ввиду?
мне как инженеру начавшего свою труд. деятельстность с разработки девайсов на микроконтролерах(соотв. и плат для них и того самомого асм для их кодинга) это очень(искренне) интересно!
но хоть убей не пойму как это можно прикрутить к бирже на нынешнем этапе её развития?
Гусев Михаил(debtum),
ну а что сложного ))) поставить на плату какой-нибудь ARM, запустить на нем WinMobile, а в ней запустить Quik )))
И воткнуть это всё по Ethernet-у в роутер/свитч )))
Жаль, протокол подключения к серверу не раздают, а то бы можно было вообще каким-нибудь AVR обойтись )))
А топикстартер просто поиронизировал над мифами :)
Еще один миф, особенно злостный в последнее время, что программированию можно научиться за 2 недели. Камень в огород курсовиков и семинарщиков по этой теме.

Это конечно миф уже из несколько в другой плоскости…
avatar

ZAKST

ZAKST, ну научится нельзя, это понятно, но начать учится же можно?
fenix-fx, конечно можно +) только никто почему-то не говорит о том, как придется трахнуть себе мозг еще этим (помимо трейдинга), прежде чем появятся первые «слезы успеха» (с).
avatar

ZAKST

ZAKST, как хобби точно не прокатит
Кому как. Лично меня изучение С# несущественно продвинуло в части написания той части робота, которая ответственна за выставление-снятие заявок в квик и контроль исполнения (эту часть «без ущерба для производства» можно было бы оставить и VBAшном варианте), зато сильно ускорили тестирование идей и модификаций на ценовых данных, дав возможность быстро их обсчитывать даже на минутках с 1 декабря 2005-го.
avatar

А. Г.

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

stitrace


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UP