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

по

Бэнкинг по-Русски: ЦБ ужесточает антилегализационные критерии для Банков и компаний

Регулятор существо ужесточил критерии определения признаков высокой вовлеченности Банка в проведение сомнительных  операций клиентов:

Бэнкинг по-Русски: ЦБ ужесточает антилегализационные критерии для Банков и компаний
С прошлого года подобные критерии составляли 3% или 2 млрд руб в квартал.

Регулятор впервые ввел подобные требования в 2015 году и продолжает их ужесточать.

Одновременно с этим в новой версии  "
Методических рекомендаций о подходах к управлению кредитными организациями риском легализации" от «21» июля 2017 г. No 18-МР, 
Банк России рекомендует  использовать следующие подходы:

1. В рамках работы по выявлению клиентов, осуществляющих операции, отвечающие признакам транзитных,рекомендуем обращать внимание на клиентов, которые искусственно завышают размер уплачиваемых с банковских счетов (далее – счет) налогов и других обязательных платежей в бюджетную систему Российской Федерации с 0,5 % от дебетового оборота по счету в среднем до значения 0,9 % от дебетового оборота по счету либо до значений, незначительно его превышающих.



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

Бэнкинг по-Русски: Банк Кольцо-Урала. Работа над ошибками...

Помнится пару лет назад на конференции смартлаба я выступал c докладом о превентивном анализе балансов банков с целью выявления потенциальных рисков

Там при разборе различных паттернов был негативно оценен баланс банка Кольцо Урала по следующими причинам:

Бэнкинг по-Русски: Банк Кольцо-Урала. Работа над ошибками...
Доля кредитов юридическим лицам, выданных без залогов с низким уровнем резервирования за счет депозитов физлиц в 2015 году, была слишком высока и угрожала банку крахом....

Совсем недавно в комменте по югре меня упрекнули :
Бэнкинг по-Русски: Банк Кольцо-Урала. Работа над ошибками...

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

Бэнкинг по-русски: У банка Югра отозвали лицензию....

Бэнкинг по-русски: У банка Югра отозвали лицензию....

Вот так....
m.vedomosti.ru/finance/news/2017/07/28/726667-yugri

------------
Информация

Об отзыве у кредитной организации «ЮГРА» лицензии на осуществление банковских операций и назначении временной администрации

 

 

Приказом Банка России от 28.07.2017 № ОД-2138 с 28.07.2017 отозвана лицензия на осуществление банковских операций у кредитной организации ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО БАНК «ЮГРА» ПАО БАНК «ЮГРА» (рег. № 880, г. Москва).

Деятельность ПАО БАНК «ЮГРА» была ориентирована на привлечение денежных средств населения и их размещение в активы неудовлетворительного качества. При этом кредитная организация самостоятельно не создавала резервов на возможные потери, адекватных принятым рискам. Государственной корпорацией «Агентство по страхованию вкладов», на которую приказом Банка России возложены функции временной администрации по управлению кредитной организацией, проведено обследование финансового положения банка. Итогом проведенного обследования стало объективное отражение стоимости активов в отчетности кредитной организации, что привело к полной утрате ее собственных средств (капитала).



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

Седой и Гном - в ожидании бури

История выдуманная. Все совпадения случайны


Седой сидел на открытой веранде крыши офисного центра и смотрел на Кремль. Долгожданное солнышко пригревало его. Седой щурился.

— Дождь пойдет, — заметив меня сказал он и кивнул в сторону стоящего рядом лежака, — садись, полялякаем

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

— Активно у тебя там, — я кивнул в сторону офиса

— Ага. Копошатся трутни. Август на носу, — и Седой замолчал

я подождал секунд тридцать и, не выдержав, спросил:

— Ты же меня не за этим пригласил?

— Держи сока. Сочный!

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



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

Бэнкинг по-Русски: "Секвестирование валюты баланса" БКС-банка. Не так страшен черт, как его малюют....

Всем привет!
После ЮгроКазуса пару недель назад, прогнозируемого снижения рейтинга у Банка Открытие и слухов вокруг структурных проблем «Карфагена» (так неформально называют  одну группу банков, связанную с одной северокавказской республикой) взор читателей смарт-лаба небезосновательно устремился к БКС-банку.

Поводом для этого стал почти двухкратное «секвестирование» (пропорциональное снижение активов и пассивов) валюты баланса банка за июнь 2017 года.

Давайте вместе разберем почему это произошло и чем это может грозить банку и рядовому инвестору Бкс_брокера.


Для начала, хотел бы обратить внимание, что БКС-Банк ИНВЕСТИЦИОННЫЙ, а это значит что основные его активы сосредоточены в ценных бумагах и операций по кредитованию банкой под залог этих бумаг.

Бэнкинг по-Русски: "Секвестирование валюты баланса" БКС-банка. Не так страшен черт, как его малюют....

Итак, мы видим, что доля кредитов Юридическим лицам крайне мала, а кредиты физлицам настолько ничтожны, что поместились в прочие активы.


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

Код робота на LUA для QUIK

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

Предназначается для новичков в алготрейдинге, что-то типа болванки.

Важно: выставление заявок я закомментировал, поэтому можете смело запускать этот скрит, он не натворит ужаса по счету.

require"QL"

log = "sbrf.log"
seccode = "SRM6"
lots_in_trade = 80
accnt = ""
better = -5
chart = "sberbankxxx"
is_run = true
prev_datetime = {}
len = 100
basis = 9
k_bal = {0,1,2,3}
sell = false
buy = false
id = 0
first = true

function trade_signal(shift)
        number_of_candles = getNumCandles(chart)
        bars_temp,res,legend = getCandlesByIndex(chart,0,number_of_candles-2*len-shift,2*len)
        bars={}

        i=len
        j=2*len
        while i>=1 do
                if bars_temp[j-1].datetime.hour>=10 then
                        sk=true
                        if bars_temp[j-1].datetime.hour==18 and bars_temp[j-1].datetime.min==45 then
                                sk=false
                        end
                        if sk then
                                bars[i]=bars_temp[j-1]
                                i=i-1
                        end
                end
                j=j-1
        end

        t = len+1

        do_sell = false
        do_buy = true

        value = 0
        if do_sell then value = 1 end
        if do_buy then value = -1 end
        toLog(log,"value="..value.." on candle: "..bars[len].datetime.year.."-"..bars[len].datetime.month.."-"..bars[len].datetime.day.." "..bars[len].datetime.hour..":"..bars[len].datetime.min.."   O="..bars[len].open.." H="..bars[len].high.." L="..bars[len].low.." C="..bars[len].close.." V="..bars[len].volume)
        return value
end

function mysplit(inputstr, sep)
        if sep == nil then
                sep = "%s"
        end
        local t={} ; i=1
        for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
                t[i] = str
                i = i + 1
        end
        return t
end

function OnInit(path)
        log=getScriptPath()..'\\'..log
        toLog(log,"==========OnInit: START")
        toLog(log,"==========OnInit: FINISH")
end

function OnStop()
        is_run = false
        toLog(log,"==========OnStop: script finished manually")
end

function CheckBit(flags, bit)
   -- Проверяет, что переданные аргументы являются числами
   if type(flags) ~= "number" then error("Ошибка!!! Checkbit: 1-й аргумент не число!"); end;
   if type(bit) ~= "number" then error("Ошибка!!! Checkbit: 2-й аргумент не число!"); end;
   local RevBitsStr  = ""; -- Перевернутое (задом наперед) строковое представление двоичного представления переданного десятичного числа (flags)
   local Fmod = 0; -- Остаток от деления
   local Go = true; -- Флаг работы цикла
   while Go do
      Fmod = math.fmod(flags, 2); -- Остаток от деления
      flags = math.floor(flags/2); -- Оставляет для следующей итерации цикла только целую часть от деления
      RevBitsStr = RevBitsStr ..tostring(Fmod); -- Добавляет справа остаток от деления
      if flags == 0 then Go = false; end; -- Если был последний бит, завершает цикл
   end;
   -- Возвращает значение бита
   local Result = RevBitsStr :sub(bit+1,bit+1);
   if Result == "0" then return 0;
   elseif Result == "1" then return 1;
   else return nil;
   end;
end;

function killorders(ccode,scode)
    for i=0,getNumberOf("orders")-1,1 do
        local t=getItem("orders", i)
        if t ~= nil and type(t) == "table" then
            if( t.seccode == scode and CheckBit(t.flags, 0) == 1) then
                local transaction={
                    ["TRANS_ID"]=tostring(math.random(2000000000)),
                    ["ACTION"]="KILL_ORDER",
                    ["CLASSCODE"]=ccode,
                    ["SECCODE"]=scode,
                                        ["ACCOUNT"] = accnt,
                    ["ORDER_KEY"]=tostring(t.ordernum),
                }
                                res=sendTransaction(transaction)
            end
        end
    end
end

function killstoporders(ccode,scode)
    for i=0,getNumberOf("stop_orders")-1,1 do
        local t=getItem("stop_orders", i)
        if t ~= nil and type(t) == "table" then
            if( t.seccode == scode and CheckBit(t.flags, 0) == 1) then
                local transaction={
                    ["TRANS_ID"]=tostring(math.random(2000000000)),
                    ["ACTION"]="KILL_STOP_ORDER",
                    ["CLASSCODE"]=ccode,
                    ["SECCODE"]=scode,
                                        ["ACCOUNT"] = accnt,
                    ["STOP_ORDER_KEY"]=tostring(t.ordernum),
                }
                                res=sendTransaction(transaction)
            end
        end
    end
end


function main()
        toLog(log,"==========main: START")
        while is_run do
                if isConnected() == 1 then
                        ss = getInfoParam("SERVERTIME")
                        if string.len(ss) >= 5 then
                                hh = mysplit(ss,":")
                                str=hh[1]..hh[2]
                                h = tonumber(str)
                                if (h>=1000 and h<1400) or (h>=1405 and h<1845) or (h>=1905 and h<2350) then
                                        if first then
                                                for ti = 50,2,-1 do     trade_signal(ti) end
                                                if buy and not sell then message(seccode.." Current state: green and buy",1) end
                                                if sell and not buy then message(seccode.." Current state: red and sell",1) end
                                                if buy and sell then message(seccode.." ERROR: green and red",1) end
                                                if not buy and not sell then message(seccode.." WARNING: nothing",1) end
                                                first = false
                                        end
                                        prev_candle = getPrevCandle(chart,0)
                                        if not isEqual(prev_candle.datetime,prev_datetime) then
                                                current_value = trade_signal(1)

                                                if current_value ~= 0 then
                                                        optn = "B"
                                                        if current_value==1 then optn = "S" end
                                                        curvol=0
                                                        no=getNumberOf("FUTURES_CLIENT_HOLDING")
                                                        if no>0 then
                                                                for i=0,no-1,1 do
                                                                        im=getItem("FUTURES_CLIENT_HOLDING", i)
                                                                        if im.sec_code==seccode then
                                                                        curvol=im.totalnet
                                                                        end
                                                                end
                                                        end
                                                        trvol = -current_value*lots_in_trade-curvol
                                                        if trvol ~= 0 then
                                                                killorders("SPBFUT",seccode)
                                                                killstoporders("SPBFUT",seccode)
                                                                f = io.open(getScriptPath().."\\sbrf2_pos.txt","r")
                                                                sbrf2_pos=f:read("*n")
                                                                f:close()
                                                                f = io.open(getScriptPath().."\\sbrf3_pos.txt","r")
                                                                sbrf3_pos=f:read("*n")
                                                                f:close()
                                                                pr,n,l = getCandlesByIndex ("futsber", 0, getNumCandles("futsber")-1, 1)
                                                                local trans =
                                                                {
                                                                        ["ACTION"] = "NEW_ORDER",
                                                                        ["CLASSCODE"] = "SPBFUT",
                                                                        ["SECCODE"] = seccode,
                                                                        ["ACCOUNT"] = accnt,
                                                                        ["OPERATION"] = optn,
                                                                        ["PRICE"] = toPrice(seccode,pr[0].close+current_value*better),
                                                                        ["QUANTITY"] = tostring(math.abs(curvol-sbrf2_pos-sbrf3_pos)),
                                                                        ["TRANS_ID"] = tostring(getTradeDate().month*100+getTradeDate().day+id)
                                                                }
                                                                id = id+1
                                                                --res = sendTransaction(trans)
                                                                message(seccode.." Send : " .. res, 2)
                                                                toLog(log,"Send: ".. res)
                                                                for btr=0,200,5 do
                                                                        local trans =
                                                                        {
                                                                                ["ACTION"] = "NEW_STOP_ORDER",
                                                                                ["CLASSCODE"] = "SPBFUT",
                                                                                ["SECCODE"] = seccode,
                                                                                ["ACCOUNT"] = accnt,
                                                                                ["OPERATION"] = optn,
                                                                                ["PRICE"] = toPrice(seccode,pr[0].close-current_value*btr),
                                                                                ["STOPPRICE"] = toPrice(seccode,pr[0].close-current_value*(btr+better)),
                                                                                ["QUANTITY"] = tostring(6),
                                                                                ["TRANS_ID"] = tostring(getTradeDate().month*100+getTradeDate().day+id),
                                                                                ["EXPIRY_DATE"] = "GTC"
                                                                        }
                                                                        id = id+1
                                                                        --res = sendTransaction(trans)
                                                                        message(seccode.." Send : " .. res, 2)
                                                                        toLog(log,"Send: ".. res)
                                                                end
                                                                if current_value == 1 then
                                                                        message(seccode..' RED: buy->sell',1)
                                                                        toLog(log,"RED signal")
                                                                else
                                                                        message(seccode..' GREEN: sell->buy',1)
                                                                        toLog(log,"GREEN signal")
                                                                end
                                                        else
                                                                if current_value == 1 then
                                                                        message(seccode..' RED: buy->sell',1)
                                                                        toLog(log,"RED signal, but nothing to do")
                                                                else
                                                                        message(seccode..' GREEN: sell->buy',1)
                                                                        toLog(log,"GREEN signal, but nothing to do")
                                                                end
                                                        end
                                                else
                                                        if buy and not sell then toLog(log,"Nothing to do. Current state: green and buy",1) end
                                                        if sell and not buy then toLog(log,"Nothing to do. Current state: red and sell",1) end
                                                        if buy and sell then toLog(log,"Nothing to do. ERROR: green and red",1) end
                                                        if not buy and not sell then toLog(log,"Nothing to do. WARNING: nothing",1) end
                                                end
                                                prev_datetime = prev_candle.datetime
                                        end
                                end
                        end
                end
                sleep(5*1000)
        end
        toLog(log,"==========main: FINISH")
end
  • обсудить на форуме:
  • Quik Lua

Бэнкинг по-Русски: ЮгроНовости. По мотивам свежевышедшей отчетности...

1. Банк Югра, как и предполагалась ранее, своевременно (до 04 июня) сформировал 56.6 млрд резервов, одновременно распустив около 28 млрд

2. Кредитное обязательство УралВагонЗавода перед банком Югра на сумму 4 млрд руб ПРЕКРАЩЕНО !!!

3. Озвученного г-жой Анной Орленко «Вывода средств юрлиц на 45 млрд руб в июне»  НЕ БЫЛО !!!

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

Бэнкинг по-Русски: ЮгроНовости. По мотивам свежевышедшей отчетности...


Учитесь, блин, Трейдеры!!! ;)))



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

Бэнкинг по-Русски: "Высоколиквиды" Промсвязьбанка

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

Сразу хочу отметить, что ничего похожего на «ЮгроКейс»© там нет и бежать сломя голову и выводить оттуда ни в койм случае не нужно!!

Но некоторые достойные внимания и дальнейшего наблюдения моменты все же имеются:

Бэнкинг по-Русски: "Высоколиквиды" Промсвязьбанка

Если мы сравним структуру активов сейчас и пару лет назад, то легко заметить, что доля кредитов ЮЛ существенно сократилась, а доля Высоколиквидных активов (Коррсчета и касса) в РАЗЫ выросла.

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

Но как на самом деле ???

При более глубоком изучении, видно, что 120 млрд из этого «высоколиквида», это стабильный, по сути неснижаемый, остаток на НОСТРО счете в рублях в каком-то российском банке, не раскрывающем публичную отчетность.  




Бэнкинг по-Русски: "Высоколиквиды" Промсвязьбанка

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

Бэнкинг по-Русски: Есть ли 75 млрдная тетрадка в Югре??? Факты и слухи, котлеты и мухи....

Аккурат сегодня утречком, в некоторых СМИ появились громкие заявления о вероятных забалансовых вкладах в Банке Югра в обьеме до 75 млрд руб

Бэнкинг по-Русски: Есть ли 75 млрдная тетрадка в Югре??? Факты и слухи, котлеты и мухи....
При всем моем специфическом и скептическом отношении к хозяйственной деятельности данного финансового учреждения, хотел бы отметить, что данная информация не совсем корректно изложена....

Вчера около 13 часов утра прошла следующая информация из надежного источника:
----------

[10.07, 12:49] хххх: Выборочная проверка в югре показала наличие неучтенных вкладов
[10.07, 13:05] хххх: Сказали так: один нестандарный вклад последние 3 отчетных даты формировался и отражался в системах параллельного учета
-------------------
Писал и я тут об этом

Бэнкинг по-Русски: Есть ли 75 млрдная тетрадка в Югре??? Факты и слухи, котлеты и мухи....

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

Задачка. Почти жизненная, и, может быть, кому нибудь полезная.

Базовый актив 99350. Стоимость опционов на него в моменте: call 100 000 — 430,call 97500 — 2040, put 100 000 — 1080, put 97500 — 200. Вам известно про рынок только одно — до экспирации цена БА обязательно отклонится от текущей на 2000. Можно купить 1000 штук любых опционов и использовать любое количество БА. Как выглядит оптимальная позиция при этих условиях? Как выглядит формальное решение при произвольных ценах БА, опционов, уровнях страйков? Где ошибка в условии? Ставка, дивиденды, комиссии — все по нулям

....все тэги
UPDONW
Новый дизайн