Блог им. AVBacherov

Самоизоляция - время, чтобы научиться новому!

Бачеров Алексей. В гостях FinversiaСамоизоляция и мои достижения❗️

Я уже писал, что самоизоляция — это прекрасный повод научиться чему-то новому. В своем посте «Чем я занимаюсь на самоизоляции❓», я достаточно подробно описал как реанимировал кое-какие свои старые компьютеры и ноуты, как я установил на них Linux Mint (с которого сейчас пишу настоящий пост), и как решил начать изучать Python, потому что у меня дома нет Matlab, а мне захотелось провести несколькорасчётов и исследований по измерению волатильности по метрике JPMorgan.

Сейчас я хочу поделиться результатами за чуть больше чем неделю. Я не каждый день занимаюсь изучением, поскольку на неделе ездил на работу, а дома, как всегда есть куча отвлекающих факторов и самым важным из них, конечно, являются дети. Но этот фактор я воспринимаю исключительно положительно 👍 Если суммировать все время которая я потратил на на ткущий момент по изучению питона, то получится около 20 часов.

Чему я научился❓
✅ Делать линейны и матричные вычисления
✅ Работать с массивами данных в питон
✅ Загружать данные из CSV файлов, сортировать их, систематизировать под свои цели
✅ Строить достойные графики для визуализации своих расчетов (смотри картинки)
✅ Писать и вызывать функции (в питоне их называют модули) для удобства расчётов
Самоизоляция - время, чтобы научиться новому!
Самоизоляция - время, чтобы научиться новому!

Мне пришлось познакомиться:
✅ с архитектурой языка питон (он реально несложный, хотя после matlab кое-какие вещи даются с трудом)
✅ с модулем pandas, который позволяет удобно обрабатывать входящие/загружаемые данные, сортировать их и сравнивать между собой
✅ с модулем numpy — модуль работы с массивами и матрицами
✅ с matplotlab — модуль для построения графиков

Текущим результатом стало:
✅ написание отдельных функций, которые легко считают взвешенную ожидаемую доходность, взвешенную волатильность, взвешенную ковариацию между двумя активами по рискметрике JPMorgan
✅ удобный импорт данных для анализа из CSV файлов, которые легко можно выгрузить с Finam, через их сервис — Экспорт данных
✅ использование этих функций и импорта мне позволило легко и быстро написать калькулятор, который делает текущий расчет ожидаемой доходности, волатильности, корреляции, беты, коэффициентов Шарпа, Трейнора, Альфы Дженсена
✅ ещё удалось написать небольшую программку, которая считает это в динамическом виде на историческом ряде. Несложно догадаться, что на вход я могу подать любой актив.
Самоизоляция - время, чтобы научиться новому!
Самоизоляция - время, чтобы научиться новому!

Уже сейчас я вижу, куда и что можно улучшить, а также что смоделировать. В целом, я доволен результатом, и надо бы посмотреть, какие существует в питоне оптимизаторы (в Excel эту надстройку называют «Поиск решений»).

Я не перестаю удивляться миру в котором мы живем. Сегодня действительно при желании можно научиться практически всему, чему угодно и интернет открыл для этого огромные возможности. При этом, если раньше, требовались серьезные затраты для решения задач, которые я описываю, не дюжие способности в программировании и превосходные знания в математике, сегодня можно кодить весьма просто, на далеко не новых машинах (как мой домашний MAC MINI 2011 года выпуска), с установленным на них бесплатным ПО (нехакнутым, а именно бесплатным)❗️

★3
12 комментариев
Только хотел плюс поставить, но что-то меня дёрнуло глянуть профиль.
Однако! 
Мир равных возможностей.
И да, плюс таки поставил. 
Вестников (Витковский), а что у меня в профиле, что вызвало у вас чувство, которое побудило написать: «Однако!»?
Алексей Бачеров, бэкграунд впечатляющий. 
Если бы Вы были бы, предположим, кандидатом филологических наук, на досуге ведущим кружки ораторского искусства, то я бы не воскликнул «Однако!». Я бы просто плюсанул за топик и в карму. И позавидовал бы эффективности Вашей самоизоляции. 

А так что-то завидно стало бэкграунду в первую очередь. 
Интернет позволяет, только есть ещё лень матушка
avatar
Jurik, лень она же тоже помогает. Когда неохота считать руками, или проворачивать массив данных в ручном режиме через Excel, на помощь приходит программирование. Лень и любопытство — истинные двигатели прогресса.
Ох как вы хорошо продвинулись за 20 часов изучения Питона.
По каким материалам его изучаете?
/я чуток начинал изучать по Яндекс.Практикуму — потратил те же часов 10-20, прогресс явно меньше вашего был/
И вопрос со звёздочкой. Хочу анализировать стакан в режиме реального времени и принимать решения (самостоятельные или алгоритмом) по сделке. Код на Питоне реально подключить к своему брокеру?
Роман Поташев, учу просто через поиск в яндексе. Возможно, мне помогает то, что я уже пишу в том же Matlab. В поисковой строке делаю запрос, что хочу сделать, вылезает куча ссылок, читаю что пишут, потом перехожу на чтение о модуле, если не получается решить в лоб. В общем пляшу от задачи. Очень часто помогает почитать какую-нибудь статейку по теме, а потом прочитать углубленно об этом же и смежных темах в описании модуля, который планируется использовать для решения задачи.

На вопрос со звездочкой. Как я понимаю, если у Вас есть возможность «общаться с брокером» через API, то проблем в реализации на python возникнуть не должно. Но я таких задач не решал. В моей практике они были не нужны.
Роман Поташев, тут больше вопрос не к брокеру, а к QUIK. Всё-таки так или иначе данные вы из терминала получать будете. Но вроде на питоне есть библиотеки, чтобы с квиком работать…
avatar
 А в LibreOffice разве нет оптимизаторов? «Сервис» — «Подбор параметра» или «Сервис» — «решатель» — это не оно? Я смотрел в Libre 6.4.
avatar
Алексей, идея состоит в том, что решатель тоже работал на Питоне. Загружаешь данные, и получаешь ответ.
Алексей Бачеров, да наверняка для питона есть библиотеки, которые позволяют решать задачи оптимизации.
avatar
Алексей, да есть. Я уже нашёл библиотеку. Теперь надо разобраться как она работает и прекрутить. Я вот думаю попробовать написать калькулятор оценки облигаций по методу Джонакарта. Как раз к нему и прикрутить решатель.

теги блога Алексей Бачеров

....все тэги



UPDONW