И эта книга не исключение. Она написана про что угодно, только не про торговых роботов. В ту ночь я бродил по круглосуточному Буквоеду, что в гостинице Октябрьская и охреневал от цен на книги. Но поскольку эта книжка стоит 200 рублей, в Буквоеде она стоила всего 350, поэтому выглядела дешевой, относительно других, более качественных книг, которые я хотел купить, но удавился.
Этот кстати уже третья книга
Юрия Чеботарева в моей коллекции. И кстати ни к одной из них я не оставил рецензии, хотя они очень похожи друг на друга и ни одна мне к сожалению, не понравилась:(
В общем, один простой факт про эту книгу: в ней, вы например можете встретить формулу расчета
инфляции и
ВВП:)) Очевидно, что в нормальной книге про торговых роботов этого никогда не напишут. Данная книга, как и две другие, — это компиляция документальных событий и вырезок из учебников. Но даже эти компиляции и теоретические куски так плохо структурированы, что последовательность и логичность повествования полностью нарушается.
Второе издание «торговых роботов» датируется 2011-м годом, но на иллюстрациях вы там встретите графики несуществующих ныне
акций РАО ЕЭС. В общем, я бы сказал — что книга эта — сплошной информационный шум. И несмотря что каким-то дилетантам она может и понравится, им же она будет и вредной, потому что содержание отдаляет от истины алготорговли.
Юрий Анатольевич, если прочли мой отзыв, прошу прощения, не хотел обидеть, просто высказал свое субъективное сугубо личное мнение. Поискал другие отзывы на озоне, — чото не густо.
p.s. может я ошибся в заголовке? Кто-нить меня поправит?
Книг про торговых роботов ...
Поэтому читать их нет никакого смысла, поскольку и стиль хромает, и слог до невозможности нудный и тяжелый.
И грамоту не освоишь, и писать стильно не научишься.
А по теме нет ничего лучше интернета, специализированных сайтов и форумов. Но и там бОльшая часть — вода, откровенная дезинформация и плохо закамуфлированная реклама околорынка.
Ведь что такое торговый робот и алготорговля? Это всего лишь автоматизация какой-то стратегии. Так по стратегиям есть отдельные книги, а по автоматизации (программированию) отдельные.
Никто не будет писать книги, к примеру, по C++ исключительно для торговых роботов. Это тоже самое, если бы издать книгу — «Обучение игры на гитаре для стояния в переходе метро».
Только не надо мне рассказывать про нюансы...
Я работаю программистом более 10 лет. Я оттестировал и автоматизировал десятки и сотни различных стратегий и не только.
Сначала в голову приходит стратегия в виде идеи, если мы говорим о трейдинге. Причём эта стратегия не имеет никакого отношения к программированию. Затем эту стратегию можно отдать любому программисту, который знать не знает что такое трейдинг, и он успешно и без проблем её протестирует на истории и выдаст результат. Автор стратегии посмотрит на результат и, возможно, у него появятся новые идеи, которые снова он отдаст программисту на тестирование, и так по кругу.
Зачастую автор стратегий и программист — это одно и то же лицо, как, например, я. Но это совсем не обязательно и никакой роли не играет. Я, например, сейчас могу взять свою стратегию и отдать на тестирование любому из своих коллег, которые про трейдинг никогда ничего не слышали, и результат будет точно таким же, что был у меня.
Трейдинг и программирование — это совершенно разные и универсальные вещи. Для программиста нет никакой разницы что автоматизировать, торговлю или шарикоподшипники, как для водителя автомобиля нет никакой разницы куда ехать и что вести в кузове.
Вдаваясь в абстракцию, можно сказать так, что никто не пишет книг и нет таких курсов, например, про обучение вождению автомобиля для поездки на рыбалку или в магазин за хлебом. Есть просто курсы вождения автомобиля. Если скажете про разницу в грузовиках и автобусах, так в программировании тоже есть C++, Delphi, Java, PHP и пр.
Специфическими знаниями должны обладать специально для этого обученные люди, а именно конструкторы, технологи, экономисты, бухгалтера и прочие. Эти люди пишут техническое задание на автоматизацию, программист в нём разбирается и делает. Естественно, изучив тех.задание и вникнув в предметную область, программист «волей не волей» уже начинает обладать в какой-то мере специфическими знаниями. Я занимался автоматизацией многих проектов в совершенно разных сферах, от машиностроения, гос.структур, до банка и телекоммуникаций. У меня среди знакомых имеются десятки программистов с разным стажем. Никто из них никогда не испытывал проблем с автоматизацией по грамотному тех.заданию. Все очень быстро вникали в предметную область, в рамках автоматизации. И никто и никогда не жаловался на шлак, в том числе и люди, у которых высота опыта гораздо выше, чем у Вас.
Безусловно, бывают случаи, когда эти экономисты и пр. сами толком не владеют специфическими знаниями, которыми должны владеть. И их тех.задание выглядит примерно так: «сделай так, чтобы нажать кнопку и всё было хорошо». Это примерно, тоже самое, если трейдер поставит задачу программисту: «сделай мне такого робота, который бы мне каждый день зарабатывал по миллиону». Кстати, те, кто ищет такие книжки про алготорговлю, примерно тоже самое от них и ждут.
Возьмите любое объявление о вакансии на должность программиста. Там почти никогда нет требований и владении специфическими знаниями. Изредка лишь ставят в желательных требованиях, и по факту никто не проверяет эти знания. А ведь, зачастую этих программистов нанимают на работу люди, имеющие опыт автоматизации намного больше, чем 3 проекта и высоту опыта намного выше.
Так что мне жаль, что ваши программисты писали Вам шлак. Возможно, просто некому было им грамотно поставить задачу.
И всё же Вы меня несколько заинтриговали. Я, являюсь и трейдером, и создателем своих стратегий и граалей, и программистом, и разработчиком роботов и систем тестирования этих стратегий, в одном лице. Я, получается, обладаю всеми необходимыми специфическими знаниями в этой области. И мне просто даже самому интересно стало. Что бы я мог такого полезного для себя почерпнуть из подобных книг, о которых вы тут все пишете? Какой создать базовый класс и как от него унаследоваться? Ну так это будет личное мнение автора, а я, возможно, сделаю по своему и лучше. Как загружать котировки, в каком виде и структуре их хранить? Так это тоже будет лишь личное мнение автора, а я сделаю по своему и лучше. И точно также сделает «по своему и лучше» любой более менее опытный программист, если ему будет грамотно поставлена задача.
Теперь о книгах. Окей, может Вы гений кода и повелитель классов с наследованиями. Но как это поможет начинающему алготрейдеру даже с большим опытом программирования itsef? Ньютон тоже по сути озвучил исключительно личное субъективное мнение по поводу своих законов физики, но ОПА! — они стали каноном, который или доказывают, или опровергают. Тоже самое с книгами и кодом — кастомнокастыльные решения может субъективно и «лучше», но если брать индустриальный подход, то до недавних пор не было грамотных описаний построения биржевых систем. Только-только вот они начали появляться по сути. И появляется определенный стандарт разработки, который можно требовать от программиста вместо его гениальных костылей.
Себя Вы в учет не берите, потому что если Вы all-in-one solution, Вам может и не будет полезна книга по алготрейдингу от ведущего специалиста мира в данной области. Вполне себе это может быть. Но для большинства программистов, которые планируют разрабатывать биржевые системы, это must-read. Любой специалист, который в своем естестве стремится к развитию — а только такого человека можно назвать профи — всегда прочитает новую книгу или научный труд в своей области. В данном случае, по алготрейдингу. И с высокой долей вероятности найдет там для себя что-то новое. В противном случае, получаем убежденных в том, что им весь мир по колено фортранщиков с 30-летним стажем, которые не умеют пользоваться смарт-фонами в разных НИИ РФ. ;)
Проблема с разработкой ТЗ бывает только тогда, когда заказчик сам не знает и не понимает чего хочет. Он хочет, как я уже писал выше, просто нажать кнопку и чтобы всё у него было хорошо. И я из Ваших (и не только) рассуждений полагаю, что вы (ну может не конкретно Вы), не имея никакой торговой стратегии, хотите по какой-то чудо-книжке разработать чудо-робота, который бы вам сам зарабатывал творчески деньги на рынке.
Всё равно получается какой-то абстрактный разговор ни о чём. Вместо аргументов пока что в данном обсуждении я услышал лишь такие абстрактные доводы: «надо много чего знать» и «надо знать специфику». Что конкретно надо знать, я так ни от кого в этой теме не услышал. Всё же давайте из облаков и философских рассуждений на тему творческих программистов опустимся на землю.
Возьмём любого трейдера. Допустим этот трейдер имеет свою торговую систему, по которой он торгует руками и даже что-то зарабатывает. И он хочет для экономии своего времени автоматизировать эту торговлю. У него есть торговый счёт, торговый терминал Quik. Ещё раз спрашиваю, что должен для себя такого полезного узнать этот трейдер в специальной книге ?
Честно, ума не приложу, конкретно ЧТО? Как построить скользящие и параболики? Так уже есть готовые формулы, бери да делай. Как получить котировки по ODBC, DDE, TCP, Lua из терминала? Про всё это и так имеется куча книг, документации с готовыми примерами. Как вызвать функции Buy, Sell из внешних библиотек? Про это и так уже всё расписано в любой книжке по программированию. И прошу заметить, всё это не имеет никакого отношения к «специфическим знаниям», а является универсальными и общедоступными методами для решения любой задачи для любой «специфичной и творческой» предметной области.
Говорю ещё раз. всё, повторяю — ВСЁ, что нужно для автоматизации торговли уже много-много лет, как есть в тысячах специализированных книг по программированию и для этого не нужно издавать специальные книги для алготрейдинга.
У меня складывается ощущение, что люди, которые жаждут иметь такие книжки, просто-напросто не имеют собственной торговой стратегии и им нужно, чтобы либо «творческий программист» нашёл за них и для них эту стратегию, либо чтобы в книжке был расписан грааль, а также готовый код торгового робота для него.
Почему никто никогда не спрашивает: «почему нет книг по игре симфонии Бетховена на фортепиано ?». А есть просто — «самоучитель игры на фортепиано»? И если человек научится по стандартным и уже имеющимся книгам, просто играть на фортепиано, то вопрос с симфонией Бетховена отпадёт сам собой и покажется ему глупым по своей сути. Если человек реально научится просто программировать и реально овладеет каким-либо средством разработки, то вопрос что автоматизировать и как также будет для него глупым по своей сути.
Для людей, которые не являются программистами и специалистами в этой области, им кажется, что это всё что-то такое великое и необъятное. Отсюда и такие предрассудки — «надо много чего знать».
честно говоря, конкретные языки программирования не важны, т.к. они все одинаковые, есть отличия только в синтаксисе и наборе библиотек классов. Но если интересно что конкретно у меня, то вот:
Вся система построена на СУБД Oracle, куда в реальном времени льются данные из Quik. Роботы, стратегии и прочее реализовано в виде хранимых пакетов или PL\SQL процедур и функций. Выбрал именно СУБД, а не какой-то стандартный язык, типа C++, C#, Delphi (которые я знаю), потому, что в СУБД очень удобно хранить, обрабатывать и работать с массивами данных. Т.к. СУБД (система управления реалиционными базами данных) именно для этого и предназначена. Можно всего лишь одним SQL-запросом в несколько строк взять сразу любой инструмент, любой таймфрейм и с помощью либо хранимых, либо аналитических функций тут же наложить любые индикаторы. В С++ или Delphi пришлось бы «изобретать велосипед» с вложенными циклами, if-then-else, массивами, коллекциями и т.д. Заявки в Quik отправляются программой на Delphi, которая постоянно через pipe-каналы взаимодействует с сервером Oracle.
Тестирование стратегий происходит следующим образом. Весь алгоритм помещаем в хранимую процедуру на сервере Oracle, на вход подаём исторические данные из таблиц того же Oracle, процедура виртуально «покупает/продаёт» и результат своих сделок «ложит» в таблицу. Далее, с помощью тех же SQL-запросов можно легко построить любые отчёты в любом разрезе (эквити системы, профит-фактор и т.д.). Графически и визуально результаты тестирования у меня выводятся в программе на Delphi в виде таблиц, графиков и т.д.
Ну вот как-то так...
Посмотрел Вашу ссылку. Первое впечатление — «винегрет и огород», в котором создатель всего этого сам не может разобраться, в чём сам и признался. Сложилось впечатление, что хозяин всего этого добра как буд-то пытается кому-то показать себя очень умным, закидываясь умными словами для придания себе важности. Но это всего лишь моё первое впечатление, которое Вы можете пропустить и не обращать на него внимания.
А теперь по делу. Всё, что там указано, не имеет никакого отношения к алготрейдингу. Это всего лишь инструменты, на которых строится любая система автоматизации для любой сферы. А алготрейдинг, это всего лишь маленький пример и частность. Там по сути, про сам алготрейдинг не сказано практически ничего. Если ему для торговли и тестирования реально понадобились такие мощности, о которых он там писал, то значит вся его система разработана и построена ОЧЕНЬ неэффективно и криво. А скорее всего, как я уже сказал, он просто хотел придать себе и своей системе значимости.
Кстати, больше чем уверен, если бы в квике были исторические данные по всем инструментам, а не только по текущим, то всю его систему вполне мог бы заменить обычный квик со своим lua при грамотном подходе (конечно, если не пытаться тестировать и анализировать 1000 инструментов одновременно).
Возвращаясь к книгам..., вы поймите, если музыкант научился хорошо играть на пианино, то ему не нужна отдельная книга, как на нём сыграть «Ламбаду», он просто возьмёт ноты и сыграет, а при особом слухе, сыграет даже без нот. А также он может сыграть любое другое музыкальное произведение и ему не нужно для исполнения симфонии Бетховена «читать специальные книги» или «много чему учиться». Так и программист, если он реальный программист, а не школьник, то он просто возьмёт и сделает любую систему по поставленной задаче, ему не нужны для этого «особые книги». И языки программирования, сервера и прочее — это всего лишь инструмент, как и пианино.
сделаем
там несколько аспирантов писали, под руководством.
она достаточно обзорная, про самые разные идеи.
понравилась концепция мультиагентов, когда каждый кусочек робота делает свой участок работы независимо от других.
книгу сейчас отвёз родителям.
запомнилось, что я на эту книгу выторговал в магазине скидку, т.к. она была последняя и помятая немножк.
мне её страсть как хотелось, на самом деле, но после переговоров с руководством секции магазина, за помятую мне скинули толи 10, толи 20%.
интересно!
Тимофей Мартынов,
похоже вот она, http://www.ozon.ru/context/detail/id/4967799/
тут содержание перечислено: http://www.twirpx.com/file/816472/
но в бумаге наверное её не найти. тираж 1300 экз всего.
upd: хотя озон обещает наличие и доставку завтра. фантастика!
вот про чувачка-автора нашел: http://www.rea.ru/ru/org/cathedries/infkaf/Pages/Romanov.aspx
он писатель-рецидивист :)
ну да конечно… нужна книга на тему… как никуя не делая заработать ахульярд роботами на бирже… подробное описание… мануал...
прикол в том… что тот кто реально зарабатывает не учит и не пишет…
который форекс клуб чтоль?:))
1. Если не существует точного прогноза будущего приращения цены, то цена — случайна.
2. Если верно 1, то любая торговая система является явным или неявным статистическим прогнозом торгуемой «цены» (это не обязательно цена акции или фьючерса, если, например, мы торгуем статистический арбитраж между двумя портфелями, то этой «ценой» будет спред).
Для справки. Статистический прогноз — это оценка некоторой (-ых) характеристики (характеристик) распределения еще нереализовавшейся случайной величины.
В случае решения задачи построения торговых систем с максимумом доходности без оглядки на риск достаточно строить прогноз одной величины, а именно знака будущего приращения «цены».
3. Любой статистический прогноз является функцией (одномерной или многомерной, в зависимости от числа прогнозируемых характеристик) от наблюдавшихся величин.
4. Вид функции из п. 3 зависит от вида взаимосвязи между прошлым и прогнозируемой (-ыми) величиной (-ами). И при разных видах взаимосвязей он может меняться радикально.
5. Никто не знает реального вида взаимосвязи между прошлым и будущим приращением «цены», поэтому любая используемая явно или неявно взаимосвязь (а по любой торговой системе можно однозначно определить вид предполагаемой взаимосвязи) между прошлым и будущим приращением «цены» является математической моделью, которая в лучшем случае «работала» в прошлом. А любая математическая модель «не полна» (теорема Гельдера), т. е. не описывает исчерпывающе все взаимосвязи. А значит используемые нами функции прогноза (п. 3) являются «продуктом» математической модели и могут радикально смениться при смене модели (п. 4).
6. Все книги по статистическому прогнозированию (в том числе и неявные типа теории хаоса или нейронных сетей) написаны по принципу «математическая модель» -> статистический прогноз, а значит являются частными случаями взаимосвязей. Никакой общей теории взаимосвязи нет и в помине и вряд ли может быть. В теории вероятностей досконально изучен лишь случай отсутствия взаимосвязей (независимость), отличие от него указывает на наличие взаимосвязей, но ничего не говорит об их виде.
Вывод. Любая книга о построении торговых систем является субъективной точкой зрения автора о виде взаимосвязей на рынке.
О чем можно писать объективно? Только о методике тестирования торговых систем, как проверке качества статистического прогноза. Благо проверка качества существующего статистического прогноза вполне поддается описанию в самом общем случае.
Ну и добавлю, что Эрни Чан и еще несколько автором смогли сделать то, что Вы считаете невозможным. ;)
Насчет «смогли» — это вряд ли. Книжку с частными примерами — не вопрос, а в общем случае, увы. Простой вопрос: какие одномерные распределения приращений логарифмов цен описаны в книгах упомянутых Вами авторов? Если их там вообще нет, то эти книги «ни о чем». Беллетристика на модную тему.
И отзывы тут мой вывод о книгах Эрни Чана подтверждают
www.quantalgos.ru/?p=1771
Да с точки зрения общей задачи построения торгового алгоритма ХФТ или не ХФТ — без разницы, отличие только во временном горизонте статистического прогноза изменения цены. А о технической стороне реализации ХФТ конечно могут быть вполне серьезные книги.
А что касается книг Эрни Чана, то, судя по интервью, речь идет о машинном обучении при построении статпрогноза. Но этот метод нерабочий для 90% моделей нестационарных рядов.
я свой гайд-методичку писал по торговым ботам.
можно в телеге найти