AzEs
AzEs личный блог
06 января 2018, 21:44

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

В качестве новогоднего подарка коллегам-инвесторам решил поделиться программой, которую сам написал, в короткое время освоив 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 (т.е. «как есть») и единственное, что я могу гарантировать, это то, что она занимает место на диске. Есть недостатки (о каких-то уже написал: не поддерживаются пока облигации, двоятся сделки при использовании иерархического списка, иногда странно считается средняя цена позиции и т.п.) По мере возможности буду исправлять и дорабатывать. Сам я активно её использую (примерно полгода).

Всем успешных инвестиций!
14 Комментариев
  • Иван Иванов
    06 января 2018, 21:59
    Автор зачем писать stand alone application на java?
    Это мало кто сейчас делает, с вашими навыками вам надо сайт с бекэндом на java писать.
  • Storm Hold
    06 января 2018, 22:34
    Пока jarfix-ом ОС не прибил, не запустился. И сколько писать такую программу начинающему java-программисту?
  • Федор Сумкин
    09 января 2018, 20:42
    Спасибо за НГ подарок! Программа добротная, видно что сделано для себя. Идеи и замечания последуют) 
  • Федор Сумкин
    09 января 2018, 22:34
    Вот и первая идея: сейчас скриншот и комментарий к сделке видны только в окне редактирования. Если они будут непосредственно на закладке «Сделки» под таблицей, их будет удобно просматривать просто переходя от одной строки таблицы к другой (для чего-то же сделки и сейчас можно выделить?)

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

    Да, и в разделе «Портфель» в таблице отдельной строкой суммарные дивиденды!
  • Федор Сумкин
    10 января 2018, 22:28
    Спасибо, будем ждать! Да, и в разделе «Портфель» (а можно и в «Сделках») не помешает столбец «Текущая цена», чтобы видеть текущую цену одной бумаги, а не всего пакета.
  • user_n
    29 мая 2018, 21:46
    Здравствуйте! Продолжаете ли развивать/усовершенствовать программу?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн