メインコンテンツへスキップ

Beancount で自動価格を設定する

管理された価格フィードをホスト型 Beancount 元帳に接続し、評価通貨を選択し、更新、手動上書き、ローカル互換性について理解します。

Live Prices を使用すると、ホスト型 Beancount.io 元帳に自動更新される評価価格を追加できます。管理されたフィードは、対応する暗号資産、株式、ファンド、外国通貨の日付付き price ディレクティブを提供します。購入、売却、振替の記録はいつも通り続けられます。

価格ソースを選択する

  1. 価格ソースピッカーを開きます。
  2. 資産を評価したい通貨を選択します。
  3. ショートカットから資産を選択するか、BTCAAPL などのシンボルで検索します。元帳の抜粋を貼り付けてその資産を探すこともできます。抜粋はブラウザ内に留まります。
  4. 各資産シンボルが元帳のコモディティと一致することを確認します。ピッカーは掲載されているペアの include を生成します。未掲載のペアはオンデマンド導出に対応している場合がありますが、サポートが確認されるまでピッカーには表示されません。
  5. 生成された include をコピーします。ホスト型元帳を使用するには Beancount.io にサインインし、認証が必要なフィードを確認します。

このページの言語ではなく、帳簿の評価通貨を選択してください。クォート通貨を選択しても、コモディティの名前が変わったり、取引が変更されたりすることはありません。

ホスト型元帳にフィードを含める

生成された行を main.bean、または元帳が既にインクルードしている別のファイルに貼り付けます。各行は 1 つの価格ソースを識別します。たとえば、米ドルでのビットコインのホスト型 include は、この例が上流の Beancount でも安全に読み込めるよう、以下ではコメントアウトして示しています。

; Hosted Beancount.io ledger: remove the leading semicolon to enable this feed.
; include "https://beancount.io/prices/BTC-USD"

ホスト型元帳にその行を追加するときは、先頭の ; を削除します。URL include は Beancount.io の拡張機能です。通常のローカル include は、複数ファイル対応で説明されているように、引き続きファイル名を取ります。

いつも通り元帳を開きます。ローダーが管理されたフィードを読み取り専用の価格エントリに解決します。5 分間の更新ウィンドウ後に元帳を読み込むと、新しいデータがあるか確認します。価格の更新によってソースファイルが書き換えられたり、元帳のコミットが作成されたりすることはありません。管理された価格エントリは、元帳のエントリ上限にはカウントされません。

価格と評価を読む

フィードには日付付きの価格が含まれ、price-sourceprice-kindobserved-atprovisional のメタデータが含まれる場合があります。クォートを判断するときは、観測時刻と価格種別を確認してください。ローダーの更新時刻は、プロバイダーの観測時刻ではありません。

これらは自動更新される評価価格であり、ストリーミングの取引クォートではありません。レポートには、その評価日以前の該当コモディティペアの価格が必要です。今日の価格で、過去のレポートの空白を埋めることはできません。

価格は、price ディレクティブを使用するツールやレポートで市場評価を可能にします。取得原価を表示する口座ビューは依然として取得原価を表示します。フィードを接続しても、そのビューが市場価値に切り替わるわけではありません。取得原価と市場評価の違いについては、クエリガイドを参照してください。

価格の更新は、元帳に記録された数量、購入原価、キャッシュフロー、手数料、実現損益を変更しません。また、取引の @ 価格や {cost} を埋めることもありません。これらは取引自体から記録してください。不動産鑑定、架空の例示用コモディティ、対応するフィードがない資産には、引き続き独自の日付付き価格が必要です。

管理された価格を上書きする

特定の評価が必要な場合は、編集可能な元帳ファイルに独自の日付付き price ディレクティブを記述します。同じ日付とコモディティペアでは、あなたの価格が管理されたフィードより優先されます。これは逆のペアにも適用され、include の順序には依存しません。

手動価格は恒久的なロックではありません。より後の日付の管理されたクォートは、より後の評価に使用できます。管理されたエントリ自体は読み取り専用です。独自の price ディレクティブを編集するか、そのフィードの使用をやめるには include を削除してください。

ローカルツールで価格を使用する

元帳を読み込む場所価格を供給する方法
ホスト型 Beancount.ioピッカーで生成した管理された URL include を使用します。
互換性のある bea CLI バージョンURL 解決とローカル価格ファイルのエクスポートについて、CLI の管理価格の手順に従います。
上流の Beancount または Favaローカル価格ファイルを読み込みます。これらのツールは URL include を自分で取得しません。

バージョン固有の CLI 動作については、bea 管理価格ガイドを参照してください。互換バージョンでは bea price statusbea price refreshbea price export --output audit を利用できます。キャッシュのみの読み取りには bea --offline balance を、古いまたは利用不可のソースを拒否するには bea --strict-prices check を使用します。詳細と代替のローカル Beanprice ワークフローについては、CLI リファレンスを参照してください。

CLI は認証情報なしで取得し、リダイレクトを拒否します。ホスト型ログインにリダイレクトするフィードは、ブラウザでサインインしていても、新規の CLI 取得では利用できません。到達可能な対応フィードか、ローカルの日付付き価格を使用してください。古い CLI バージョンでは、URL include が一致しないファイル glob として扱われる場合があります。

再現可能なオフラインレポートが必要な場合は、ローカルの日付付き価格ファイルを保持してください。元帳のコミットだけでは、過去の評価で使用された管理フィードのリビジョンを捕捉できません。元帳とレポートと共に使用した価格を保存してください。

価格サービスとの連携については、価格 API リファレンスを参照してください。そのエンドポイントは、ホスト型元帳に include を追加することとは別です。

欠落または予期しない評価のトラブルシューティング

症状確認事項
カタログが読み込まれないピッカーを再試行してください。サポートされていないシンボルから include URL を推測しないでください。
選択した資産がコピーされた include に含まれない選択したクォート通貨でその資産のサポートを確認し、元帳のシンボルと一致させてください。
フィードを開くとログインにリダイレクトされるホスト型ワークフローで確認するにはサインインしてください。CLI はそのセッションを送信せず、リダイレクトを拒否します。
価格が古く見える観測時刻とレポート日を比較してください。更新に失敗すると、以前に検証されたキャッシュ済みフィードが保持される場合があり、キャッシュされたデータは古くなっている可能性があります。
利用可能な価格がない検証済みのキャッシュ価格がない場合、帳簿は引き続き読み込めますが、その保有資産には市場評価がない可能性があります。必要なら適切な手動価格を供給してください。
手動価格が無視されているように見える正確な日付とペアを確認してください。より後の管理されたクォートは、より後のレポートに適用される場合があります。
ローカルローダーが一致しない include を報告する互換性のある bea バージョンを使用するか、URL include をローカル価格ファイルに置き換えてください。
口座価値が変わっていないそのビューが取得原価を表示していないか、またレポートにその評価日をカバーする価格があるかを確認してください。

手動ディレクティブについては 価格構文リファレンスを、静的で再現可能な投資記録については実用的な元帳例を参照してください。

出典: https://beancount.io/ja/docs/live-prices