Простите за банальность, работа с данными начинается с их получения из внешнего источника. Мы будем получать их из CSV-файла архива котировок, скачанного с сайта Финам. Для работы с другими источниками вам надо будет немного изменить программу.
Я уже давно не работаю непосредственно с CSV, и храню все данные в БД SQLite. Поначалу я хотел написать программу чтения CSV с нуля, но выяснилось, что я уже подзабыл как это делается, однако нашелся рояль в кустах — моя старая библиотека читающая данные из CSV-файла непосредственно в программу. Ее мы и будем использовать.
Собственно, Python и ориентирован на работу с библиотеками, и не нужно знать что там внутри, важно только уметь с ними работать, а сами программы с использованием библиотек станут очень простыми.
Для начала качаем с Финам историю в формате CSV-файла следующего вида:
<TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL> SPFB.Si-12.20,1,04/05/20,10:00:00,76900.0000000,76990.0000000,76900.0000000,76990.0000000,3 SPFB.Si-12.20,1,04/05/20,10:06:00,77695.0000000,77695.0000000,77400.0000000,77400.0000000,8 SPFB.Si-12.20,1,04/05/20,10:08:00,77781.0000000,77781.0000000,77700.0000000,77750.0000000,30 SPFB.Si-12.20,1,04/05/20,10:13:00,78088.0000000,78098.0000000,78088.0000000,78098.0000000,6 SPFB.Si-12.20,1,04/05/20,10:14:00,78100.0000000,78100.0000000,78100.0000000,78100.0000000,1
Продолжаю совершенствовать свою базу SQL и автоматизированные средства расчетов.
В июне я написал пост: "Автоматизация — ключ к успешному инвестированию. Python и SQL приходят на помощь❗️", где описал как и зачем я поднял собственный SQL сервер, и какие задачи он мне поможет решить.
Теперь у меня есть собственная база котировок по всем интересующим меня ценным бумагам.
Чтобы упростить себе жизнь в части расчетов параметров облигаций, следующим этапом развития данного направления, конечно, было желание написать свой калькулятор для оценки облигаций. Для этого в SQL базу пришлось добавить новые таблицы, с параметрами облигаций. С ними пришлось покопаться, потому-что не было понимания, какие именно графы мне понадобятся изначально. После нескольких вариациях я нашел оптимальное для себя решение.
Как и любой исследователь-инвестор, я сталкиваюсь с необходимостью обрабатывать огромное количество различных данных, чтобы принять взвешенное инвестиционное решение.
И одна из самых трудоемких частей работы — это сбор данных, их систематизация и подготовка для работы. Конечно, очень хочется как можно больше автоматизировать данную работу, чтобы тратить на это как можно меньше времени.
Я уже рассказывал, что на самоизоляции осваивал Python, и демонстрировал, что мне удалось написать профессиональный инвестиционный калькулятор, который рассчитывает различные финансовые показатели и сравнивает между собой два актива. Кстати, в последней его версии я добавил возможность учета комиссий и налогов. Это позволяет намного легче сравнивать NET результаты для инвестора, особенно если в стратегии по ДУ есть вознаграждение управляющего за успех, а в ПИФах комиссия за приобретение и погашение паев.
Все первичные данные для сравнения приходилось формировать в ручном режиме — скачивать котировки в файл, потом их обрабатывать, и уже потом считать результаты. И даже немало известная программа
Продолжаю сидеть на самоизоляции и учусь программировать на Python. Написал полноценный калькулятор для сравнения двух любых активов.
Считает такие показатели как:
✅ Ожидаемая доходность
✅ Волатильность
✅ Коэффициент Шарпа для каждого актива
✅ Корреляцию
✅ Бету
✅ Альфу
✅ Долю волатильности исследуемого актива в базовом (удобно для сравнения с индексными фондами или индексами, если их брать в качестве базового актива)
✅ Коэффициент Трейнора
✅ Альфу Дженсена
Можно задать период на котором необходимо произвести расчеты. Строить графики для сравнения.
Самоизоляция и мои достижения❗️
Я уже писал, что самоизоляция — это прекрасный повод научиться чему-то новому. В своем посте «Чем я занимаюсь на самоизоляции❓», я достаточно подробно описал как реанимировал кое-какие свои старые компьютеры и ноуты, как я установил на них Linux Mint (с которого сейчас пишу настоящий пост), и как решил начать изучать Python, потому что у меня дома нет Matlab, а мне захотелось провести несколькорасчётов и исследований по измерению волатильности по метрике JPMorgan.
Сейчас я хочу поделиться результатами за чуть больше чем неделю. Я не каждый день занимаюсь изучением, поскольку на неделе ездил на работу, а дома, как всегда есть куча отвлекающих факторов и самым важным из них, конечно, являются дети. Но этот фактор я воспринимаю исключительно положительно 👍 Если суммировать все время которая я потратил на на ткущий момент по изучению питона, то получится около 20 часов.
Если судить по отчетности девелоперов или новостным релизам Росреестра, доля ипотеки далека от 100% и редко когда превышает 40–60%. Получается, ей еще есть куда расти, скажете вы, но – не торопитесь.
Сколько раз я ни заявлял, что, кроме ипотеки (да еще субсидий, прежде всего маткапитала), на рынке не осталось спроса, мало кто мог понять ход моих рассуждений.
На мой уточняющий вопрос, а откуда у народа оставшаяся половина денег (а речь, между прочим, о триллионах рублей), шли невнятные предположения о том, что «накопили».
Поэтому для лучшего понимания истинной роли кредитования начнем с конкретного примера. Предположим, банк выдал Матвею 5 млн руб. на покупку квартиры на вторичном рынке. Проследим дальнейшее движение этих денег и основные типы сделок на рынке недвижимости.
Цепочка сделок на рынке недвижимости
1. Матвей взял ипотечный кредит на 5 млн руб. / купил вторичку у Кости за 5 млн руб.
2. Костя взял эти 5 млн, добавил 2 млн накоплений / купил вторичку у Натальи за 4 млн руб.