Избранное трейдера Petr S
Привет, после небольшого перерыва возвращаемся к бэктестам. Добавим к простой трендовой стратегии на Мосбирже 4 варианта выхода из позиций с возрастающим уровнем сложности. Для первых двух стратегий особых навыков не требуется, третья требует парсинга Телеграма и для последней потребуется обученная нейронная сеть при разметке сообщений.
Это продолжение рассуждений о риске и доходности акций на Московской бирже: https://smart-lab.ru/blog/625771.php Основные выводы из первой части:
1) Увеличение риска (стандартного отклонения) приводит к снижению будущей доходности акций, а не наоборот;
2) Стратегия, выстроенная только на основе исторической волатильности, несамостоятельна и проигрывает индексу.
В этот раз возьмем за основу трендовую стратегию в самом простом виде – на пересечении 1-месячной и 3-х месячной скользящей средней. И будем снижать риск разными способами с целью поднять доходность, Шарп, сократить время боковиков и корреляцию с бенчмарком. Об эффективности трендовых стратегий в России можно почитать здесь https://smart-lab.ru/blog/611263.php на глобальных ETF здесь
06.08.2020 прошло закрытие реестра самой высокодивидендной в этом году компании: Телеграф ао и Телеграф ап (Центральный Телеграф) в режиме Т+2.
Дивидендная доходность АО составила 40,9%, АП 41,9%
Яуже писала о дивидендах этого эмитента zen.yandex.ru/media/id/5e9c040a5e355f55ca828215/centralnyi-telegraf-dividendnaia-dohodnost-svyshe-40-5f095c334eb46835c8fb2869 в ЯндексДзен.
Давайте посмотрим, что происходило с акциями на следующий день, когда акции торговались уже без дивидендов.
Первый красный прямоугольник: СД эмитента объявил дивиденды в размере 11,83 рубля на АО и АП составляла 63---68%, но котировки отреагировали бурным ростом и ДД снизилась до 43---40%, что тоже редкость для российского фондового рынка.
Вначале о грустном. Не понимая теорию нейросетей (НС) у вас вряд ли получится построить на ней ТС. Поэтому лучше для начала почитать теорию, например, Хайкин Саймон. «Нейронные сети. Полный курс». Книга уже достаточно старая и в ней нет новомодных веяний, но она дает базовые представления о НС.
И второе, мы будем далее для построения систем использовать пакет scikit-learn для Python. рекомендую ознакомиться. Есть и более продвинутые пакеты, скажем, TensorFlow и др., но их использовать мы не будем, и ограничимся более простым scikit-learn.
Теперь о том, чего здесь не будет. Здесь не будет теории НС, разве эпизодически и оч кратко. Здесь не будет описания пакетов Python, работы с графикой и пр. Обо всем этом вы можете прочесть в интернете, книгах, и документации Python.
В топике мы будем обсуждать только применение НС к ТС и их построению.
Так как тема достаточно велика, в один топик не влезет, сегодня мы займемся самыми общими вопросами. Следующая часть будет недели через две, раньше не получается.
Всем привет!
Вдохновился данным постом ( https://smart-lab.ru/blog/616708.php ) и решил немного подпилить код, пока карантин делать нечего.
Кто не знал как скачивать котировки по одной компании вручную — сайт для скачивания котировок по одному тикеру (финам):
www.finam.ru/profile/moex-akcii/gazprom/export/
Тут через питон скачиваем котировки из текстового файла, в который вносим желаемые тикеры компаний:
Сайт для скачивания среды программирования Python (PyCharm), пойдет обычная версия:
www.jetbrains.com/ru-ru/pycharm/download/#section=windows
Файлы из видео, в том числе и со списком тикеров:
yadi.sk/d/R3BSbFjV3Pfydg
Код программы:
import requests import datetime import pathlib import apimoex import pandas as pd board = 'TQBR' with open("C:/PYEX/TICK.txt", "r") as TICKs: TICKs = [line.rstrip() for line in TICKs] pathlib.Path("C:/PYEX/Database/{}".format(board)).mkdir(parents=True, exist_ok=True) process = 0 with requests.Session() as session: for TICK in TICKs: process = process + 1 print((process / len(TICKs)) * 100, ' %') data = apimoex.get_board_history(session, TICK, board=board) if data == []: continue df = pd.DataFrame(data) df = df[['TRADEDATE','CLOSE']] df.to_excel("C:/PYEX/Database/{}/{}.xlsx".format(board,TICK), index=False)
Инсайд по нефти.
Честно говоря, я немного в шоке от своего сегодняшнего открытия.
Помните, я рассказывал про громадный фонд United States Oil Fund (он же ETF с тикером USO)?
Так вот.
Во-первых, Bloomberg написал, что падение нефти 20 апреля произошло не из-за него. Фонд к тому времени уже переложился из майских фьючерсных контрактов в июньские еще в середине апреля (Напомню, фонд не выходит на поставку нефти, а просто перекладывается из ближних фьючерсов в дальние, т.е. делает roll-over).
Во-вторых (и это самое интересное), В ОТКРЫТОМ ДОСТУПЕ есть информация, что этот фонд сегодня (27 апреля), завтра (28 апреля) и послезавтра (29 апреля) распродаёт следующий, июньский контракт, и переходит в следующие фьючерсы.
Что в моей голове не укладывается… Если такая информация есть в открытом виде, её же будут «фронт-раннить» все спекулянты, которые умеют читать! Это же по сути инсайд!
Еще была информация, что хедж-фонды стали сейчас наращивать лонги по нефти. Логично. Хедж-фонды часто входят в рынок против таких вот потоков, т.к. можно войти с минимальными издержками, а когда поток иссякает – они двигают рынок так, что мало потом не кажется. Я знаю это, потому что когда я работал в ЦБ, против нас делали ТАКЖЕ.
Всех с наступающим (и никаких отступлений!) Днем Защитника Отечества ака Денем Советской Армии и Военно-Морского Флота!
И за тех, кто в море! Ну а те кто в ЗОЖе, начинаем готовить себе замену — искусственного трейдера.
Важнейшей частью любого алгоритма машинного обучения являются данные, на которых происходит обучение, а еще важнее качество этих данных.
Для приготовления искусственного трейдера нам понадобятся следующие ингредиенты:
1.Установленная платформа Jatotrader (FREE или круче) версии 2.9.3 или выше. Можно обойтись и без установки Джато и взять тестовый набор данных отсюда. Описание содержимого файлов датасета — в конце топика.
2.Питон.Jupyter Notebook (Anaconda3)
Короче говоря, Jatotrader мы используем как предварительный обработчик и генератор данных для машинного обучения (МО), а Python для создания модели, обученной на этих данных. Возможности Jatotrader позволяют создавать частотные графики из тиковых данных, примерно такого вида