Как я дошел до этого:
Около трех лет как занимаюсь инвестициями, перепробовал разное, в итоге остановился пока на российских акциях.
Три брокера и около десяти счетов (меньше не получается, история не про это :))
В итоге разбираться с этим довольно хлопотно, средства анализа у брокеров либо слабые, либо их нет, как например у Финам, а собрать все вместе совсем беда.
Что хотелось бы или Требования к системе:
1. Многовалютный учет (инструменты в любых валютах и отчетность в любой валюте по выбору)
2. Консолидация отчетности по нескольким счетам
3. Поддержка маржинальных счетов
4. Расчет стоимости по ФИФО
5. Автоматическая загрузка сделок из отчетов Брокеров (я ленивый,
а сделок довольно много, особенно если для ФИФО все разбивать)
6. Отчетов много и разных, желательно что бы можно было самому сделать
7. Расчет налогов(Сложно мне верить брокерам на слово, хочется что бы можно было проверить)
8. Автоматическая загрузка котировок с MOEX и др.
9. Простой интерфейс
Вроде все..
Почему не получилось с готовыми или искал, искал да не нашел:
Я понимал что возможно придется чем то поступиться и был к этому готов, но хотелось бы получить законченный учет хотя бы по какой то части активов. Пересмотрел много готовых систем, проблемы обычно начинались после первой попытки тестирования, две основные это:
1. Отсутствие многовалютного учета, с этим можно было бы смириться если бы не вторая
2. Отсутствие полноценной загрузки отчетов брокера, большинство систем вообще не предоставляют нормального импорта, те же кто предоставлял не проходили тестирование загрузкой реальных данных(переписка с поддержкой самого продвинутого сервиса результата не дала, смысл ответа свелся к — пользуйтесь как есть… :) ).
Как простой временный вариант пробовал в Excel через DDE собирать хлопотно и возможностей мало.
Но я не сдавался, в недавнем прошлом имея большой опыт с 1С и понимая, что задача совсем не сложная попытался что-то найти с этой стороны, благо там возможностей доделать море, нашел пару систем к сожалению попытки доработать их укрепили в мысли, что проще начать с нуля. Не буду вдаваться в подробности, но в итоге оказалось проще вспомнить программирование (лет пять точно этим не занимался возможно больше), чем сделать что хочу «чужими руками».
Описанное выше заняло почти год, я понял что если бы я тратил по часу в день на программирование то имел бы уже идеальную систему, по факту похоже так и будет, но на год позже)))
Первые результаты или прошло 1,5 месяца
Опуская технические подробности удалось сделать пока простенькую систему полностью удовлетворяющую требованиям выше, за исключением:
1. Пока нет интерфейса
2. Нет налогов
3. Загрузка только одного брокера(добавить загрузку двух других, нужных мне, несложно, это уже заложено просто пока все не выверен нет смысла)
4. Нет загрузки котировок(но это дело ближайших дней)
Мой тест «загрузка отчетов» самого маленького счета за два года система почти прошла, почти это небольшая разница в остатке денежных средств(либо я не все комиссии загрузил из отчета брокера, либо проблема все таки у брокера), во всяком случае даже с такой точностью ни одна система не давала результата.
Вообщем продолжаю изобретать велосипед...
Зачем написал весь этот опус:
1. Может ни одному мне нужен «велосипед»(система для учета инвестиций) и получится
найти единомышленников.
2. Это
мой первый пост, без этого тут как то даже никому не напишешь
3. Немного упорядочил собственные мысли, всегда полезно
подводить итоги
4. Если будет обратная связь на пост, и это будет кому то интересно, то могу написать подробнее про API MOEX кроме официальной документации информации немного, приходилось много разбираться, разбор отчета брокера в XML(хотя не уверен что это многим интересно), понемногу могу делиться результатами своих изысканий
Если процесс, то понятно. Если результат, то размещаете детальное ТЗ на сайте фрилансеров, определяете бюджет, выбираете исполнителя и вперед. Многие начинающие фрилансеры пишут за копейки ради портфорлио — от 3т.р. Быстро и качественно — совсем другие деньги.
По данной задаче я как раз начал с попытки взять готовое (iDeals) и заказать доработку, к сожалению ни с тем ни с другим не вышло, в частности времени на постановку задач я тратил много сопоставимо с тем сколько потратил на написание, а результат в итоге нулевой. Возможно в будущем по простым частям попробую отдавать на заказ, но пока я доволен результатом и своими затратами на это.
До законченного сервиса далеко — всё на уровне прототипа.
github.com/arbuzovv/rusquant
он зависит от quantmod, но если вы не на R хотите, то можно портировать функцию, которая отвечает за скачивание — там по сути нужно правильный HTTP запрос сформировать с нужными параметрами и принять результат — в getSymbols.R найдёте.