Beancount资产组合分配报告

beancount-portfolio-allocation的Python项目详细描述


Beancount_Portfolio_分配

报告Beancount中的资产组合分配。对风险分析有用 为了重新平衡。

Build StatusCoverage Status

安装

来源

$ python3 setup.py install

PIP

$ pip install beancount_portfolio_allocation

用法

usage: Report on portfolio asset classes allocation vs targets.
       [-h] --portfolio PORTFOLIO bean

positional arguments:
  bean                  Path to the beancount file.

optional arguments:
  -h, --help            show this help message and exit
  --portfolio PORTFOLIO
                        Name of portfolio to report on

示例

$ bean-portfolio-allocation-report ledger.beancount --portfolio pension
CASH====
Subclass      Market Value    Percentage    Target %    Difference
----------  --------------  ------------  ----------  ------------
cash                380.00         19.00        0.00       -380.00


EQUITY======
Subclass      Market Value    Percentage    Target %    Difference
----------  --------------  ------------  ----------  ------------
ca-stock            700.00         35.00       30.00       -100.00
us-stock            600.00         30.00       30.00          0.00


FIXED=====
Subclass      Market Value    Percentage    Target %    Difference
----------  --------------  ------------  ----------  ------------
ca-bond             320.00         16.00       40.00        480.00

先决条件

在运行此工具之前,您的beancount文件将需要一些额外的 帮助它完成工作的元数据。

商品

你要追踪的所有商品/货币都需要 asset-classasset-subclass元数据字符串已填充。实际的 价值观由你决定。下面是一些示例:

1867-01-01 commodity CAD
  asset-class: "cash"
  asset-subclass: "cash"

1986-03-13 commodity MSFT
  asset-class: "equity"
  asset-subclass: "us-stock"

1977-01-03 commodity AAPL
  asset-class: "equity"
  asset-subclass: "us-stock"

2007-04-04 commodity VAB
  asset-class: "fixed-income"
  asset-subclass: "ca-bond"

您还需要有效的价格指令,以成本和 至少定义了一个“操作货币”选项。报告中的值将 全部转换为定义的第一个“操作货币”。未来的版本 将提供一种指定用于报告的货币的方法。

账户

帐户必须是要跟踪的特定投资组合的一部分。只有一个投资组合 由帐户支持,但您可以在多个 帐户:

2000-01-01 open Assets:CA:Employer:PensionPlan
  portfolio: "pension"

2000-01-01 open Assets:CA:Questrade:RRSP
  portfolio: "pension"

2000-01-01 open Assets:CA:Questrade:Trading
  portfolio: "day-trading"

现金账户

可以指定asset-classasset-subclasse或 作为现金价值报告,但由特定资产类别支持。

这是特别用于管理退休帐户。

2000-01-01 open Assets:CA:Employer:PensionPlan
  portfolio: "pension"
  asset-class: "fixed-income"
  asset-subclass: "ca-bond"

目标分配

您当前可以定义不同资产的目标分配百分比 使用自定义指令的组合中的子类。目前只有 同一个投资组合和资产子类的一个指令。缺少分配 假设目标为0%。例如60/40投资组合目标 像这样(not财务建议):

2018-06-14 custom "allocation" "pension" "ca-stock" 30
2018-06-14 custom "allocation" "pension" "us-stock" 30
2018-06-14 custom "allocation" "pension" "ca-bond" 40

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JBPM:无法部署进程存档:null   java将一个数组拆分为两个大小相等的数组   java Spring boot验证该字段是否为string类型   JAVA JPA保存到TSV而不是SQL   java PMD报告超过X个违规   java是否支持springdatagremlin中的自定义查询?   java在“for”循环后使用变量   JPQL中默认查询中的java错误列   如何在java中实现不同于线程的进程?   java如何检查字符串是否平衡?   xml使用xalan扩展在XSL中处理java集合   java我试图使用子类/超类重写另一个类的值   转换为JSON时出现java堆栈溢出问题   java考虑定义一个类型为“COM”的bean。实例演示。在您的配置中命令$DefaultIO   java在kubernetes中如何检索转发端口的值?   JavaEclipse,动态web项目,向类路径添加另一个eclipse项目   eclipse的java Spring上下文XML验证器?   Linux下利用MATLAB(Windows)生成Java包   Java:在存储到DDC之前验证属性   java校验字符串