Я создал убийцу Morningstar!
Всем привет!
Как мы знаем Уоррен Баффет ушел на пенсию, а "свято место пусто не бывает", поэтому вот и я "тут как тут" со своим "прогрессивным и революциооно новым" убийцей всех других аналайзеров акций! :)
Конечно, это все шутки! Но кое-что, хоть и почти совсем ничего, со стариком Баффетом у нас есть. Я из тех людей, кто считает, что капитал должен работать, а не лежать под подушкой.
Сегодня я хочу показать свой первый полноценный пет-проект (ну как мой... ChatGPT и Gemini поспорили бы чей он на самом деле ).
Проблема: Инвестиции есть, а алгоритма нет
За годы в инвестициях я прочитал гору книг и статей, посмотрел сотни видео на YouTube. Все они рассказывают, что такое EPS, Revenue или EBITDA. Но почти никто не дает хоть какого-то алгоритма: как именно собрать цифры в одно конкретное решение — покупать акцию или нет? Или просто говорят тебе купить такую-то акцию, а почему - нет ответа.
Сначала я пошел по классическому пути: покупал то, что советуют гуру из YouTube, потом чутка поумнел и собрал свою собственную гигантскую таблицу в Excel. Для каждой компании я анализировал:
- 8 фундаментальных метрик.
- тренды маржинальности.
- история за 5–10 лет.
В целом, это работало, но был один жирный минус: ручной ввод данных. Только представьте: вы тратите несколько часов, вводя цифры за 10 лет, чтобы в конце понять, что компания — мусор и вообще не стоит вашего внимания. А еще иногда хотелось чутка накинуть компании баллов, ведь она мне так нравится и например, ROA у нее буквально чуть-чуть не дотягивает до какой-то границы.
От скрипта в терминале до полноценного web application
Как инженеру (и да, я не разработчик, я QA), мне довольно быстро надоело страдать, и я решил написать Python-скрипт, который тянул бы данные через API и считал всё сам. Зачем же мне руками из таблиц Yahoo или Google finance перепечатывать данные, если я могу все эти данные забрать через АПИ?
Но тут я совершил неожиданное для себя «открытие»: почти все сервисы дают смотреть данные в браузере бесплатно, но как только ты хочешь забрать их через API — плати десятки, а иногда и сотни долларов в месяц. Поэтому на первом этапе для своих нужд я воспользовался бесплатным тарифом FMP и как фолбэк использовал скрапер Yahoo finance.
Со старта это был просто скрипт, который запускался только локально и выплевывал цифры в терминал.
Показал парочке друзей - им понравилось. Я стал развивать скрипт дальше и понял, что на одном бэке я далеко не уеду - иногда хочется увидеть какие-то графики. А еще хотелось, чтобы была возможность проверить компанию, сидя где-то вне дома (не за компом).
Так начался мой путь в разработку UI, хостинга и падающих деплоев .
Дизайнер из меня так себе, поэтому интерфейс мы «галлюцинировали» вместе с нейросетями . Потом были недели отладки логики под разные компании и их… творческие, но вполне легальные методы ведения отчетности. Пока это был ексель файлик, то я просто пропускал такие компании, т.к. еще и разбираться с тем как это маржа может быть отрицательной или почему ROE улетает в небеса для некоторых компаний, и как это считать, просто не было времени.
Потом еще какое-то время ушло на то, чтобы разобраться а почему это у меня локально все работает, а вот на сервере оно даже не деплоится...
Но что в итоге?
Встречайте OkStock! (тут я выхожу в черной водолазке, джинсах и ньюбеленсах )
OkStock — это мой MVP и своего рода «фильтр адекватности» для компаний.
В чем суть: Приложение делает быстрый sanity check. Оно не скажет вам «купи это и разбогатей», но оно за 2 секунды покажет, заслуживает ли компания глубокого изучения или её лучше закрыть и забыть. Больше не нужно часами искать данные по разным фин отчетам и вводить их в Excel, чтобы отсеять явный шлак.
Видимо, тут стоит еще накинуть немного техно вайба...
Проект написан на Python (FastAPI) и HTML, есть интеграция с постгре, прикручен редис, чтобы избежать повторных апи запросов и чуть ускорить отображение данных. Задеплоено это все на Render.
Код местами, как я уже говорил, «навайбкожен», наверняка много странных, спорных и неоптимальных решений, но это работает и решает мою ежедневную боль.
Зачем я здесь?
Я наконец-то довел проект до стадии, когда его не стыдно (но всё еще страшно) показать людям. Я буду очень благодарен за любой фидбек — и по части UI/UX, и по части финансовой логики. Если вы инвестор и у вас есть свой «чек-лист» проверки акций — напишите в комментариях или в фидбэк в приложении, мне важно понять, чего не хватает в OkStock.
Приложение пока не лучшим образом адаптировано под мобильное устройство, поэтому, если решитесь открыть его с мобилки, то берегите глаза
Попробовать инструмент в деле можно здесь: https://okstock.app/
Пожалуйста, будьте со мной нежными — это мой первый раз :)