Ruby で学ぶアメリカ税制 - 受贈財産の売却益の計算
税制って本当にどうしようもなくつまらんですよね。「税制大好き!!あのクネクネぶりがたまらん!!」なんていう変態チックな方はまさかいませんよね?(笑)私は、税制は至る所に落とし穴があって、本当に嫌になります。
このつまらない税制を少しでも興味をもって覚えるために、各種金額の計算公式をコンピュータプログラムで表現してみることにしました。使用言語は私が愛する Ruby。Ruby かわいいよ Ruby。今日は、贈与に伴う受贈財産の売却益の計算に挑戦してみることにしました。
# ps Price for sales # bd Basis of the donor # fmv Fair market value def gain_on_donated_property(ps, bd, fmv) gain = ps - bd loss = ps - [bd, fmv].min if gain < 0 and loss >= 0 return 0 end if gain >= 0 return gain end if loss < 0 return loss end # the flow should never come here raise end def main ps = 100 bd = 80 fmv = 60 puts "case1: %d" % gain_on_donated_property(ps, bd, fmv) ps = 70 bd = 80 fmv = 60 puts "case2: %d" % gain_on_donated_property(ps, bd, fmv) ps = 50 bd = 80 fmv = 60 puts "case3: %d" % gain_on_donated_property(ps, bd, fmv) end
この出力結果は、
case1: 20
case2: 0
case3: -10
となります。
次のようなことがいえます。
公正市場価格(fmv) >= 贈与者の Basis(bd) のとき
- 売却益(損)= 受贈者における売却価格(ps) - 贈与者の Basis(bd)
公正市場価格 < 贈与者の Basis のとき => 不思議なことが起きる
- 公正市場価格 <= 受贈者における売却価格(ps) < 贈与者の Basis → 売却益ゼロ
- それ以外のとき → 売却益(損)= 受贈者における売却価格(ps) - 贈与者の Basis(bd)
いかがでしたか?さすがは計算のために生まれてきたプログラミング言語(笑)。税制のクソな素敵な例外もエレガントに計算してくれますね。これに味をしめて、今後もいい素材があったら、プログラムの形で税制を表現してみたいと思います。