Skip to content

Instantly share code, notes, and snippets.

@fkmhrk
Created June 21, 2019 06:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fkmhrk/4c5b1db617b3b76d2d399084b8768801 to your computer and use it in GitHub Desktop.
Save fkmhrk/4c5b1db617b3b76d2d399084b8768801 to your computer and use it in GitHub Desktop.
「現金化するときに課税」モデルはどうなのか?
LOOP = 50
# Type 1. 現行のように、売却益がでた時点で20%課税する方式
def calcNext(v):
# 1.1倍になったら、売却
nextVal = v * 1.1
# 売却益に対して20%を税金とする
tax = (nextVal - v) * 0.2
return nextVal - tax, tax
money1 = 100
totalTax1 = 0
for i in range(LOOP):
money1, tax = calcNext(money1)
totalTax1 += tax
print("current")
print("{} tax={}".format(money1, totalTax1))
# Type 2. 現金化の時に、入金額からの利益に対して課税する方式
# 面倒なので課税率を50%にして考えてみる
money2 = 100
for i in range(LOOP):
# 単純に1.1倍になり続ける
money2 = money2 * 1.1
# 現金化の際、50%課税されるとする
# money1と同額の税金を納めて、手元に残るのは?
got = totalTax1
totalTax2 = totalTax1
print("fladdict mode(rate 50%)")
print("{} got {} tax={}".format(money2 - got - totalTax2, got, totalTax2))
# Type1と同じ現金を手にしようとした場合、どうなるか?
got = money1
totalTax2 = money1
print("{} got {} tax={}".format(money2 - got - totalTax2, got, totalTax2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment