1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ledger CLIAdvent Calendar 2022

Day 14

Ledger CLIで家計簿をつけたい!実践4 株式取引

Posted at

前編↓

注意

株式取引は原価と売価に注意

株式の取引に際しては重要なのは購入時の価格と売却時の価格を考えるのが大事です。更にこれを厄介で、アメリカの株取引はコストを平均せずいつ取得した株かで原価を考えます。12/2に買った株は原価100, 12/3に買った株は原価105みたいな感じです。一方日本で株取引の売却益に課税する基準は平均取得単価と言ってこれまですべての取得に要した費用を平均した額で原価を考えます。なので、家計簿レベルでつける際は実際の課税基準に合わせてつけるのか、税申告用はこのデータを使って(Ledger CLIでもCSV出力して表計算ソフトを使ってでも)別に処理して家計簿の中ではピュアな利益を計算するのか、折り合いを付ける必要があります。個人的には税申告用には色々と厄介な要素が多いので別に分けておくのがいい気がします1

実用例

RSU (ストックユニット)をもらった場合

まずあまり日本の会社では見ないですが、会社がストックをぽんとくれるタイプの給与があります。外資にはよくあります。ストックオプションと違ってただ株をもらえます。

broker/okane/2022.ledger
2022/06/25=2022/06/29 * RSU income
    Assets:Brokers:Okane                          80 OKANE @ 100 USD
    Expenses:Tax:Income                         4000 USD
    Income:Stock                         (-120 * 100 USD)

100ドルの株を120株もらいましたが、33%の所得税天引きで80株しかもらえてないという計算です。ちなみに、この天引き日本勤務だとできないので、全額一旦自分の懐に入ってから自分で売却するなりキャッシュを用立てて支払わないといけません。あと、見ておわかりの通りLedgerはカッコで囲むことで四則演算を使うことができます。本当は関数を定義したりできるそうですが、まだ使ったことがないです。

通常通り株を購入した場合

普通通り株を買うのは外貨を買うのと大差ないです。

broker/okane/2022.ledger
2022/03/22 * Buy stock
    Assets:Brokers:Okane                           1 VTI @ 225.78 USD
    Assets:Brokers:Okane                     -225.78 USD

株の場合も売買手数料がかかることがあるので、かかる場合は記録したほうがいいです。

株を売却した場合

利益が出た場合

さて、売却する際には原価を考えないと売買差損益が出ていることが正しく記録されません。RSUを値上がりして売却する場合を考えましょう。2割値上がりして1株120ドルになったとしましょう。

broker/okane/2022.ledger
2022/09/10 * Sell out RSU
    Assets:Brokers:Okane                         -40 OKANE {100 USD} @ 120 USD
    Assets:Brokers:Okane                     4799.00 USD
    Expenses:Commissions                        1.00 USD

この記法は{}内に購入時の価格を、@以降にこの取引での値段(つまり売価)を書くというものです。こうすると当然売買差益が入ってないのでエラーになります。

 %  ledger -f broker/okane/2022.ledger bal
While parsing file "/home/kikeg/projects/ledger-codelab/broker/okane/2022.ledger", line 13:
While balancing transaction from "/home/kikeg/projects/ledger-codelab/broker/okane/2022.ledger", lines 10-13:
...
Unbalanced remainder is:
          800.00 USD
Amount to balance against:
         4800.00 USD
Error: Transaction does not balance

なのでこれを直します。

broker/okane/2022.ledger
2022/09/10 * Sell out RSU
    Assets:Brokers:Okane                         -40 OKANE {100 USD} @ 120 USD
    Assets:Brokers:Okane                     4799.00 USD
    Expenses:Commissions                        1.00 USD
    Income:Capital Gain                      -800.00 USD

損失が出た場合

今度は同様に損失が出た場合です。

broker/okane/2022.ledger
2022/12/10 * Sell out RSU
    Assets:Brokers:Schwab                        -40 OKANE {100 USD} @ 80 USD
    Assets:Brokers:Schwab                    3199.00 USD
    Expenses:Commissions                        1.00 USD
    Income:Capital Gain                       800.00 USD

記法は同様ですがIncomeがプラスということは実際には損失が出てることに注意してください。私はズボラなので売買差損益はどちらもIncome:Capital Gainに組み込んでいますが、神経質な人ならLoss:Capital Lossとかにしたほうがいいかもしれません。ただ、そうすると項目が増えて面倒なんですよね。

今回は株の取引の記録方法を見ました。購入時の株式の値段を知る方法が面倒だなぁという感じでした。次回コマンドを調べてそれを楽に計算できるか探してみます。詳しい人いたら教えて下さい。

  1. どちらにせよ私は税理士ではないので、税申告上の信頼ある情報をお伝えすることはできません。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?