Избранное трейдера Дмитрий-сан
Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.
В этом посте будет рассмотрено то, как оптимизировать портфель при помощи Python и симуляции Монте Карло. Под оптимизацией портфеля понимается такое соотношение весов, которое будет удовлетворять одному из условий:
Для расчета возьмем девять акций, которые рекомендовал торговый робот одного из брокеров на начало января 2020 года и так же он устанавливал по ним оптимальные веса в портфеле: 'ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM' и 'PKI'. Для анализа будет взяты данные по акциям за последние три года.
#Загружаем библиотеки import pandas as pd import yfinance as yf import numpy as np import matplotlib.pyplot as plt # Получаем данные по акциям ticker = ['ATVI','BA','CNP','CMA', 'STZ','GPN','MPC','NEM', 'PKI'] stock = yf.download(ticker,'2017-01-01', '2019-01-31')
Мы стоим на пороге энергетического кризиса, пик добычи ископаемых ресурсов (нефти, газа, угля, цветных, черных металлов и т.д.) по некоторым позициям либо уже пройден, либо будет пройден до 2025 года. Рост экономики напрямую был связан с ускоренным ростом населения планеты теперь дальнейший рост стратегически не возможен т.к. на это больше нет кормовой базы (ресурсов). Последние десятилетия, со времен Рейгана, потребление росло за счет все увеличивающейся закредитованности населения, компаний и так называемых развитых государств (основное производство в США это доллары). Из за чрезмерной закредитованности дальше это делать невозможно и не зачем т.к. падает эффективность вложения капитала и возрастают риски невозврата в следствие снижения платежеспособности.
В итоге покупать во все возрастающих объемах как того требует экономика построенная на судном проценте некому, а открыто сказать что нужно всем жить хуже … смерти подобно и производить во все возрастающих объемах невозможно т.к. энергоресурсы заканчиваются и в будущем их будет становиться все меньше и меньше – встал вопрос о сокращении потребления. Это слом привычного уклада жизни. Добровольно никто сокращать свое потребление не будет как не агитируй (зеленые, Гретта Туту и т.д.). Соответственно, чтобы ВСЕ государства, Все предприятия, ВСЕХ ЛЮДЕЙ заставить сократить потребление нужны ШОК и НАСИЛИЕ. Исторически капитализм ВСЕГДА выходил из таких ситуаций ПУТЕМ ВОЙНЫ. Капиталы в этот момент преумножались путем вложения в производство оружия и осуществления грабежа, количество людей сокращалось, а побежденные страны вместе с их рынками сбыта и ресурсами поглощались победителями. Но сегодня экономика глобальна и нет рынков сбыта, которые бы не были в нее включены – завоевывать нечего, а ресурсы становятся возобновляемыми. Наличие ядерного оружия делает традиционное военное столкновение очень опасным делом, т.к. велика вероятность катастрофы планетарного масштаба и отсидеться всесильным мира сего нигде не удастся (сидеть в пожизненно в подземном бункере так себе удовольствие). Поэтому, сегодня война ведется гибридными методами. Т.е. это сочетание локальных войн без применения ядерного оружия (Грузия, Украина, Сирия и т.д.), информационных войн (фейсбуки, твиттеры и т.п.), экономических (торговые, валютные войны, санкции). Воевать с Россией традиционным оружием может выйти себе дороже поэтому был выбран вариант биологическая война. Потому что определить агрессора и доказать его вину в глазах мирового сообщества, а тем более ответить на это ракетным ударом не представляется возможным. По границам РФ развернута сеть лабораторий, которые изготавливают, изучают и применяют биологическое оружие (Грузия, Узбекистан, Молдова, Украина и т.д.). Эксперименты с этим оружием ведутся давно – свиной, птичий грипп, эбола, атипичная пневмония – все это эксперименты по получению штамма, который можно «контролировать» и направлять против отдельных наций и государств. Несколько лет назад по этой причине Путин запретил вывоз генетического материала из России, и это внушает мне надежду, что власти в курсе происходящего и готовились к сложившейся ситуации заранее. События:
1. В январе этого года поступили новости из Китая о эпидемии короновируса. И хотя он не является столь смертельным как чума или холера, но при этом в 4-5 раз заразней гриппа (легко распространяется) и с более высокой смертностью «реальная смертность от вируса на сегодня 17%, ибо считать ее следует от завершенных случаев, а не от всей массы диагностированных. И это ещё цветочки, поскольку пик пандемии ещё далёк, и пока всем хватает медицинских возможностей. Что будет, когда счёт пойдёт на миллионы заболевших, а медики захлебнутся от наплыва, Бог знает, но до 25% выглядят вполне реальным.». Эпидемии ОРВИ случаются ежегодно по 2-3 раза, но на этот раз меры по изоляции городов всего Китая были БЕСПРЕЦЕДЕНТНЫЕ.
Последние две недели на всех мировых рынках резко повысилась активность, количество биржевых данных выросло в 2-3 раза. Из-за этого у многих пользователей терминал QUIK начал безбожно тормозить и виснуть. Сервера брокеров также с трудом переваривают повышение нагрузки и наплыв клиентов, желающих что-либо купить-продать (по слухам кто-то из брокеров висел аж целую неделю))) ).
На Смарт-Лабе появилось несколько постов с советами как избавиться от тормозов. И меня сильно поразила неадекватность предлагаемых действий. Люди готовы покупать новое железо за бешеные деньги, создавать какие-то командные файлы и заниматься прочей ерундой. А нужно всего лишь включить голову и разобраться в причинах тормозов. Когда программисты разрабатывают какую-либо программу, они всегда оптимизируют ее для работы на определенном «средне статистическом» компьютере, закладывая при этом кратный запас по производительности. Если вдруг эта программа (QUIK) начинает неадекватно тормозить и виснуть на обычном современном компьютере — значит дело почти наверняка не в железе, и даже не в самой программе, а в ее конфигурации (настройках). Т.е. нам нужно правильно настроить терминал QUIK , а уже потом апгрейдить железо, менять туда-обратно версии и бухтеть на Смарт-лабе.
Мультипликаторы – это производные финансовые показатели, которые позволяют оценить бизнес компании и сравнить ее с конкурентами.
Суть мультипликаторов в том, что мы приводим рыночную оценку (цена акций) компании и ее бизнес оценку (прибыль, выручка и т.п.) к единому знаменателю.
Условно говоря из двух (и более) цифр, мы получаем одну. И эту одну цифру легко оценить и сравнить с аналогичной цифрой у других компаний.
Поясню на примере:
1. Прибыль компании A – 100 000 рублей
2. Прибыль компании B – 1 000 000 рублей
Вопрос: акции какой компании лучше покупать?
Еще пример:
1. Капитализация компании С – 1 млрд. рублей
Вспомнился стих из 2008 )))))
Внезапно кончилась огромная халява,
Накрылась медным тазом, так сказать,
Куда не взглянешь — влево или вправо -
Везде убытки, некуда бежать.
Ещё вчера на рынке всё бурлило,
Толпа нерезидентов к нам неслась.
И вдруг — чума! Европа нас забыла,
Америка собою занялась.
И началось — коттеджи, лимузины,
Активы, смокинги — скорее все продать!
И чем заняться? Грабить магазины?
Бомбить вокзалы или фарцевать?
А как же рестораны? Осетрина?
Бид, офер, спред и — как её? — маржа?!
Контора в штопоре, расколота витрина.
Ко дну пошла пробитая баржа.
Команда в панике: одни оцепенели,
Другие мечутся и прыгают за борт,
А дальше только омуты и мели,
И нет спасенья даже вставшим в short!
Прощай мечта! Как ты была красива!
Надену кепку, «Приму» закурю,
Не надо «Хеннеси», налейте лучше пива -
И воблу дайте. Вновь её люблю.
Статья о том, как получить ежедневные исторические данные по акциям, используя yfinance, и минутные данные, используя alpha vantage.
Как вы знаете, акции относятся к очень волатильному инструменту и очень важно тщательно анализировать поведение цены, прежде чем принимать какие-либо торговые решения. Ну а сначала надо получить данные и python может помочь в этом.
Биржевые данные могут быть загружены при помощи различных пакетов. В этой статье будут рассмотрены yahoo finance и alpha vantage.
Yahoo Finance
Сначала испытаем yfianance пакет. Его можно установить при помощи команды pip install yfinance. Приведенный ниже код показывает, как получить данные для AAPL с 2016 по 2019 год и построить скорректированную цену закрытия (скорректированная цена закрытия на дивиденды и сплиты) на графике.
# Import the yfinance. If you get module not found error the run !pip install yfianance from your Jupyter notebook import yfinance as yf # Get the data for the stock AAPL data = yf.download('AAPL','2016-01-01','2019-08-01') # Import the plotting library import matplotlib.pyplot as plt %matplotlib inline # Plot the close price of the AAPL data['Adj Close'].plot() plt.show()