72个版本

新增 0.7.4 2024年8月15日
0.7.3 2024年6月26日
0.7.1 2024年3月1日
0.6.9 2023年12月30日
0.3.0 2020年7月30日

639进程宏 中排名

Download history 409/week @ 2024-04-25 6/week @ 2024-05-02 113/week @ 2024-06-13 119/week @ 2024-06-20 57/week @ 2024-06-27 6/week @ 2024-07-04 351/week @ 2024-07-25 42/week @ 2024-08-01

每月 下载 393
投资 中使用

GPL-3.0+

10KB
221

Test status

投资

帮助您管理投资

  • 投资组合再平衡:指导您提交哪些订单以使您的投资组合与资产分配保持一致。
  • 股票卖出模拟:计算收入、利润、税费和考虑税费的实缴利润百分比。
  • 自动税务申报生成:读取经纪人报表,并通过添加关于股票卖出收入、支付的红利和闲置现金利息的所有必要信息来修改*.dcX文件(由名为“申报”的俄罗斯税务程序创建)。
  • 分析:通过将投资组合表现与具有相同投资和每月资本化的美元和卢布货币的银行存款表现进行比较,计算现金投资的平均回报率。计算投资组合表现时考虑税费、佣金、红利、税收抵扣,并可选择考虑通货膨胀。
  • 银行存款控制:在一个地方查看所有已开设的银行存款,并获取关于即将关闭的存款的通知。

面向使用 Interactive BrokersОткрытие БрокерТинькоффFirstradeБКС 的俄罗斯投资者。

安装

参见 安装说明

配置

创建配置文件 ~/.investments/config.yaml。查看示例,其中包含每个经纪商的典型配置、适用于账户的免税项目以及其他更多信息。不要忘记获取FCS API和Finnhub的API令牌(详细信息请见股票和外汇报价提供商)。

用法

股票

Investments设计用于与您的经纪商报表一起使用——无需手动输入所有交易和交易,但需要您拥有从账户开设日开始的所有经纪商报表。可以是单个报表或多个报表——这并不重要,重要的是第一个报表必须包含零起始资产,报表期间不能重叠或之间有缺失的天数。

目前支持的经纪商如下

Investments将一些数据保存在位于~/.investments/db.sqlite的本地数据库中,并支持一系列命令,可以归纳为以下几类:

性能分析

investments analyse命令通过比较投资组合表现与美元和卢布货币的银行存款表现来计算现金投资的平均回报率,这些存款与投资组合有相同的投资和月资本化。在计算投资组合表现时考虑税收、佣金、股息、税收减免,并可选项为通货膨胀。

investments analyse

投资组合再平衡

请参阅投资组合再平衡说明

investments rebalance

税务报表生成

请参阅税务报表生成说明和与俄罗斯联邦税务局互动的建议

investments tax-statement

销售模拟

investments simulate-sell命令通过当前市场价格模拟指定头寸的平仓,并允许您估算您的利润、税收以及税收减免的适用性。

investments simulate-sell

Prometheus度量

investments metrics命令允许您以Prometheus格式导出分析结果,以便由Node exporter的Textfile Collector收集。

以下是一个Grafana仪表板的示例,该仪表板显示在多个不同经纪商中开设的多个投资组合的汇总统计和投资结果。

Investments Grafana dashboard

存款

您还可以在一个地方查看所有已开立的银行存款,并获得即将关闭的存款通知。在配置文件中注册您的已开立存款,然后执行

$ investments deposits

                            Open deposits

 Open date   Close date    Name     Amount   Interest  Current amount
 19.06.2019  19.03.2020  Тинькофф  465,000₽         7     473,343.49₽
 21.06.2019  21.06.2020  Тинькофф  200,000₽       7.5     203,763.08₽
                                   665,000₽               677,106.57₽

此命令具有cron模式(investments deposits --cron),您可以与notify_deposit_closing_days配置选项结合使用。例如,如果您创建了一个cron作业,并配置它将命令输出发送到您的电子邮件,那么在2020年11月11日具有notify_deposit_closing_days: 10,您将收到一封包含以下内容的电子邮件

The following deposits are about to close:
* 21.06.2020 Тинькофф: 200,000-> 215,570.51₽

The following deposits are closed:
* 19.03.2020 Тинькофф: 465,000-> 490,013.27

不支持的功能

该程序专注于被动投资用例,并且仅支持我在我的经纪人声明中看到或其他人发送给我的那些用例,我确信它们得到了适当处理,并为它们编写了回归测试。例如,以下尚未支持

免责声明

任何自动化都不完美,作者是一名软件开发者,而不是税务律师,因此请始终对程序的计算结果持批判态度。

该项目是一个宠物项目,主要用于我个人的使用。代码编写的方式是,如果它在经纪人声明中发现异常情况,它将返回一个错误,并尝试避免在错误传递时导致误导性结果,因此可能有许多它还无法处理的案例,并且我不能保证我会找到时间来支持您的特定案例。

联系方式

问题讨论 是请求和提问的首选方式。请仅出于隐私原因使用 电子邮件

依赖关系

~0.6–1MB
~24K SLoC