2.15
金利r=12%
毎年の売上高=3.3*1,000,000=3,300,000($)
毎年の材料費=100*100=10,000($)
毎年の労賃=30*10,000=300,000($)
毎年の税引き前キャッシュ・フロー=売上高-材料費-労賃=2,990,000($)
インフレ率を考慮しない場合の分析結果を下表に示す。
年n | 税引き前キャッシュ・フロー | 減価償却 | 課税対象収益 | 税金(34%) | 税引き後キャッシュ・フローcf | 割引係数 1/(1+r)^n | cf/(1+r)^n |
0 | -10,000,000 | -10,000,000 | 1.00 | -10,000,000 | |||
1 | 2,990,000 | 2,000,000 | 990,000 | 336,600 | 2,653,400 | 0.89 | 2,369,107 |
2 | 2,990,000 | 2,000,000 | 990,000 | 336,600 | 2,653,400 | 0.80 | 2,115,274 |
3 | 2,990,000 | 2,000,000 | 990,000 | 336,600 | 2,653,400 | 0.71 | 1,888,638 |
4 | 2,990,000 | 2,000,000 | 990,000 | 336,600 | 2,653,400 | 0.64 | 1,686,284 |
5 | 2,990,000 | 2,000,000 | 990,000 | 336,600 | 2,653,400 | 0.57 | 1,505,610 |
現在価値= | -435,087 |
インフレ率(4%)を考慮する場合の分析結果を下表に示す。
年n | 税引き前キャッシュ・フロー | インフレ倍率 | 名目税引き前キャッシュ・フロー | 減価償却 | 課税対象収益 | 税金(34%) | 税引き後キャッシュ・フローcf | 割引係数 1/(1+r)^n | cf/(1+r)^n |
0 | -10,000,000 | 1.00 | -10,000,000 | -10,000,000 | 1.00 | -10,000,000 | |||
1 | 2,990,000 | 1.04 | 3,109,600 | 2,000,000 | 1,109,600 | 337,264 | 2,732,336 | 0.89 | 2,439,586 |
2 | 2,990,000 | 1.08 | 3,233,984 | 2,000,000 | 1,233,984 | 419,555 | 2,814,429 | 0.80 | 2,243,646 |
3 | 2,990,000 | 1.12 | 3,363,343 | 2,000,000 | 1,363,343 | 463,537 | 2,899,807 | 0.71 | 2,064,025 |
4 | 2,990,000 | 1.17 | 3,497,877 | 2,000,000 | 1,497,877 | 509,278 | 2,988,599 | 0.64 | 1,899,309 |
5 | 2,990,000 | 1.22 | 3,637,792 | 2,000,000 | 1,637,792 | 556,849 | 3,080,943 | 0.57 | 1,748,210 |
現在価値= | 394,775 |
Python
インフレ率を考慮しない場合
code(2015-04-04, revised on 2019-09-15.)
# 2.15.py
# 22:38 2015-04-02
# $Id: 2.15.html 1.15 2025/02/01 06:49:11 s Exp $
# bc, before-tax cash flow
# da, depreciation amount
# ti, taxable income
# ta, tax
# ac, after-tax cash flow
# tr, tax rate
# ir, infration rate
# ic, initial capital expenditure
# dr, discount rate
# df, discount factor
# ny, number of years
# pv, present value of ac
# input
tr = 0.34
ir = 0.00
dr = 0.12
ic = 10e6
ny = 5
bc = [-ic, 2990e3, 2990e3, 2990e3, 2990e3, 2990e3]
da = [0, ic/ny, ic/ny, ic/ny, ic/ny, ic/ny ]
# calculate
ti = [x - y if x - y > 0 else 0 for x, y in zip(bc, da)]
ta = [x * tr for x in ti]
ac = [x - y for x, y in zip(bc, ta)]
df = [1 / (1 + dr) ** i for i in range(len(bc))]
pv = [x * y for x, y in zip(ac, df)]
# output
print('2.15.py')
fmt1 = "{:>9}{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}"
header1=["year", "bc", "da", "ti", "tax", "ac", "df", "pvac"]
print(fmt1.format(*header1))
print(79*"-")
fmt2="{:9.0f}{:10.0f}{:10.0f}{:10.0f}{:10.0f}{:10.0f}{:10.3f}{:10.0f}"
for x1,x2,x3,x4,x5,x6,x7,x8 in zip(range(len(bc)), bc, da, ti, ta, ac, df, pv):
print(fmt2.format(x1, x2, x3, x4, x5, x6, x7, x8))
print(79 * "-")
print("{:>69}{:10.0f}".format("sum of pvac=",sum(pv)))
# end
output
2.15.py year bc da ti tax ac df pvac ------------------------------------------------------------------------------- 0 -10000000 0 0 0 -10000000 1.00 -10000000 1 2990000 2000000 990000 336600 2653400 0.89 2369107 2 2990000 2000000 990000 336600 2653400 0.80 2115274 3 2990000 2000000 990000 336600 2653400 0.71 1888638 4 2990000 2000000 990000 336600 2653400 0.64 1686284 5 2990000 2000000 990000 336600 2653400 0.57 1505610 ------------------------------------------------------------------------------- sum of pvac= -435087
インフレ率を考慮する場合
code(2015-04-04, revised on 2019-09-15.)
# 2.15b.py
# 2015-04-04 13:42
# $Id: 2.15.html 1.15 2025/02/01 06:49:11 s Exp $
#
# bc, before-tax cash flow
# nbc, nominal before-tax cash flow
# da, depreciation amount
# ti, taxable income
# ta, tax
# ac, after-tax cash flow
# tr, tax rate
# ir, infration rate
# ic, initial capital expenditure
# dr, discount rate
# df, discount factor
# ny, number of years
# pv, present value of ac
# input
tr = 0.34
ir = 0.04
dr = 0.12
ic = 10e6
ny = 5
bc = [-ic, 2990e3, 2990e3, 2990e3, 2990e3, 2990e3]
da = [0, ic/ny, ic/ny, ic/ny, ic/ny, ic/ny ]
# calculate
nbc = [x * (1 + ir) ** i for i, x in enumerate(bc)]
ti = [x - y if x - y > 0 else 0 for x, y in zip(nbc, da)]
ta = [x * tr for x in ti]
ac = [x - y for x, y in zip(nbc, ta)]
df = [1 / (1 + dr) ** i for i in range(len(bc))]
pv = [x * y for x, y in zip(ac, df)]
# output
print('2.15b.py')
fmt1 = "{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}{:>10}"
header1=["year", "bc", "infl_fac","nbc", "da", "ti", "tax", "ac", "df", "pvac"]
print(fmt1.format(*header1))
print(100 * "-")
f100 = "{:10.0f}"
f103 = "{:10.3f}"
fmt2 = 2 * f100 + f103 + 5 * f100 + f103 + f100
for x1, x2, x3, x4, x5, x6, x7, x8, x9, x10 in \
zip(range(len(bc)), bc, range(len(bc)), nbc, da, ti, ta, ac, df, pv):
print(fmt2.format(x1, x2, (1 + ir) ** x3, x4, x5, x6, x7, x8, x9, x10))
print(100 * "-")
print("{:>90}{:10.0f}".format("sum of pvac=", sum(pv)))
# end
output
2.15b.py year bc infl_fac nbc da ti tax ac df pvac ---------------------------------------------------------------------------------------------------- 0 -10000000 1.00 -10000000 0 0 0 -10000000 1.00 -10000000 1 2990000 1.04 3109600 2000000 1109600 377264 2732336 0.89 2439586 2 2990000 1.08 3233984 2000000 1233984 419555 2814429 0.80 2243646 3 2990000 1.12 3363343 2000000 1363343 463537 2899807 0.71 2064025 4 2990000 1.17 3497877 2000000 1497877 509278 2988599 0.64 1899309 5 2990000 1.22 3637792 2000000 1637792 556849 3080943 0.57 1748210 ---------------------------------------------------------------------------------------------------- sum of pvac= 394775
Julia
コードを次に示す。
インフレ率を考慮しない場合
- 2.15.jl
インフレ率を考慮する場合
- 2.15.2.jl
Fortran
コードを次に示す。
インフレ率を考慮しない場合
- 2.15a.f90
インフレ率を考慮する場合
- 2.15b.f90
Gauche
インフレ率を考慮しない場合
- 2.15a.scm
インフレ率を考慮する場合
- 2.15b.scm (2024-12-07 revise, 2025-02-01 open.)
JavaScript
インフレ率を考慮しない場合
- 2.15a.js
インフレ率を考慮する場合
- 2.15b.js
history
2005-7-25, revised on 2007-04-21, 2011-10-29, 2011-11-02, 2014-02-16,
2015-04-04, 2016-09-28.
2016-09-28 Fortran, Gauche, Javascript codes moved to linked file.
2019-09-15 2.15.py and 2.15b.py revised.
2021-02-11 change to html5, utf-8, add viewport.
2021-02-14 move history.
2023-05-03 add Julia code.
2024-10-27 add JavaScript codes and revise 2.15a.scm.
2025-02-01 open revised 2.15b.scm.