?

Log in

No account? Create an account

Кризис у брокеров?

Всем привет!

Очень давно я не писал, отдыхал, за рынком не следил, вникал в банковские дела (пора же уже зарабатывать :) )

Смотрю на рынок - никакой, решил собрать статистику по оборотам брокеров, и что я увидел:

Обороты брокеров

Это обороты топ-10 брокеров с начала года. Видно, как они падают (обороты, не брокера...). Друзья, нарисуете тренд, линии поддержки??))))

Самое интересное, что обороты топ-3 брокеров упали очень сильно.

Что будет дальше

Привет всем.

И вот снова я вспомнил про ЖЖ. На самом деле у меня просто не было времени. В начале этого года я еще работал в Финаме, и мы запускали сервис для высокочастотников, а если быть точнее: вместе с Транзаком (http://transaq.ru/) создавали "быстрый" сервер Транзака и работали над уменьшение round-trip заявок/сделок. Вначале добились 30 мсек (по одной заявке было 17, благодаря чему с Димой выиграли спор))) Потом, после обновления сервера micex и настроек нашего "быстрого" сервера Transaq, добились по мамбе 10-15мсек по рыночным заявкам, при малом пинге клиент-сервер. Я считаю - очень хорошо.

В итоге всей работы мы запустили услугу под названием HFT, подробности по ссылке http://www.finam.ru/howtotrade/special00010/default.asp Если есть вопросы - можете задавать, постараюсь помочь.



После запуска HFT в Финаме, я ушел в Tradematic. Это небольшая компания, занимающаяся разработками приложений для торговли на Финансовых рынках. Работы тут было (и есть) еще больше (=очень-очень много), поэтому я даже не вспоминал о ЖЖ, о чем прощу прощения, потому что обещал писать. Так вот о Tradematic. Вначале было много работы с документами, этих дел стало уже намного меньше, поэтому взялись за софт и сайт.
Самый главный продукт компании - Tradematic Trader (ранее он назывался TradeMatic Strategy Trader, но мне это название не нравилось, поэтому переименовали). Недавно мы обновили наш сайт, сделали личный кабинет клиента и обновили Trader до версии 1.7. Со всеми эти обновлениями столько у нас шума было, но об этом расскажу как-нибудь позже.
Теперь компания кроме разработок Trader'а начнет заниматься развитием взаимоотношений с клиентами. В любом бизнесе - это очень важно.

Кратко, это были мои последний новости. Буду находить время писать, потому что рассказать могу многое (скопилось)))

P. S. Приложение для Альфы. Постараюсь на следующих выходных найти исходники, и доделать, а то совсем некрасиво поступил, извиняюсь.


Небольшая заметка для тех, кто работал с прямым подключением ММВБ.

В связи с айсберг заявками интрефейс 15 проапдейтился до 15А. Появились 10 символов (тип int, имя HIDDEN) для указания скрытых лотов. (Новость еще ноябрьская).

"Темная" ликвидность (aka dark pool) появится 12 декабря 2011 года, в связи с этим появляется режим  ”Крупные лоты” (EQDP). Нового интерфейса не будет.

Для прямого подключения у ММВБ есть Micex Bridge, что по факту говорит о том, что нам предоставлена длл-ка mtesrl.dll для подключения к серверам ММВБ. Почитать можно по адресу http://www.micex.ru/services/technicalaccess/bridge

В библиотеке описаны функции, и, как это уже неудивительно, везде присутствую указатели. Скажу честно, мук с ними было много...но об этом когда-нибудь...в другой раз, в общем.

Данные представлены в виде таблиц. Принцип работы с таблицами: открыл таблицу, прочел данные, закрыл или открыл, прочел, обновил нужное кол-во раз, закрыл. При обновлении некоторые таблицы приходят целиком, а у некоторых приходит только обновление.

Все таблицы имеют разную структуру. Структуру можно получить отдельной функцией. Мы получаем типы, названия полей таблицы (так же мы получаем описание перечисляемых типов и транзакций). "Как круто, – сначала подумал я, – если структура таблиц поменяется, то в приложении не нужно будет ничего менять". Но не тут-то было. Если поменяется транзакция, надо будет менять вызов. В общем, идея хорошая, по факту – только больше трудозатрат.

В библиотеке не реализована колбэк функция, все происходит в синхронном режиме. В этом конечно есть некоторый плюс, но есть и минус. Обновлять данные приходится "ручками". Есть еще "камень", а точнее особенность длл-ок. Нельзя вызвать функцию, пока другая функция выполняется. Это еще добавило работы.

Продолжение следует...
Относительно недавно повторял теорию вероятности и наткнулся на, так называемый, "биржевой парадокс". Решил поделиться.
Вырезал из книги «Теория вероятностей и математическая статистика. Базовый курс с примерами и задачами», А. И. Кибзун, Е. Р. Горяинова, А. В. Наумов, А. Н. Сиротин. Под редакцией А. И. Кибзуна. Москва, 2002, Физмат Лит.

Биржевой парадокс. Рассмотрим любопытный экономи­ческий пример. Пусть имеется начальный капитал К, который тре­буется увеличить. Для этого имеются две возможности: вкладывать деньги в надежный банк и покупать на бирже акции некоторой компании. Пусть и — доля капитала, вкладываемая в банк, а v — доля капитала, расходуемая на приобретение акций. Очевидно, что 0 ≤ u+v ≤ 1. Предположим, банк гарантирует b х 100% > 0 годовых, а акции приносят X х 100% годовых. Так как предполагается, что банк абсолютно надежен, то b является неслучайной величиной. Сто­имость акций, как правило, меняется в течение года, т. е. X является случайной величиной. Допустим, что приобретение акций в среднем более прибыльно, чем вложение средств в банк, т. е. тX = М[Х] >  b > 0. Но при этом имеется ненулевая вероятность того, что акции обесценятся и мы потеряем все деньги, вложенные в акции, Р{Х ≤ -1} =  > 0.
Таким образом, мы можем надеяться, что через год капитал составит величину К1=К(1+bu+Xv), которая является случайной. Рассмотрим также ожидаемое через год среднее значение капитала:

Поставим задачу распределить капитал таким образом, чтобы макси­мизировать средний доход за год:

Нетрудно найти решение этой простой задачи линейного програм­мирования. Так как по условию задачи тX > b > 0, то, очевидно, все деньги нужно вкладывать в акции, которые в среднем более прибыльны, чем вложение в банк, т. е. u0 = 0, v0 = 1. При такой стратегии среднее значение капитала через год будет максимально:

Выясним, к чему приведет такая стратегия управления капиталом, если применять ее многократно. Пусть Xi, i = , — ежегодный прирост капитала за счет приобретения акций. Предположим, что СВ Xi, i = , независимы. Пусть ui = 0, vi, = 1, i = , т. е. ежегодно покупаются только акции, которые в среднем более прибыльны, чем вложение в банк, М[Хi] = тX > b > 0. Тогда среднее значение капитала через п лет составит величину

Так как по предположению mX > 0, то 1 + mX > 1. Поэтому при п →∞ получаем Кп →∞. Образно говоря, при таком управлении капиталом можно стать неограниченно богатым «в среднем».
Посмотрим, что происходит с вероятностью нашего разорения при выбранной стратегии

где событие Ai  {Xi :1 + Xi ≤ 0} характеризует разорение в i-й год, а событие Вп  А + ... + Ап — возможность разорения хотя бы один раз за п лет.
Рассмотрим противоположное событие . Находим

Так как СВ Xi независимы, то независимы также события Ai, i = . Поэтому имеем

Но по предположению Р(Аi) = Р{Хi ≤  -1} =  > 0, т. е. с ненулевой вероятностью можно потерять весь капитал в каждый i -й год. Поэтому. Отсюда следует, что

А следовательно, , при п →∞, т. е. веро­ятность разорения при выбранной стратегии стремится к единице. И это несмотря на то, что средний доход стремится к бесконечности. В этом и состоит биржевой парадокс, к которому мы пришли, решив покупать лишь одни акции, пренебрегая возможностью получения в банке хоть и небольшой, но зато гарантированной, прибыли. Это значит, что не следует «складывать все яйца в одну корзину».
На практике, чтобы избежать этого парадокса, используют так называемую логарифмическую стратегию, которая определяется из следующего условия:

т. e. из условия максимизации средней скорости роста капитала. В частности, иногда предполагают, что СВ Y1 + X имеет логнор­мальное распределение . При логарифмической стратегии капитал распределяется, как правило, в некоторых пропор­циях между покупкой акций и вложением в банк.
Следует также отметить, что рассмотренный пример хорошо иллюстрирует особенность поведения случайной последовательности

при п →∞. В отличие от детерминированной последовательности случайная последовательность может сходится в разных смыслах и к разным значениям. В данном примере если ui > 0 и vi= 1, то Zn в среднем и в то же время Zn 0 по вероятности.

Delphi и Transaq Connector

Всем привет!
Давно не писал. Простите, сейчас времени очень мало... и еще в последнее время занимаюсь прямым подключением к ММВБ.

В общем, как давно обещал: в кратце расскажу, как использовать Transaq Connector в Delphi
Очень просто: (пишем в Delphi 2010)

1) Описываем функции DLL-ки:

function SetCallback(pCallback: Tcallback): boolean; stdcall;
external 'txmlconnector.dll';
function SendCommand(pData: PAnsiChar): PAnsiChar; stdcall;
external 'txmlconnector.dll';
function FreeMemory(pData: PAnsiChar): boolean; stdcall;
external 'txmlconnector.dll';


2) Описываем функцию для отправки команды и получения результата:

function sendCmd(command: string): string;
var
    cmd, ans: PAnsiChar;
begin
    cmd := PAnsiChar(AnsiToUtf8(command));
    ans := SendCommand(cmd);
    Result := Utf8ToAnsi(ans);
    FreeMemory(ans);
end;

3) Описываем колбэк функцию:

function funcCallBack(pData: PAnsiChar): PAnsiChar;
var
    str: string;
begin
    str := Utf8ToAnsi(pData);
    FreeMemory(pData);
    //Делаем что угодно с str
end;

4) Перед отправкой команд устанавливаем колбэк функцию:

SetCallback(funcCallBack);

5) Отправляем команды

var
    cmd, ans: string;
begin
    cmd := '<command id="..."/>';
    ans := sendCmd(cmd);
    //работаем с ans как со строкой
end;

6) Пишем робота, торгуем и зарабатываем )))

Удачной торговли!
Обновил AlfaMetaApp.
Добавил: прогресс бар, отображение процентов и блокировку кнопки на время экспортирования.

alfametaapp удобный экспорт Альфа-Директ metastock

Качаем http://www.farique.me/files/dev/AlfaMetaApp_v0.2b.zip

В версии 0.3 будет добавлена возможность указывать сразу несколько инструментов

Потоки и Transaq Connector.

Заголовок этого поста мог быть и таким: "Визуальные изменения при поступлении данных через callback функцию от Transaq Connector", но как-то некрасиво))

Если вы работаете с Transaq Connector и хотите, чтобы приходящие от коннектора данные сразу обрабатывались – вам надо настроить callback функцию. Сделать это нетрудно. Но тут есть одно но: если Вы хотите, чтобы при этом изменялись визуальные элементы (элементы формы), то решение "в лоб" не пойдет. Дело в том, что все элементы формы были созданы в одном потоке, а сейчас другой поток пытается изменить их. Чтобы все сделать правильно, мы должны попросить форму изменить их (элементы формы). Для этого используются методы Invoke или BeginInvoke формы. Различия в том, что Invoke вызывается синхронно, а BeginInvoke асинхронно. При использовании WPF используются аналогичные методы только уже объекта Dispatcher.

Надеюсь, этот пост вам поможет при разработке ;)

Вот картинка (информации почти никакой не несет, но зато привлекает внимание))):
потоки transaq connector

И кстати, если у вас будут создаваться события при поступлении новых данных, и вы будете обрабатывать их в форме, все равно это не решит проблемы.

Этот пост в комоне - http://www.comon.ru/user/farique/blog/post.aspx?index1=54628
Если кто-нибудь когда-нибудь выгружал данные из терминала Альфа-Директа в MetaStock, то он должен знать, что существуют ограничения на период выгружаемых данных. А именно:

"Примечание: в настоящее время действует
ограничение на максимальную глубину загрузки истории за один раз для графиков в
зависимости от периодичности – для 1-минутных графиков это неделя, для
5-минутных – месяц, для 15-минутных – 3 месяца, 30-минут – полгода, 1-час – год,
daily- и выше графики – история загружается без ограничений. Например, если
нужно загрузить 1-минутную историю за 2 недели – нужно сделать 2 запроса, по 1
неделе каждый (смотри раздел Принудительный запрос данных с
сервера
).
"
(взято из мануала к Альфа-Директу).

Вручную по 100 раз переставлять даты можно, но не нужно. Сделал приложение для удобного экспорта данных в Metastock.
AlfaMetaApp приложение для удобного экспорта из Альфа-Директ в Metastock
http://www.farique.me/files/dev/AlfaMetaApp_v0.1b.zip
AlfaMetaApp Версия 0.1b
Скачиваем, запускаем терминал Альфа-Директ, запускаем приложение, выбираем площадку, вводим код инструмента, выбираем период и вводим даты. Ждем кнопку и радуемся.

Уже знаю, какие улучшения стоит сделать, но пока времени нет.

Latest Month

Декабрь 2012
Вс Пн Вт Ср Чт Пт Сб
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Syndicate

RSS Atom
Разработано LiveJournal.com
Designed by yoksel