Избранное трейдера Кайгородов
Надеюсь получить интересные идеи и конструктивную критику от участников на мои попытки подобрать алгоритмы возврата к среднему (Mean reversion).
Вкратце, что я знаю о системах возврата к среднему: системы, построенные на одном инструменте, являются контр-трендовыми, потому что тренд отклоняет график от средней, а заходить в сторону к средней, значит заходить против тренда. В этом же заложен главный риск таких систем – длинный тренд приводит к долгой и большой просадке. Другая вариация систем возврата к среднему – арбитраж, когда вместо одного инструмента рассматриваются два и более. В этом случае под «средней» понимается некий синтетический курс, зависящий от курсов рассматриваемых инструментов. Расхождение какого-либо из инструментов от этого синтетического курса возможно в случае нарушения глобальной корреляции, что бывает не часто, но пренебрегать таким риском нельзя.
Примером таких систем могут быть парный арбитраж на коррелируемых инструментах, календарный арбитраж, треугольники кросс-курсов валют форекса, или арбитраж бумаг, входящих в индекс, против самого индекса.
git clone https://github.com/eenden/my_case_tk.git cd my_case_tk python view.pyРекомендуется создать виртуальное окружение с помощью virtualenv и использовать его. Зависимости, как обычно, в файле requirements.txt
Всем привет!
Вдохновился данным постом ( 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)
Начинающие (да и не только) инвесторы часто задаются вопросом о том, как отобрать для себя идеальное соотношение активов входящих в портфель. Часто (или не очень, но знаю про двух точно) у некоторых брокеров эту функцию выполняет торговый робот. Но заложенные в них алгоритмы не раскрываются.
В этом посте будет рассмотрено то, как оптимизировать портфель при помощи 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')
Уиии, время психологической статьи с очень оригинальным названием. Как же любят «специалисты» в этом деле переливать из пустого в порожнее. Тошнит читать одинаковые рецепты в интернете, написанные копирайтерами по 30 рэ за тысячу знаков. Как же много психологических опусов приходится изучать трейдеру в надежде найти там какие-то методы, что спасут и от внутреннего азарта, и от невыносимой боли внутри, когда ты теряешь деньги.
Я прочитал уйму этих книг, смотрел вебинары известных психологов и могу вам сказать точно — жаль потерянного времени. Психологические советы в большинстве случаев оказывают эффект, когда человеку с оторванной только что рукой наклеивают сверху пластырь и, утешающее, гладят по голове. Причем с многозначительным видом и проникновенным заглядыванием в глаза.
Великолепно, вы мне очень помогли, спасибо. В результате, пришлось самому, с нуля разрабатывать психологический арсенал, позволяющий справиться с самим собой. Ибо надежды на сторонние методы не оправдались. Все чушь и бред. Поэтому я поделюсь парочкой личных наработок. Возможно, они кому-то пригодятся.