logo
logo
Поясню [Dervish 15/02/2022 21:46]
Допустим, покупаются акции Газпрома. Создаем новую валюту с кодом GAZP. Единичка этой валюты будет означать одну акцию. Поэтому количество знаков после запятой - 0. Создаем новый счет, на котором будут учитываться приобретенные акции. Назовем этот счет "Портфель", валюта - GAZP. Мы готовы покупать акции.
 
Покупка выполняется переводом с рублевого счета (мы ведь за рубли покупаем, верно?) на созданный счет "GAZP - Портфель". В операции перевода указываем затраченную сумму в рублях и количество купленных акций. Когда будем продавать пакет (или часть пакета), то будет операция перевода со счета Портфеля на рублевый счет.
 
Уже сейчас мы имеем учет приобретенных акций в штуках. То есть, часть вопросов уже закрыта: мы знаем когда были приобретены акции, за сколько, количество ну и вид актива.
 
Идем на страницу валют и вводим курс пересчета между валютами RUB и GAZP. По сути, указываем текущую котировку акции. Проходит неделя, мы вводим новый курс. Следующий еще через неделю. И так далее. Теперь программа сможет пересчитать количество купленных акций в стоимость пакета по курсу (по котировке). Это можно сделать, например, на странице счетов. Выбираем рубли в поле "Пересчитать остатки в валюте" и видим стоимость пакета. Причем курс берется на дату, указанную в верхнем поле.
 
Совершенно аналогично поступаем с акциями иностранных компаний. Например, для акций Теслы создаем валюту с кодом TSLA, если мы приобретаем эти акции за доллары США, то и перевод на приобретение акций будет со счета, номинированного в долларах. А курсы (котировки) можно устанавливать к любой интересующей нас валюте, как к рублям, так и к долларам.
 
Это прекрасно будет работать для пакетов, приобретаемых на некоторую перспективу. Конечно, этот подход не годится для пакетов, которые несколько раз в течение дня покупаются и продаются. То есть, учет вести можно, но курсы пересчета устанавливаются только на дату, время для курса пересчета установить в программе невозможно.