Избранное трейдера Stang
Я пассивный инвестор. Средняя многолетняя доходность портфеля на уровне инфляция + 10% мною воспринимается, как дар божий. Поэтому меня мало интересуют фундаментальные характеристики отдельных компаний, равно как и спекулятивные колебания цен на различные активы. Меня интересуют идеи.
Мне не совсем понятна идея дивидендного портфеля. Я не встречал исследований, которые утверждали бы, что акции, по которым выплачиваются высокие дивиденды, приносят своим акционерам более высокий совокупный доход (дивиденды + рост цены), чем акции, по которым выплачиваются низкие дивиденды или дивиденды не выплачиваются вовсе (при равных показателях рентабельности и проч.).
Так как на дивиденды существует налог, то за большой промежуток времени уплата налога и уменьшение суммы реинвестирования в новые покупки существенно снижает капитал. За 20 лет реинвестирования дивидендов налог на дивиденды «вынесет» более 15% капитала. Если темп роста цены акций превысит 7%, то более 20% капитала. Это очень много.
Ранее мы предполагали, что рыночные ставки плоские, поэтому дисконтировали денежные потоки по облигации с помощью единой ставки — доходности к погашению (YTM). Однако наблюдаемые на рынке доходности государственных облигаций на самом деле зависят от срока до погашения. Графически эта зависимость представляется в виде так называемой кривой доходности или yield curve. Если для построения использовать только что выпущенные облигации, торгующиеся, как правило, возле номинала, получим кривую номинальной доходности (par yield curve) Ее очень удобно интерпретировать, так как в этом случае купонные доходности равны доходностям к погашению. Впрочем, на низколиквидном рынке подобные облигации для всех сроков до погашения удается найти далеко не всегда.
Возникает вопрос, можно ли использовать эти кривые для оценки вновь выпускаемых облигаций? Рассмотрим модельный пример, когда на рынке есть только две облигации с ежегодной выплатой купона торгующиеся по номиналу (100): годовая с купоном 3% и двухлетняя с купоном 6%. Пока мы не будем вдаваться в детали возможных причин различий их доходностей. Если на этом рынке появится еще одна двухлетняя облигация, но уже с купоном 9%, следует ли для расчета ее цены использовать нашу ‘двухлетнюю’ YTM, т.е. ставку 6% ? Тогда бы мы получили цену облигации
P = 9/(1+6%) +109/(1+6%)2 = 105.5. Или, быть может, первый купонный платеж необходимо дисконтировать, используя YTM=3%, и только выплаты второго года по ставке 6% (цена будет равной P = 9/(1+3%) +109/(1+6%)
Если кого вдохновило сообщение smart-lab.ru/blog/680086.php, тому не обойтись без книги «NUMERICAL RECIPES. The Art of Scientific Computing. Third Edition». Качайте, пока дают
www.e-maxx-ru.1gb.ru/bookz/files/numerical_recipes.pdf
Бесплатные исходники к ней github.com/blackstonep/Numerical-Recipes
Программа svd.h из этого набора решает задачу наименьших квадратов для построения индикатора полиномиальной регрессии вместо примитивных скользящих средних.
Хорошее объяснение математической подоплёки в книге «Машинные методы математических вычислений. Форсайт, Малькольм, Моулер» en.booksee.org/book/445129
Ещё лучше — «Линейная алгебра и её применения» Гилберт Стренг
fileskachat.com/download/20151_887581203f10b39b3d7f6b84caf48a63.html
«Linear Algebra and Its Applications 4ed»
www.astronomia.edu.uy/progs/algebra/Strang- Linear_algebra_and_its_applications.pdf
Для использования программы svd.h из «NUMERICAL RECIPES» нужны тривиальные дополнения — транспонирование и перемножение матриц. Набор программ можно дополнить самодельным файлом utils.h и разместить в нём такой код:
#include <assert.h>
template <class T>
class NRdiagonal: public NRvector<T> { using NRvector<T>::NRvector; };
template <typename T>
void Multiply (const NRdiagonal<T>& a, const NRvector<T>& b
,NRvector<T>& c) {
int m = a.size();
assert (m == b.size());
c.resize (m);
for (int i = 0; i < m; ++i)
c[i] = a[i] * b[i];
}
template <typename T>
void Multiply (const NRmatrix<T>& a, const NRvector<T>& b
,NRvector<T>& c) {
int m = a.nrows(); int n = a.ncols();
assert (n == b.size());
c.resize (m);
for (int i = 0; i < m; ++i) {
c[i] = 0;
for (int j = 0; j < n; ++j)
c[i] += a[i][j] * b[j];
}
}
template <typename T>
void Transpose (const NRmatrix<T>& a, NRmatrix<T>& b) {
int m = a.nrows(); int n = a.ncols();
b.resize (n, m);
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
b[i][j] = a[j][i];
}
template <typename T>
void PrintVector (char* hdr, const NRvector<T>& vec) {
cout << hdr << '\n';
for (int i = 0; i < vec.size(); ++i)
cout << " " << vec[i];
cout << '\n';
}
Саудовская Аравия заявила, что перехватила ракеты и шквал беспилотных летательных аппаратов, запущенных из соседнего Йемена и нацеленных на Дахран, где находится штаб-квартира крупнейшей в мире нефтяной компании Saudi Aramco, которую, по словам очевидцев, потряс взрыв.
Саудовские нефтяные резервуары в порту Рас-Танура пострадали в результате атаки беспилотников и объектов Aramco, нацеленных баллистическими ракетами.