SD閑話-19 2013年2月15日 3月7日改訂
システム・ダイナミックス学会日本支部(以後、JSD)が主催する発表会に出席すると、発表された論文に対して、そのモデルのどこにフィードバック・ループがあるのかとか、クローズド・ループが見当たらないがとかの質問が出て、発表者が戸惑っている光景に良く出くわします。
確かに、システム・ダイナミックスは、複雑な社会系の問題を解決するための方法論の一つです。この方法論で使われるシステム・ダイナミックス・モデルの特徴としては、主に4つあります。それは、@因果関係を表現する、Aレベルとフロー(貯まるものと貯めるもの)で表現する、Bフィードバック・ループを表現する、C遅れを表現する、です。
したがって、システム・ダイナミックスを主題にする学会の発表会においては、取り上げた課題を前述の4つの特徴を含んだシステム・ダイナミックス・モデルで表現して、問題の解決に至るのが正統的な論文であろうと
は思います。
ただそうは言っても、実際の世界ではシステム・ダイナミックス・モデルの特徴を含んでいないかも知れないが、それでも仮想世界であるモデルの世界を使って、考えるべき問題が多々存在しています。例えば、取り上げる社会システムの構造をモデルとして描くことでその特性を明確にするとか、その明確になったモデルを使ってシミュレーションを実施し、諸条件を変えた場合の将来予測を探るなどです。これらのモデルでは、システム・ダイナミックス・モデルとしての4つの特徴が含まれているか否かは問題ではありません。思考を重ねるチャンスが得られて、その結果としてモデルができ、さらにシミュレーションが実施できれば良いのです。
システム・ダイナミックスのモデリングとシミュレーションを支援するために、Ps Studio、ithink/StellaあるいはVensimなどのソフトウェア・ツールが準備されています。これらのツールはモデルが前述の4つの特徴を持つか持たないかに関わらず、モデリングとシミュレーションに有効に活用することができます。 端的に言ってしまえば、システム・ダイナミックス・ツールは、シミュレーション・ツールでもあるわけですから、適用可能でさえあればどんな実世界におけるシステムに対してで あろうとも、そのモデリングとシミュレーションの機能を大いに活用すれば良いと思います。
関西方面の知人からマンション建設の話を聞きました。500uほどの更地があるので、マンションを建て、資産税の節税と、ゆくゆくは相続税の節税対策にしたいとのことです。私は不動産事業に関してはずぶの素人ですが、システム・ダイナミックス・ツールでモデルを作って、マンション経営をシミュレーションしてみることにしました。
このモデルは前述のフィードバック・ループはなさそうですが、モデルができてシミュレーションを実行できれば、マンション建設に伴う借入金の返済状況や、マンション経営の結果である手許に残る現金の状況などを知ることができます。マンション経営も小さなビジネス経営ですから、ビジネスを囲む社会・経済の環境変化がビジネスにどのように影響するかを前以って知ることができ、好ましくないビジネス状況が現れたら、それへの対応を前以って考えておいてリスク回避に向かうことが可能になります。
今回、SDモデルらしからぬモデルを、SDツールを活用して構築したのがマンション経営モデルです。この程度ならExcelを使っても作ることができるモデルではありますが。
私は個人的には、前述の4つの特徴の有無に関わらず、SDツールで構築したモデルは、何でもSDモデルと呼んで良いのではないかと大雑把に捉えています。システム・ダイナミックスの応用面においては、実際に世の中に役立
ってなんぼやの世界だろうと思うからです。
さて、このマンション経営モデルに関して、分かり易さを狙って、2編のSD閑話に分けてお話します。 SD閑話-19:クローズド・ループがないSDモデル?・・・この原稿です。 SDに興味をお持ちの方向けに、モデル自体を説明します。
特に、モデルの全体構造、月次処理と年次処理の接続、および離散系のフロー要素について詳しく説明します。これらの内容は、私が50回以上開催してきました2日間のオリエンテーション・コースでは、時間的な関係で取り上げることが難しかった少しばかり上級向けの内容です。 SD閑話-20:マンション経営にシミュレーションを活用 マンション経営に興味をお持ちの方向けに、シミュレーション結果を中心に説明します。
マンション経営者にとって最も重要なのは、マンション建設に伴う借入金を滞りなく返すことができるか、また、その結果、手許に現金がいくら残るかと言うことです。ここでは2種類の返済方法である元利均等法と元金均等法の影響、金利の影響、賃料の低下率と空室率の影響などについて説明します。 なお、ここで取り上げたモデルは、2つの方法でご利用いただけます。 (1)モデルをダウンロードしてご自分のPs Studioの上で開き、シミュレーションに供する。 (2)経営条件のExcelシートを作成して所定のメールアドレスへ送り、無料のシミュレーションを依頼する。 いずれについても、SD閑話-19と-20の巻末に利用方法に関する具体的な情報を記載していますので、ご参照下さい。
マンション経営モデルの経営の視点からの内容は、次のSD閑話-20で詳しく説明します。ここではモデル自体を理解するうえで、必要最低限な内容についてのみ簡単に説明します。
事業主は土地を所有していて、金融機関から建設費を借り入れてマンションを建設します。諸条件を与えて、確定申告ベース(年単位)で長期収支予測をシミュレーションします。ただし、借入金の返済は月単位で計算し、それを年間積算して年単位に換算します。 全体モデルを構成する要素モデルは、借入金の返済、収入、減価償却、資産税、各種経費、所得税・地方税、相続税評価額です。以上の収入と支出に関する要素モデルを使って、不動産所得を計算し、それを所得税・地方税の要素モデルに戻して、税金の計算をし、さらには納税の前と後の手許現金を計算します。
モデルでは、マンションの建設と経営に関する条件をExcelから読み込み、所定の期間わたってシミュレーションを実施して、結果をモデル内の長期収支予測グラフと、Excelの長期収支予測テーブルに書き出します。
シミュレーションの刻み時間は1年で、シミュレーション期間は一般には借入金の返済期間ですが、それ以外の年数を選ぶこともできます。
モデルの構造は、メインモデルと前述の7種類の要素モデルによる2階層モデルです。それぞれの要素で必要とする経営条件は、メインモデルでExcelから読み込み、出力の長期収支予測を構成する各項目は、各要素モデルからメインモデルに引き出して、その後、Excelに書き込みます。メインモデルでは、各要素間の必要データの引き渡し、不動産所得の計算、手許現金の計算のみ行います。
以降では、テーブル類と各要素モデルの構造の説明をします。メインモデルと各要素モデルの定義式については表示しませんので、定義式をご覧になりたい場合には巻末のモデルのダウンロードの方法の説明に従ってモデルをダウンロードし、ご自分のPs
Studioの上に開いてご覧下さい。なお、フリーのPs Studioをお使いになる場合には、Express版とDemo版とがありますが、このモデルは大きさが50要素数を超えていますので、有効期限が1ヶ月に限定されたDemo版でしか開くことができないことをご了承下さい。
各要素モデルの中の定義式は、一般的な不動産関連の知識に基づいて記載していますが、極一部については悪影響が少ない範囲で簡略化している部分があります。その部分については以降で簡単な説明を付記します。なお、各要素モデルの定義式については、SD閑話-20も合わせてご参照下さい。 4.1 経営条件テーブル 7種類の要素モデルで必要とされるデータをExcel上に記載し、シミュレーション開始時点で読み込む設定になっています。Excelから読み込む変数は、横方向に並べるレイアウトになっていますので、各要素モデルで必要とするデータ群ごとにdatasetを準備しています。 経営条件テーブルの一例を以下に示します。
なお、モデルの中でExcelは拡張子“xls”のファイルとして取り扱っていますので、この形式で保管する必要があります。 4.2 メインモデル
メインモデルの構造図を以下に示します。
横長の八角形のシンボルが各要素モデルの器を表しています。それぞれの器の左側に並んでいるのは建設または経営に関する条件変数で、右側に並んでいるのは、最終または中間の結果に関する変数です。
メインモデルの右下の部分が最終段階の計算部分で、ここで不動産所得と手許現金とを計算しています。 4.3 借入金の返済モデル
この要素モデルについては、元利均等法と元金均等法との二つのモデルの構造図と定義式とを以下に示します。
借入金の返済は月単位で行うわけですが、シミュレーションの刻み時間は1年ですから、1年毎の刻み時間の間に、12ヶ月間の月単位の計算を実施する必要があります。 元利均等法の借入金返済モデルの中では、“年内残元金”の中で毎月の残元金を計算して配列として保管します。この配列と月利とから毎月の支払利息である“年内支払利息”を求めて配列として保管します。その配列の要素和が、1年間の支払利息になります。
一方、毎月の支払元金についてですが、毎月支払う元利額は一定ですから、その値から先の“年内支払利息”を差し引くと、“年内返済元金”の毎月の配列変数が求まります。その要素和が、1年間の支払元金になります。
以上が元利均等法の場合の毎月計算から年間計算へ換算する方法です。元金均等法の場合にはもっと簡単な定義式で、同様な換算ができます。 (1)元利均等返済モデル Name Definition 開始時期判定キィ IF(現時点=現金利の開始時期 OR TIME>STARTTIME+返済年数,1,0)
返済額計算
IF(TIME>STARTTIME+返済年数,0<<hjpy>>,
返済額差替 IF(開始時期判定キィ=1,返済額計算,0<<hjpy>>) 返済月額.返済額差替.in 返済額差替 返済月額.前返済額.out 前返済額 返済年数 Parent~返済年数 返済回数 INTEGER(ROUND(返済年数*12/1<<yr>>,1)) 計画返済額 返済月額*12 現金利の開始時期 LOOKUP(固定金利開始時期,現在区間ID) 現時点 TIME 現在区間ID SCANEQ(現在区間,1) 現在区間 IF(現時点>=固定金利開始時期 AND 現時点<固定金利終了時期 ,1,0) 現在の月利 LOOKUP(年利,現在区間ID)/12 残返済回数 返済回数- INTEGER(ROUND((TIME-STARTTIME)/1<<mo>>,1),1) 残元金 借入金 残元金.元金返済.out 元金返済 年間返済額合計 年間返済元金+年間支払利息 年間返済元金 DELAYPPL( 年内返済元金合計,1<<yr>>,0<<hjpy>>) 年間支払利息 DELAYPPL (ARRSUM(年内支払利息)*1<<hjpy>>,1<<yr>>,0<<hjpy>>) 年間利息 ARRSUM(年内支払利息)*1<<hjpy>> 年利 Parent~年利 年内返済元金合計 ARRSUM(年内返済元金)*1<<hjpy>> 年内返済元金 IF(TIME>=STARTTIME+返済年数,0, FOR(i=2..13|H-年内支払利息[i]))
年内残元金
FOR(i=2..13|A*(1+r)^(i-1)-H*(2+r)*(IF(i>=3,1,0)*(1+r)^(i-3)
年内支払利息 IF(TIME>=STARTTIME+返済年数,0,
固定金利開始時期 CONCAT(FOR(i=1..1|STARTTIME),
固定金利終了時期 STARTTIME+CUMULATIVESUM(固定金利期間) 固定金利期間 Parent~固定金利期間 前返済額 IF(開始時期判定キィ=1,返済月額,0<<hjpy>>) 利息累計 0<<hjpy>> 利息累計.年間利息.in 年間利息 元金返済 年内返済元金合計 借入金 Parent~借入金 r 現在の月利 H 返済月額/1<<hjpy>> A 残元金/1<<hjpy>> (2)元金均等返済モデル Name Definition 返済年数 Parent~返済年数 返済回数 INTEGER(ROUND(返済年数*12/1<<yr>>,1)) 現時点 TIME 現在区間ID SCANEQ(現在区間,1) 現在区間 IF(現時点>=固定金利開始時期 AND 現時点<固定金利終了時期 ,1,0) 現在の月利 LOOKUP(年利,現在区間ID)/12 残元金 借入金 残元金.元金返済.out 元金返済 年間返済額合計 年間支払利息+年間返済元金 年間返済元金 DELAYPPL( 年内返済元金合計,1<<yr>>,0<<hjpy>>) 年間支払利息 DELAYPPL (ARRSUM(年内支払利息),1<<yr>>,0<<hjpy>>) 年間利息 ARRSUM(年内支払利息) 年利 Parent~年利 年内返済元金合計 元金返済額*12 年内支払利息 IF(TIME>=STARTTIME+返済年数,0<<hjpy>>, FOR(i=2..13|(A-H*(i-2))*r))
固定金利開始時期 CONCAT(FOR(i=1..1|STARTTIME),
固定金利終了時期 STARTTIME+CUMULATIVESUM(固定金利期間) 固定金利期間 Parent~固定金利期間 利息累計 0<<hjpy>> 利息累計.年間利息.in 年間利息 元金返済額 借入金/返済回数 元金返済 年内返済元金合計 借入金 Parent~借入金 r 現在の月利 H 元金返済額 A 残元金
4.4 収入モデル モデルの構造図を以下に示します。
4.6 資産税モデル モデルの構造図を以下に示します。
固定資産税と都市計画税には様々な軽減処置が用意されていますので、それらを適用することを前提としています。
なお、建物の経年減価については、2011年11月28日付の総務省告示493号に基づく補正率表をテーブル関数に組み込んで使っています。木造建物と非木造建物の区別は、耐用年数により自動的に行っています。 4.7 各種経費モデル モデルの構造図を以下に示します。雑費、管理費、修繕費は、経年低下率を考慮した現在の住宅賃料に比例した割合で算出します。しかし、共益費は開業当時の金額のまま変わらないとしています。なお、創業費については、初年度分のみを初年度の経費とみなして単年度で償却し、それ以外は前出の減価償却分に組み込んで複数年で償却しています。 4.8 所得税・地方税モデル
モデルの構造図を以下に示します。
そのため不動産所得が少なくてその他の所得が多い場合には、税率階層における初期値(マイナスの値)の関係で、所得税がマイナスになる場合もあります。この場合は節税効果としてそのままの値を表示しています。 4.9 相続税評価額モデル モデルの構造図を以下に示します。
相続税額は総合的に決まりますので、ここでは土地を更地のまま放置していた場合に比べて、賃貸マンションを建てた場合に、各種の相続評価額の軽減処置と小規模宅地の評価減の特例により、どの程度の評価減効果があるかを計算します。
長期収支予測表の始まりの部分のみの一例を以下に示します。
4.11 長期収支予測グラフ
主要な結果変数をメインモデルの下方に表示しています。
SDでは、フロー(貯めるもの)のみが、レベル(貯まるもの)の累積値を変えることができます。ここで単純な例について考えてみます。風呂桶(レベル)と水道(フロー)を思い浮かべてください。
SDでは一般に、刻み時間(timestep)の間は、一定の流量が流れ続けると考えます。例えば、 1分刻みで風呂の水位を観測するとしましょう。1分間に水位を5cmだけ上昇させるように水道を出していると、その水道の流量は“水位5cm/分”と表現できます。
以上が通常のSDのフローとレベルの挙動の説明です。
しかし、貯めるものであるフローは必ずしも連続的ではありません。同じ風呂桶でもキャンプに出掛けた時のドラム缶の風呂を思い浮かべてください。ドラム缶の風呂には水道はありません。渓谷からバケツで水を汲んで、バケツリレーで風呂へ注ぎます。バケツリレーの間隔は1分間とします。バケツ一杯でドラム缶の水位は0.5cmだけ上がります。その場合前述の風呂桶にならって、流量を“0.5cm/分”と表して良いでしょうか。バケツリレーによる注水は連続的ではありませんし、メンバーが疲れてインターバルが伸びるかもしれませんが、届く水はその間に一杯だけです。
SDを応用する対象の中にも、よく似たものが沢山あります。たとえば、今回取り上げているローンの返済とか、逆に預金に対する利息とか、サプライチェーンの物の流れなどはそうです。これらの対象では、刻み時間の間で流れが発生するタイミングも指定したくなります。例えば、1日刻みでシミュレーションする場合に、店舗への商品の配達が朝なら、その日にその商品を販売できますが、夕方なら前日までに配達されていた商品しか販売できないからです。 そんな場合にタイミングを細かく設定するには、刻み時間を短くする以外にないのですが、大雑把ではありますが、刻み時間の中でせめて始めか終わりかだけでも指定できれば便利です。それでPs Studioでは、それ用に離散系の定義が準備されています。それが、レート付きフローのゼロ次の積分である“Zero Order”と“Zero Order Immediate”です。
このことをドラム缶の風呂を例にして考えてみましょう。バケツリレーで1分間隔をメンバー全員で保つために、1分ごとに太鼓を叩くことにします。 a)刻み時間の中で終了間際にバケツの水を注ぐ場合(Zero Order): 太鼓がドーン。
渓谷の傍に居るメンバーがバケツで水を汲みます。1分間の内にバケツはリレーされ、次の太鼓がなる直前にドラム缶に注がれます。水位は30.5cmになりました。さて、風呂の水位の観測者はどうしているでしょう。水道で水を注ぐ場合と同じく、刻み時間の中頃で水位を計測しますが、その時点ではまだバケツの水は注がれていませんので、水位は刻み時間の最初の水位と同じく30cmのままです。刻み時間の終了間際には水位は30.5cmに変わっているのですが、その刻み時間の水位の記録としては、それより1つ前の刻み時間の終了間際の水位30cmになります。その刻み時間内にバケツの水を1杯注いだという効果が、その刻み時間内には記録される水位の変化に反映されず、1刻み時間遅れて反映されています。これがゼロ次の積分“Zero
Order”の説明です。 b)刻み時間の中で開始直後にバケツの水を注ぐ場合(Zero Order Immediate): 太鼓がドーン。 前もってドラム缶の前にバケツを持って控えていたメンバーが、直ちに水を注ぎます。ドラム缶の水位は30.5cmに変わりました。そうなんです。バケツリレーのメンバーは、刻み時間の開始時にバケツの水を注ぐことができるように、直前の刻み時間の終了間際にバケツがドラム缶のすぐ脇に届いているように計画したのです。観測者が風呂の水位を計測する時には既にバケツ一杯分の水位が増えて30.5cmになっていますから、この場合は、その刻み時間にバケツの水を注いだという効果が、その刻み時間の記録される水位の変化に反映されることになります。これがゼロ次の積分“Zero Order Immediate”の説明です。
以上でお話しした離散系の流れの挙動をもう少し詳しく理解するには、Ps Studioの中での操作のタイミングを知る必要があります。下図をご覧ください。色分けされた柵が4つで、一つの刻み時間内の操作を表しています。最初のタイミングで(緑色の柵)、フローに直接接続していない補助変数や定数の値が計算されます。第2のタイミングで(赤色の柵)、Zero
Order Immediateと定義された補助変数付きのフローの計算が行われます。第3のタイミングで(青紫の柵)、この刻み時間のシミュレーション結果が記録されます。ここで、第1と第2のタイミングで計算した結果は記録されますが、この後の第4のタイミングで実施される計算は、この記録に反映されないことが分かります。第4のタイミングで(肌色の柵)、通常の連続系あるいはZero
Orderと定義した補助変数付きのフローの計算が行われます。
今回構築したモデルでは、メインモデル、借入金返済サブモデル、各種経費サブモデル、減価償却サブモデル、資産税サブモデルで、Zero
Order あるいはZero Order Immediate
の積分法を利用しています。
通常の連続系の積分では、フローレートの単位はレベルの単位を時間で除した単位になります。しかし、ゼロ次の積分を指定すると、フローレートとレベルとは同じ単位を持つことになります。
ゼロ次の積分を指定する場合にもう一つ注意すべきことがあります。Ps Studioでは、刻み時間とは別に、グラフ形式やテーブル形式のレポート・タブの中でMajor
Intervalを指定して、要約期間を設定することができます。例えば、上の図では4つの刻み時間を要約期間として設定していることを表しています。
この要約期間の中で、@最初の値(First)、A最後の値(Last)、B最小の値、C最大の値、D平均値、E累積値を選択して表示することができます。特別に指定しないで、Studioの中でF自動的に適切な指定をするように任せることもできます。
さて、ゼロ次の積分と要約期間とを組み合わせると、シミュレーションの進行の過程で、変数が未定義となっている状態があります。したがって、
下記の場合は変数の値を表示することはできません。ただ、シミュレーション計算は正常に実施されます。 ■Zero Orderの積分を使う場合に、フローレートのLast値(最後の値)は未定義の状態です。 ■Zero Order Immediateの積分を使う場合に、フローレートのFirst値(最初の値)は未定義の状態です。
結局、その刻み時間の内に発生するフローによるレベルの変化を記録するにはZero Order Immediateを使い、レベルの変化を次の刻み時間に記録するには、Zero Orderを使います。
多くの人が経験しているサプライチェーンのモデルで考えてみましょう。通常の連続系のモデルでは、仕入れた商品フローが店舗の陳列棚であるレベルの量に反映するには翌日までかかりますから、レベルを見て販売の可否を判断していると、本日仕入れた商品を本日中には売ることができません。このような場合には、Zero
Order Immediateを適用すれば、その問題を解決できます。
最後にキャンプ場でのドラム缶の風呂のモデルを例にして、ゼロ次の積分の具体的な定義の方法について説明します。 モデルと5分間のモデルの挙動とをZero OrderとZero Order Immediateについて以下に示します。
上図の右側のZero Order Immediateのモデルにおいて、starttime直前の刻み時間0:09の終端において、プログラムでは0値を設定して、starttimeでレベル:ドラム缶の風呂桶に加算することになっています。本来この0値は、バケツ1杯分の初期値が設定されるべきですがそうなっていません。 それでその代わりに、バケツ1杯分の初期値をドラム缶の風呂桶の初期値に前もって加算しておく必要があります。点線のリンク線がそれを意味しています。
フローレートの“バケツの注水”のプロパティは以下のプロセスで定義します。 @ “Advanced”タブを選択する。 A その中で、Integration order of controlled flowの枠内の以下のどちらかを選択する。 ○ Zero Order ○ Zero Order Immediate
5.1 モデルのダウンロード モデルを実際に参照されるには、ダウンロードする必要があります。 商品版のPs Studioをお持ちの場合には、その上で動かすことができますので、全ての変数の方程式をご覧になっていただけます。また、商品版をお持ちでない場合には、フリーのPs StudioのDemo版をダウンロードしてお使いください。 Ps Studio Demo版のダウンロードは、下記のURLから進んでください。
http://www.posy.co.jp/PS-download.htm モデルは、下記の行をクリックしてZIPファイルをダウンロードして、解凍してください。 元利均等返済モデル、元金均等返済モデル、入出力用のExcelブックが一緒に圧縮されています。 マンション経営モデル(kanwa-19-model.zip)
なお、経営条件をExcelシートから変更してシミュレーションされる場合には、モデルの中で定数変数の多くにPermanentであることを設定するピンが打ってありますから、リセットボタンだけでなくピンを抜くためのアイコンもクリックした後、シミュレーションを始めてください。
次のSD閑話-20では、賃貸不動産ビジネスについて、SDツールで構築したモデルを使って考察を進めます。同様のビジネスについて検討したい場合には、ダウンロードしたモデルを使ってご自分で実施することができるわけですが、余り得意とされない場合には計算を依頼いただくこともできます。受託計算をビジネスにしていませんのでフリーですが、計算結果は保証できませんし、計算条件や計算結果に対してアドバイスも一切できません。 ご依頼いただいた場合には、”守秘義務を約束”しますので、遠慮なくお申し込みください。 ご依頼いただく場合には下記のデータをお送りください。
(1)依頼者情報
(2)計算条件
(3)送付先
SD閑話-19 了 |