Блог им. AVBacherov
Самоизоляция и мои достижения❗️
Я уже писал, что самоизоляция — это прекрасный повод научиться чему-то новому. В своем посте «Чем я занимаюсь на самоизоляции❓», я достаточно подробно описал как реанимировал кое-какие свои старые компьютеры и ноуты, как я установил на них Linux Mint (с которого сейчас пишу настоящий пост), и как решил начать изучать Python, потому что у меня дома нет Matlab, а мне захотелось провести несколькорасчётов и исследований по измерению волатильности по метрике JPMorgan.
Сейчас я хочу поделиться результатами за чуть больше чем неделю. Я не каждый день занимаюсь изучением, поскольку на неделе ездил на работу, а дома, как всегда есть куча отвлекающих факторов и самым важным из них, конечно, являются дети. Но этот фактор я воспринимаю исключительно положительно 👍 Если суммировать все время которая я потратил на на ткущий момент по изучению питона, то получится около 20 часов.
Чему я научился❓
✅ Делать линейны и матричные вычисления
✅ Работать с массивами данных в питон
✅ Загружать данные из CSV файлов, сортировать их, систематизировать под свои цели
✅ Строить достойные графики для визуализации своих расчетов (смотри картинки)
✅ Писать и вызывать функции (в питоне их называют модули) для удобства расчётов
Мне пришлось познакомиться:
✅ с архитектурой языка питон (он реально несложный, хотя после matlab кое-какие вещи даются с трудом)
✅ с модулем pandas, который позволяет удобно обрабатывать входящие/загружаемые данные, сортировать их и сравнивать между собой
✅ с модулем numpy — модуль работы с массивами и матрицами
✅ с matplotlab — модуль для построения графиков
Текущим результатом стало:
✅ написание отдельных функций, которые легко считают взвешенную ожидаемую доходность, взвешенную волатильность, взвешенную ковариацию между двумя активами по рискметрике JPMorgan
✅ удобный импорт данных для анализа из CSV файлов, которые легко можно выгрузить с Finam, через их сервис — Экспорт данных
✅ использование этих функций и импорта мне позволило легко и быстро написать калькулятор, который делает текущий расчет ожидаемой доходности, волатильности, корреляции, беты, коэффициентов Шарпа, Трейнора, Альфы Дженсена
✅ ещё удалось написать небольшую программку, которая считает это в динамическом виде на историческом ряде. Несложно догадаться, что на вход я могу подать любой актив.
Уже сейчас я вижу, куда и что можно улучшить, а также что смоделировать. В целом, я доволен результатом, и надо бы посмотреть, какие существует в питоне оптимизаторы (в Excel эту надстройку называют «Поиск решений»).
Я не перестаю удивляться миру в котором мы живем. Сегодня действительно при желании можно научиться практически всему, чему угодно и интернет открыл для этого огромные возможности. При этом, если раньше, требовались серьезные затраты для решения задач, которые я описываю, не дюжие способности в программировании и превосходные знания в математике, сегодня можно кодить весьма просто, на далеко не новых машинах (как мой домашний MAC MINI 2011 года выпуска), с установленным на них бесплатным ПО (нехакнутым, а именно бесплатным)❗️
Однако!
Мир равных возможностей.
И да, плюс таки поставил.
Если бы Вы были бы, предположим, кандидатом филологических наук, на досуге ведущим кружки ораторского искусства, то я бы не воскликнул «Однако!». Я бы просто плюсанул за топик и в карму. И позавидовал бы эффективности Вашей самоизоляции.
А так что-то завидно стало бэкграунду в первую очередь.
По каким материалам его изучаете?
/я чуток начинал изучать по Яндекс.Практикуму — потратил те же часов 10-20, прогресс явно меньше вашего был/
И вопрос со звёздочкой. Хочу анализировать стакан в режиме реального времени и принимать решения (самостоятельные или алгоритмом) по сделке. Код на Питоне реально подключить к своему брокеру?
На вопрос со звездочкой. Как я понимаю, если у Вас есть возможность «общаться с брокером» через API, то проблем в реализации на python возникнуть не должно. Но я таких задач не решал. В моей практике они были не нужны.