Избранное трейдера Максим Файн
docs.google.com/spreadsheets/d/1BJajji0Z5-QFoH0gH4hgjJaCqOJGmDCz_1f8cCi3Fj8/edit?usp=sharing
Можно скопировать таблицу и более подробно разобраться в формулах.
Если вдруг, найдете неточность или ошибку, пишите в комментах, поправлю.
Если вдруг, поддержка какого либо брокера, утверждает, что у вас нарисовался минус по вариационке, потому что прошла валютная переоценка контракта, можете проверить их слова используя этот файл. Из практики, это касается одного желтого брокера, возможно другие тоже несут дичь.
Вдохновлялки на тему инвестиций:
Уильям Бернстайн — Если сможете
Уильям Бернстайн — Манифест инвестора
Джорж Клейсон — Самый богатый человек в Вавилоне
Алексей Марков — Хулиномика
Нассим Талеб — Одураченные случайностью
Нассим Талеб — Чёрный лебедь
Мэлкил — Случайное блуждание на Уолл-стрит
Рей Далио — Принципы. Жизнь и работа
Джон Богл — Руководство разумного инвестора
Александр Силаев — Деньги без дураков
Распределение активов:
Уильям Бернстайн — Разумное распределение активов
Фрэнк Армстронг — Инвестиционные стратегии 21 века
Ферри — Всё о распределении активов
Гибсон — Формирование инвестиционного портфеля
Меб Фабер — Глобальное распределение активов
Поведенческая теория:
Даниэль Канеман — Думай медленно… Решай быстро
Роберт Шиллер — Иррациональный оптимизм
Терри Бернхем — Подлые рынки и мозг ящера
Морган Хаузел — Психология денег
Фундаментальный анализ:
import requests import datetime import pathlib SECIDs = ["GAZP", "BANEP", "LKOH"] DISK = "E" for SECID in SECIDs: from_date = "2020-05-04" to_date = "2005-01-03" while str(to_date) != from_date: to_date = str(to_date) to_date = to_date.split('-') a = datetime.date(int(to_date[0]), int(to_date[1]), int(to_date[2])) b = datetime.timedelta(days=140) to_date = a + b pathlib.Path("{}:/{}/{}".format(DISK, "Database_MOEX", SECID)).mkdir(parents=True, exist_ok=True) filename = SECID + "_" + str(to_date) + ".csv" with requests.get("http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/tqbr/securities/{}.csv?date={}".format(SECID, to_date)) as response: with open("{}:/Database_MOEX/{}/{}".format(DISK, SECID, filename), 'wb') as f: for chunk in response.iter_content(): f.write(chunk)Для начала пройдемся по его плюсам и минусам. Самый главный минус, что этот парсер качает только определенный период, который уникален для каждой акции, судя по всему для увеличения этого периода надо кинуть бирже на лапу:), и то что информация предоставляется за день, теперь перейдем к плюсам: можно выкачивать историю за определенный период для нескольких инструментов сразу (их количество ограничивается лишь количеством инструментов на мосбиржи), есть возможность назначать диск для сохранения информации, быстрота выгрузки данных.
Все мы знаем, что зарубежные брокеры не являются налоговыми агентами в РФ, соответственно, отчитываться по доходам и платить налоги с них мы должны самостоятельно. Вопрос отчитываться или нет у меня не стоял, поэтому, чтобы не тратить каждый год уйму времени на достаточно трудоемкие расчеты, я написал скрипт, который берет отчеты Interactive Brokers и формирует на основе них пояснительную записку со всеми пояснениями и расчетами для налоговой. Вам останется только приложить этот файл к декларации 3-НДФЛ, а в нее саму внести лишь два пункта (см. ниже).
Ограничения по применениюПоскольку я занимаюсь долгосрочными инвестициями, я не использую такие инструменты, как фьючерсы, опционы, а также никогда не использую плечо и сделки SHORT. В связи с этим, такие операции скриптом не поддерживаются. Если у кого-то есть желание — могут дописать сами.
Подготовка к использованию