Избранное трейдера Kreuz

Кто верит в Магомета, Кто в Аллаха, кто в Иисуса, Кто ни во что не верит, Даже в чёрта, назло всем. Хорошую религию Придумали индусы, Что мы, отдав концы, Не умираем насовсем. ©
Сначала о позитивных дивидендных новостях.
Цитирую Ведомости:
«Идея увеличить дивиденды госкомпаний за 2015 г. до 50% чистой прибыли по РСБУ «встретила понимание», заявил министр экономразвития Алексей Улюкаев. Проект согласован со всеми заинтересованными ведомствами, утверждает представитель Минэкономразвития»
И хотя ДД компаний по многим позициям не слишком вдохновляет, но все равно, увеличение дивидендов это позитив.
Думаю, что в связи с тем, что подготовка к ГОСА у эмитентов уже идёт, нормативный акт о том, на каких условиях и конкретно размер процента, мы скоро увидим.
Кто увидит, пожалуйста, выложите пожалуйста ссылку на моей страничке ВК vk.com/laramdivi , где мы совместными усилиями ведём Журнал дивидендных новостей. Можно будет начать считать реально возможные размеры дивидендов по эмитентам с гос участием.
ГК Роллман выводит 561000 АП на рфр. Вот сообщение НРД www.nsd.ru/ru/db/news/ndcpress/index.php?id36=631642
ЧП Алроса Нюрба за 2015 год составила 12675 млн рублей.

Из опыта первой статьи вы наверное вспомните, что я предложил под каждый блок сообщения делать класс и на основе этих классов строить сообщение. Переспав с этой идеей, сегодня за кружкой чая, я решил остановиться на этой идее. А именно: Если говорить образно. То, чтобы отправить сообщение на сервер, нам просто нужно сформировать нужную строку со всеми данными и отправить ее на биржу. Ну например:
8=FIX.4.4;9=78;35=A;49=FG;56=tgFhcfx901U05;34=1;52=20160212-11:42:51.812;98=0;108=3000;141=Y;10=047;

Если быть внимательным, то мы увидим, что кол-во символов в строке у нас 100, а в заголовке сообщения мы передаем, что 78 (9 = 78). По правилам протокола FIX, длину сообщения нужно считать без учета концовки и первых двух полей заголовка. А именно:

Зеленым я отметил именно разделители. Как вы уже видите, это просто в шестнадцатеричном виде код 01. То есть, в нашу строку в виде разделителей, нужно вставлять код 01. Также я отметил для себя последовательность полей в сообщении. Почему то в другом порядке у меня вызывало ошибки (возможно тут я не прав)
Ну и контрольная сумма. Контрольная сумма считается над всем сообщением, за исключением концовки. То есть в расчет берется только заголовок и само сообщение. Для этого, мы переводим каждый символ в его Ascii код и вычисляем их сумму. Полученную сумму делим по модулю 256. Это и будет контрольной суммой сообщения. При этом, значение должно быть трехзначным. Если мы получаем 2 знака, то подставляем 0 слева (например, если контрольная сумма = 68, то должны передать значении 068).
Как видим, первый метод строит нужную строку из полей. Обратите внимание, там присутствует наш разделитель в виде спец символа \u0001. Второй метод вычисляет размер заголовка (чтобы потом высчитывать размер сообщения). Надо обратить внимание, что при передачи времени, миллисекунды должны указываться в трехзначном формате (даже если миллисекунды = 52, то передаем 052). Следующие классы строятся по аналогии.

//Получаем ip сервера
IPAddress ipAddr = IPAddress.Parse(server);
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, port);
//Создаем заголовк
HeaderMessage msHeader = new HeaderMessage
{
BeginString = «FIX.4.4»,
MsgType = «A», //Тип сообщения на установку сессии
SenderCompID = "",
TargetCompID = «FG»,
MsgSeqNum = 1
};
//Создаем сообщение на подключение onLogon
LogonMessage msLogon = new LogonMessage
{
EncryptMethod = 0,
HeartBtInt = 3000,
ResetSeqNumFlag = true
};//Вычисляем длину сообщения
msHeader.BodyLength = msHeader.GetHeaderSize() + msLogon.GetMessageSize();
//Создаем концовку сообщения
TrailerMessage msTrailer = new TrailerMessage(msHeader.ToString() + msLogon.ToString());//Формируем полное готовое сообщение
string fullMessage = msHeader.ToString() + msLogon.ToString() + msTrailer.ToString();
Console.WriteLine(«Сообщение для отправки {0}»,fullMessage);//Создаем сокет для подключения
sSender = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
//Подключаемся
sSender.Connect(ipEndPoint);
Console.WriteLine(«Сокет соединился с {0} », sSender.RemoteEndPoint.ToString());
byte[] msg = Encoding.UTF8.GetBytes(fullMessage);
//Отправляем сообщение
int bytesSent = sSender.Send(msg);
Console.WriteLine(«Отправил {0} байт», bytesSent.ToString());
//Получаем ответ от сервера
byte[] bytes = new byte[1024];
int bytesRec = 0;
bytesRec = sSender.Receive(bytes);
Console.WriteLine(«Ответ от сервера: {0}», Encoding.UTF8.GetString(bytes, 0, bytesRec));



Вначале 2015-го я решил распределить личные средства под активным управлением в пропорции:
— автоследование ИК Форум – 33% ;
— мои системы в акциях – 50%;
— среднесрочная система в Si, хэджирующая валютные риски, по «номиналу» на 50% капитала (после убытков в марте 2015-го снижена до 33% «по номиналу») .
Почему? После провалов моего управления в апреле 2011-июне 2012-го, своей первой задачей я ставил наладить управление с просадкой не более 15% даже в ущерб доходности. С этой целью я провел в два этапа не слишком радикальную модификацию систем в первой половине 2012 и летом 2013-го. Точнее «опорные» системы остались без изменений, а вот отношение к выбору эмитентов, «фильтрам» и шортам было пересмотрено радикально. Были добавлены новые «фильтры» и началась постоянная торговля шортов, но с уменьшенным по сравнению с лонгами объемами. Также портфель «покинули» Лукойл, ВТБ и Северсталь из-за их «нехорошести», а Роснефть из-за ненужности. Взамен в портфель попал фьючерс на индекс РТС. Все это привело к построению нового портфеля с расчетной просадкой в 15%.