🗝Багатенький Буратина

Читают

User-icon
344

Записи

305

Пишу MarketScanner. 28.02.2016

Продолжаю в свободное время писать сканер рынка.

В первую очередь оказалось, что ответы на запросы к TWS приходят асинхронно, поэтому линейно работать затруднительно. Это проявлялось в том, что некоторые ответы прилетали позже и терялись, т. к. я уже переходил к следующему тикеру в случае каких-либо ошибок. Поэтому я разделил программу на два потока — один из них регулярно делает запросы, а второй ждёт когда появятся ответы и записывает данные на диск. Собственно такая архитектура поддерживается API IB, т. к. при получении данных вам передаётся request id, по которому можно сориентироваться, куда записывать пришедшие данные, и этот id может быть ответом не на последний запрос, а например, на предпоследний.

Изменил вывод текста в консоль. Решил, что хорошая идея не выводить вперемешку в общий output сообщения из разных потоков, а разделить консольный вывод на две части, и привязать к каждой из них соответствующий поток. Пришлось отказаться от стандартных функций POSIX по выводу строк в консоль, и написать свой собственный класс консоли, который управляет выводом в screen buffer. Выглядит это примерно так:

( Читать дальше )

Пишу MarketScanner. 21.02.2016

Продолжаю писать в свободное от работы время собственный market scanner.

Решено, что сканер будет состоять из двух программ, работающих независимо:
1) Database, которая будет вытягивать исторические данные через IB TWS, формировать из них базу данных.
2) Scanner + Visualizer, собственно поиск паттернов, отображение чартов, подача сигналов, выставление ордеров и т. д.
Предполагается, что работать они будут параллельно и круглосуточно, скачивая и сканируя весь рынок на предмет точек входа.
 
Торговые данные будут храниться на диске в виде XML-файлов — текстовый формат более удобен для ручной инспекции, он расширяем, может читаться разными парсерами и т. д. Для работы с XML я подключил библиотеку TinyXML: https://sourceforge.net/projects/tinyxml/

Тестовый код работает следующим образом: в XML-файле хранится список тикеров, по которым нужно получить исторические данные. Для простоты я начал с компаний из списка S&P 500. Программа идёт по списку и вытягивает исторические данные за последний год для каждого тикера. Полученные данные записываются в соответствующий XML-файл, который имеет такое же символьное сокращение как и у тикера.

( Читать дальше )

Пишу MarketScanner

Многие пишут роботов, даже Мартыныч бросился изучать C# что бы что-нибудь этакое написать. Поскольку я программист, то решил не отставать и тоже написать — но нет, не робота, а сканер рынка. Идея простая — сканер должен вытягивать с сервера брокера исторические данные по всем торгуемым на NYSE ценным бумагам и искать по заданным алгоритмам фигуры теханализа. Наблюдая за рынком на протяжении последнего года, я заметил некоторые фигуры в действии — они действительно имеют место быть:
IBM оттолкнулась от линии поддержки

Сканер должен обрабатывать скачиваемые исторические данные, таймфрейм — недели/месяцы. Если определяется какая-либо интересная фигура TA, то программа сообщает об этом мне, а я уже дальше в ручном режиме просматриваю бумагу и принимаю решение торговать её или нет. На биржах США торгуется несколько тысяч ценных бумаг эмитентов, по задумке время от времени где-то что-то будет вырисовываться. Вручную за таким кол-вом тикеров уследить невозможно — поэтому нужен сканер.

Я работаю с InteractiveBrokers, у них есть API для всех основных платформ (Win/Mac/Unix) и языков — Java/C++/C#:
www.interactivebrokers.com/en/software/api/api.htm
Также быстро разобраться в нюансах помог сайт Richard-а Holowczak-а: 
holowczak.com/ib-api-socket-csharp-historical

А вот консольный вывод скачанных исторических данных:

Пишу MarketScanner
По сути сканер будет формировать некую базу данных, скачивая котировки в непрерывном режиме, постоянно отыскивая в их движении закономерности. Я планирую написать визуализатор для котировок, так что я мог бы просматривать свечки и линии поддержки-сопротивления без участия основного терминала.

IBM, QCOM и MU - поддержка по ТА?

Вот месячный график IBM, где дедуля Баффет уже слил несколько лярдов, как будто ослеп и не видел, что перекуплено (клялся что будет усредняться):
IBM, QCOM и MU - поддержка по ТА?

Qualcomm, один из крупнейших прозводителей ARM-процессоров:

( Читать дальше )

Предел риска

В этом году мои инвестиции здорово потрепали мне нервы!

Сначала влез сгоряча в IPO RTTR и потерял немного денег (сам дурак). Но самое интересное было по основной моей позиции (которую я не раскрываю), куда вложена большая часть свободных средств. Позиция была (и остаётся) с плечом (возможности не всегда совпадают с желаниями), и вот это самое плечо решило проверить меня на прочность.  В течении августа-сентября цены в основной позиции тестировали исторические лои, и в один из моментов я был на расстоянии 1 цента от margin call. Ощущения были непередаваемые! Нереализованный убыток составлял около $18,000 (половина от депо). Крепко сжав булки, я принял принципиальное решение не продавать НИЧЕГО. У меня хватило ума взять на плечо не 50%, а только 25%, а также я подлил в депозит несколько килобаксов, которые были на руках, что в итоге меня и спасло. В конце-концов прессинг медведей в бумаге закончился и цены оттолкнулись от лоев.

Всю осень большую часть заработной платы я переводил на депозит, т. к. появилось устойчивое желание ликвидировать плечо. В это время акция устойчиво карабкалась вверх. А под рождество я понял что Санта Клаус существует:

( Читать дальше )

Дресс-код кремлевских модников

Предмет одежды / Минимальное количество в гардеробе / Минимальная стоимость (доллары США)

Костюм повседневный — 5 шт. ($8,500) 
Костюм летний — 2 шт. $3,400
Костюм зимний — 2 шт. $3,400
Костюм вечерний — 2 шт. $3,400
Сорочка — 40 шт. $8,000
Галстук — 50 шт. $10,000
Пальто — 3 шт. $15,000
Кашне — 20 шт. $2,000
Туфли — 9 пар $9,000

Итого: стоимость прохождения дресс-кода – $62,700.

Это статья от декабря 2005 года. За последние 10 лет думаю аппетиты чиновничьего люда значительно выросли, штук этак под сто, а для топ-чиновников эта цифра почти неограничена.

www.newsru.com/russia/15dec2005/kremlinmoda.html


Почему двухтысячные были такими жирными

Почему двухтысячные были такими жирными
Собственно цены на «жижу» просто возвращаются к прошлым значениям. Можно приблизительно предугадать, где они войдут в боковик, если взять поправку на инфляцию доллара за последние 20 лет с одной стороны, и развитие новых технологий в энергетике (сланец, солнечная энергия, термояд, электроавто) с другой. Ну а экономическая политика при Путине в 2000-е имеет к процветанию опосредованное отношение, и скоро это станет ясно.

теги блога 🗝Багатенький Буратина

....все тэги



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