Избранное трейдера Holod_Dmitry
Если кого вдохновило сообщение 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';
}
Кислородное преимущество. Простая, научно обоснованная техника дыхания для здоровья и спорта. Патрик МакКион.
Выпущена новая версия платформы MetaTrader 5:
В предыдущей статье выкладывал немного статистики торгующих роботов. А как же оценить результат алго-торговли? Мне больше нравится вместо цифр смотреть на график изменения стоимости портфеля, пусть даже в процентах. На графиках каждый может оценить и просадки, и плавность хода стратегии, и ожидаемую (прогнозируемую) доходность на большом интервале времени, и ее текущие изменения. Можно сказать, что график PnL вместо сухих цифр дает аналоговую информацию вместо цифровой. Аналоговую мозг усваивает лучше.
Затем мой взгляд останавливается на коэффициенте Шарпа. Показатель Шарпа за период времени T есть просто отношение Доходности за этот период к Волатильности за этот же период. Но, если уже совсем досконально сравнивать алгоритмические стратегии, предположим вы хотите инвестировать свои кровные в какой-нибудь хедж фонд, обычно интересуются не только доходностью и Шарпом, но и наибольшей просадкой, % прибыльных месяцев, наиболее прибыльным 12 месячным периодом, наиболее убыточным 12 месячным периодом и размером активов под управлением.
Все эти праметры я обычно беру из сервиса статистики webmarketstat.Последнюю неделю во всех инвестиционных каналах обсуждают рост инфляции и доходности 10-летних облигаций США, а аналитики на этом фоне пророчат обвал рынков. Но всё ли так прямолинейно работает на рынке?
Если коротко, то в финансовой теории 10-летние облигации США являются безрисковым активом и базой для исчисления требуемой доходности других активов, в том числе и акций. Акции — более рискованный актив, чем облигации, поэтому, если доходность облигаций растёт, то должна вырасти и требуемая доходность для акций. «Доходность» для акций определяется показателем E/P, так как E обозначает прибыль за прошлые 12 месяцев, то меняться может только P — стоимость акции. Рост требуемой доходности E/P эквивалентен снижению показателя P/E — то есть переоценки акций вниз.
Вывод 1. С ростом доходности 10-летних облигаций рынок акций падает.
При этом доходность облигаций растёт, потому что растёт инфляция. Облигации с низким купоном невыгодно держать при росте инфляции, так как инвестор на них ничего не зарабатывает. Из-за этого начинается распродажа длинных облигаций, что приводит к снижению их цены и росту эффективной ставки процента.