Beancount资产组合分配报告
beancount-portfolio-allocation的Python项目详细描述
Beancount_Portfolio_分配
报告Beancount中的资产组合分配。对风险分析有用 为了重新平衡。
安装
来源
$ 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-class
和asset-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-class
和asset-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