Kot_Begemot

Читают

User-icon
185

Записи

52

Ухмылки рисков


Если мы возьмем некоторый базовый актив, представленный, скажем, распределением вида:

Ухмылки рисков
Распределение приращений базового актива за 1 период, СКО = 0.63, МОЖ = 0.499




И попробуем оценить его распределение, скажем,  за 20 периодов, то получим следующее:

Ухмылки рисков

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

Судовой Журнал Кота - запись 2


19 июня. Пятая неделя от замены тридцати двух дюймовых снастей.  


Судовой Журнал Кота - запись 2


Всю неделю мы провели в гавани, освобожденные от квартальных мореходных пошлин.
Экипаж брал на абордаж таверны, а мне, как главному морскому коту, было велено охранять судно.
Я понадеялся, было, тиснуть таки черепаху, но деревянную ногу боцмана и его самого оставили вместе со мной.
А кто же будет тогда охранять меня, пока я охраняю корабль?! Об этом они не подумали?



В пятницу мы вышли из гавани.  Капитан что-то очень долго рассчитывал, потом нарисовал свой знаменитый крест и решил идти по течению.

Судовой Журнал Кота - запись 2

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

Случайности в волатильности и эффективные оценки


Используя простые модели волатильности, рассчитанные по ценам закрытия (Close-to-Close vol.) мы неизбежно сталкиваемся с рыночным шумом, смещающим наши оценки далеко её от истинного или асимптотического значения.  Мы могли бы измерять волатильность как-то иначе, например по модели Паркинсона (High-to-Low 1980), но столкнулись бы с той же проблемой. 



Случайности в волатильности и эффективные оценки 

1.1 — Close to Close log-volatility estimation



Случайности в волатильности и эффективные оценки

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

Судовой Журнал Кота - запись 1


9 июня. Третья неделя от замены тридцати двух дюймовых снастей.  



Два дня мы стояли на якоре. Новый капитан измерил палубу шагами. Экипаж медленно сходил с ума, играя в карты. Я пытался тиснуть из бочки черепаху, но получил от деревянной ноги боцмана. Надо будет с ней что-нибудь сделать. На третий день капитан решил идти против течения — расчеты показывают, что ветер перемен сильнее течения времени — пробормотал он...


Судовой Журнал Кота - запись 1

Старый математик! Он собирается идти против ветра, да ещё быстрее времени! Команда недоумевала, но взялась за рангоут. Я же, кажется, начал понимать зачем на судне киль.


Судовой Журнал Кота - запись 1

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

Игры с долгами

По мотивам инцидента на расчётных фьючерсах CL-4.20 (FORTS) на фьючерсы на нефть CLK2020 (NYMEX,CME) (May 2020). 



Абстракция:

Если в процессе игры у одного из игроков образуется долг и он банкротится, то это означает только то, что игра является предельно убыточной.
И кто только придумал такие игры?.. в которых, если выигрываешь, то не получаешь ничего (в качестве невозвратного долга), а если проигрываешь — остаешься должен организатору?!

Вы думаете, у кого-то что-то по-другому? Что от этого страдают только те, кто проиграл?
На самом деле от этого страдают все.
И вы в том числе. Если вы не пострадали сейчас, то неизбежно пострадаете в будущем. И Маркет-мейкер тоже не исключение.
Потому как если перед Маркет-мейкером не исполнят обязательства по одной ноге (на FORTS), то это не значит, что он избавится от обязательств по другой ноге (на NYMEX).



Иллюзия благоденствия:

Устойчивость в такой игре — явление временное. Солнце светит, пока ваш «форекс-брокер» поддерживает страховой фонд выделенного капитала и выплачивает выигрыши из комиссионных, а проигрыши просто списывает как невозвратные долги — как это делает любой банк в отношении своих вкладчиков, любой эмитент в отношении собственных держателей или любой поставщик в отношении своих дебиторов. Делает он это по собственной воле, по своему наитию или в соответствии с ФЗ «О Клиринговой деятельности» и его положениями о Центральном контрагенте — не важно, важно то, что это избавляет игроков (клиентов клиринга) от ненужных и опасных вопросов, поддерживая иллюзию финансовой стабильности инфраструктуры финансового рынка.

Но, как бы страшно это не прозвучало, гарантии исполнения обязательств игроков на срочных контрактах (фьючерсы, опционы, cfd) весьма условны. В случае, когда сальдо встречных обязательств превышает «выделенный капитал» в сумме с выделенными под погашение этого сальдо кредитами — наступает неизбежное банкротство. В этот самый момент игроки (клиенты такого организатора) как никогда ощущают, что играют в игру, когда выигрыши неожиданно исчезают, а проигрыши — накапливаются долгами. И всё потому что кто-то, где-то словил какого-то «черного лебедя» в инструменте о котором вы даже не подозревали, доверяя депозитарию «свои» акции, а «участнику клиринга» — учёт ваших имущественных прав...


Исполнение

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

Cпектральная колористика (комикс)



Cпектральная колористика (комикс)
Коричневый (brown) спектр (1/f^2) и спектр реализации коричневого (brown) блуждания со стационарной или нестационарной волатильностью (марковский процесс).


Cпектральная колористика (комикс)

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

Open Source : Lua - MatLab Connector (3)



Краткое описание :

Библиотека Matlab2Lua  позволяет интегрировать Lua скрипты и Маtrix Laboratory Engine.


Полное описание :

Библиотека позволяет Lua и Матлаб обмениваться данными при помощи функций :

lua variable = Get( string Matlab varname );  — получение переменной из среды матлаб по имени, поддерживаются Double Array, Cell Array of Strings, Double Value, Integer Value, String Value. Возвращает -1 в случае неудачи.

int Eval ( string MatlabСommand ) — передает команду в MatLab Command Line, в качестве переменной типа string; возвращает -1 в случае неудачи, и 1 в случае успеха.

int PutVal( string Name, string/number Value) — передает в Матлаб значение Value типа string или number под именем Name. 1- успех, -1 — неудача.

int PutDouble( string Name, table T) — передает в Матлаб под именем Name таблицу Луа, заполненную численными значениями. Ответ — аналогичный.

int PutCell( string Name, table T)  — передает в Матлаб под именем Name таблицу Луа, заполненную строковыми или численными значениями, подлежащими преобразованию в строки. Ответ — аналогичный.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Интеграция Lua и С++ (2)


Обмен данными между Lua и Сpp осуществляется через Lua-стэк, то есть через специальным образом структурированное (по принципу Last In — First Out) пространство. 


Интеграция Lua и С++ (2)

Иллюстрация процесса добавления переменных в Cтэк (Push) и извлечения переменных из Стэка (Pop).

Иными словами, Lua стэк — это одномерный массив переменных (список, строка) с прямой (от 1 до n) индексацией.



Заполняется стэк командами lua_push (С-side) :

void lua_pushnumber (lua_State *L, lua_Number n);
const char *lua_pushstring (lua_State *L,  const char *s);

и другими. 


Новой переменной в стэке Луа длинной n автоматически присваивается индекс [n+1] или [-1], где n+1 — абсолютный индекс переменной, а -1 — индекс новой переменной относительно конца (!) стэка. 




Доступ, к переменным, соответственно осуществляется функциями lua_to (C-side) :

lua_Number lua_tonumber (lua_State *L, int index);
const char *lua_tostring (lua_State *L, int index);
где L — указатель Lua-стэка, а index — абсолютный или относительный индекс переменной в стэке.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Интеграция MatLab Engine и С++ (1)

В сложных вычислительных задачах (или просто при нежелании программировать на Lua, Cpp и т.д., а пользоваться более высокоуровневыми инструментами разработки), незаменимым оказывается API интерфейс Матлаба реализованный в качестве Active-X COM Automation Server.  Для его реализации на языке Си существует специальная библиотека libeng.lib, позволяющая языкам Си, С++, Фортран обмениваться данными и пользоваться всеми ресурсами Матлаба (обычно это обработка видео, автопилоты, ИИ, нейронные сети и т.п.).


Поэтому, в качестве изучения возможностей, попробуем реализовать простейший проект обмена данными и вызова функций Матлаб со стороны Си++ при использовании CodeBlocks и MinGW64.



  • Запуск интерфейса Матлаб

Чтобы адресовать все внешние процессы к единому процессу Матлаб, а не запускать Engine для каждого процесса в отдельности, 
запустим «двигатель» матлаба внутренней командой :

server=actxserver('matlab.application.single'); server.Execute(' enableservice (''AutomationServer'', true)');


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

Точность и кучность волатильности (GARCH)


Игра в угадайку — она как стрельба: можно угадывать точно, а можно угадывать кучно. 


Точность и кучность волатильности (GARCH)

Иллюстрация. 1 и 2 столбец — кучная и не-кучная угадайка, 1 и 2 строка — точная и не-точная угадайка. 

Аналогично и с угадыванием волатильности. 



Лучше, конечно, вообще не угадывать волатильность, лучше её предсказывать, а ещё лучше — измерять или просто знать. Поэтому, мы будем волатильность не угадывать, а измерять, чтобы наш арбитраж, который мы собираемся над ней совершить, выглядел бы соответственно. А измерять волатильность мы будем в предположении Блэка-Шоулза о лог-нормальном распределении приращений цены актива-подложки, и потому будем пользоваться специально припасёнными математиками для этого случая инструментами: среднеквадратичным отклонением — СКО. Но измерять волатильность мы будем тоже не просто так — не просто в лоб по СКО, а GARCH методом, предполагающим, что чем дольше мы измеряем нечто, тем точнее у нас это получается. Мы же не просто измеряем всё-таки, а делаем это весьма интеллектуально! 

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

теги блога Kot_Begemot

....все тэги



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