Постов с тегом "библиотека": 56

библиотека


Несколько слов о том, как читать отчетность эмитентов облигаций

Несколько слов о том, как читать отчетность эмитентов облигаций
На рисунках: МСФО за 6 мес. 2019 ПАО «ОР»

Финансовая отчетность — сильный инструмент мониторинга развития и состояния любой компании. Существует два типа отчетности: по российским стандартам (РСБУ) и по международным (МСФО). Публичные корпорации, как правило, отчитываются по МСФО, что очень упрощает восприятие. В первую очередь, необходимо обратить внимание на капитал рассматриваемой компании. Это число отражает, сколько собственных средств вложено в бизнес компании. Если этот показатель большой относительно всего баланса (от 30% — сильный показатель), акционеры существенно отвечают своими деньгами, что особенно важно, если Вы инвестируете в долговые инструменты (грубо говоря, большая мотивация расплатиться по долгам и не терять свой капитал). Однако важно не просто изучить размер капитала, но и посмотреть, из чего он состоит. Если основа собственных средств компании — переоценки активов или нематериальные активы, это повод усомниться в реальности показателей



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

Рисование графиков в С++

Однажды мне нужно было отрисовать пару графиков в консольной программе, написанной на С++. Можно было решить эту проблему двумя способами:
  1. Сохранить график в файле и нарисовать его в экселе или другой софтине, м.б. даже в онлайн рисовалке
  2. Рисовать график прямиком из программы
Первый способ мне не подходил, так как я проводил тестирование алгоритмов, и лишней возней с копированием данных заниматься не хотелось. Второй способ имеет множество решений, но увы я не нашел быстрого решения, чтобы библиотека для рисования не требовала целую кучу зависимостей. Обычно библиотеки для рисования из С++ программы хотят OpenCV или питон с матлабом. Еще как вариант я знаю SFML и ImGUI. Вопрос — нафига столько всего нужно для обычного графика, если по сути нужен OpenGL и все. Решил исправить эту проблему и набросал header-only С++ библиотеку, которая работает в отдельном потоке и способна рисовать графики зависимостей X от Y и тепловые карты. Из зависимостей библиотека требует FreeGLUT.

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

Библиотека С++ для загрузки экономических новостей

Есть один хороший сайт www.investing.com с экономическими новостями, которым пользуются многие трейдеры на Форексе. И решил я как-то раз попробовать посмотреть, что будет на бэктестинге торговли по новостям. Поковырявшись в страничке экономического календаря сделал в итоге С++ библиотеку для загрузки новостей. Для http запросов библиотека использует curl. Новости загружаются по UTC времени, загрузить их можно со времен начала эпохи UNIX

Класс для хранения одной новости:
/** \brief Класс Новостей
*/
class News
{
public:
	std::string name;          /**< Имя новости */
	std::string currency;      /**< Валюта новости */
	std::string country;       /**< Страна новости */
	int level_volatility = -1; /**< Уровень волатильности (-1 не инициализировано,  низкий уровень = 0, средний 1, высокий 2) */
	double previous;           /**< Предыдущее значение */
	double actual;             /**< Актуальное значение */
	double forecast;           /**< Предсказанное значение */
	bool is_previous = false;  /**< Наличие предыдущего значения */
	bool is_actual = false;    /**< Наличие актуального значения */
	bool is_forecast = false;  /**< Наличие предсказанного значения */
	uint64_t timestamp = 0;    /**< Метка времени новости */

	News() {};
};
Для хранения массива исторических данных новостей используется библиотека 

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

Работа с датой и временем в С++

В свое время для алготрейдерских задач мне нужно было много оперировать датой и временем. Конечно, в С++ и Си есть библиотеки для работы с датой и временем. Но мне захотелось сделать свой велосипед, который бы мог легко и удобно превращать строковое представление времени в метку времени, менять часовой пояс, получать время UTC компьютера, преобразовывать метку времени в стандартный формат даты и времени и обратно и т.д. и т.п. Одним словом, целый спектр задач.

В итоге я сделал библиотеку xtime (ну, громко сказано «библиотека», это всего лишь два файла .cpp и .hpp). Для хранения и преобразования меток времени используется тип данных uint64 либо double, поэтому у данной библиотеки нет проблемы 2038 года.

Используемые типы данных:
  • timestamp_t — тип длиной 64 бита для хранения метки времени.
  • ftimestamp_t - тип с плавающей точкой длиной 64 бита для хранения метки времени с дробной частью секунд.
  • oadate_t - тип с плавающей точкой длиной 64 бита для хранения даты автоматизации (OADate)


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

Как часто ошибаются финансовые эксперты, почему они ошибаются, и можно ли использовать их ошибки для своей выгоды?

Как часто ошибаются финансовые эксперты, почему они ошибаются?В прогнозах ошибаются все без исключения биржевые и финансовые эксперты и аналитики. Я лично ошибаюсь постоянно. С июня (26 недель назад) недель назад стал фиксировать ошибки и верные прогнозы и создал для этого отдельный публичный портфель. Идея в том, чтобы давать прогноз по неизменному набору инструментов на каждую неделю. Ошибся за это время в 41% случаев. Информация открытая. Получается, верных прогнозов на 43% больше, чем неверных (59% поделить на 41%). Пробую как-то монетизировать. Но об этом в конце.
  • А сначала об экспертах. Их можно поделить на две категории. Первые – пишущие аналитики. Основная их задача – выдавать в информационное пространство актуальные сведения и суждения. Нужно это, чтобы клиенты той или иной инвесткомпании имели повод нажать кнопку. Как правило, это не особо статусные люди. И попытка дать такому человеку деньги в управление в большинстве случае окажется неудачной.
  • Вторая категория – профессиональные портфельные управляющие. Здесь другая дисциплина. Управляющий следит за результатом своей работы, а говорит и пишет не так много.
  • Есть еще чиновники. Факультативная третья категория. Но они, прогнозы дают редко.
  • Несмотря на разные задачи и меры ответственности, в публичном прогнозировании не преуспели ни те, ни другие. Исключения есть, но редки и непостоянны. В основном же, число ошибочных прогнозов будет больше числа сбывшихся.


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

Чем же облигации лучше банковских кредитов? Учитывая, что последние, вроде как, дешевле.

Чем же облигации лучше кредитов?
Вопрос, который мы постоянно слышим: зачем эмитенту выпускать облигации, тогда как банковские кредиты должны быть дешевле в обслуживании?

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

  1. Скорость. Это первый облигационный выпуск можно готовить 3 месяца и более. А вот последующие – за 5 дней, был бы спрос на облигации. Слабая предсказуемость скорости выдачи денег – одна из базовых проблема банковского кредита.
  2. Более широкие возможности использования облигационных денег. Банк, как правило, кредитует отдельную сделку или проект. Через облигации кредитуется вся компания. Мобильность перемещения облигационных денег между бизнес-задачами заемщика несопоставима с кредитными деньгами.
  3. Компания сама контролирует свой долг. Условия, внесенные в эмиссионные документы, неизменны. Эмитент, возможно, платит за эти деньги больше, но в течение жизненного цикла облигации точно знает, какова плата, каковы сроки и суммы процентных и возвратных платежей.
  4. Отсутствие залога. Нравится нам это или нет, но облигации – это, по сути, деньги под честное слово. И уже поэтому такие деньги должны быть более дорогими, чем классическое залоговое кредитование от банка.
  5. Облигации – более длинные деньги. Даже в высокодоходном облигационном сегменты есть выпуски со сроками погашения в 5-6 лет, а для широкого корпоративного облигационного сектора – средний срок более 5 лет. В банке все иначе: в большинстве случаев, гашение тела начинается уже через несколько месяцев после выдачи кредита.
  6. Диверсификация портфеля заимствований. После банковской чистки в России мало банков. Средний банковский сегмент боится кредитовать, крупный – не всегда клиентоориентирован. Облигации могут представлять хоть и наиболее дорогую часть портфеля заимствований, но и наиболее стабильную. И наиболее пластичную: выбывание того или иного банка из портфеля иногда проще заместить облигациями, чем кредитом другого банка. В этом смысле облигации служат страховкой стабильности кредитного потока, а значит – устойчивости всего бизнеса. И да, если Вы фондируетесь через облигации, с банками разговаривать чуть проще, в т.ч. и по кредитным ставкам.
  7. Еще про чистку банков. В ее процессе ряд заемщиков оказался наедине с АСВ (у банка-кредитора отозвана лицензия, в права требования вступает Агентство по страхованию вкладов). Это та ситуация, когда другим банкам очень хотелось бы прокредитовать заемщика, но соседство с АСБ останавливает. АСВ – не особенно дружественный кредитор. Облигации, по нашей практике, уже не раз позволяли выйти из ситуации. Облигационными деньгами расшивается проблема с АСВ, далее – восстанавливается кредитование прочими банками.
  8. Проектное финансирование. Облигации могут выступать частью кредитного пула (как правило до 20-30%) при проектном финансировании. Облигации – длинные деньги, это удобно. Они дороги, но основу кредитного пула составляют банковские деньги. И средняя стоимость не особенно отклоняется от банковского процента. Тогда как без диверсификации источников финансирования банк мог бы и вовсе не решиться на сделку.
  9. Возможности субсидирования. Сегодня субсидировать можно не только банковскую кредитную нагрузку. Для облигаций это компенсация до 1,5 млн.р. на организацию выпуска, до 5% купонной ставки.
  10. Публичная история. С одной стороны, выпуск облигаций делает компанию более узнаваемой, с другой – заставляет выстроить процедуры отчетности, раскрытия информации, внутреннего контроля. К тому же со следующего года, весьма вероятно, большинство эмитентов будет вынуждено рейтинговать компании или выпуски облигаций. Эти процедуры хоть и затратны, призваны сделать компанию-эмитента более структурированной и устойчивой. Кроме того, компания становится на шаг ближе к акционерному капиталу, к выходу на IPO. 


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

Универсальный индикатор для С++

Еще давно у меня возникла потребность получать сразу массивы значений различных индикаторов. Можно конечно создавать массив индикаторов, и затем прогонять котировки через него. Но я решил пойти другим путем и сделал индикатор «скользящее окно» или сокращенно MW, который может рассчитывать сразу массивы RSI, SMA, STD_DEV от тех значений, что содержатся в его буфере.

При этом при расчете массивов значений обычно используются предыдущие посчитанные данные, что ускоряет процесс расчета. 

Также я добавил возможность найти MIN, MAX, STD_DEV значения окна с заданным периодом и смещением внутри буфера индикатора. Это делает индикатор еще более универсальным. 

В дальнейшем планирую расширять функционал индикатора в рамках своей C++ header-only библиотеки технического анализа

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

Тестирование стратегий для бинарных опционов на истории. Библиотека для С++ и пример с "граалем".

В данной статье будет рассмотрен только технический аспект тестирования стратегий для бинарных опционов. Если вы считаете, что бинарные опционы не предсказуемы, или что брокеры «разводят» трейдеров, то данный пост будет не об этом и просьба не обращать на него внимания. Здесь будет рассмотрен только технический аспект для тех, кто хочет сам тестировать стратегии и проводить эксперименты на БО. Впрочем, используемый код можно адаптировать при желании и под форекс.

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

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

И самые великие умы могут ошибаться

Даже самые великие умы могут ошибаться! И иногда их ошибки могут привести к коллапсу мирового масштаба!

Книга «Когда гений терпит поражение» Роджера Ловенстайна, одна из лучших книг в моей библиотеке.

Она рассказывает об одной из самых амбициозных компаний в мире LONG-TERM CAPITAL MANAGEMENT. Её яркий старт, баснословные прибыли и крах до сих пор поражают своим масштабом.  И несмотря на совсем небольшое количество инвесторов, неизвестная 99% американцев компания в 1998 году создала проблему в один триллион долларов, которую смогли решить только благодаря вмешательству ФРС.

Этой компанией руководил Джон Меривезер (Мэриуэзер), работавший до этого в одном из самых известных инвестиционных банках — Solomon Brothers и знакомый читателям по другой не менее известной книге – «Покер Лжецов» Майкла Льюиса, о которой я уже писал. Среди небольшого коллектива компании были два нобелевских лауреата – Мертон и Шоулз. А вокруг самой этой компании не раз звучали очень известные имена, и даже сам Баффет чуть не стал инвестором, а его партнёр Чарли Мангер в последствии шутливо говорил, что они чуть не стали козлами-провокаторами.



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

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