На выходных напишу тесты на это дело и попробую разобраться с liblzma + подумаю – может всё-таки перейду на musl и буду линковаться с ним – тогда будет вообще 100% статика. Но я к нему отношусь несколько настороженно – поэтому изначально и не стал идти в сторону статической линковки.
Вы видимо пытались открыть именно этот файл и поправить – так да, нельзя. Но так никто никогда и не делает – вдруг вы по какой-то причине не допишете его до конца и тогда только всё запорете. Поэтому всегда в этой же директории создаётся новый файл с другим именем, туда пишутся данные + делается fsync(), чтобы они гарантированно записались на диск, а затем уже делается rename() – и новый файл атомарно заменяет старый.
Если погуглите, то даже сможете найти интересный хак, как можно восстановить удалённый файл через /proc, если есть хотя бы один процесс, у которого он ещё открыт. ;)
Спасибо, но, судя по README, он, как минимум, не поддерживает post-install-скрипты. Для меня это прямо важно – начиная с того, чтобы рестартануть обновлённый сервис и заканчивая чем-то более сложным вроде:
– к примеру, вот такой post-install скрипт у меня настроен для Prometheus Node Exporter, чтобы отслеживать, какие новые интересные метрики появились в новом релизе.
Ну и ещё всякие мелочи – к примеру, binup при обновлении выводит ссылку на changelog – мелочь, но очень удобно. :)
У меня были мысли делать статическую сборку, но пока решил обойтись без этого:
liblzma вроде должен быть на любой системе. К примеру, та же Ubuntu мне не даёт его удалить, т. к. на него завязано слишком много всего.
libssl – да, вы правы – та версия, с которой слинкован мой бинарник, довольно старая (релиз специально собирался на старом LTS, чтобы не было проблем с glibc на новых дистрибутивах), и на моём сервере эта версия установлена как зависимость пакетов, которые не установлены из коробки: The following packages will be REMOVED: libdns1104 libisc1100 libpython3.7 libpython3.7-minimal libpython3.7-stdlib libssl1.1 mongo-tools mongodb mongodb-clients mongodb-server mongodb-server-core. Тут я не прав.
Все остальные зависимости довольно стандартные – с ними проблем вроде бы быть не должно (или я ошибаюсь?) – релиз специально собирается на относительно древней 20.04, а у glibc, насколько я знаю, в этом месте с совместимостью всё хорошо.
В общем, решил, что в первом релизе можно пока с этим не мудрить. Но спасибо, замечание валидное – посмотрю, как тут лучше сделать. То, что оно у вас из коробки не запустилось – действительно нехорошо, это надо исправлять.
То, что рисуют в своей аналитике брокеры, не выдерживает никакой критики. Чего только стоит отображение долларовой прибыли, которая на самом деле не долларовая, а рублевая переведенная по текущему курсу в доллары.
Ну и ни один брокер, само собой, не пытается включить налоги в расчет, хотя с нашей нестабильной валютой из-за валютной переоценки налоги могут очень сильно влиять на доходность. Для себя сделал вот такую красоту - https://www.youtube.com/watch?v=fMUxBDY3AUg. В первую очередь как раз хотелось увидеть, как сильно влияют налоги на реальную доходность, и насколько мне может удасться выправить эту ситуацию за счет налоговых вычетов.
Возможно кому-то пригодится - https://github.com/KonishchevDmitry/investments. Интерфейс не насколько дружелюбный, но зато умеет уже довольно много. Раньше пользовался сторонними приложениями (Webull) для анализа портфеля, но потом полностью перешел на свою программу, т. к. во-первых ничего не надо вводить самому, а во-вторых - опять-таки ради более детальной аналитики.
Написав комментарий, решил уже все-таки наконец вернуться к проблеме и потратить на нее какое-то время. И кажется нашел причину и воркэраунд. Пойду заведу баг. :)
VictoriaMetrics - действительно интересная альтернатива Prometheus (которая в отличие от него ставит своей задачей хранить и отдавать исторические данные). Я у себя ее поставил за Prometheus именно как хранилище исторических данных. Правда, пользоваться получается не везде, т. к. конкретно для инвестиций графики получаются вот такими:
хотя ровно те же данные из Prometheus отрисовываются без проблем:
Не берусь тут судить, чья это проблема - честно говоря, не было времени раскапывать это место, но по факту получается, что в моем случае некоторые данные Grafana с VictoriaMetrics отрисовывает значительно хуже, чем с Prometheus.
Лично мне всегда хотелось нарисовать то, что ни один брокер никогда не покажет: агрегированные данные по портфелям у нескольких брокеров и реальную среднегодовую доходность с учетом налогов и налоговых вычетов + в принципе некое отражение влияния налогов на итоговую доходность (чтобы оценить целесообразность отдельных налоговых вычетов). В голове всех цифр не сложишь - поэтому хочется, чтобы машина за тебя построила максимально объективную картину того, что у тебя происходит на самом деле.
То, что рисует большинство брокеров в своих графиках и сводках - прям совсем никуда не годится:
Ни один брокер не учитывает в доходности налоги, при том что с нашим волатильным рублем валютная переоценка очень сильно может влиять на итоговую доходность актива. Особенно для облигаций, где доходность низкая - брокер вам нарисует плюс, а по факту вы - в минусе (долларовом).
Отображаемая доходность в долларах - зачастую на самом деле рублевая, пересчитанная по текущему курсу в доллары.
Нет — даже не буду пытаться делать вид, что я разбираюсь в НК :), но какие-то основополагающие вещи я знаю, да. Ну вот банально, что налоговая база рассчитывается в рублях, причем нужно пересчитать в рубли как ваши затраты на дату покупки, так и выручку от продажи на дату продажи, а связь между покупкой и продажей определяется по FIFO. В идеале при этом еще помнить про режим торгов T+2: комиссии пересчитывать на дату заключения сделки, а затраты/доходы — на дату исполнения сделки (settlement date). Но, пожалуй, этот пункт можно оставить под вопросом, т. к. он может только запутать инспектора, т. к. в стандартных отчетах IB settlement date не отображается (для этого нужно формировать отдельный отчет Trade Confirmation).
Все это при большом желании можно нагуглить. Ну вот, к примеру:
Доходы налогоплательщика от операций по реализации или от иного выбытия ценных бумаг (в том числе от погашения или частичного погашения их номинальной стоимости), цена реализации которых выражена в иностранной валюте, определяются по официальному курсу Центрального банка Российской Федерации, действовавшему на дату перехода права собственности либо на дату фактического погашения или фактического получения налогоплательщиком сумм частичного погашения номинальной стоимости.
Там же ниже есть слова и про ФИФО.
Про учет дивидендов, возможно, имелся в виду вот этот пункт — да, есть такая проблема — о ней я как раз писал выше.
Могу ошибаться, но возможно в FB-группе имелось в виду, что в IB можно заказать расширенный отчет — там будет расчет FIFO (связь покупок с продажами), глядя на который уже можно выполнить перерасчет в рубли, как я описал выше. В IB же расчет будет либо в долларах, либо в рублях (на рублевом счете?) — но не по курсу ЦБ.
Я бы мог порекомендовать вам свою разработку (github.com/KonishchevDmitry/investments), но вам она совершенно точно не подойдет, т. к. у нее фокус на пассивное инвестирование и различные инструменты вокруг него, а у вас тут шорты, опционы и пр., которые я не планирую поддерживать в обозримом будущем. Поэтому вам скорее имело бы смысл посмотреть на github.com/titov-vv/jal — он гораздо лучше подходит для спекулятивных портфелей + автор заинтересован в поддержке разных сложных случаев, даже если ее пока нет.
Кунг-фу тут нет — вы просто очень сильно упрощаете изначальную постановку вопроса. Есть FIFO, есть валютная переоценка, которая из него вытекает, из-за которой с нашей высоковолатильной валютой могут получиться сильно разные результаты (в долларах убыток, а в рублях — прибыль). Есть дивиденды, есть возврат налогов по дивидендам, который IB делает в середине февраля каждого года. А потом еще какой-нибудь очередной AAPL сделает сплит своих акций, и вам это придется учесть в FIFO…
Математически — да, ваши расчеты правильные. Но они не соответствуют правилам налогового кодекса по расчету налогов. А значит расхождения обязательно будут. На какую величину? Как повезет. Но лично я бы не стал полагаться только на везение при общении с налоговой. :)
Посмотрите ради интереса на Open Source-проекты, связанные с генерацией 3-НДФЛ — неужели вы думаете, что там столько страданий в коде не от необходимости этих действий, а от наличия большого количества свободного времени у их авторов? :)
Отправляя подобную декларацию, можно надеяться разве что на некомпетентность инспектора. Ну и на то, что с небольшими суммами величина штрафа/последствия будут несущественными. А с ростом сумм цена возможных последствий будет расти вплоть до уголовной ответственности. Лично я бы рекомендовал относиться к общению с налоговой гораздо более ответственно. :)
Ну это довольно кардинально. :) Я не против того, чтобы потенциальный работодатель знал мой возраст — скорее даже за, но вот дату, кажется, вполне можно было разрешить скрывать.
Зачем в обязательном порядке требовать дату рождения? Разрешите хотя бы указывать только месяц и год, либо дайте возможность скрыть ее от посторонних глаз, чтобы можно было оградить себя от ежегодного спама.
В G+ большое количество гиков (тех, которые сидят только в G+ и не сидят в Facebook и ВКонтакте) и постят они туда ссылки на интересные технические новости вместо фоточек и прочей
Поправил. Теперь вот так:
На выходных напишу тесты на это дело и попробую разобраться с
liblzma
+ подумаю – может всё-таки перейду на musl и буду линковаться с ним – тогда будет вообще 100% статика. Но я к нему отношусь несколько настороженно – поэтому изначально и не стал идти в сторону статической линковки.Вы видимо пытались открыть именно этот файл и поправить – так да, нельзя. Но так никто никогда и не делает – вдруг вы по какой-то причине не допишете его до конца и тогда только всё запорете. Поэтому всегда в этой же директории создаётся новый файл с другим именем, туда пишутся данные + делается fsync(), чтобы они гарантированно записались на диск, а затем уже делается rename() – и новый файл атомарно заменяет старый.
Если погуглите, то даже сможете найти интересный хак, как можно восстановить удалённый файл через /proc, если есть хотя бы один процесс, у которого он ещё открыт. ;)
Спасибо, но, судя по README, он, как минимум, не поддерживает post-install-скрипты. Для меня это прямо важно – начиная с того, чтобы рестартануть обновлённый сервис и заканчивая чем-то более сложным вроде:
– к примеру, вот такой post-install скрипт у меня настроен для Prometheus Node Exporter, чтобы отслеживать, какие новые интересные метрики появились в новом релизе.
Ну и ещё всякие мелочи – к примеру, binup при обновлении выводит ссылку на changelog – мелочь, но очень удобно. :)
Да – имеет, но вполне себе стандартные:
У меня были мысли делать статическую сборку, но пока решил обойтись без этого:
liblzma
вроде должен быть на любой системе. К примеру, та же Ubuntu мне не даёт его удалить, т. к. на него завязано слишком много всего.libssl
– да, вы правы – та версия, с которой слинкован мой бинарник, довольно старая (релиз специально собирался на старом LTS, чтобы не было проблем с glibc на новых дистрибутивах), и на моём сервере эта версия установлена как зависимость пакетов, которые не установлены из коробки:The following packages will be REMOVED: libdns1104 libisc1100 libpython3.7 libpython3.7-minimal libpython3.7-stdlib libssl1.1 mongo-tools mongodb mongodb-clients mongodb-server mongodb-server-core
. Тут я не прав.Все остальные зависимости довольно стандартные – с ними проблем вроде бы быть не должно (или я ошибаюсь?) – релиз специально собирается на относительно древней 20.04, а у glibc, насколько я знаю, в этом месте с совместимостью всё хорошо.
В общем, решил, что в первом релизе можно пока с этим не мудрить. Но спасибо, замечание валидное – посмотрю, как тут лучше сделать. То, что оно у вас из коробки не запустилось – действительно нехорошо, это надо исправлять.
То, что рисуют в своей аналитике брокеры, не выдерживает никакой критики. Чего только стоит отображение долларовой прибыли, которая на самом деле не долларовая, а рублевая переведенная по текущему курсу в доллары.
Ну и ни один брокер, само собой, не пытается включить налоги в расчет, хотя с нашей нестабильной валютой из-за валютной переоценки налоги могут очень сильно влиять на доходность. Для себя сделал вот такую красоту - https://www.youtube.com/watch?v=fMUxBDY3AUg. В первую очередь как раз хотелось увидеть, как сильно влияют налоги на реальную доходность, и насколько мне может удасться выправить эту ситуацию за счет налоговых вычетов.
Возможно кому-то пригодится - https://github.com/KonishchevDmitry/investments. Интерфейс не насколько дружелюбный, но зато умеет уже довольно много. Раньше пользовался сторонними приложениями (Webull) для анализа портфеля, но потом полностью перешел на свою программу, т. к. во-первых ничего не надо вводить самому, а во-вторых - опять-таки ради более детальной аналитики.
Написав комментарий, решил уже все-таки наконец вернуться к проблеме и потратить на нее какое-то время. И кажется нашел причину и воркэраунд. Пойду заведу баг. :)
VictoriaMetrics - действительно интересная альтернатива Prometheus (которая в отличие от него ставит своей задачей хранить и отдавать исторические данные). Я у себя ее поставил за Prometheus именно как хранилище исторических данных. Правда, пользоваться получается не везде, т. к. конкретно для инвестиций графики получаются вот такими:
хотя ровно те же данные из Prometheus отрисовываются без проблем:
Не берусь тут судить, чья это проблема - честно говоря, не было времени раскапывать это место, но по факту получается, что в моем случае некоторые данные Grafana с VictoriaMetrics отрисовывает значительно хуже, чем с Prometheus.
Я себе сделал вот такое - https://www.youtube.com/watch?v=fMUxBDY3AUg (но там подход несколько другой - через парсинг отчетов).
Лично мне всегда хотелось нарисовать то, что ни один брокер никогда не покажет: агрегированные данные по портфелям у нескольких брокеров и реальную среднегодовую доходность с учетом налогов и налоговых вычетов + в принципе некое отражение влияния налогов на итоговую доходность (чтобы оценить целесообразность отдельных налоговых вычетов). В голове всех цифр не сложишь - поэтому хочется, чтобы машина за тебя построила максимально объективную картину того, что у тебя происходит на самом деле.
То, что рисует большинство брокеров в своих графиках и сводках - прям совсем никуда не годится:
Ни один брокер не учитывает в доходности налоги, при том что с нашим волатильным рублем валютная переоценка очень сильно может влиять на итоговую доходность актива. Особенно для облигаций, где доходность низкая - брокер вам нарисует плюс, а по факту вы - в минусе (долларовом).
Отображаемая доходность в долларах - зачастую на самом деле рублевая, пересчитанная по текущему курсу в доллары.
Все это при большом желании можно нагуглить. Ну вот, к примеру:
Там же ниже есть слова и про ФИФО.
Про учет дивидендов, возможно, имелся в виду вот этот пункт — да, есть такая проблема — о ней я как раз писал выше.
Могу ошибаться, но возможно в FB-группе имелось в виду, что в IB можно заказать расширенный отчет — там будет расчет FIFO (связь покупок с продажами), глядя на который уже можно выполнить перерасчет в рубли, как я описал выше. В IB же расчет будет либо в долларах, либо в рублях (на рублевом счете?) — но не по курсу ЦБ.
Я бы мог порекомендовать вам свою разработку (github.com/KonishchevDmitry/investments), но вам она совершенно точно не подойдет, т. к. у нее фокус на пассивное инвестирование и различные инструменты вокруг него, а у вас тут шорты, опционы и пр., которые я не планирую поддерживать в обозримом будущем. Поэтому вам скорее имело бы смысл посмотреть на github.com/titov-vv/jal — он гораздо лучше подходит для спекулятивных портфелей + автор заинтересован в поддержке разных сложных случаев, даже если ее пока нет.
Математически — да, ваши расчеты правильные. Но они не соответствуют правилам налогового кодекса по расчету налогов. А значит расхождения обязательно будут. На какую величину? Как повезет. Но лично я бы не стал полагаться только на везение при общении с налоговой. :)
Посмотрите ради интереса на Open Source-проекты, связанные с генерацией 3-НДФЛ — неужели вы думаете, что там столько страданий в коде не от необходимости этих действий, а от наличия большого количества свободного времени у их авторов? :)
P.S.: Зарегистрировался днем, но подтверждение на почту так и не пришло. Что-то у вас там не контачит.