С 5 июня 2021 года сайт гугла, и самое главное гугл таблицы - перестали отдавать данные с Московской биржи.
При попытке получить котировки с префиксом MCX, например для
Сбербанка, формулой из гугл таблиц
=GOOGLEFINANCE("MCX:SBER")
теперь всегда возвращается
результат #N/A
.
А при поиске любой российской бумаги на сайте Google находятся все рынки, кроме Московской биржи:
Попытка поиска котировки Sberbank of Russia на сайте https://www.google.com/finance/quote/MCX:SBERВ этой статье я рассказываю как получать в гугл таблицу биржевые данные с помощью API Московской биржи.
Вы можете свободно копировать формулы из моей таблицы с примером для использования в собственных таблицах, потому что на формулах нет и не может стоять никакой защиты.
Если после копирования из таблицы-примера в вашу таблицу формула не работает, то проверьте региональные настройки вашей таблицы.
Моя таблица с примером получения данных с Московской биржиЯ использую регион Соединенные Штаты, а если по умолчанию ваш регион Россия, то формулы корректно НЕ копируются!
Вот подробная инструкция как проверить региональные настройки конкретной таблицы:
Откройте файл в Google Таблицах на компьютере.
Нажмите Файл затем Настройки таблицы.
Выберите нужные варианты в разделах "Региональные настройки".
Нажмите Сохранить настройки.
Как изменить региональные настройки и параметры расчетовЕсли вы не хотите менять регион в своей собственной таблице, то можно просто изменить разделитель в формуле. Для корректной работы надо изменить разделитель с запятой на точку с запятой.
Можно получать названия акций и облигаций используя сервера Московской Биржи вместо переставшего работать гугл финанса. Сама формула при этом выглядит следующим образом:
=IMPORTxml( "https://iss.moex.com/iss/engines/stock/markets/" & IFS( or( B3 = "TQOB", B3 = "EQOB", B3 = "TQOD", B3 = "TQCB", B3 = "EQQI", B3 = "TQIR" ), "bonds", or( B3 = "TQTF", B3 = "TQBR", B3 = "SNDX", B3 = "TQIF" ), "shares" ) & "/boards/" & B3 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,SECNAME", "//row[@SECID='" & A3 & "']/@SECNAME")
Можно получать цены акций и облигаций используя сервера Московской Биржи вместо переставшего работать гугл финанса. Сама формула при этом выглядит следующим образом:
=IMPORTxml( "https://iss.moex.com/iss/engines/stock/markets/" & IFS( or( B10 = "TQOB", B10 = "EQOB", B10 = "TQOD", B10 = "TQCB", B10 = "EQQI", B10 = "TQIR" ), "bonds", or( B10 = "TQTF", B10 = "TQBR", B10 = "SNDX", B10 = "TQIF" ), "shares" ) & "/boards/" & B10 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,PREVADMITTEDQUOTE", "//row[@SECID='" & A10 & "']/@PREVADMITTEDQUOTE")
Можно получать даты и значения дивидендов для акций, используя сервера Московской Биржи. У гугл финанса такого функционала никогда не было для российских акций. Сама формула при этом выглядит следующим образом:
=iferror( INDEX( IMPORTxml( "http://iss.moex.com/iss/securities/" & A22 & "/dividends.xml?iss.meta=off", "//row[@secid='" & A22 & "']/@value" ) , ROWS( IMPORTxml( "http://iss.moex.com/iss/securities/" & A22 & "/dividends.xml?iss.meta=off", "//row[@secid='" & A22 & "']/@value" ) ) , 1 ) , "нет")
Можно получать даты и значения купонов для облигаций, используя сервера Московской Биржи. У гугл финанса такого функционала никогда не было для российских облигаций и вообще облигаций в сервисе нет. Сама формула при этом выглядит следующим образом:
=IMPORTxml( "https://iss.moex.com/iss/engines/stock/markets/" & IFS( or( B12 = "TQOB", B12 = "EQOB", B12 = "TQOD", B12 = "TQCB", B12 = "EQQI", B12 = "TQIR" ), "bonds", or( B12 = "TQTF", B12 = "TQBR", B12 = "SNDX", B12 = "TQIF" ), "shares" ) & "/boards/" & B12 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,NEXTCOUPON,COUPONVALUE", "//row[@SECID='" & A17 & "']/@COUPONVALUE")
Можно получать оферты облигаций, используя сервера Московской Биржи. У гугл финанса такого функционала никогда не было для российских облигаций и вообще облигаций в сервисе нет. Сама формула при этом выглядит следующим образом:
=IFNA( IMPORTxml( "https://iss.moex.com/iss/engines/stock/markets/" & IFS( or( B27 = "TQOB", B27 = "EQOB", B27 = "TQOD", B27 = "TQCB", B27 = "EQQI", B27 = "TQIR" ), "bonds", or( B27 = "TQTF", B27 = "TQBR", B27 = "SNDX", B27 = "TQIF" ), "shares" ) & "/boards/" & B27 & "/securities.xml?iss.meta=off&iss.only=securities&securities.columns=SECID,OFFERDATE", "//row[@SECID='" & A27 & "']/@OFFERDATE" ) , "нет")
Если вы хотите разобраться во всех нюансах работы - откуда берутся данные, то вы, также как и я можете обратиться к официальной документации к информационно-статистическому серверу Московской Биржи (ИСС / ISS). Правда, изучая этот документ, вы можете обнаружить что большая часть интересных функций, приведенная в этой статье, в документе никак не отображена.
Король умер, да здравствует король! Считалось, что трон никогда не должен пустовать, поэтому после смерти короля сразу же объявлялся следующий правитель.
Как и в случае c сервисом Google Финансы, который перестал выдавать российские результаты мы видим что можно использовать API Московской биржи, которое предоставляет широкие возможности.
Эти формулы работают только за счет API Московской биржи, с которой я никак не связан. Использую ИСС Мосбиржи только в личных информационных интересах.
Автор: Михаил Шардин,
15 июня 2021 г.
Опционы - вид ценных бумаг, вызывающих постоянный интерес даже у начинающих трейдеров. Об опционах написано немало статей, поэтому мы опустим ознакомительную часть и будем считать, что читатель знаком с основными терминами опционной торговли. Если что, то их толкование несложно найти в интернете.
После первого знакомства с теорией у начинающих торговцев опционами возникает вопрос: а при каких условиях данный набор опционов даст прибыль, и какую. Даже опытный опционщик сходу не сможет ответить на этот вопрос, если у вас более одного опциона. Для этого необходим анализ опционного портфеля ( набора опционов и , возможно, фьючерсов), который нагляднее всего делается в графическом виде, на диаграмме зависимости прибыли/убытка от стоимости базового актива. В настоящее время существует несколько сайтов для этого, а также отдельных программ.
Автор статьи реализовал анализ опционов с помощью телеграмм-бота, что дает возможность быстрого получения информации об инвестиционном портфеле на смартфоне.
Будем считать, что, кроме опционов, читатель знаком с телеграмм ботами. Поэтому здесь не будет описания создания бота от получения токена до обработки клавиатуры. Вместо этого перечислим концептуальные проблемы, которые возникли при создании программы, и способы их решения.
Бот получает сообщения от пользователя через встроенный в телеграмм механизм вебхуков. Каждый вебхук заново запускает программу, но для каждого пользователя необходим свой набор данных. Идентификация пользователей осуществляется через просмотр потока ввода:
$id_init = file_get_contents('php://input');$id=sbs($id_init, '"from":{"id":',',"is_bot":'); //в эту переменную записываем уникальный номер пользователяfunction sbs ($str,$m1,$m2){ //из строки str возвращает подстроку между двумя метками-словами m1 и m2$p1=strpos($str,$m1)+strlen($m1); //длина слова-метки слева$p2=strpos($str,$m2);return substr($str,$p1,$p2-$p1);}
Для каждого пользователя строится следующая структура данных:
файл состояния: переменные флажки , которые описывают в частности, идентификационные номера сообщений ( message_Id) для дальнейшей их редакции, актуальное состояние ( ввод количества, ввод страйка и т.д.), вспомогательные данные для построения графика
файл данных по составу портфеля ( идентификационный номер ценной бумаги, тип, количество, цена, дата экспирации)
файлы для построения графика
После каждого вебхука происходит инициация данных в программе из указанных файлов.
График строится по состоянию на момент экспирации опционов, что дает возможность упрощенно представить график каждого инструмента в виде y=kx+b,
где y это размер прибыли/убытка на момент экспирации
х стоимость базового актива
После записи данных в портфель создаются файлы с расширением png с помощью библиотеки GD в несколько этапов:
1) определение Х-координат всех точек перелома на графике (очевидно, что сумма всех линий даст ломанную кривую)
2) определение масштаба изображения (средняя всех координат точек перелома по оси Х, максимальное отклонение от среднего, и максимальный размер по оси Y)
3) создание ассоциативного массива точек, в котором координата X это ключ, координата Y величина, для всей цифровой полуплоскости:
$typ опцион колл, пут или фьючерс
$q количество ( отрицательное продажа)
$cena цена приобретения ценной бумаги
$strike страйк для опционов
$x0 начальная координата по оси Х
$sx масштаб по оси Х
function pparr($typ, $q, $cena, $strike,$x0,$sx){ //функция выдает одномерный массив - координаты x=>y точек по //типу цб, направлению (покупка продажа), цене приобретения и страйку (для опционов) if ($q<0) { $q=-$q; $drct='-'; } else $drct='+'; $a=array(); $b=array(); $delta=$sx; //расстояние между точками равно масштабу $scalx for ($i=0;$i<740;$i++){ //кол во точек 740 определено заранее $xkk=$x0+$delta*$i; //значение по оси X if ($typ=='fut') { if ($drct=='+') $a[$xkk]=($xkk-$cena)*$q; else $a[$xkk]=(-$xkk+$cena)*$q; } if ($typ=='call'){ if ($drct=='+') { if ($xkk<=$strike) $a[$xkk]=-$cena*$q; else $a[$xkk]=$q*($xkk-$strike-$cena);} else { if ($xkk<=$strike) $a[$xkk]=$q*$cena; else $a[$xkk]=(-$xkk+$strike+$cena)*$q;} } if ($typ=='put'){ if ($drct=='+') { if ($xkk<=$strike) $a[$xkk]=(-$xkk+$strike-$cena)*$q; else $a[$xkk]=-$q*$cena;} else { if ($xkk<=$strike) $a[$xkk]=($xkk-$strike+$cena)*$q; else $a[$xkk]=$cena*$q;} } $b[(string)$xkk]=(string)$a[$xkk]; }return $b; };
4) создание файлов изображений, при этом одновременно строится график для каждой строки из портфеля ( зеленый цвет) и результирующий для портфеля ( красный цвет). Кроме того, know-how заключается в том, что одновременно строится еще четыре изображения для увеличения/уменьшения изображения по оси Х и по оси Y. За счет этого достигается эффект работы он-лайн с клавишами X+,X-,Y+,Y- под графиком. Таким образом, для каждого пользователя в каждый момент времени существует пять файлов изображения.
В тесной связи с прибыльностью находится понятие риска. В количественном выражении риск по опционному портфелю выражается в сумме так называемого гарантийного обеспечения. Гарантийное обеспечение та сумма, которая списывается со счета трейдера при совершении сделки. Фактически, исходя из данных на текущий момент, блокируется сумма максимального убытка (потерь). Однако, и это самое главное, сумма гарантийного обеспечения, списанная с вашего счета, пересчитывается после каждого клиринга ( утро, обед и вечер). Она может как увеличиваться, так и уменьшаться. При спокойном течении торгов (в пределах какого-то диапазона) вы можете увидеть, что сумма на вашем счете растет за счет уменьшения ГО. Однако, ГО может резко вырасти в экстренных ситуациях ( стихийные бедствия, санкции, войны) и не только в экстренных (праздники) . В этом случае у вас может быть списана дополнительная сумма в рамках увеличения ГО. Если денег на вашем счете не хватит для оплаты увеличившегося ГО, наступает маржин-колл, в рамках которого ваши ценные бумаги будут принудительно списаны по текущей рыночной цене, что ведет к обнулению счета.
В телеграмм-боте встроен блок расчета гарантийного обеспечения, в котором реализован следующий подход.
Гарантийное обеспечение для фьючерсов считается по формуле, которая предложена самой Московской биржей:
ГО=БГО+(Цена-Расчетная_Цена)*БП;
где Расчетная_Цена определяется по результатам клиринга и практически равна цене базового актива на момент клиринга, определяется в пунктах
БП стоимость пункта в рублях, зависит, в частности, от курса доллара,
БГО базовое гарантийное обеспечение, определяется биржей, может произвольно увеличиваться, например, перед праздниками
Таким образом, по фьючерсам ГО считается достаточно просто, поскольку все данные есть в открытом доступе. Что касается опционов и тем более сочетаний их в разных комбинациях, Московская биржа не дает однозначного рецепта, вернее не дает данных для их расчета, а предлагает купить модуль расчета ГО.
В телеграмм-боте предлагается следующий подход: риск по опциону такой же , как по фьючерсу, в той мере, насколько опцион похож на фьючерс. При этом понятно, что нас интересуют только убытки, то есть нижняя полуплоскость нашего графика. Попробуем пояснить с помощью графиков.
Вот как выглядит покупка колла в нашем боте:
Запись в портфеле покупки опциона "колл" страйк 75000 дата экспирации 03.06.2021 по цене 25 График зависимости прибыли/убытка по купленному опциону "колл" в зависимости от стоимости базового актива на дату экспирацииГарантийное обеспечение=23.
Что нам показывает график: если стоимость базового актива ( в данном случае стоимость фьючерса на курс рубля к доллару) [вечером] 03.06.2021 будет 75000 и ниже, то наш убыток составит 23 . При повышении этой стоимости до 75023 мы выйдем в безубыток, при дальнейшем росте получим прибыль.
Что мы имеем с точки зрения риска: не при каких обстоятельствах наш убыток не превысит сумму 23. Следовательно, наш опцион совершенно не похож на фьючерс, и в расчете ГО мы можем записать просто сумму 23.
Покупка пута примерно та же картина.
Продажа пута.
Запись в портфеле продажи опциона "пут" страйк 72750 по цене 44 с датой экспирации 03.06.2021График зависимости прибыли/убытка по проданному опциону "пут" от стоимости базового актива на дату экспирацииГарантийное обеспечение= 5436.
Можно убедиться, что при стоимости базового актива выше 72750 мы имеем прибыль 44. При снижении стоимости БА до 72706 мы выходим в ноль. При дальнейшем падении стоимости БА наш убыток НИЧЕМ НЕ ОГРАНИЧИВАЕТСЯ.
С точки зрения рисков это фьючерс, купленный по цене 72706. Подставляем это число в формулу ГО для фьючерса и получаем ГО для опциона! Этот ГО достаточно велик (5436), но может превратится в прибыль в течение нескольких дней.
Стоит ли овчинка выделки? Если при условных затратах сегодня 5436 мы получим через несколько дней 44? Мне кажется, риск очень велик. С другой стороны, курс рубля к доллару был таким примерно 3 месяца назад.
С продажей колла будет аналогичная ситуация.
А если одновременно продать пут и кол?
Запись в портфеле продажи опциона "пут" страйк 72750 и продажи опциона "колл" страйк 75000График зависимости прибыли/убытка по портфелю от стоимости базового актива на дату экспирацииГарантийное обеспечение не изменилось!
С точки зрения риска понятно почему может реализоваться только один из сценариев либо по фьючерсу, купленному по примерно по 72700 (левая нога) либо по фьючерсу проданному по 75190 ( правая нога). Из них выбираем вариант
с наибольшим ГО , оно и будет мерилом риска.
На графике можно увидеть, что прибыль мы имеем при стоимости базового актива в диапазоне от примерно 72700 до 75190, в остальных случаях получаем убыток, который ничем не ограничивается.
На экране отображаются следующие группы данных:
подробная инструкция по работе с ботом
текущие котировки ближайших фьючерсов по трем базовым активам
таблица Портфель, отображающая состав портфеля, сделанная с помощью интерфейса телеграмм ( можно редактировать)
значение гарантийного обеспечения
таблица, дублирующая состав портфеля, построенная как изображение формата png, которую можно копировать и сохранять
нижняя клавиатура, которую можно скрывать, с кнопками: Добавить позицию в портфель, Анализ портфеля с помощью графика, Обновить котировки
Таблица Портфель создана с помощью InlineKeyboard.
При нажатии на клавиши в этой таблице происходят следующие действия:
клавиша в столбце К-во редактирует количество ценных бумаг, соответствующее строке, в которой нажата клавиша
клавишами в столбце Цена можно ввести реальную цену приобретения ценной бумаги. По умолчанию цена вставляется по данным биржи, и для опционов она может значительно отличаться от рыночной
клавишей Х можно удалить строку.
Прочие клавиши в таблице заблокированы и служат только для передачи информации.
Значение гарантийного обеспечения пересчитывается каждый раз, когда вы нажимаете кнопку Записать в портфель( не показана, возникает в конце процедуры редактирования или добавления инструмента).
В телеграмм-боте реализовано запоминание портфеля ценных бумаг для каждого пользователя. Под ценными бумагами понимаются опционы и фьючерсы, базовым активом для которых являются: курс рубля к доллару (Si), стоимость нефти брент (BR), а также индекс РТС (RI). Это самые высоколиквидные деривативы на московской бирже.
В телеграмм-бот заложен алгоритм подсчета гарантийного обеспечения, которое является мерой риска.
С помощью телеграмм-бота можно анализировать опционный портфель на графике прибылей/убытков (P/L график).
Протестировать телеграмм-бота можно по ссылке t.me/@test09062020bot. Или попробовать найти в телеграмме по названию опционный портфель.
Недавно мы писали о противостоянии Apple и Spotify, в рамках которого компании продолжают мериться размерами роялти для музыкантов. Сегодня продолжим тему на повестке антимонопольное разбирательство и новые платные продукты.
Фотография: Joran Quinten. Источник: Unsplash.comЕврокомиссия начала антимонопольное расследование в отношении американской ИТ-компании еще летом прошлого года. Триггером стала жалоба шведского стримингового сервиса. Его представители считают, что владелец магазина приложений злоупотребляет своим положением на рынке, и его комиссия в размере 30% от всех сборов за подписку несправедлива.
Спустя год после начала разбирательства европейский регулятор наконец направил Apple уведомление о претензиях (statement of objections). Его цель получить официальный ответ на обвинения от организации, в отношении которой ведется расследование. Члены комиссии поставили под вопрос законность обязательного использования внутренних механизмов для покупок в музыкальных приложениях. Также на повестке оказался свод правил App Store, запрещающий разработчикам сервисов потоковой передачи музыки рассказывать юзерам об альтернативных способах оплаты.
Регулятор предоставит ИТ-компании возможность высказать собственную точку зрения, чтобы попытаться склонить чашу весов в свою пользу. Однако эта задача может быть сложнее, чем кажется на первый взгляд. В начале июня к антимонопольному расследованию присоединилась Европейская организация по защите прав потребителей в качестве заинтересованной третьей стороны. Её представители не настроены идти на компромисс и убеждены, что граждане ЕС должны иметь свободный доступ ко всем музыкальным платформам без ценовых ограничений.
Положение американской корпорации компрометирует и тот факт, что она подвергается серьезному давлению у себя на родине. В США уже несколько месяцев идут суды с компанией Epic Games, которая выступает против 30-процентной комиссии в App Store. При этом в начале года разбирательства переместились в европейскую юрисдикцию.
Фотография: Arisa Chattasa. Источник: Unsplash.comЧем и когда закончится антимонопольное расследование неизвестно, а пока стриминговый сервис теряет деньги. Несмотря на рост аудитории общее число пользователей уже перевалило за 150 млн платформа закрыла последний финансовый квартал с убытками в 125 млн евро. Чтобы компенсировать потери, сервис объявил о повышении тарифов на премиум-подписку практически по всему миру цена увеличилась на 1012%.
Реакция пользователей не заставила себя ждать. Недовольные слушатели вновь обвинили Spotify в том, что она наживается на аудитории и музыкантах. Многие жалуются, что новые ценники им не по карману, и угрожают перейти к конкурентам. Разумеется, компания в курсе критики, но продолжает гнуть свою линию. Нельзя исключать, что для нее подобные манипуляции с ценами это еще одна возможность нащупать почву и отстроиться от яблочной экосистемы.
В то же время Spotify продолжает экспериментировать с новыми способами монетизации и привлечения аудитории. Недавно компания представила собственный hardware-аудиоплеер для автомобиля Car Thing. Это компактное устройство воспроизведения потоковой музыки для транспортных средств, не оснащенных современной инфотейнмент системой. Гаджет подключается к стереосистеме автомобиля по Bluetooth или AUX и позволяет переключать треки с помощью голосовых команд или сенсорного диска.
Устройство планируют продавать по цене 80 долларов, но пока приобрести его нельзя. Хотя ограниченную партию уже раздают бесплатно пользователям на территории США. Первые счастливые обладатели Car Thing довольны гаджетом он легкий и работает достаточно быстро. Однако ряж журналистов отнесся к новинке со скептицизмом. Некоторые даже назвали девайс бесполезным, так как он требует подключения к мобильному телефону. И здесь невольно задаешься вопросом, а зачем нужен Car Thing, если можно слушать музыку со смартфона? Очевидно, что стриминговая платформа только тестирует новый продукт и оценивает реакцию сообщества, поэтому остается вероятность, что оно так и не попадет в массовое производство.
Фотография: Markus Spiske. Источник: Unsplash.comЕще одним нововведением шведской платформы для передачи потоковой музыки стали платные подписки на подкасты. Контент-мейкерам разрешат устанавливать цену за прослушивание отдельных выпусков три, пять или восемь долларов в месяц. Согласно первым отзывам, сервис имеет некоторые шероховатости с точки зрения UX/UI, но предлагает выгодные условия для авторов. Подкастеров освободили от комиссий до 2023 года, после она составит 5%. Примечателен тот факт, что пару месяцев назад Apple запустила аналогичный сервис. Правда в этом случае сами контент-мейкеры должны будут платить двадцать долларов ежегодно, чтобы предлагать подписку своим слушателям.
Можно ожидать, что результатом продуктового противостояния двух гигантов музыкальной индустрии станет появление новых бизнес-моделей вне зависимости от исхода судебного разбирательства в Европе.
Еще о подкастах и стриминге в Мире Hi-Fi:
Стриминговые сервисы хотели бы найти новые подходы в работе с музыкой
Плейлистификация захватила умы паблишеров музыки и подкастов
Обсуждение: почему индустрия подкастов все больше походит на стриминг сериалов
P.S. Что еще у нас есть в блоге на Хабре для дополнительного чтения пятерка экспертных обзоров аудиотехники: от внутриканальных наушников до напольной акустики.
В мире насчитывается около 180 млн контейнеров, но все они находятся не в том месте, главный исполнительный директор логистической компании Redwood Logistics Марк Йегер
Архитектура ядра хранилища данных должна соответствовать описанной ниже адаптированной (не оригинальной) методологии Anchor modeling (но не Data Vault).
Тип таблицы |
Примеры имени таблицы (в скобках описание) |
С таблицами каких типов может быть связана |
Обязательный тип поля |
Примеры имени поля |
Сущности (Anchor, Entity type). Обозначается квадратом |
TR_Transaction (полупроводка по дебету или по кредиту), AC_Account (синтетический счет) |
Связи, Атрибут сущностей |
Суррогатный ключ сущности |
TR_ID, AC_ID |
Атрибут сущностей (Attribute). Обозначается кругом |
TR_TDT_TransactionDate (дата заключения сделки) |
Сущности |
Суррогатный ключ сущности (является первичным ключом в течение срока действия записи) |
TR_ID |
Дата и время начала срока действия записи |
TR_TDT_FROM |
|||
Дата и время окончания срока действия записи (не включительно) |
TR_TDT_BEFORE |
|||
Атрибут сущностей |
TR_TDT |
|||
Связи (Tie, Relationship). Обозначается ромбом |
TR_AC_DC_Transaction_Account_DrCr (счет главной книги в полупроводке) |
Сущности |
Суррогатные ключи каждой связанной сущности (вместе с некоторыми атрибутами связей, обозначающими тип связи, образуют составной ключ в течение срока действия записи) |
TR_ID, AC_ID |
Дата и время начала срока действия записи |
TR_AC_DC_FROM |
|||
Дата и время окончания срока действия записи (не включительно) |
TR_AC_DC_BEFORE |
|||
Опциональный атрибут или несколько атрибутов связей |
DC (дебет/кредит) |
Таблицы связей связывают сущности отношениями многие-ко-многим или один-ко-многим. Таблицы связей должны соединять минимально возможное количество сущностей и атрибутов связей за счет увеличения количества таблиц связей. Например, вместо связывания в одной таблице связей полупроводки с синтетическим счетом, с контрагентом, с продуктом или финансовым инструментом и т.д. необходимо связывать полупроводку с каждым из этих типов сущностей отдельной таблицей связей. Если не следовать этому принципу, то разбухшая таблица связей превратится в таблицу фактов в денормализованной схеме звезды со всеми ее недостатками.
В оригинальной методологии Anchor modeling атрибуты связей запрещены, но они иногда могут быть полезными для упрощения структуры данных и ее лучшего соответствия реальному миру. Также в оригинальной методологии Anchor modeling используются более длинные и неудобные имена таблиц и полей.
В ядре хранилища данных не должны использоваться значения NULL, за исключением тех атрибутов связей, которые не входят в составной ключ (обычно это наименования, обозначения, коды, ссылки, выбранные значения, флаги). Если неизвестны начало и/или окончание срока действия записи, то должны указываться принятые условные даты (например, '0001-01-01', '-infinity', '9999-12-31', 'infinity').
Для облегчения создания полиморфных связей двухсимвольный код в именах должен совпадать с двумя последними символами в соответствующих суррогатных ключах, которыми обозначается тип сущностей или атрибут связей (см. ниже). Поэтому в нем необходимо использовать символы алфавита Crockford's base32.
Таблицы типа узел (knot) исключены из адаптированной методологии Anchor modeling. Однако типовое обозначение узла на схеме в виде квадрата с закругленными углами удобно использовать для обозначения атрибутов связей.
Набросок БД может быть сделан (в том числе, офлайн) с помощью наглядных и удобных веб-инструментов Online Modeler или Online Modeler (test version), но сгенерированный ими SQL-код непригоден для использования. Для генерации SQL-кода (включая SQL-запросы) по методологии Anchor modeling все известные компании используют самостоятельно разработанные ими инструменты на основе языка программирования Python и Microsoft Excel.
Для связи таблиц должны использоваться исключительно суррогатные ключи в адаптированном формате ULID. Для связи таблиц не должны использоваться автоинкремент, составные ключи и хеши бизнес-ключей.
В качестве суррогатного ключа должна использоваться адаптированная (не оригинальная) версия ULID (но не UUID), имеющая любой из двух форматов:
ttttttttttrrrrrrrrrrrrrrxx (пример: 01F5B023PBG3C48TSBDQQ3V9TR)
ttttttttttsssrrrrrrrrrrrxx (пример: 01F5B023PB00448TSBDQQ3V5TR)
где
t дата и время генерации с точностью до миллисекунды (Timestamp) (10 символов или 48 бит), UNIX-time в миллисекундах (UTC)
s счетчик от 0 до 32768, сбрасываемый каждую миллисекунду, (Sequence) (3 символа или 15 бит)
r случайное число (Randomness) (14/11 символов или 65/55 бит)
x тип сущностей (Entity type) (2 символа или 10 бит)
Должна использоваться кодировка и алфавит Crockford's base32.
Генератор ULIDов должен удовлетворять следующим требованиям:
Соблюдение требуемого формата ULIDов
Однократное использование каждого генерируемого ULIDа в качестве суррогатного ключа сущности
Использование (достаточно производительного) криптографически стойкого генератора псевдослучайных чисел или генератора истинно случайных чисел
Монотонное возрастание ULIDов в интервале менее миллисекунды (за счет инкремента случайного числа для формата без счетчика, или за счет счетчика для формата со счетчиком)
Генерация ULIDов в формате (текстовый, бинарный, UUID или целочисленный), наиболее производительном для операций поиска в применяемых СУБД и носителе данных (HDD или SSD)
Пиковая (в течение 5 мс) производительность генерации ULIDов должна быть выше максимальной производительности записи в применяемых СУБД и носителе данных (HDD или SSD) (например, за счет буферизации заранее вычисленных частей ULIDа)
Данные из информационных систем-источников должны загружаться в хранилище данных уже с необходимыми именами полей и с суррогатными ключами, имеющими описанный выше формат. В хранилище данных эти ключи не должны изменяться, подменяться другими ключами или переименовываться.
Для сохранения историчности данных должен применяться второй тип медленно меняющегося измерения SCD2 с добавлением двух унифицированных полей (столбцов): Дата и время начала срока действия записи (имя столбца с суффиксом _FROM) и Дата и время окончания срока действия записи (не включительно) (имя столбца с суффиксом _BEFORE).
Единственным условием связи записей в таблицах, помимо суррогатного ключа, должно быть одновременное действие (valid time) связанных записей, определяемое унифицированными полями начала и окончания срока действия записи, но не датой загрузки в систему или датой создания записи (transaction time). Данные не должны храниться в форме срезов на отчетные или на текущую дату или за календарный период (например, месяц).
Если нужно знать не только изменение состояния реального мира во времени, но и изменение состояния самой учетной системы (когда в учетной системе изменяются сведения об одном и том же моменте в реальном мире), то во все таблицы необходимо добавить поле с датой и временем создания записи (transaction time), являющееся частью составного ключа. Чтобы точно воспроизвести отчет, сформированный в определенный момент в прошлом, достаточно игнорировать записи, чьи дата и время создания позднее этого момента в прошлом.
Примеры имени поля: TR_TIMESTAMP, TR_TDT_TIMESTAMP, TR_AC_DC_TIMESTAMP.
В учетной системе необходимо использовать пункты классификаторов (статьи доходов и расходов, синтетические счета, категории клиентов, типы продуктов и т.п.), полученные непосредственно из реального мира без каких либо изменений вместо разработки собственных или соединения в гибридных классификаторах. Пункты классификаторов могут быть получены из законодательства, из требований топ-менеджмента к отчетам и т.п.
Если при загрузке свежей версии классификатора изменился (исчез, появился) пункт классификатора, то должны автоматически рассчитываться и указываться окончание срока действия прежней запаси, а также начало и окончание действия новой записи.
Необходимо по возможности использовать фасетную классификацию вместо иерархической классификации.
Если всё же приходится использовать иерархический справочник из внешнего источника, то для него нужно создать соответствующие справочники фасетной классификации. При этом каждый пункт из иерархического справочника становится сущностью, а каждый пункт из справочника фасетной классификации атрибутом этой сущности.
Например, пятизначные счета второго порядка в плане счетов российских кредитных организаций должны быть самостоятельными сущностями, а не атрибутами двадцатизначных лицевых счетов. К счетам второго порядка можно привязать соответствующие значения атрибутов, не образующих составной ключ:
признак счета активный/пассивный,
глава,
раздел,
счет первого порядка,
тип контрагента,
срок.
Если есть большое количество атрибутов с логическими значениями true и false, то эти атрибуты удобнее заменить соответствующими тегами, которые можно хранить в одном поле типа array, типа hstore или типа jsonb.
В некоторых учетных системах необходима возможность связывать определенную таблицу (будем называть ее основной) с большим количеством других таблиц, причем эти связи используются редко. Например, таблица полупроводок должна иметь большое количество субконто или аналитик, каждая из которых редко используется в отчетах.
Однако использование таблиц связей в таких случаях нежелательно, так как их будет слишком много, и на их поддержание будет затрачиваться слишком много ресурсов IT-подразделения.
Решить эту проблему можно с помощью полиморфных связей. В основной таблице в поле полиморфных связей ищется суррогатный ключ записи, содержащейся в связанной таблице, а по двум последним символам в этом суррогатном ключе определятся таблица с типом Сущности. Связь автоматически устанавливается с записью в этой таблице, имеющей соответствующий суррогатный ключ.
Если полиморфные связи необходимы одновременно с несколькими таблицами, то суррогатные ключи записей в этих связанных таблицах можно хранить в основной таблице в одном поле типа array, типа hstore или типа jsonb.
Каждый отчет должен формироваться непосредственно из реплики ядра хранилища данных.
Нежелательно использовать витрины данных, так как они сводят на нет все достоинства методологии Anchor modeling. Особенно большими недостатками обладают универсальные витрины данных, предназначенные для формирования любых видов отчетности.
Разработка SQL-запросов к базе данных, соответствующей методологии Anchor modeling, трудоемка. Поэтому для облегчения работы системных аналитиков и SQL-программистов могут быть созданы типовые SQL-запросы или материализованные представления, соединяющие сущности с их атрибутами на задаваемую дату. Но использование таких SQL-запросов и материализованных представлений может привести к усложнению БД и снижению производительности. Поэтому для рабочей системы вместо них необходимо использовать автоматическую генерацию SQL-запросов (с использованием языка программирования Python и Microsoft Excel).
В качестве источника значений для заполнения полей могут использоваться соответствующие SQL-запросы, материализованные представления или созданные на их основе таблицы допустимых значений. Допустимые значения для заполнения полей могут определяться и таблицей решений (см. ниже).
Сильная нормализация данных в Anchor modeling не позволяет производить многие автоматические проверки целостности на уровне таблиц. Поэтому для проверки целостности и качества данных нужны соответствующие SQL-запросы, автоматически запускаемые перед вставкой данных в таблицы.
Логику необходимо по возможности выносить из программного кода на языках программирования, SQL и различных ORM в таблицы решений. Например, в таблице решений может быть закодирован выбор дебетуемого синтетического счета в зависимости от типа операции, категории контрагента и срока погашения финансового инструмента. Таблица решений может быть реализована двумя способами:
таблица сущностей правил, к которой привязаны входные атрибуты и один выходной атрибут,
таблица связей, соединяющая входные сущности и атрибуты с выходной сущностью либо с выходным атрибутом.
Первый способ очевидно более гибкий и упорядоченный.
Портфельная теория Марковица(далее ПТМ) (Modern portfolio theory) разработанная Гарри Марковицем методика формирования инвестиционного портфеля, направленная на оптимальный выбор активов, исходя из требуемого соотношения доходность/риск. Сформулированные им в 1950-х годах идеи составляют основу современной портфельной теории.
Основные положения портфельной теории были сформулированы Гарри Марковицем при подготовке им докторской диссертации в 19501951 годах.
Рождением же портфельной теории Марковица считается опубликованная в Финансовом журнале в 1952 году статья Выбор портфеля. В ней он впервые предложил математическую модель формирования оптимального портфеля и привёл методы построения портфелей при определённых условиях. Основная заслуга Марковица состояла в предложении вероятностной формализации понятий доходность и риск, что позволило перевести задачу выбора оптимального портфеля на формальный математический язык. Надо отметить, что в годы создания теории Марковиц работал в RAND Corp., вместе с одним из основателей линейной и нелинейной оптимизации Джорджем Данцигом и сам участвовал в решении указанных задач. Поэтому собственная теория, после необходимой формализации, хорошо ложилась в указанное русло.
Марковиц постоянно занимается усовершенствованием своей теории и в 1959 году выпускает первую посвящённую ей монографию Выбор портфеля: эффективная диверсификация инвестиций.
1.Ожидаемая доходность портфеля(Portfolio Expected Return)
Ожидаемая доходность портфеля будет зависеть от ожидаемой доходности каждого из активов, входящих в него. Такой подход позволяет снизить риск за счет диверсификации и одновременно максимизировать доход инвестора, поскольку убытки по одним инвестициям будут компенсированы доходом по другим.
Ожидаемая доходность портфеля представляет собой суммарную ожидаемую доходность входящих в него ценных бумаг, взвешенную с учетом их доли в портфеле.
2.Дисперсия портфеля (Portfolio Variance)
Дисперсия портфеля это процесс, который определяет степень риска или волатильности, связанной с инвестиционным портфелем. Основная формула для расчета этой дисперсии фокусируется на взаимосвязи между так называемой дисперсией доходности и ковариацией, связанной с каждой из ценных бумаг, найденных в портфеле, а также с процентом или частью портфеля, который представляет каждая ценная бумага.
3.Коэффициент Шарпа (Sharpe Ratio)
4.Эффективная граница (The Efficient Frontier)
Определение и рисунок из Википедии:
Граница эффективности (англ. Efficient frontier) в портфельной теории Марковица инвестиционный портфель, оптимизированный в отношении риска и доходности. Формально границей эффективности является набор портфелей, удовлетворяющих такому условию, что не существует другого портфеля с более высокой ожидаемой доходностью, но с таким же стандартным отклонением доходности. Понятие границы эффективности было впервые сформулировано Гарри Марковицем в 1952 году в модели Марковица.
Портфель может быть охарактеризован как эффективный, если он имеет максимально возможный ожидаемый уровень доходности для своего уровня риска (который представлен стандартным отклонением доходности портфеля). Так, на график соотношения риска и доходности может быть нанесена любая возможная комбинация рискованных активов, и совокупность всех таких возможных портфелей определяет регион в этом пространстве. При отсутствии в портфеле безрискового актива граница эффективности определяется верхней (восходящей) частью гиперболы, ограничивающей область допустимых решений для всех соотношений активов в портфеле.
В случае же, если в портфель может быть включён безрисковый актив, граница эффективности вырождается в отрезок прямой линии, исходящий от значения доходности безрискового актива на оси ординат (ожидаемая доходность портфеля) и проходящий по касательной к границе области допустимых решений. Все портфели на отрезке между собственно безрисковым активом и точкой касания состоят из комбинации безрискового актива и рисковых активов, в то время как все портфели на линии выше и справа от точки касания образуются короткой позицией в безрисковом активе и инвестированием в рисковые активы.
Импорт необходимых библиотек
Как обычно в начале импортируем все необходимые библиотеки для дальнейшей работы:
import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport pandas_datareader as webfrom matplotlib.ticker import FuncFormatter
Непосредственно для анализа и оптимизации портфеля существует библиотека PyPortfolioOpt. Так как она не входит в стандартный набор, то ее необходимо установить.
!pip install PyPortfolioOpt
Импортируем функции для дальнейшей работы:
from pypfopt.efficient_frontier import EfficientFrontier from pypfopt import risk_models from pypfopt import expected_returnsfrom pypfopt.cla import CLAimport pypfopt.plotting as ppltfrom matplotlib.ticker import FuncFormatter
Получение данных по акциям из интернета
Сначала установим опять пакет, который не входит в стандартный набор. Он позволяет получить данные по акциям с сайта yahoo.
Тикеры, которые будут использоваться для анализа одна из компаний входящих в лидеры в своем секторе.
nullin_df = pd.DataFrame(df_stocks,columns=tickers)print(nullin_df.isnull().sum())
Расчеты
Перейдем к расчетам по оптимизации портфеля и начнем с определения ожидаемой доходности и дисперсии портфеля. Далее сохраним значения весов портфеля с максимальным коэффициентом Шарпа и минимальной дисперсией.
#Годовая доходностьmu = expected_returns.mean_historical_return(df_stocks) #Дисперсия портфеляSigma = risk_models.sample_cov(df_stocks)#Максимальный коэффициент Шарпаef = EfficientFrontier(mu, Sigma, weight_bounds=(0,1)) #weight bounds in negative allows shorting of stockssharpe_pfolio=ef.max_sharpe() #May use add objective to ensure minimum zero weighting to individual stockssharpe_pwt=ef.clean_weights()print(sharpe_pwt)OrderedDict([('AFLT.ME', 0.0), ('DSKY.ME', 0.22606), ('GMKN.ME', 0.48796), ('IRAO.ME', 0.0), ('LKOH.ME', 0.0), ('MTSS.ME', 0.02953), ('NKNC.ME', 0.25645), ('SBER.ME', 0.0)])
Необходимо обратить внимание, что если изменить weight_bounds=(0,1) на weight_bounds=(-1,1), то в портфеле будут учитываться и короткие позиции по акциям.
Дальше посмотрим общие характеристики по портфелю.
ef.portfolio_performance(verbose=True)Expected annual return: 37.1%Annual volatility: 20.7%Sharpe Ratio: 1.70(0.37123023494063007, 0.20717177784552962, 1.695357536597058)
Теперь посмотрим портфель, который показывает минимальную волатильность:
ef1 = EfficientFrontier(mu, Sigma, weight_bounds=(0,1)) minvol=ef1.min_volatility()minvol_pwt=ef1.clean_weights()print(minvol_pwt)OrderedDict([('AFLT.ME', 0.02876), ('DSKY.ME', 0.24503), ('GMKN.ME', 0.10403), ('IRAO.ME', 0.0938), ('LKOH.ME', 0.01168), ('MTSS.ME', 0.41967), ('NKNC.ME', 0.09704), ('SBER.ME', 0.0)])ef1.portfolio_performance(verbose=True, risk_free_rate = 0.27)Expected annual return: 24.0%Annual volatility: 16.9%Sharpe Ratio: -0.18(0.239915644698749, 0.16885732511472468, -0.17816434839774456)
Построение графика эффективных границ
Заключительным шагом является построение эффективной границы для визуального представления и расчет распределения активов.
Анализ произведем для суммы в 100 000 рублей.
cl_obj = CLA(mu, Sigma)ax = pplt.plot_efficient_frontier(cl_obj, showfig = False)ax.xaxis.set_major_formatter(FuncFormatter(lambda x, _: '{:.0%}'.format(x)))ax.yaxis.set_major_formatter(FuncFormatter(lambda y, _: '{:.0%}'.format(y)))
Первым этапом посчитаем портфель с минимальной волатильностью:
latest_prices = get_latest_prices(df_stocks)allocation_minv, rem_minv = DiscreteAllocation(minvol_pwt, latest_prices, total_portfolio_value=100000).lp_portfolio() print(allocation_minv)print("Осталось денежных средств после построения портфеля с минимальной волатильностью - {:.2f} рублей".format(rem_minv))print(){'AFLT.ME': 41, 'DSKY.ME': 181, 'IRAO.ME': 1765, 'LKOH.ME': 1, 'MTSS.ME': 127, 'NKNC.ME': 107}Осталось денежных средств после построения портфеля с минимальной волатильностью - 6152.03 рублей
Вторым шагом портфель с максимальным коэффициентом Шарпа:
latest_prices1 = get_latest_prices(df_stocks)allocation_shp, rem_shp = DiscreteAllocation(sharpe_pwt, latest_prices1, total_portfolio_value=100000).lp_portfolio() print(allocation_shp)print("Осталось денежных средств после построения портфеля с максимальным коэффициентом Шарпа {:.2f} рублей".format(rem_shp)){'DSKY.ME': 167, 'GMKN.ME': 2, 'MTSS.ME': 9, 'NKNC.ME': 283} Осталось денежных средств после построения портфеля с максимальным коэффициентом Шарпа 1319.05 рублей
В результате нам предлагается купить для оптимального портфеля 167 акций Детского мира, 2 акции Норильского никеля, 9 акций МТС и 283 акцию Нижнекамскнефтехим. В результате у нас еще останется 1319 рублей.
Еще раз напоминаю, что все вышеприведённое не является инвестиционной рекомендацией, а только поводом к размышлению.
Прежде чем доверять свои деньги банку, хорошо бы убедиться, что там они будут в целости и сохранности, а сам банк не обанкротится через пару месяцев. Под надежностью банка обычно понимают его способность выполнять свои обязательства перед вкладчиками и кредиторами.
Чтобы выяснить, надежен ли тот или иной банк, стоит проанализировать информацию о его активах и операционной деятельности, а также обратить внимание на различные рейтинги и отзывы клиентов. В этом материале мы рассмотрим несколько способов, с помощью которых можно определить надежность банка.
Прежде всего стоит изучить, что про конкретный банк писали в новостях за определенный период времени. Это поможет определить, были ли у банка какие-то проблемы в прошлом, которые могут повлиять на его деятельность в будущем.
Например, если в новостных сообщениях вы увидите, что у банка была приостановлена лицензия, наложены штрафы, возникали проблемы с выдачей наличных или из его состава выходили известные акционеры, на смену которых пришли неизвестные, это повод для более тщательной проверки.
Размер банковских активов следует изучать в динамике, например, за несколько лет. Если наблюдается умеренный рост или если размер активов сохраняется примерно на одинаковом уровне, то это положительный знак. Если же вы видите значительное снижение (больше, чем на 15%) или ничем не обоснованный резкий рост, то стоит насторожиться.
Что касается структуры, то в первую очередь стоит обращать внимание на наличие высоколиквидных активов, таких как кассовая наличность, остатки на корреспондентских счетах в ЦБ, кредиты и другие платежи в пользу банка сроком не более 30 дней. В надежных банках наибольшую долю обычно занимает кредитный портфель (50-80%), ценные бумаги до 25%, а денежные средства не более 10%. Также нужно учесть размер собственного капитала банка чем он больше, тем устойчивее банк.
Еще один способ проверить надежность банка посмотреть его кредитный рейтинг, который присваивается специализированными рейтинговыми агентствами. Рейтинг обозначает вероятность банкротства банка: чем он выше, тем ниже вероятность банкротства. В формировании рейтинга могут участвовать как российские (Национальное рейтинговое агентство, Эксперт РА), так и иностранные агентства (Standard & Poor's, Moodys, Fitch).
При этом стоит учитывать, что у рейтинговых агентств может не быть полной или актуальной информации об изменениях в конкретном банке. Поэтому лучше смотреть оценки сразу в нескольких агентствах и в динамике снижение кредитного рейтинга на две ступени и более должно насторожить. Существуют и ресурсы, которые агрегируют информацию о кредитном рейтинге
Если в структуре пассивов банка вклады физлиц занимают существенно большую долю, чем в среднем по рынку (на 1 января 2021 года 31,6%) это говорит об уязвимости банка в случае массового вывода средств гражданами. Особенно это касается банков без государственного участия.
Также важным фактором надежности банка является его участие в системе страхования вкладов. В случае отзыва лицензии вкладчики смогут гарантированно вернуть свои средства в пределах 1,4 миллиона рублей такова максимальная сумма страхового покрытия. Информацию об объеме активов и кредитном рейтинге финансовых организаций можно найти здесь.
Высокие ставки по депозитам могут выглядеть привлекательно, однако это повод проверить надежность банка более тщательно. Обычно ставки выше среднерыночных свидетельствуют о проблемах с ликвидностью активов, которые банки пытаются решить за счет притока вкладчиков. Размещение долгосрочных вкладов в таком банке будет довольно рискованным.
В некоторых случаях недавно открывшиеся банки также могут предлагать завышенные ставки по депозитам, чтобы привлечь клиентов, но их надежность тоже может быть под вопросом. В любом случае, необходимо трезво оценить все риски, прежде чем соглашаться на подобные предложения.
Привет, Хабр! Команда ВТБ запустила серию подкастов о передовых решениях финтеха Деньги любят техно. Журналист, технологический обозреватель Марина Эфендиева будет обсуждать с экспертами банка, рынка, учеными и бизнесменами перспективы и сложности финтеха: внедрения технологий на основе Big Data, машинного обучения, искусственного интеллекта, вопросы кибербезопасности и защиты данных, перспективные технологические специальности, голосовых помощников и многое другое.
В первом выпускезаместитель президента-председателя правления ВТБ Вадим Кулик и директор Физтех-школы прикладной математики и информатики д.ф.-м.н. Андрей Райгородский обсуждают, почему банки вРоссии так любятData science, можно ли стать дата-сайнтистом за три месяцаигде учиться, чтобысоздатьуспешную карьеру. Под катом основные темы этой беседы и ссылка на сам подкаст.
Тривиальный, но важный вопрос: почему именно банковский Data Science сегодня занимает передовые позиции?
По словам Вадима Кулика, сегодняшние тренды это новый этап в решении вопросов, которые стояли перед банковским сектором еще в 90-х. Тогда жесткая нехватка какой-либо информации о клиентах усложняла процесс выдачи потребительских кредитов и выход на B2C-рынок в целом.
Решая важный для финансовой устойчивости вопрос кому дать кредит, банки параллельно соревновались друг с другом в том, кто быстрее одобрит кредит и выдаст повторный.
Поэтому ВТБ уделяет такое внимание подходу Data Fusion, который предполагает объединение, обезличивание данных из разных источников и их обработку. По этому поводу недавно прошлабольшая конференция.
Хорошей иллюстрацией применения данного подхода может служить СП ВТБ и РостелекомаПлатформа больших данных, которое уже предоставляет рынку продукты на основе Big Data для увеличения эффективности и развития бизнеса.
Андрей Райгородский ответил на ещё один очень важный вопрос: можно ли стать дата сайентистом за 3 месяца, как сейчас предлагают многие онлайн-платформы. Он также рассказал о том, какова сейчас потребность в этих специалистах.
Страна очень требует большого количества людей, которые разбираются в том, что такое данные, как их можно обрабатывать, какие существуют методы. Есть такие хайповые слова, как искусственный интеллект, машинное обучение, нейронные сетки и так далее. В принципе, неудивительно, что люди начинают этим торговать. Это очень востребованный рынок, очень много компаний сейчас предоставляют рабочие места для людей, которые занимаются такого рода анализом, аналитикой. Но тут надо разбираться, что-то можно сделать за три месяца, но топовым специалистом за этот период ты точно не станешь,сказал Райгородский.
По его словам, существуютхорошие онлайн-курсы по аналитике данных. Но стоит различать уровень квалификации, подходящий для решения некоторого ограниченного круга прикладных задач стандартными методами, и уровень, на котором строится повестка завтрашнего дня.
МФТИ (Московский физико-технический институт) лидер этого направления в России фокусируется на фундаментальном обучении и готовит кадры для будущего. При этом есть и специальные нишевые программы например,Школа глубокого обучения, которая заработала в онлайн-формате ещё до того, когда это стало ковидным мейнстримом.
Главной особенностью МФТИ можно считать взаимодействие прикладного и фундаментального. В наши дни это связка между коммерческой индустрией, которая формирует запрос, и академической наукой, которая даёт фундаментальные математические решения. Отличный пример такого симбиоза созданная в начале 2021 года лаборатория ВТБ при МФТИ.
Современный мир устроен так, что во многих сферах а в финансовой в первую очередь умение собирать и анализировать данные становится главным фактором роста. Скорость этого роста такова, что не позволяет только сиюминутные задачи. Нужно уметь формировать повестку будущего. Как выразился Андрей Райгородский, нельзя упускать фундаментальное в гонке за количеством кадров: цель не в том, чтобы снесло крышу, а в том, чтобы потолка не стало. А что вы об этом думаете? Делитесь мнениями в комментариях.
А вот и сам подкаст:
Мне давно нравятся Байесовские сети доверия (БСД) своей наглядностью, что для учебного процесса, согласитесь, очень важно. Как-то в интернете, довольно неожиданно, наткнулся на очень удачную визуализацию простых финансовых задач, выполненную с использованием БСД. Мелькнула мысль вот это, пожалуй, можно будет объяснить не только нашим финансистам, но и филологам-психологам вкупе с врачами!
А началась эта история года три назад, когда руководство ВУЗа поставило нас, преподавателей перед выбором: либо мы по команде Все вдруг! вступаем в цифровую экономику, либо, пожав друг другу руки, тихо расходимся, кто куда сумеет. Причина демографическая яма, экономический кризис, успехи конкурентов и т. д.
Ну, что ж, как говорится, цифровая так цифровая! Тем из нас, у кого за плечами помимо финансового было еще и хорошее инженерное образование, всё это не показалось катастрофой, т.к. давно разжевано в учебниках и монографиях по машинному обучению, искусственному интеллекту, экспертным системам. Однако проблема усугублялась тем, что закон не препятствует поступлению филологов, психологов, врачей и еще кого хотите в финансовую магистратуру. В результате в учебной группе частенько оказывается филологов-психологов половина, а то и более. И вот тут, если вы не способны такой аудитории, что называется между делом, быстро дочитать теорию вероятностей хотя бы до теоремы Байеса, то дальше полный стоп, и никакой цифровизации.
После той находки в интернете какое-то время я целенаправленно перебирал готовые программные продукты, и, в конце концов, остановился на Нетике (Netica). Да, есть Hugin, есть MSBN, и еще с десяток им подобных, но, как всегда: один дорогой, другой сложный, третий и то и другое, и т. д. А вот Netica бесплатная (до 15 узлов переменных), простая, интуитивно понятная, студенты осваивают ее за одно занятие, и вперёд! Строить свою собственную, пусть простую, даже примитивную, но работающую с пинка экспертную систему, которая жужжит и щелкает у вас прямо на занятии.
Но показать лучше, чем рассказать, поэтому далее показываю, что из этого получилось.
Например, строим модель анализа решений инвестора об исполнении европейского опциона колл на акции. Такая БСД может быть для начала совсем небольшой хватит и двух узлов (см. рис. 1). В нашей узлы будут такими:
узел Рrice (или Р) описывает случайную переменную текущей цены акции;
узел Decision (или D) отображает варианты решения об исполнении опциона.
Узел Р является родительским, поэтому таблицу безусловных вероятностей (ТБВ) его состояния заполняем исходя из того, что инвестору, как лицу, принимающему решения (ЛПР), известно состояние рынка, и он, основываясь на собственном опыте, с вероятностью 60% ожидает, что цена Р акции будет расти и к дате истечения опциона превысит цену его исполнения Х. Он также считает, что вероятность точного совпадения цен Р и Х очень низка (10%), поэтому оставшиеся 30% составляют вероятность того, что цена Р акции окажется ниже цены исполнения опциона Х.
ТБВ для узла РРис. 1. Граф (а) и диаграммы вероятностей (б)Таблицу условных вероятностей (ТУВ) для узла D начнем заполнять исходя из того, что исполнение опциона выгодно инвестору только в том случае, если цена Р акции превысит цену исполнения опциона Х. Однако не будем забывать о том, что если это превышение будет незначительным, то оно не покроет премию, которую инвестор уже уплатил продавцу опциона. Таким образом, уверенность в исполнении опциона может в этом случае быть равна не 100%, а, допустим, 80% (1-я строка ТУВ).
ТУВ для узла DЕсли P < X (2-я строка ТУВ), то исполнение невыгодно всегда, поэтому отказу от исполнения присваиваем 100% вероятность. Если Р точно равно Х (3-я строка ТУВ), то инвестору практически безразлично исполнять, или не исполнять опцион, поскольку и то и другое дает одинаковый экономический результат. В терминах вероятности такое состояние обычно записывают как 50/50.
После заполнения всех таблиц вероятностей в программе Netica инициализируем построенную БСД, и сразу получаем на стержневой диаграмме нижнего узла распределение полных вероятностей в исходном состоянии модели (рис. 1б). При подстановке значений вероятностей из ТБВ и ТУВ для проверки машины действительно получаем:
D yes = 0,8 0,6 + 0 0,3 + 0,5 0,1 = 0,53;
D no = 0,2 0,6 + 1 0,3 + 0,5 0,1 = 0,47.
Это означает, что модель работает, и ее можно использовать для вероятностных выводов. Как известно, байесовские модели такого типа позволяют делать вероятностные выводы как в прямом (диагностика), так и в обратном (прогнозирование) направлениях.
Рис. 2. Результаты вероятностных выводовОсобая прелесть Netica состоит в том, что выводами можно управлять простым кликом по соответствующему стержню любой диаграммы. При этом имитируется реализация соответствующего события (вводится свидетельство), а вероятности на связанных узлах автоматически пересчитываются, и выводятся на их диаграммах.
На рис.2а в качестве примера прямого вывода показан клик на стержне случайного события P > X. После этого в узле вариантов решений значения полных вероятностей изменились, и соответствуют 80% вероятности исполнения нашего опциона. На рис. 2б показан один из обратных выводов, который показывает, что если опцион исполняется, то значит, с вероятностью 90,6% (но не 100%) цена акции превысила цену исполнения, но при этом всё же остается 9,43% вероятности того, что цена акции будет равна цене исполнения. Самый интересный вывод следует из рис. 2в. Он говорит о том, что отказ от исполнения опциона в построенной модели может произойти с вероятностью 63,8%, при этом отказ вероятен на 25,5% даже если цена акции превысит цену исполнения, и на 10,6% при равенстве цен!
Остается проверить машину используя те же табличные данные, найдем вручную апостериорные вероятности состояния цены акции при условии, что опцион был исполнен (Рис. 2б). Для этого придется вспомнить формулу теоремы Байеса в ее первозданном виде, и подставить в неё всё, что у нас есть:
Как видим, результаты наших расчетов (с учетом округлений) полностью соответствуют результатам, полученным машиной.
На любые упрёки о допущениях, субъективных вероятностях, всегда отвечаю а вот, пожалуйста, теперь вы эксперт! Введите любые поправки, какие считаете нужными, и, не сходя с места, получите скорректированный результат. И поверьте, еще ни один не ушел без полной сатисфакции.
Модель слишком простая? сейчас же дополните её новыми узлами (переменными). Мало два? сделайте 22, и. т. д.
Наиболее точное определение финтеха предложено также Центробанком: Финтех (финансовые технологии) это предоставление финансовых услуг и сервисов с использованием инновационных технологий, таких как большие данные (Big Data), искусственный интеллект и машинное обучение, роботизация, блокчейн, облачные технологии, биометрия и других. Учитывая наметившиеся тенденции к экспериментам с CBDC (цифровые валюты центробанков) и разрозненным заявлениям о появлении Цифрового рубля, блокчейн здесь явно не только для хайповости.
Мы рискнем предположить, что в ближайшем будущем ничего глобально не изменится, но то, что уже есть, будет развиваться а конкуренция лишь ужесточится.
Данный текст является художественным произведением, проблемным
очерком, где главный герой от первого лица описывает преимущества
работы маркет-мейкера и всю тщетность бытия трейдеров на бирже.
Данный текст является художественным произведением, плодом воображения автора. Все совпадения случайны, все имена вымышлены.
Вечер пятницы. Весенняя Москва. В моем кабинете периодически
слышны взрывы разрывающихся снарядов, предсмертные вопли умирающих
зергов из первого старкрафта. В конце дня, когда сознание
затуманено наблюдением за торгами на бирже, люблю запустить на
одном из терминалов эту старую игрушку.
Лет 20 назад, я постоянно резался в эту игру со студентами физфака. И те утверждали, что разработчики этой игры очень серьезно подошли к проработке баланса между тремя расами, обсчитывали математическую модель и все такое. И физиков, как и меня, восхищало большое многообразие способов победить врага. И это был физмат, а значит все необходимо обсчитать. Первые две минуты игры - развитие базы до приемлемого уровня, когда ты уже способен держать оборону и отправить к врагу небольшой отряд для разведки боем. Последующие пять минут - построение инфраструктуры и юнитов для реализации своей стратегии в игре. Все команды на горячих клавишах, не единой паузы в действиях... Наверное тогда я начал увлекаться моделированием процессов.
Вообщем, старые компьютерные игры позволяют держаться в тонусе, причем не только мне: иногда через открытую дверь кабинета вижу как от звука игровых баталий, испуганно вжимается голова в плечи у очередного новичка, зашедшего в приемную. Далее следуюет строгий взгляд Марии Николаевны, моего секретаря. Развожу руками, что на нашем с ней языке означает "Ох, опять забыл..." и делаю звук потише. Не знаю откуда пришел этот глупый стереотип о том, что секретарша должна быть юной и красивой девицей. Настоящий секретарь должен уметь своевременно выполнять возложенные на него обязанности, а самое главное обладать такой харизмой, при которой когда она говорит тебе что ты должен что-то сделать, эта информация не вызывала бы в тебе противоречивых чувств, а лишь благодарную мысль "о, спасибо, что напомнили!".
Кто я и о чем я хочу написать этот очерк? Начну с последнего вопроса: наверное это единственный для меня способ развеять Ваши иллюзии по поводу того, что Вы сможете заработать существенный для Вас капитал на бирже. Впрочем, сомневаюсь, что мне это удастся. А с учетом того факта, что я избегаю публичности и не стремлюсь к дешевой славе "финансового пророка", будем считать, что я просто пишу для своего личного удовольствия.
Я маркет-мейкер. Точнее, я работаю в организации, выполняющую в том числе и функции маркет-мейкера. Из интереса, я подписан на многие телеграмм-каналы по околобиржевой тематике, иногда пишу в форумах от вымышленных имен. Заметил, что очень многие считают, что термин "Маркет-мейкер" (дословно с английского market maker создатель рынка) это некий "серый кардинал" лицо неявно управляющее рынком и находящаяся всегда в "тени обезличенных сделок".
На самом деле все явно и публично, маркет-мейкер это вполне определенная и строго регламентированная биржей функция, такая же как и брокер.
Ссылки по теме:
Википедия
Документы московской биржи, по
маркет-мейкингу на фондовом рынке
А вот и мы
Сайт московской биржи содержит огромный объем полезной и интересной информации для аналитика. Например, посмотрите у каких организаций, участников рынка самой большой оборот на бирже? Думаете у банков? Или у организаций с непримечательными именами, которые выполняют наши функции? Вообщем, "ищите и обрящете"
К каждому инструменту на бирже, будто то акции, облигации, что угодно привязан маркет-мейкер (на основании договора обязательств маркет-мейкера). В рамках договора мы поддерживаем ликвидность и следим за тем, чтобы цена "не улетала в космос" ну и соответственно не падала ниже определенного порога.
Постараюсь объяснить принцип нашей работы простым языком. Начну с загадки, посредством которой я обычно проверяю смекалку новичков: представьте что мы играем с Вами игру "Орел и решка" без ограничений по времени (важный ньюанс), до полной победы одной из сторон. Кидаем монету, если вы угадали ее сторону монета Ваша, если нет то моя. Внимание, вопрос знатокам: кто победит?
Победит тот, у кого больше денег. Исходим из того, что вероятность выпадения одной из сторон 1/2. Важна последовательность событий, ну т.е. серия из побед, пусть даже с единичными случаями поражений. С учетом того, что у нас нет ограничений по времени, то в какой-то момент дельта (разница) между победами и поражениями у одного из участников станет равна числу монет участника. Ну а если у другого участника на порядок больше денег, то и его дельта выше, следовательно и вероятность его победы существенно выше.
На, практике мы конечно "монетку не кидаем" и времени у нас фиксированный промежуток. Но у нас на несколько порядков больше денег и акций (к примеру), цену которых мы регулируем.
Итак, берем обычный стакан:
Нет, не этот. Вот этот.
Специально подобрал стакан с малым объемом заявок. Что мы видим?
Суммарно на продажу у нас 2 + 9 + 19 + 21 + 8 + 2 = 61 заявка. А
это значит, что если Вы хотите своими действиями поднять цену на
данный инструмент Вам надо купить по рынку 62 лота инструмента и
тогда цена уйдет выше значения в 1904,5. Это в теории (я объясняю
без учета айсберг-заявок и прочих ньюансов). Чем больший объем Вы в
состоянии одномоментно купить или продать, тем больше у Вас
возможность влиять на цену инструмента. И опять же в теории,
обладая достаточным объемом средств, Вы можете гнать цену в небеса,
чтобы сотни "биржевых хомячков" судорожно открывали ленту новостей
и пытались найти подходящую новость, чтобы понять, что же
случилось, "почему так растет ?!" А потом также как и Вы пытатся
купить пару лотов, чтобы "быть в тренде, заработать на движении". А
Вы, в этот момент будете аккуратно уже продавать им набранный Вами
объем. А потом снова задирать цену вверх и снова продавать. А потом
"ба-бах" и Вы продаете весь набранный Вами объем лотов и цена
падает "ниже плинтуса". И снова рост и снова в бой Ах, мечты,
мечты
На практике, такой "праздник" возможен до момента, пока Вы не
привлечете внимание регулятора, т.е. нас. А с учетом того, что у
нас все автоматизированно, при превышении заданного порога, у нас
включается робот (программа), который очень быстро продаст Вам
столько, сколько Вы сможете купить а потом может продолжить
продавать дальше опуская цену ниже и ниже
А вот так обычно выглядит демонстрация наших возможностей. Посмотрите, я отметил крупную заявку. Если смотреть на акции, то обычно в заявке ровно 1000 лотов или чуть больше (в стакане по заданной цене указывается суммарное число заявок от всех участников). На сленге трейдеров, такая крупная заявка называется "плитой".
И это лишь один из наглядных примеров того, как мы можем регулировать рынок. Инструментов на самом деле множество. Мы быстрее, т.к. наши сервера с софтом расположены в непосредственной близости к бирже. У нас больше возможностей. Если Вы считаете, что сможете заработать на бирже за наш счет, попробуйте ночью в лесу с зубочисткой в руках напасть на дикого волка. Кстати аналогию между маркет-мейкерами и волками, а также между биржой и лесом считаю весьма удачной.
когда говорят, что "Волки это санитары леса", то данное
сравнение добавляет волкам толику достоинства ну вроде как они
"выполняют общественно полезную нагрузку" и звучит это не так
жестоко как фраза "Волки убили слабого ягненка". На самом деле
здесь нет ни хорошего ни плохого. Есть объективная реальность,
которая звучит так: 1) Волки существуют; 2) Волки питаются в том
числе и мясом животных и могут напасть на человека; И в этой
объективной реальности для Вас есть небольшой позитивный момент:
большинство животных убивает других животных тогда когда чувствует
потребность в питании (ну или если Вы зашли на его территорию). Ну
т.е. сытый волк не будет охотится "про запас". Единственное
известное мне животное, кто может убить из удовольствия это лев,
причем самец. Вспомните про этот необычный момент, когда увидите
голову льва на гербе какой-нибудь организации, например как в
фильме "Волк с уоллстрит"
Хорошая новость для Вас: если Вы долгосрочный инвестор, который покупает акции на срок от полугода и выше в расчете на дивиденды наша деятельность происходит параллельно с Вашей, мы в лесу ходим разными тропами :) И персонально Вы, мой читатель, тоже. Мы не занимаемся поисками и выявлением деятельности особо успешных трейдеров с дальнейшей попыткой "вернуть его в стойло", отслеживая и играя против сделок конкретно этого трейдера.
Конечно, если Ваши успехи стали особо настолько выдающимися, что Вы в состоянии двигать цену наших инструментов более чем на 1%, мы с большим позитивом воспримем Вашу активность. С таким же позитивом мы воспринимаем адептов "стратегий следования за сильнейшим". Как если бы одна овечек в силу своего авторитета гнала все стадо в логово волков. Облегчит ли эта овечка работу волкам? Конечно. Но волком она не станет, да и "коллегой" тоже.
Одичавшая собака прибилась к стае волков. Стала подсказывать им повадки людей, помогать в охоте, а те делились с ней добычей. И тут собака умирает. Ну и сидят волки на совете и думают, что же написать на надгробии собаки ? Если написать "от друзей", то это неправда, не был он им другом. Написать "от врагов", тоже неправда, все-таки вместе охотились. Подумали и решили написать "от коллег..."
Почему Вам никогда не заработать себе на пенсию, торгуя на бирже ?
Ответ Вас удивит, т.к. причина не в биржевой системе, а в Вас. Конкретно в Вашем сознании. Поясню на практическим примере. Давайте посчитаем. Вы хотите заработать "себе на пенсию", т.е. на протяжении длительного срока, к примеру 30 лет, получать стабильный ежемесячный доход, например 50 тыс. руб. Мы сейчас не будем рассматривать вопросы годовой инфляции и способов сбережения и хранения, речь не об этом. 50 тыс. руб умножаем на 12 месяцев и умножаем на 30 лет, получаем 18 млн. руб. Вот примерно столько Вам надо заработать, чтобы не думать о пенсии. Конечно, в этот пример Вы можете поставить любую цифру из Ваших расчетов, я не против. Кому-то нужно больше, кому-то меньше. Также представим что Ваш ежемесячный доход по состоянию на сегодняшний день 100 тыс. руб. Но Вам надо "отбивать ипотеку", закрывать кредит за машину, кушать, одеваться ну и т.д. И чистыми ежемесячно остается тысяч 25. Достаточно быстро Вы осознаете, сколько Вам придется работать, чтобы обеспечить себе ожидаемую пенсию и понимаете что "нужно что-то делать!"
И вот, после серии семинаров, коучтренингов, ретриров и
последующих откровений Вашего сознания, в силу обстоятельств, Вы
появляетесь на бирже. Неважно чем Вы будете торговать: акциями,
облигациями, валютой, чем угодно. Вы ошибаетесь, теряете,
приобретаете, снова теряете. При достаточном упорстве и системном
подходе Вы начнете планомерно зарабатывать. Уйдет страх, появится
иллюзия стабильности дохода. А потом Вы все или много потеряете,
потому что когда уходит страх, появляется жадность. И вот, единицы
из Вас снова встают, начиная с малого капитала сначала очень
медленно а потом быстрее и быстрее начинаются двигаться вверх,
зарабатывая все больше и больше пока не упрутся в некий
воображаемый потолок, например в 5 млн. руб. У всех эта цифра
разная, так сказать "своя". Заработать больше не получается, ну
т.е. заработать на 1-2% еще можно, но не нельзя заработать еще 100%
сверху. Почему? Когда Вы начинаете играть на бирже, у Вас небольшой
капитал, скажем 100 тыс.руб. Предположим Ваша стратегия
подразумевает доход в 1% ежедневно. 1% от 100 тыс. руб это тысяча
рублей. Ваше сознание легко переваривает эту сумму, т.к. Вы
ежедневно зарабатываете или тратите больше. Когда Вы приближаетесь
к Вашему воображаемому потолку, придерживаясь Вашей стратегии в 1%
ежедневно, то Ваше сознание уже не спокойно, т.к. 1% от 5 млн. руб.
это 50 тыс.руб. Еще раз: 50 тыс ежедневно незаметно для себя, Вы
начинаете больше тратить. Ведь Вы зарабатываете больше, значит
можете себе позволить питаться лучше, одеваться лучше. А любая
неудача на рынке воспринимается как личное оскорбление и
отвергается с презрением.
Лишь ненормальные (или избранные) в этот момент полностью
останавливаются, забирают все деньги с биржи и даже не думают о ней
1-2 месяца. А большинство в связи с порывом жадности совершают
серьезную ошибку. Потом совершают еще более серьезную ошибку, в
попытке отыграться. Потом меняют стратегию на более рисковую и
теряют еще половину капитала. Дальше депрессия, если хватает сил
разбор ошибок, осознание и "снова в бой". Воображаемая граница
сдвигается чуть выше, но она осталась и снова потери, конфликты в
семье, депрессия. Как так? Кто виноват и что делать?
Ваш основной враг не мы. Мы скорей "сердобольные друзья" в этой ситуации. Мы спасли Вас от еще больших ошибок. Ваш враг Вы сами. Ваше сознание. Задумайтесь, все Ваши прибыльные сделки Вы осуществляли не "на кураже", а со спокойным ясным умом, планомерно работая и полагаясь на Вашу личную систему. Все Ваши самые серьезные ошибки Вы совершали, когда Ваше сознание буквально вибрировало, будто Вы в казино и все поставили на черное Получается, что Ваше сознание лучше Вас знает, сколько Вы можете зарабатывать? Ну Вы помните выражение "Можно вытащить девушку из деревни, но нельзя вытащить деревню из девушки"? Ну вот это примерно тоже самое, только в плане денег.
Рассмотрим фантастическую ситуацию, когда мы в силах взять
воображаемого олигарха Романа, лишить его всего заработанного и
поместить на должность рядового менеджера банка в каком-нибудь
провинциальном городе, с зарплатой в 25 тыс./месяц. И чтобы о нем
никто не помнил и не знал. Как считаете, сможет ли Роман достичь
прежних высот? Отвечу так: прежних высот он возможно и не
достигнет, но то что через 10 лет его уровень дохода будет на
порядки выше не сомневаюсь. И наоборот берем гипотетического Ивана
из провинциального города и с должности рядового менеджера банка
перемещаем его на место олигарха Романа. Как думаете, сколько
проживет Иван? В чем разница между этими персонажами? В сознании,
брат, в первую очередь в сознании, а уже потом в понимании
системы.
Эх, каких только басней не услышишь в курилке..
Тема "коллективного бессознательного" очень хорошо описана в произведениях нашего современника Виктора Пелевина. А я, простите отвлекся. Впрочем, пора закругляться. Полагаю, надо подвести какой-то итог.
Надеюсь, мне удалось расширить Ваш кругозор. Надеюсь, мои призывы к Вашей осторожности не пролетят мимо и Вы заберете 90% Вашего капитала с биржи и пообещаете мне, что не будете вносить деньги до конца 2021 года? А, потом скажете "Спасибо, волчара!".
Но ты заходи если что...
QR-коды на квитанциях и счетах позволяют физическим лицам быстро их оплачивать. Непонятно почему его не поддерживали раньше приложения для юридических лиц и ИП. Но сейчас при подготовке статьи выяснили, что Тинькофф, Точка и Модуль уже реализовали. И непонятно почему не поддерживает приложение Сбера для физлиц, в то время как другие давно поддерживают. Сбер с виду супер-технологичный, а внутри отстаёт.
Далеко не все знают, что банковские приложения для физиков поддерживают два типа QR-кодов. Второй это мгновенная оплата типа того же интернет-эквайринга по картам через систему быстрых платежей (СБП) по номеру телефона. И там как с интернет-эквайрингом банк берёт комиссию с продавца. А первый это просто оплата по обычным банковским реквизитам распознавание реквизитов для платёжного поручения. Вот так выглядит этот QR-код:
Попробуйте навести на него свой мобильный банк и увидите просто платёжное поручение. В большинстве нормальных банков платежи по безналу для физиков бесплатные.
Генерируется такой код в PHP и других языках элементарно просто и быстро:
use Endroid\QrCode\QrCode;$this->qr_str = "ST00012|Name={$this->firm->urname}" . "|PayeeINN={$this->firm->inn}|KPP={$this->firm->kpp}" . "|PersonalAcc={$this->firm->rs}|BankName={$this->firm->bank}" . "|BIC={$this->firm->bik}|CorrespAcc={$this->firm->ks}" . "|Sum=$this->qr_s|Purpose=$purpose|Contract=$this->service_id";$qrCode = new QrCode($this->qr_str);$qrCode->setSize(150);$qrcode = '<img class="logo" src="data:image/png;base64,' . base64_encode($qrCode->writeString()) . '">';
Размещаете его на своих счетах, договорах, квитанциях и упрощаете жизнь своим клиентам, избавляя их от необходимости вводить реквизиты и назначение платежа. Не будет возможности у них ошибиться.
В других языках программирования примерно также.
Если ваши банки не распознают обычный QR-код (особенно для РКО юрлиц и ИП), то обратитесь в их поддержку, чтобы добавили распознавание. Если вы клиент Сбера, пните Сбер.
И получайте платежи без комиссий. Хватит кормить банки! Безналичные платежи сейчас доходят за пару часов в рабочий день.
Дата-центр ITSOFT размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.
Хороший бухгалтер может раздуть баланс на 30% (с)
Добрый день, уважаемые хаброжители, имеющие брокерские счета или просто интересующиеся финансами и/или инвестициями. Раз вы видите эту статью, значит вы наверняка подписаны на Финансы в ИТ, а значит у некоторых у вас, вероятно, уже есть открытые у различных брокеров индивидуальные инвестиционные счета (ИИС). А значит скорее всего у вас возникал резонный вопрос а какова доходность моих инвестиций? Вопрос, как оказалось, не такой уж и простой.
Дисклеймер: в статье речь идет исключительно об инвестировании, а не активном трейдинге. Так же за скобками оставляем налоговые льготы по ИИС
Если деньги лежат на депозите, то подобный вопрос, как правило вообще в большинстве случаев не стоит, так как депозиты имеют фиксированную процентную ставки. Хотя, конечно, могут быть и более экзотические случаи, которые мы оставим за скобками (со ступенчатыми %-ставками, которые зависят от суммы и срока нахождения средств на счете, с процентами только на минимальный остаток, что характерно скорее это накопительных счетов и дебетовых карт, с отдельной %-ставкой для каждого пополнения счета и т.п.).
Поэтому для обычного депозита не важно, когда и какую сумму вы на него положили и как пополняли - %-ставка фиксирована и выражена в привычных нам всем процентах годовых
Если же мы говорим про брокерский счет, то тут не все так просто.
цены на финансовые активы непрерывно меняются;
инвестор может регулярно производить перебалансировку портфеля;
возможно пополнение счета и частичный вывод средств в любой момент (что для депозитов очень часто проблематично сделать без потери процентов);
у ряда фин. инструментов есть свои особенности (облигацию можно купить по цене как выше, так и ниже номинала, наличие купонов и амортизации номинала у облигаций, дивиденды по акциям и т.п.)
есть комиссии брокера, которые могут измеряться как в % от сделки, так Обслуживание счета в месяц (с)
Поэтому задача подсчета доходности инвестиций на бирже не такая очевидная, как может показаться на первый взгляд. Особенно выражение ее в процентах годовых.
Конкретно у меня возникла очень простая задача. В течение определенного времени я заводил свободные средства на ИИС и покупал различные активы. Сейчас же захотелось оглянуться назад и понять, а не было бы выгоднее просто положить деньги в банк на депозит под фиксированный процент? Самый простой способ ответить на этот вопрос посчитать доходность своих вложений в ценные бумаги в % годовых. Почему бы не воспользоваться цифрами, которые предоставляет брокер в личном кабинете? - может возникнут резонный вопрос у читателя? Вопрос, безусловно правильный, и если бы ответ на него был таким простым, то вы бы сейчас не читали данную статью)
Конкретно мой брокер в личном кабинете показывает следующую информацию:
Доходность к средним активам
Финансовый результат за выбранный период.
Обе величины позволяют, конечно, оценить какую-то доходность, но не могут быть прямо применены для сравнения с депозитом. К тому же методика расчета этих показателей брокером до конца не раскрывается, а сравнивать цифры, полученные методом черного ящика бессмысленно. Так, доходность к средним активам брокер определяет разделе Помощь личного кабинета как:
отношение финансового результата за выбранный период к средним активам за этот же период
Вроде все понятно? Или нет? Что такое средние активы? Варианты определения средней величины активов могут быть различные. Простейший вариант средней величины активов это среднее арифметическое от их стоимости на начало и конец периода (сомнительный вариант). А например в п.4 ст.376 НК РФ указан несколько иной порядок определения стоимости активов (в контексте расчета среднегодовой стоимости имущества, что не совсем релевантно, конечно):
(С01.01+ С01.02+ ... + С01.12+ С31.12)/ 13
где С01.01 стоимость актива на 01.01, 01.02, , 01.12, 31.12 текущего года соответственно
При этом мне лично кажется более корректным другой вариант, который является предельным случаем предыдущего:
(Сi+ + Сj)/ (j-i)
где Сi стоимость активов на каждый день рассматриваемого периода, а [i; j] это тот самый рассматриваемый период.
Математически это тождественно значению средневзвешенная по сроку сумме:
Давайте сравним подходы на игрушечном примере:
Дата |
Количество бумаг |
Цена |
Действие |
01.01.2020 |
1 |
100 |
Покупка |
01.02.2020 |
3 |
99 |
Покупка |
01.05.2020 |
102 |
Хотим узнать доходность. |
Наша прибыль за период с 1 января по 1 мая очевидна: 4*102 (100 + 3 * 99) = 11
Средний объем активов, посчитанный по разным методикам:
Вариант 1: (100 + (100 + 3*99))/2 = 248,5
Вариант 2: (100 + (100 + 3*99) * 4)/5 = 337,6
Вариант 3: (100*31 + (100 + 3*99) * 90) / (31 + 90) = 320,9
Разница получается достаточно существенная! Попробуем теперь перевести эту доходность в % годовых (цифры округлены до сотых долей процента):
Вариант 1: (11/248,5) * (365/121) *100% = 13,35%
Вариант 2: (11/337,6) * (365/121) *100% = 9,82%
Вариант 3: (11/320,9) * (365/121) *100% = 10,34%
То есть разное определение, что такое средние активы дают нам совершенно разные результаты! И эта разница очень существенна. Обратите, внимание еще на то, что здесь я под активами понимал сумму, на которую мы покупали ценные бумаги то есть именно сумму первоначальных вложений в ценные бумаги, так как именно она является базой для расчета доходности. А вот что понимает под этой суммой брокер, показывая мне цифры в личном кабинете? У кого какие идеи? Объективности ради замечу, что при звонке моему брокеру личный менеджер не смог ничего дельного на эту тему сказать, кроме как посоветовать Правильно! Почитать раздел Помощь личного кабинета (но обсуждение компетентности сотрудников брокера выходит за рамки данной статьи).
Теперь давайте попробуем другой вариант расчета, тоже достаточно логичный. Для этого рассмотрим каждую покупку как отдельную инвестицию. Тогда мы имеем следующее:
Действие |
Прибыль |
% ставка |
|
1 |
Покупка 1 бумаги по 100, общая сумму инвестиции = 100 |
= 102 100 = 2 |
= (2/100) * (365/121) *100 % = 6,03% |
2 |
Покупка 3 бумаг по 99 общая сумму инвестиции = 297: |
= 306 297 = 9 |
= (9/297) * (365/90) * 100% = 12,29% |
Чтобы понять общую доходность, посчитаем средневзвешенное по сумме значение % ставки:
(6,03 * 100) + (12,29 * 297) / (100 + 297) = 10,71%
Итак, поздравляю! Мы получили 4-ый результат! И если результат 1 и результат 2, очевидно, являются менее правдоподобными в силу сомнительной методики определения суммы средних активов, то вот результат 3 и 4 таких совсем очевидных изъянов не имеют, при этом разница между ними существенна: 10,71% против 8,7% - напомню, еще несколько лет назад ключевая ставка ЦБ как раз была аккурат в этом диапазоне, а значит от применения метода напрямую зависит наше решение по стратегии сохранения средств! Я лично субъективно пока что склоняюсь к цифре 8,7%
Но и это еще не все! Давайте удивимся еще больше и найдем еще один вариант расчета. Некоторые, возможно, знают, что есть такое понятие, как внутренняя норма доходности для графика денежных потоков (по англ. - internal rate of return, IRR). Процитирую википедию:
Внутренняя норма доходности процентная ставка, при которой уравнивается приведённая стоимость будущих денежных поступлений и стоимость исходных инвестиций, чистая приведённая стоимость равна 0
Кстати, именно ее рекомендует использовать Тинькофф Инвестиции. Давайте посчитаем этот показатель для нашего игрушечного примера, благо, в MS Excel есть встроенная функция для этого ЧИСТВНДОХ (она же более известна как XIRR в англоязычной версии).
Ожидаемо, мы получили уже 5-ый результат, который равен 10,73%. Близко к варианту 3, но так как для вычисления внутренней нормы доходности используются численные алгоритмы, то эта разница может быть обусловлена как разным по своей природе алгоритмами, так и просто погрешностям численных методов.
Итак, мы имеем 3 цифры, потенциально претендующие на правду: 10,71% - 8,7% - 10,73%
Картинка в тему :)Чтобы разрешить эту ситуацию, давайте вернемся к самому началу и вспомним, что перед нами стояла задача сравнить доходность нашей инвестиции с обычным, условно безрисковым банковским депозитом. То есть понять:
а не лучше ли было нам не городить огород с открытием брокерского счета, а просто положить деньги в банк на депозит?
Итак, у нас есть наша инвестиция: мы двумя траншами в разное время купили ценные бумаги на общую сумму 1 * 100 + 3* 99 = 397 у.е., которые сейчас стоят 4 * 102 = 408 у.е, т.е. наша потенциальная прибыль при закрытии позиции по бумаге будет 11 рублей.
Посчитаем, а какую бы прибыль мы бы получили, если бы с самого начала открыли депозит под, например, 8% годовых и вместо покупки бумаг, просто пополняли бы его? Это легко посчитать:
(100 * 0.08) * (121/365) + (3 * 99 * 0.08) * (90/121) = 8,51 рублей
Получилось меньше, чем 11 рублей, что ожидаемо. Давайте повторим вычисления для различных % ставок:
Дата |
Сумма |
Дни |
8% |
9% |
10% |
11% |
01.01.2020 |
100 |
121 |
2,65 |
2,98 |
3,32 |
3,65 |
01.02.2020 |
297 |
90 |
5,86 |
6,59 |
7,32 |
8,06 |
01.05.2020 |
8,51 |
9,57 |
10,64 |
11,70 |
Получается, что если ставка депозита будет в где-то в районе от 10 до 11 годовых, то мы получим в итоге такую же прибыль, как и при инвестировании в ценные бумаги. Эту ставку можно нащупать методом подбора, а можно вывести простую формулу:
Итого, если мы посчитаем по этой формуле, то получили 10,34%! Еще одна цифра И она отличается от полученных ранее С точки зрения понимания механики ее получения и смысла, она, пожалуй, теперь мне ближе всего.
Что интересно, я провел эксперименты и выяснил: значение, посчитанное через ЧИСТВНДОХ и по вышеприведенной формуле при расчете строго за целое число календарных лет с 1 января по 1 января практически совпадают.
Собственно, тут я оборву свое повествование, так как полученные текущие результаты совсем не те, на которые я рассчитывал, начиная писать данную статью ) Изначальная задумка была написать парсер отчетов брокера и просто посчитать доходность инвестиций. Парсер то был быстро и успешно написан, а вот на шаге просто посчитать доходность возник ступр и родилась эта статья.
Поэтому предлагаю обсудить в комментариях и поделиться опытом: каким способом вы считаете доходность своих инвестиций? Наверняка я не первый, кто задался таким вопросом...
В 2020 году произошел небывалый приток частных инвесторов на биржи как в России, так и за рубежом. Например, Московская биржа по итогам года зафиксировала прирост в 4,7 млн счетов, а общее число частных инвесторов на бирже достигло 8,5 млн. Поэтому тема частных инвестиций сейчас как никогда актуальна.
В этом материале мы не будем перечислять преимущества вложений в акции, облигации, а вместо этого рассмотрим несколько альтернативных способов инвестировать. Среди них есть как и более-менее знакомые всем, так и неожиданные варианты. Поехали!
Если вы предпочитаете получать стабильный доход с минимальными рисками, то, возможно, вам подойдет такой инструмент, как облигации федерального займа (ОФЗ). Это ценные бумаги, которые выпускает государство для привлечения дополнительных средств в бюджет. Доходность гособлигаций за 2020 год составила в среднем 5-6,7% годовых, что примерно соответствует доходности по депозитам. Что касается надежности таких вложений, то она сравнима с надежностью вкладов в крупнейших банках.
Доходность по ОФЗ можно увеличить за счет использования индивидуального инвестиционного счета (ИИС). ИИС позволяет инвестировать в различные инструменты, в том числе в гособлигации, и получать за это налоговые льготы двух типов (А и Б).
При выборе льгот типа А инвестор может каждый год возвращать 13% от внесенных на счет средств (но не более 52 тысяч рублей) при условии, что он имеет облагаемый НДФЛ доход. Также обязательным условием для получения вычета является хранение сбережений на ИИС в течение 3 лет при досрочном закрытии счета налоговый вычет не предоставляется, а уже полученный вычет необходимо будет вернуть.
При выборе второго типа льгот инвестор освобождается от уплаты налога на прибыль при совершении операций на бирже. Этот тип льгот выгоден, например, в тех случаях, когда у инвестора нет облагаемого НДФЛ дохода или он уже получал налоговые вычеты за образование, лечение и т. д.
Таким образом, купив ОФЗ на инвестиционный счет и оформив налоговый вычет, можно существенно увеличить доходность этого консервативного инструмента. Подробнее про эту стратегию можно почитать здесь.
Еще один вариант низкорисковых инвестиций на бирже это вложения в ETF. По сути, это иностранные биржевые инвестиционные фонды, которые представляют собой портфель акций или других активов, полностью повторяющих по составу целевой индекс. К примеру, ETF с тикером SPY отражает динамику акций индекса S&P500. Главный плюс работы с ETF простота. Они торгуются как обычные акции, для их покупки подходит обычный брокерский счет. Сейчас ETF есть в том числе и на Московской бирже вот здесь доступен их рейтинг.
Микрофинансовые организации появились сравнительно недавно и зарабатывают тем, что предоставляют микрозаймы населению (обычно в размере 5-10 тысяч рублей). Ставки по кредитам в МФК обычно считаются в процентах за день, но не могут быть выше 1% (т. е. 365% годовых).
МФК также могут представлять интерес для инвесторов, так как процентные ставки на размещение депозитов в таких компаниях значительно выше, чем в банках. Например, на сегодняшний день процентные ставки в МФК составляют 10-16% годовых, в то время как банки предлагают вклады под 3-4% годовых.
Тем не менее, стоит учитывать, что денежные средства, размещенные в МФК, как правило, не страхуются. Поэтому в случае банкротства организации есть риск потери вложений. Также есть ограничения по минимальной сумме вклада для физлиц и ИП 1,5 млн рублей.
Поэтому прежде чем инвестировать в МФК, полезно внимательно изучить ее деятельность, а также убедиться, что она зарегистрирована в государственном реестре это значительно снизит риски потери вложений.
К этой категории можно отнести инвестиции в живопись, фотографию, драгоценности, монеты, виниловые пластинки, антиквариат, а также набирающее обороты цифровое искусство. Например, недавно коллаж из работ цифрового художника Beeple Crap был продан на аукционе Christies за $69 млн.
Обычно вложения в предметы искусства подразумевают долгосрочную стратегию чтобы вырасти в цене, им может понадобится несколько лет. При этом важно хорошо ориентироваться в конкретной области искусства и уметь находить перспективных авторов и художников. Также стоит учитывать, что доходность таких инвестиций очень сильно зависит от случая рынок искусства малопредсказуем.
Но есть и менее рискованный и затратный способ инвестировать в искусство и предметы роскоши. Финтех-стартап Rally Rd разработал приложение, которое позволяет купить долю в различных лотах среди которых, например, коллекционные автомобили, редкие букинистические издания, раритетный спортинвентарь и даже старые выпуски журналов с комиксами (которые оцениваются в десятки тысяч долларов). Каждый лот регистрируется в качестве компании, которая затем выпускает акции. Таким образом, любой желающий может купить себе в собственность небольшую часть Ferrari за приемлемую сумму, а затем продать подороже.
***
А какие еще необычные способы инвестиций (с относительном низким риском) знаете вы?
На днях столкнулся с предложением открыть карту рассрочки мне это было не особо актуально, но я сходу не понял, чем такая карта будет отличаться от кредитной. По заявлению менеджера основной ее плюс в том, что расплачиваться за товар можно будет несколько месяцев и все это без процентов. Зачем банкам предлагать столь невыгодные для них условия при наличии кредитных карт?
Я решил копнуть глубже и разобраться, как это работает на самом деле, и что важно учитывать тем, кто все же решился оформить такую карту.
Идея карт рассрочки заключается в том, чтобы создать ситуацию, выгодную трем сторонам транзакции. Клиенты банка должны получить возможность не платить всю сумму за товар сразу, банк повышает лояльность своей аудитории и зарабатывает на комиссии, а его партнеры-магазины получают новых клиентов ведь обычно использовать такие карты можно только у продавцов-партнеров банка.
Вот как это работает:
Вы покупаете товар у магазина-партнера банка, даже если у вас сейчас нет полной суммы для его оплаты. Затем вы выплачиваете эту сумму без процентов в течение указанного срока.
Партнер банка получает дополнительных клиентов, ведь вы не пошли к конкурентам, а приобрели товар у него. И, как следствие, повышает свою прибыль.
Банк получает комиссию от продаж магазина-партнера.
Но есть же кредитные карты, зачем нужно что-то еще? У кредиток и карт рассрочки есть некоторые отличия.
Обе карты имеют лимит средств. Если вы не выплачиваете долг в срок, рассрочка превращается в кредит с процентами. А долг по кредитной карте в случае задержки придется выплачивать с более высокой процентной ставкой. В этом принцип действия карт похож. А вот в чем отличия:
С кредитной картой вы покупаете все что хотите и где хотите. С картой рассрочки приобрести товар можно только у продавцов-партнеров банка.
Потраченную сумму с карты рассрочки вы возвращаете в том же объеме (если выплачиваете долг вовремя). Потратив средства на кредитной карте, вы дополнительно выплачиваете процент.
С кредитной карты вы снимаете наличные, заплатив комиссию за обнал. С карты рассрочки снять наличные нельзя.
Карты рассрочки не предусматривают плату за обслуживание. За обслуживание кредитной карты списывают ежегодную плату.
Может, не заморачиваться с открытием карты рассрочки, а оформить рассрочку на нужный товар? Давайте разбираться.
Банки не работают бесплатно, поэтому за рассрочкой часто кроется обыкновенный кредит. Банк предоставляет кредит и начисляет проценты, а магазин дает скидку на сумму этих процентов.
Скидка не всегда возвращается сразу. Для возврата процентов необходимо платить вовремя в течение всего срока, а также написать заявление на возврат.
При оформлении рассрочки нужно внести первоначальный взнос в размере 20-30% от суммы товара.
Рассрочка выдается на более длительный срок, в отличие от карты рассрочки.
Карта рассрочки опасна тем, что вместо одного товара вы можете импульсивно купить много ненужных вещей. Если вы недостаточно дисциплинированны, то обычная рассрочка вам подойдет больше.
На сайтах-агрегаторах финансовых услуг можно посмотреть различные предложения банков по картам рассрочки и сравнить условия.
В заключение, еще раз перечислим важные факторы, которые нужно принимать во внимание тем, кто собрался оформить карту рассрочки:
С картой рассрочки вы не сможете приобрести любые товары только те, что есть у партнера-ретейлера банка. Перед открытием карты изучите список партнеров банка и цены на товары. Может быть, в эти магазины вы не ходите? А может, цены в них значительно выше и рассрочка невыгодна?
Вносить ежемесячные выплаты необходимо вовремя, иначе банк начислит штраф. Так вы теряете главное преимущество карты рассрочки и портите кредитную историю.
Не каждый товар можно приобрести со скидкой с помощью карты рассрочки. В некоторых случаях выгоднее совершить покупку по скидке, пусть и без рассрочки.
Уточните срок, на который можно распределить выплату рассрочки. Не во всех магазинах есть возможность растянуть оплату на год.
Лимит суммы на карте рассрочки обычно составляет 300-350 тысяч рублей. Но вряд ли эту сумму предложат сразу. Сначала сумма будет в 3-10 раз меньше, но если вы выплачиваете долги в срок, лимит могут повысить.