関数電卓(Scientific Calculator)とHP 12c(Financial Calculator)の相違点

関数電卓(Scientific Calculator)とHP 12c(Financial Calculator)は、設計思想と用途のターゲットが根本から異なります。

比較項目一般的な関数電卓HP 12c
主対象領域理工学・物理・数学・建築金融・投資分析・不動産・FP実務
入力方式代数方式(数式通り入力 / 括弧あり)RPN(逆ポーランド記法)※一部モデルは切替可
時間価値(TVM)計算基本的に非対応(数式を一から組む必要あり)専用TVMキー(n, i, PV, PMT, FV)を常備
キャッシュフロー分析単純な計算機では組めない(プログラミング等が必要)NPV・IRR(正味現在価値・内部収益率)を直接処理
日付・カレンダー計算原則なし(三角関数・微積分が中心)経過日数計算、日割利息計算などをハード側で保持
画面・構造複数行ドットマトリクス(数式表示)が主流1行の7セグメント液晶、横型デザイン、金属プレート

1. 入力ロジックの違い(代数入力 vs RPN)

  • 一般的な関数電卓:( や ) を使い、紙に書いた数式と同じ順序(中置記法)で打ち込みます。括弧の深さや演算子の優先順位を電卓側が自動で解析します。
  • HP 12c: 数値を4段のスタック(X, Y, Z, T)に積み、演算子を後から押して処理するRPN(Reverse Polish Notation)が基本です。括弧キーを一切使わずに中間結果を保持しながら連続計算できるため、手数が少なく誤入力を抑えられます。

2. 搭載されている関数の性質

  • 関数電卓: 三角関数(\(\sin, \cos, \tan\))、対数、微積分、複素数、行列計算、統計(回帰分析)など、自然科学・工学のためのツールが網羅されています。
  • HP 12c: 住宅ローン、債券利回り、減価償却(定額・定率・級数法)、複利運用、不均等キャッシュフローのDCF法など、金融・ファイナンス数学に特化した専用アルゴリズムが内蔵されています。

3. ワークフローの違い

関数電卓で「毎月積立の将来価値」を求める場合、等比数列の和の公式を一から手入力しなければなりません。一方、HP 12cであれば条件の数値を各金融キー(n, i, PMT 等)に割り当て、求めたい変数のキー(例: FV)を1打叩くだけで解が得られます。

理数系の数式を解くための「関数電卓」に対し、金銭の時間価値(Time Value of Money)を解くために極限まで最適化された実務機が「HP 12c」です。

日本の実務電卓とHP 12cの主な相違点

日本の一般的な実務電卓(カシオやシャープなど)と、世界標準の金融電卓 HP 12c の主な違いを整理しました。

項目日本の実務電卓(カシオ・シャープ等)HP 12c(ヒューレット・パッカード)
入力方式数式通り(中置記法)
数値を演算子で挟んで入力(例: 1 + 2 =)
RPN(逆ポーランド記法)
数値をスタックに積んでから演算(例: 1 ENTER 2 +)
= キーあり(計算の確定に使用)なし(演算子を押した瞬間に計算完了)
カッコ計算カッコキーがない機種が多く、メモリー機能(M+等)で代用カッコキー不要。4段のスタック構造(X, Y, Z, T)で複雑な数式も内側から自然に処理可能
専門機能商業実務向け
・消費税計算(税込・税抜)
・日数計算、時間計算
・GT(グランドトータル)
金融工学・ファイナンス特化
・TVM(複利・年金現価・ローン償還)
・IRR(内部収益率)、NPV(正味現在価値)
・債券利回り・減価償却
プログラム機能なし(検定・会計規定に準拠)あり(最大99ステップのキーストローク・プログラミング)
本体デザイン縦型デスクタイプが主流横型ポケットサイズ(ゴールドプレート仕上げ)

核心の違い

  • 日本の実務電卓は、「伝票集計」「簿記・会計」「消費税計算」をミスなく高速に入力することに特化しており、四則演算とメモリーの使い勝手を突き詰めた道具です。
  • HP 12cは、「お金の時間価値(Time Value of Money)」を扱うための専門機です。カッコやメモリーを意識せず流れるように多段計算ができるRPNスタックと、複利・投資分析の専用キーが一体化している点が最大の強みです。

HP-12Cにはパーセント計算専用のキーが3種類搭載されています。

HP-12Cにはパーセント計算専用のキーが3種類搭載されています。いずれも基準となる数値を先に入力し、割合や比較数値を後に入力してキーを押します。

1. 3つのパーセントキーの違い

キー名称求めるもの計算式
[%]単純パーセントある基準値に対する指定割合の金額・実数値\(\text{Base} \times \frac{\text{Rate}}{100}\)
[Δ%]パーセント変化率基準値から比較値への増減率(%)\(\frac{\text{New} – \text{Base}}{\text{Base}} \times 100\)
[%T]合計に対するパーセント全体(合計)に対する指定値の構成比率(%)\(\frac{\text{Part}}{\text{Total}} \times 100\)

2. [%]:単純パーセント(消費税、値引き、割増)

基準値に対して「〇〇%に相当する数値」を求めます。計算後、Yレジスタに元の基準値が保持されるため、そのまま [+] や [-] を押すだけで加算・減算が完了します。

例: 15,000円の商品の「消費税10%」と「税込合計額」を求める

手順キー操作画面表示解説
115000 [ENTER]15,000.00基準値(本体価格)を入力
210 [%]1,500.0010%分の金額(税額)が算出される
3[+]16,500.00Yに残っていた本体価格と加算され税込額が完了

※20%引きの場合は、手順2で 20 [%] を押して値引き額(3,000)を出した後、[-] を押せば即座に 12,000 が求まります。

3. [Δ%]:パーセント変化率(前年比、騰落率、増減率)

古い値(基準)と新しい値を比較し、何%増減したかを算出します。

  • 入力順序: 基準となる古い値 [ENTER] 新しい値 [Δ%]

例: 前期の売上400万円から、今期500万円に増加した場合の成長率

手順キー操作画面表示解説
1400 [ENTER]400.00基準となる前期売上
2500 [Δ%]25.0025%の増収(+25.00%)

※もし前期500万円から今期400万円に減少した場合は、500 [ENTER] 400 [Δ%] と入力すると -20.00(20%の減収)と表示されます。

4. [%T]:合計に対するパーセント(ポートフォリオ構成比、シェア率)

全体(Total)に対して、部分(Part)が占める割合をパーセント表示します。

  • 入力順序: 全体(Total) [ENTER] 部分(Part) [%T]

例: 資産総額2,000万円のうち、株式が600万円ある場合の組入比率

手順キー操作画面表示解説
12000 [ENTER]2,000.00全体(総資産)を入力
2600 [%T]30.00株式の構成比は 30%

連続計算の活用(ポートフォリオ分析)

[%T] を実行すると、直前の計算(全体値 2,000)が自動的に LAST X に退避されます。そのため、続けて別の資産の比率を出す際は全体値を再入力する必要がありません。

  1. 600[%T] → 30.00(株式: 30%)
  2. 800[g] [LSTX][%T] → 40.00(債券: 40%)
  3. 600[g] [LSTX][%T] → 30.00(預金: 30%)

LAST X

LAST X は、四則演算などの処理を実行した瞬間に、直前にXレジスタ(画面)に入っていた数値を自動保存する退避領域です。

呼び出しは [g] [LSTX]([ENTER] キーの下にある青色機能)で行います。

1. 計算ミスの修正(リカバリー)

割り算の数値を間違えた場合、最初から計算をやり直すことなく元の状態へ戻せます。

例: \(100 \div 5 = 20\) を計算したかったのに、誤って 4 で割ってしまった場合

手順キー操作画面表示内部の動きの解説
1100 [ENTER] 4 [÷]25.00誤って4で除算。LAST Xには直前の「4」が自動保存される
2[g] [LSTX]4.00LAST Xから「4」を呼び出し(Yには25が入る)
3[×]100.00\(25 \times 4\) で元の100を復元
45 [÷]20.00正しい除数「5」で割り直して完了

ポイント:

足し算・引き算のミスも同様です。足しすぎたら [g] [LSTX][-]、引きすぎたら [g] [LSTX][+] で即座に元の値に戻せます。

2. 同じ数値を繰り返し使う計算(定数計算)

同じ係数や単価、税率などを複数の数値に連続して適用したい場合、LAST Xを使うと定数の再入力を省略できます。

例: 為替レート「1ドル = 150円」を使って、複数のドル金額($20、$35、$50)を連続して円換算する場合

手順キー操作画面表示内部の動きの解説
120 [ENTER] 150 [×]3,000.00\(20 \times 150\) を計算。LAST Xに「150」が保存される
23535次の計算対象($35)を入力
3[g] [LSTX]150.00保存されていた定数「150」を呼び出し
4[×]5,250.00\(35 \times 150\) の計算完了(LAST Xには再び150が保持)
550 [g] [LSTX] [×]7,500.00同様に次の金額もワンタッチで計算可能

3. 同一数値の再利用(累乗や比率の計算)

ある数値で計算したあと、同じ数値を分母や乗数として使いたい場面でも有効です。

例: 85に対する各構成要素(30, 55)の割合を求める場合

  1. 30[ENTER]85[÷] → 0.35(約35%)
    • この時点で LAST X に「85」が保存されます。
  2. 55[g] [LSTX][÷] → 0.65(約65%)
    • 85を打ち直すことなく、次の比率を計算できます。

通常の STO と STO + の違い

STO +は、「電卓の画面に出ている数値を、レジスタ4の中身に直接足し算(加算)して上書き保存しなさい」という具体的な計算命令です。

HP電卓のストレージ機能(レジスタ演算)の仕様で、以下のような働きをします。

通常の STO と STO + の違い

  • STO 4(通常の保存):
    • レジスタ4に元々入っていた数値を消して、画面の数値で丸ごと置き換える。
    • 式で表すと:\(R_4 = X\)(\(X\) は画面の数値)
  • STO + 4(加算保存):
    • レジスタ4に現在入っている数値に、画面の数値を足し算して再保存する。
    • 式で表すと:\(R_4 = R_4 + X\)

先ほどの手順で起きていること

最初に 0 STO 4 と打ったのは、「レジスタ4の数値をまずゼロにして空っぽにする(箱を初期化する)」 ための操作です。

その後、各ステップで STO + 4 を実行すると、レジスタ4の内部は次のように積み上がっていきます。

  1. 準備:0 STO 4
    • レジスタ4の中身:0.00
  2. 1年目のNPV計算後(画面表示:3.92):STO + 4
    • レジスタ4の中身:\(0 + 3.92 = \mathbf{3.92}\)
  3. 2年目のNPV計算後(画面表示:3.77):STO + 4
    • レジスタ4の中身:\(3.92 + 3.77 = \mathbf{7.69}\)
  4. 3年目のNPV計算後(画面表示:92.46):STO + 4
    • レジスタ4の中身:\(7.69 + 92.46 = \mathbf{100.15}\)
  5. 確認:RCL 4
    • レジスタ4に蓄積された合計値 100.15 が呼び出される。

補足:四則演算すべてに対応しています

この機能は足し算だけでなく、引き算や掛け算・割り算も可能です。

  • STO - 4:レジスタ4から画面の数値を引く(\(R_4 = R_4 – X\))
  • STO * 4:レジスタ4に画面の数値を掛ける(\(R_4 = R_4 \times X\))
  • STO / 4:レジスタ4を画面の数値で割る(\(R_4 = R_4 \div X\))

「合計を出したいけれど、スタック(X, Y, Z, T)を汚さずに横の引き出し(レジスタ)へ次々と放り込んで足し合わせたい」という場面で非常に重宝する機能です。

HP-12Cのストレージレジスタ

HP-12Cのストレージレジスタは、スタック(X, Y, Z, T)とは別に数値を長期間保持できるメモリー領域です。基本的な保存・呼出に加え、画面の数値をメモリー内部で直接加減乗除する「レジスタ演算」を備えています。

1. 利用可能なストレージレジスタ

  • レジスタ 0 〜 9:[STO] 0 〜 [STO] 9(最も頻繁に使う基本領域)
  • レジスタ .0 〜 .9:[STO] [.] 0 〜 [STO] [.] 9(10個の追加拡張領域)
  • 金融レジスタへの直接代入:[STO] [n], [STO] [i], [STO] [PV], [STO] [PMT], [STO] [FV] も可能

※レジスタの一括クリアは [f] [REG] です。金融計算のみクリアする [f] [FIN] ではストレージレジスタ(0〜9)は消去されません。

2. 基本操作(保存と呼出)

保存: [STO] + 番号

  • 画面(Xレジスタ)の数値を指定したレジスタへコピーします。
  • Xレジスタの数値はそのまま残ります。
  • 例: 1500[STO] 1(レジスタ1に 1,500 を保存)

呼出: [RCL] + 番号

  • 指定したレジスタの数値を画面(Xレジスタ)に呼び出します。
  • スタックは自動的に1段押し上げられます(直前のXはYへ移動)。
  • 例: [RCL] 1(レジスタ1の 1,500 を呼び出し)

3. レジスタ演算(メモリー内直接演算)

メモリー内の数値を画面に呼び出すことなく、指定したレジスタの中にある数値に対して直接四則演算を行います。集計や累計の算出に極めて便利です。

構文: [STO] [演算子] [レジスタ番号]

操作動作
[STO] [+] 1レジスタ1の現在値 + 画面の表示値 → レジスタ1に上書き保存
[STO] [-] 1レジスタ1の現在値 - 画面の表示値 → レジスタ1に上書き保存
[STO] [×] 1レジスタ1の現在値 × 画面の表示値 → レジスタ1に上書き保存
[STO] [÷] 1レジスタ1の現在値 ÷ 画面の表示値 → レジスタ1に上書き保存

※画面(Xレジスタ)の数値は変化しません。

4. 具体例: 複数項目の合計金額(売上集計)を求める

商品A(\(120 \times 3\) 個)、商品B(\(85 \times 5\) 個)、商品C(\(240 \times 2\) 個)の総額をレジスタ0で累計する場合。

手順キー操作画面表示内部の動き(レジスタ0)
10 [STO] 00.00レジスタ0を初期化
2120 [ENTER] 3 [×]360.00商品Aの小計
3[STO] [+] 0360.00レジスタ0に加算(レジスタ0: 360)
485 [ENTER] 5 [×]425.00商品Bの小計
5[STO] [+] 0425.00レジスタ0に加算(レジスタ0: 785)
6240 [ENTER] 2 [×]480.00商品Cの小計
7[STO] [+] 0480.00レジスタ0に加算(レジスタ0: 1,265)
8[RCL] 01,265.00合計金額を呼び出し

5. 覚えておくと役立つテクニック

  • 金融レジスタとの相互連携:金利計算などで求めた毎月返済額(PMT)を他の一般計算に使いたい場合、[RCL] [PMT] でいつでも一般のスタック計算に呼び出せます。
  • 定数の保持:消費税率(0.10)や年間インフレ率(0.02)など、計算全体を通して何度も使う前提数値を [STO] 9 など端の番号に常駐させておくと、スタックの深さを気にせず [RCL] 9 で何度でも利用できます。

4段の自動スタックレジスタ(X, Y, Z, T)

HP-12Cの計算エンジンの中核にあるのが、4段の自動スタックレジスタ(X, Y, Z, T)です。この仕組みを理解すると、長い数式や複雑な金融計算でもメモを取らずに素早く処理できるようになります。

1. スタックレジスタの基本構造

電卓の内部には4つの保存領域が縦に並んでいます。

  • Tレジスタ(Top): 最上段。
  • Zレジスタ: 3段目。
  • Yレジスタ: 2段目。演算時の相手側の数値が入る。
  • Xレジスタ: 最下段。ディスプレイに常時表示されている数値。

2. スタックの基本動作(プッシュとポップ)

数値入力と計算によって、スタックは自動的に上下します。

数値を押し上げる(Lift / Push)

  • [ENTER] を押すと、数値が上に押し上げられます。
    • Tの値は外へ押し出されて消去
    • Z → T
    • Y → Z
    • X → Y
    • Xの値はそのままXに残り、次の数値入力を待機(複製された状態)

計算で数値が下りてくる(Drop / Pop)

  • 演算子([+], [-], [×], [÷] など)を押すと、YとXの間で計算が行われます。
    • 計算結果が X に入る
    • Z → Y に下りてくる
    • T → Z に下りてくる
    • Tの内容は保持され、T自身にも残る(Tの複製)

3. スタック操作の2大キー

スタック内の数値を並べ替えたり確認したりする際に使うのが [x≷y] と [R↓] です。

[x≷y](XとYの交換)

  • 動作: Xレジスタ(画面表示)とYレジスタの数値を入れ替えます。ZとTは動きません。
  • 用途:
    • 割り算や引き算の順序を逆にしたいとき(例: 3[ENTER]12 と入れたが \(12 \div 3\) を計算したい場合、[x≷y] を押せば即座に順序が直る)。
    • 直前の入力値を確認したいとき。

[R↓](ロールダウン)

  • 動作: 4段の数値を樽を回すように1段ずつ循環(下にシフト)させます。
    • X → T(最上段へループ)
    • Y → X
    • Z → Y
    • T → Z
  • 用途: 4回連続で押すと元の状態に戻るため、スタックに現在どんな数値が保持されているかを確認するときに使用します。

4. 具体例で見るスタックの動き

式: (4 × 5) + (6 ×7) を解くときの内部変化

操作X(表示)YZT内部の動きの解説
[f] [REG]0.000.000.000.00スタック全クリア
4 [ENTER]4.004.000.000.004をYへ押し上げ(Xにも4が残る)
5 [×]20.000.000.000.00\(4 \times 5 = 20\) がXに入り、スタックが下がる
6 [ENTER]6.0020.000.000.0020がYへ押し上げられ、Xに6が入る
7 [×]42.0020.000.000.00\(6 \times 7 = 42\) がXに入り、20はYにとどまる
[+]62.000.000.000.00Y(20)とX(42)を加算し、結果の62がXに入る

式: (12 – 3) ÷ 4 で引き算の順序を間違えた場合のリカバリー

操作X(表示)YZ解説
3 [ENTER] 1212.003.000.00順序を逆に打ってしまった状態(このまま [-] を押すと \(3 – 12\) になる)
[x≷y]3.0012.000.00XとYが入れ替わり、正しい順序(\(12 – 3\))に整う
[-]9.000.000.00正しく引き算が完了
4 [÷]2.250.000.00\(9 \div 4\) の計算結果

5. もう1つの特殊レジスタ: LAST X

スタック4段とは別に、直前の演算でXに入っていた数値を1つだけ自動退避する「LAST X」レジスタが存在します。

  • 呼び出しキー: [g] [LSTX]
  • 用途:
    • 入力ミスした割り算の数値を戻してリカバリーする
    • 同じ数値で何度も割り算・掛け算を行う(定数計算)

4段の自動RPNスタック、独立した5つのTVM専用レジスタ

HP 12cの根幹を支えているのは、4段の自動RPNスタック、独立した5つのTVM専用レジスタ、そしてそれらを結ぶ金融方程式の反復解法アルゴリズムです。

1. 4段RPNスタックの構造と動作

HP 12cの日常計算は、4つの数値保持領域(X, Y, Z, T)が縦に積まれたスタック上で行われます。

[ T レジスタ ]  (Top: 押し出された値の退避・定数保持)
[ Z レジスタ ]  
[ Y レジスタ ]  
[ X レジスタ ]  (Display: 現在画面に表示されている値)
  • プッシュ(Push)動作:数値を入力して ENTER を押すと、Xレジスタの値がYへコピーされ、全体が1段ずつ押し上げられます(Tの値はオーバーフローして消失)。
  • ポップ(Pop / 演算)動作:+ や * などの2項演算子を押すと、X と Y の値を使って計算が行われ、結果が新しい X に収まります。同時に Z が Y に、T が Z に一段ずつ落ちてきます(Tの値は複製されてTにとどまる「Tの複製性」)。
  • 補助レジスタ(Last X):直前の演算で使われた「直前のXレジスタの値」は、独立した LAST X レジスタに自動退避されます。gLST x で即座に呼び出せるため、誤入力の復旧や同一係数による連続計算に利用されます。

2. TVM専用レジスタと記憶域

RPNスタック(X, Y, Z, T)とは完全に独立した専用メモリとして、最上段キーに割り当てられた 5つのTVMレジスタ が存在します。

レジスタキー役割・単位
nn複利計算期間数(期数)
ii1期あたりの利率(%表記:1%なら 1 と入力)
PVPV現在価値(Present Value)
PMTPMT毎期の定期支払額(Payment)
FVFV将来価値(Future Value)
  • 値の格納と呼び出し:
    • 画面(Xレジスタ)の値を各キー(例: PV)に割り当てる際、スタック上の数値は破壊されず、そのままTVMレジスタへ複写されます。
    • RCLPV などを押すと、TVMレジスタの中身がスタックのXレジスタへ読み出されます。
  • キャッシュフローの符号則(Sign Convention):TVM計算では、「手元に入る資金=プラス」「手元から出ていく資金=マイナス(CHS)」 というキャッシュフローの方向性を厳格に区別して格納する必要があります。符号を誤ると解が存在しなくなり、エラー(Error 5)の原因となります。

3. TVM計算の内部動作と数学モデル

TVMの5変数(\(n, i, PV, PMT, FV\))は、すべて以下の包括的金融方程式(一般式)によって結ばれています。

\[PV + PMT \cdot \left( \frac{1 – (1 + i)^{-n}}{i} \right)(1 + i \cdot S) + FV \cdot (1 + i)^{-n} = 0\]

(※ \(S\) は支払期日フラグ。期末払い END なら \(S = 0\)、期首払い BEGIN なら \(S = 1\))

解析解(ダイレクト計算)

\(n, PV, PMT, FV\) の4つの変数は、代数的に式を変形して直接計算(対数計算や累乗計算)できます。そのため、いずれかのキーを押した瞬間にミリ秒単位で解がXレジスタに表示されます。

数値解法(\(i\) の反復探索)

未知数が 利率 i の場合、多項式となるため代数的に \(i =\) の形に解くことができません。

  • HP 12c内部では、ニュートン=ラフソン法(Newton-Raphson method)やセカント法(割線法)に基づく反復試行(イテレーション)が実行されます。
  • 初期の仮定値から出発し、方程式の誤差がゼロに収束するまでCPUが内部で計算をループします。
  • i を押した直後に画面が一瞬点滅(あるいはブランク)するのは、プロセッサがこの反復収束計算を行っている物理的な証左です。

4. スタックとTVMレジスタの連携フロー例

「元金1,000万円、借入金利年1.2%、35年返済の月額返済額」を算出する場合の内部挙動:

  1. 35g12x
    • スタックXに 420 が生成され、同時に n レジスタ に 420 が代入される。
  2. 1.2g12÷
    • スタックXに 0.10(月利%)が生成され、同時に i レジスタ に 0.10 が代入される。
  3. 10000000PV
    • PV レジスタ に 10,000,000 が格納される。
  4. 0FV
    • 完済のため FV レジスタ に 0 を格納。
  5. PMT を押下
    • CPUが TVM レジスタの 4変数(\(n=420, i=0.1, PV=10000000, FV=0\))とモード(\(END\))を読み込み、閉形式の等比級数和の解法を実行。
    • 計算結果(-29,170.23...)がスタックの Xレジスタ(表示部) に書き込まれる。

このように、RPNスタックが「手元の数値加工」を担い、TVMレジスタが「方程式のパラメータ保持」を担うことで、括弧を一切使わない流れるような資金計算を可能にしています。

逆ポーランド記法(RPN)

HP-12Cは逆ポーランド記法(RPN)を採用した金融電卓のデファクトスタンダードです。基本操作と代表的な計算手順をまとめたレジメです。

1. 基本仕様とキーの読み方

  • RPN(逆ポーランド記法): 「数値 → 数値 → 演算子」の順に入力します。= キーは存在しません。
  • プレフィックスキー:
    • [f](金色): キー上部に金色で印字された機能を呼び出す。
    • [g](青色): キー下部に青色で印字された機能を呼び出す。
  • クリア機能:
    • [CLX]: 画面の表示値のみクリア。
    • [f] [REG]: 計算レジスタ(X, Y, Z, T)の全クリア。
    • [f] [FIN]: 金融レジスタ(n, i, PV, PMT, FV)のクリア(金融計算前は必須)。
  • 表示桁数の変更:[f] の後に希望の小数点桁数キーを押す(例: [f] [4] で小数点以下4桁表示)。

2. 四則演算の基本(スタック操作)

HP-12Cは数値を「X, Y, Z, T」という4段のスタック構造で保持します。

計算式キー操作画面表示
5 + 35 [ENTER] 3 [+]8.00
10 – 410 [ENTER] 4 [-]6.00
6 × 76 [ENTER] 7 [×]42.00
(2 + 3) × 42 [ENTER] 3 [+] 4 [×]20.00

※括弧を使う複雑な計算も、内側から順に [ENTER] でスタックに積み上げながら処理できます。

3. 金融計算(TVM: 貨幣の時間的価値)

最上段の5つのキーを使用します。現金の流出入の向き(キャッシュフローの符号) を厳密に区別するため、支払いはマイナス([CHS] キーで符号反転)として扱います。

  • n: 期間数(月数や年数)
  • i: 金利(期間あたりの利率 %)
  • PV: 現在価値(借入額や初期投資額)
  • PMT: 定期支払額(毎回の返済額・積立額)
  • FV: 将来価値(将来の目標額や残債)

例題: 3,000万円を金利年1.5%、35年(420ヶ月)返済で借りた場合の毎月返済額

  1. 初期化:[f] [FIN]
  2. 借入額入力:30000000[PV]
  3. 月利入力:1.5[ENTER]12[÷][i] (画面: 0.13)
  4. 期間入力:35[ENTER]12[×][n] (または 35[g] [n])
  5. FV入力:0[FV] (完済のため将来価値は0)
  6. 計算実行:[PMT]
    • 画面に -91,855.05 と表示され、毎月の返済額は約91,855円と求まります。

4. 支払期日設定(期首払い/期末払い)

  • 期末払い(通常ローンなど):[g] [END]
  • 期首払い(家賃の前払いなど):[g] [BEG] (画面下に BEGIN と表示)

スポットレートとフォワードレート(フォワード金利)

スポットレートとフォワードレート(フォワード金利)の関係式は、掛け算・割り算・累乗(\(y^x\))の組み合わせになるため、スタック操作や先ほどのストレージ演算(STO / や STO * など)を活用すると、紙にメモすることなく極めてスムーズに解けます。

基本理論と、HP 12c(RPN)でのスマートな操作例を整理します。

基本公式の確認

例えば、「1年後から2年後までの1年間のフォワードレート(\(_1f_2\))」 を求める場合:

\[(1 + r_1)(1 + {_1f_2}) = (1 + r_2)^2 \Rightarrow 1 + {_1f_2} = \frac{(1 + r_2)^2}{1 + r_1}\]

より一般的に、「\(t\) 年後から \(T\) 年後までのフォワードレート(\(_tf_T\))」は以下の形になります。

\[(1 + {_tf_T})^{T – t} = \frac{(1 + r_T)^T}{(1 + r_t)^t}\]

分子・分母それぞれで複利運用額を求め、割り算を行う構造です。

ケース1:スポットレートからフォワードレートを求める

先ほどの問題の数値(1年物:\(2\%\)、2年物:\(3\%\)、3年物:\(4\%\))を例にします。

例題A:1年後から3年後までのフォワードレート(\(_1f_3\):期間2年)

式:\((1 + {_1f_3})^2 = \frac{(1.04)^3}{(1.02)^1} \Rightarrow {_1f_3} = \sqrt{\frac{1.04^3}{1.02}} – 1\)

【スタックだけで一気に解くキーストローク】

  1. 分母を置く:1.02 ENTER
  2. 分子を計算:1.04 ENTER 3 y^x (これで Yレジスタに1.02、Xレジスタに1.04^3)
  3. X≷Y
  4. 割り算:/
  5. 2乗根(期間2年分を年率化):2 1/x y^x(※ \(\sqrt{x}\) キーでも可)
  6. 1を引いて%化:1 - 100 *
  • \(\rightarrow\)5.01%

ケース2:レジスタ演算(STO /)を活用するパターン

期間が長くなったり、後で分母の数値を再利用したい場合、STO /(レジスタ割り算) を使うとさらに視覚的です。

式:\(1 + {_1f_2} = \frac{(1.03)^2}{1.02}\)

  1. 分子を計算してR1へ:1.03 ENTER 2 y^x STO 1 (R1に1.0609が入る)
  2. 分母を入力して直接R1を割る:1.02 STO / 1 (R1の中身が \(1.0609 \div 1.02\) に更新される)
  3. 結果を呼び出して仕上げ:RCL 1 1 - 100 *
  • \(\rightarrow\)4.01%

このように、STO / 1 を使うと「分子を作って箱に入れ、分母でその箱を割る」という直感的な処理が可能です。

ケース3:スポットレートのブートストラップ(割引債価格から逆算)

逆に、クーポン付き債券の価格やディスカウントファクターからスポットレートを逐次求める「ブートストラップ法」でも、TVMキーや \(y^x\) とレジスタ演算を組み合わせることで威力を発揮します。

  • \(t\) 年物の割引債価格 \(P_t\) から \(t\) 年スポットレート \(r_t\) を出す場合:
    \[r_t = \left(\frac{100}{P_t}\right)^{\frac{1}{t}} – 1\]
  • TVMキーを使う場合:
    • n に年数、PV にマイナスの購入価格、FV に 100、PMT に 0 を入れて i を押すだけで、スポットレートが一瞬で求まります。

金利の期間構造(イールドカーブ)の計算は、まさにRPNとレジスタ機能の強みが最大限に生きる分野です。