Блог им. AzEs

Дневник инвестора (0.8.7)

    • 06 января 2018, 21:44
    • |
    • AzEs
  • Еще
В качестве новогоднего подарка коллегам-инвесторам решил поделиться программой, которую сам написал, в короткое время освоив Java. Это дневник инвестора, позволяющий вести заметки о компаниях, тикерах, сделках и корпоративных событиях. Интеграций пока две: возможность загрузки сделок из QUIK и получение текущих котировок (с 15-минутным запаздыванием) через официальный API Московской биржи. Поддерживаются только тикеры на споте, кроме облигаций (руки не дошли сделать). Возможно кому-то ещё эта программа покажется удобной (мне именно такого функционала не хватало, что и побудило к созданию). Работает везде, где установлен Oracle Java Runtime Environment (JRE) версии не ниже 1.8. Windows, Linux; на Mac не пробовал, но тоже должно. Для установки JRE, если у кого нет, плясать отсюда.

Ссылка для скачивания самой программы Дневник инвестора. Это jar-файл, который в большинстве случаев запускается просто двойным щелчком мыши. Если при этом ничего не происходит, значит у вас не установлен JRE, либо система не знает, где расположен его главный файл java.exe.

После запуска видим основное окно программы:

Дневник инвестора (0.8.7)

Тут есть разделы Портфель, Сделки, События и Настройки.

Для начала рекомендую зайти в Настройки:

Дневник инвестора (0.8.7)

Здесь можно создать теги, которые будут присваиваться событиям (позже сделаю то же для компаний).
Важная галочка — «Загружать новые тикеры», рекомендую включить, чтобы как минимум однократно загрузить новые тикеры с сайта биржи (те, которые идут «из коробки» могли несколько устареть). Если галочка выключена, при обновлении будут загружаться только цены для уже существующих в программе тикеров.
Начиная пользоваться программой, вы не становитесь к ней привязаны: кнопка «Экспорт всех сделок» выгружает все сделки в формат csv, который потом можно передать куда-то ещё (в Excel или LibreOffice, например):

Дневник инвестора (0.8.7)

Остальной экспорт/импорт предназначен только для обмена информацией с коллегами — вы можете передавать созданные события или комментарии и ссылки на сайты компаний своим коллегам по инвесторским интересам (тоже в виде файлов, но уже специального формата, который понимает программа). Галочки под этими кнопками показывают, что будет происходить, если вы загружаете полученные от кого-то файлы с событиями и компаниями, которые у вас уже есть. Здесь происходит только массовая выгрузка по всем событиям или компаниям.
Пока не советую включать опцию «Использовать иерархический список сделок», т.к. из-за бага с используемой сторонней библиотекой (не моей разработки) сделки могут начать двоиться при отображении (это не влияет на их количество в базе данных, но портит картинку). Пока не смог обойти эту проблему, но разработчики библиотеки о ней знают.
Остальные настройки говорят сами за себя. Если вы сидите за прокси-сервером, придётся прописать хост и порт (прокси с авторизацией пока не поддерживается).
Последнее: каталог, где программа хранит свою базу данных и логи (а также резервные копии и экспортируемые файлы), находится в домашнем каталоге пользователя с названием mytradediary. То есть в Windows это, как правило, c:\users\Username\mytradediary, а в Linux — /home/Username/mytradediary.

После выхода из Настроек рекомендую создать Портфель нажатием соответствующей кнопки:

Дневник инвестора (0.8.7)

Основной портфель — тот, который будет отображаться по умолчанию. Код клиента должен совпадать с соответствующим кодом из QUIK — если у вас несколько портфелей/счетов, то при импорте сделок из QUIK они автоматически будут раскиданы по соответствующим портфелям (иначе все попадут в тот, который отмечен, как основной).

После сохранения портфеля (и возможно создания ещё нескольких) самое время открыть список Тикеров и нажать кнопку «Загрузить котировки»:

Дневник инвестора (0.8.7)

При этом обновятся данные по существующим тикерам и загрузятся новые. Если добавляете заметки к тикерам, не забывайте сохранять их нажатием на кнопку «Сохранить».
При желании можно отредактировать все данные вручную, открыв тикер двойным щелчком:

Дневник инвестора (0.8.7)

Если отметить несколько тикеров, как «Избранное», а потом включить соответствующую опцию в Настройках, то в интерфейсе программы вы будете видеть только избранные тикеры. То же самое можно сделать и с компаниями:

Дневник инвестора (0.8.7)

Интересная фича: можно добавлять ссылки на ресурсы (сайт компании, форум, страница раскрытия информации и пр.)

Дневник инвестора (0.8.7)

Это не обязательно делать из окна редактирования компании: достаточно открыть контекстное меню правой кнопкой мыши на компании в списке, либо сразу на позиции в портфеле: так можно оперативно добавлять новые ссылки и открывать старые (при этом запустится ваш браузер по умолчанию).

Перейдём в раздел сделок:

Дневник инвестора (0.8.7)

При создании сделки положительное число лотов означает куплю, отрицательное — продажу:

Дневник инвестора (0.8.7)

К сделке можно добавлять скриншоты (из буфера обмена либо из файла) — любое количество.
Если требуется учесть ввод-вывод средств, нужно переключиться в режим «Деньги»:

Дневник инвестора (0.8.7)

При нажатии кнопки «Импорт из QUIK» вы получите инструкцию по правильной настройке терминала:

Дневник инвестора (0.8.7)

Ниже показан последний раздел, «События»:

Дневник инвестора (0.8.7)

Имеются фильтры по датам, компаниям, тегам. При редактировании текста события опять же не забывайте нажимать «Сохранить».
Кнопка Экспорт на выбранных событиях (их можно выбрать несколько — с кнопкой Shift или Ctrl) скопирует в буфер обмена некий код, который можно передать, например, через мессенджер своим коллегам, а они скопируют этот код, нажмут кнопку Импорт и загрузят соответствующее событие (или события) в свои дневники. Впоследствии хочу автоматизировать этот обмен, интегрировав с Телеграмом. Пока же cut&paste.

Создать новое событие достаточно просто:

Дневник инвестора (0.8.7)

Если событие по компании, акции которой есть у вас в портфеле, наступает сегодня, то соответствующие теги события отобразятся рядом с названием акции в портфеле.

Если будут интересные идеи, комментарии, замечания — сыпьте в комментарии. Не обещаю, что что-то реализую (если и реализую, то не скоро), хотя я периодически выпускаю обновления программы — всё же это хобби (программирование), поэтому когда есть время/желание, тогда и доделываю. Как говорится, программа предоставлена as is (т.е. «как есть») и единственное, что я могу гарантировать, это то, что она занимает место на диске. Есть недостатки (о каких-то уже написал: не поддерживаются пока облигации, двоятся сделки при использовании иерархического списка, иногда странно считается средняя цена позиции и т.п.) По мере возможности буду исправлять и дорабатывать. Сам я активно её использую (примерно полгода).

Всем успешных инвестиций!
5.7К | ★19
14 комментариев
Автор зачем писать stand alone application на java?
Это мало кто сейчас делает, с вашими навыками вам надо сайт с бекэндом на java писать.
avatar
Иван Иванов, я предпочитаю чувствительную информацию (сделки, деньги и пр.) держать локально, а не на абстрактном сайте, который к тому же когда-нибудь может прекратить работу. Так что данный «дарёный конь» может стоять только в личной конюшне :)
Понимаю, что надо бы крутить интеграцию с источниками новостей, но данные хранить — только локально. Изначально программа писалась для использования очень ограниченным кругом инвесторов, а сайт предполагает широкий круг, монетизацию, оказание услуг и поддержку. Это не тот вариант. Просто «блокнот инвестора».
avatar
Пока jarfix-ом ОС не прибил, не запустился. И сколько писать такую программу начинающему java-программисту?
avatar
Storm Hold, зависит от таланта. У меня с этим туго, где-то три месяца на освоение и базовый функционал, далее ещё 8 месяцев допиливал, потом просто использовал и ловил баги. Самое трудное изначально — определиться с набором библиотек и какой фреймворк использовать (если вообще надо). Пару раз переписал почти с нуля :)
avatar
Спасибо за НГ подарок! Программа добротная, видно что сделано для себя. Идеи и замечания последуют) 
avatar
Вот и первая идея: сейчас скриншот и комментарий к сделке видны только в окне редактирования. Если они будут непосредственно на закладке «Сделки» под таблицей, их будет удобно просматривать просто переходя от одной строки таблицы к другой (для чего-то же сделки и сейчас можно выделить?)

И еще: если сделка это «деньги», то столбцы «операция» и «наименование» пустые. Можно было бы заполнять их вручную, или полуавтоматически, например «операция» — «дивиденды», «наименование» — "...(название компании)"

Да, и в разделе «Портфель» в таблице отдельной строкой суммарные дивиденды!
avatar
Да, спасибо, много дельного. Дивиденды напрашиваются отдельной сущностью, я над этим думаю. Скриншоты и комментарии сделать проще, постараюсь в первую очередь.
avatar
Спасибо, будем ждать! Да, и в разделе «Портфель» (а можно и в «Сделках») не помешает столбец «Текущая цена», чтобы видеть текущую цену одной бумаги, а не всего пакета.
avatar
Выложил обновлённый файл (та же ссылка), добавил пока отображение столбца «Заметки» в таблице сделок, чтобы их текст сразу было видно.
Столбцы в таблице сделок для удобства можно менять местами и изменять их размер. И порядок, и размер сохраняются между запусками программы.
avatar
Здравствуйте! Продолжаете ли развивать/усовершенствовать программу?
avatar
Илья, приветствую,
да, развиваю, про новую версию написал в блоге: smart-lab.ru/blog/467065.php
avatar

Читайте на SMART-LAB:
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 10 марта 2026 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  RuTube,   Smart-lab ,  ВКонтакте ,  Сайт
Фото
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
Фото
Обзор рынка облигаций
Если не считать бури вокруг Евротранса, то неделя прошла спокойно. Рынок продолжает взвешивать ситуацию с дефицитом бюджета и способами...
Фото
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...

теги блога AzEs

....все тэги



UPDONW
Новый дизайн