跳轉到

1202 -- Fibonacci《Liber Abaci》:阿拉伯數字與複利計算進入歐洲#

案件描述#

1202 年,比薩的商人之子 Leonardo of Pisa(後世稱 Fibonacci)出版了《計算之書》(Liber Abaci)。這本書做了一件改變歐洲商業史的事:

把印度—阿拉伯數字系統(0, 1, 2, ... 9)與一整套商業計算技術,引進還在用羅馬數字與算盤的歐洲。

現代金融計算的一切——複利、現值、簿記、定價——都建立在「能用十進位數字寫下並計算」這個基礎上。沒有阿拉伯數字,就沒有 Markowitz 的矩陣與 Black–Scholes 的公式。

前因:羅馬數字的計算地獄#

  • 13 世紀的歐洲商人用羅馬數字(MMXXVI)記帳:加減勉強可行,乘除是災難,更別提分數與小數。
  • 計算靠算盤(abacus)與心算,交易記錄用文字描述數量。
  • 線索:Fibonacci 的父親是比薩駐北非布吉亞(今阿爾及利亞)的海關官員。少年 Fibonacci 在那裡接觸到阿拉伯世界的數學——那時伊斯蘭世界繼承了印度數字系統(約 9 世紀 al-Khwarizmi 的代數與演算法)與繁榮的商業數學。

推理過程#

線索一:位值系統的威力#

印度—阿拉伯數字的核心是位值制(positional notation):同一個符號「3」在 3、30、300 中代表不同的值,用「0」補位。這讓乘除變成機械化的直式計算——計算第一次變得可以「照規則做」,不需要天才。

「演算法」(algorithm)這個詞正源自 al-Khwarizmi——「照規則計算的程序」。Liber Abaci 就是歐洲第一本「演算法手冊」。

線索二:複利與現值——第一個金融計算問題#

Liber Abaci 第 12 章處理了商業數學的核心問題,包括複利與現值:

一筆錢以每年 25% 的複利增長, \(n\) 年後是多少?現在值多少?

Fibonacci 用累乘計算複利終值:

\[ FV = P(1 + r)^n \]

並反解現值(discounting):

\[ PV = \frac{FV}{(1 + r)^n} \]

歷史意義:「時間的價值」(time value of money)第一次被系統性地計算——這是所有債券定價(見 1992-HJM利率模型.md)、DDM 估值(見 1952-Markowitz投資組合理論.md)的數學祖先。

線索三:兔子問題與 Fibonacci 數列#

書中著名的「兔子繁殖問題」產生了 Fibonacci 數列:

\[ 1, 1, 2, 3, 5, 8, 13, \dots \qquad F_n = F_{n-1} + F_{n-2} \]

相鄰兩項的比值趨近黃金比例 \(\varphi = \frac{1+\sqrt{5}}{2} \approx 1.618\) 。

(偵探註記:這個數列與金融的直接關係微弱——「費波那契回檔」的技術分析缺乏統計證據——但它是遞迴關係與收斂極限的著名早期案例,而遞迴與收斂正是後來二項樹(見 1979-CRR二項樹模型.md)與動態規劃的數學骨架。)

線索四:商業數學的完整工具箱#

Liber Abaci 還涵蓋:貨幣兌換(多重匯率下如何定價)、單利/複利、合夥分帳(profit sharing)、混合定價(rule of three:三數比例法)——13 世紀商業世界的完整計算需求。

現代程式重現:複利與現值#

def compound(P, r, n):
    """Fibonacci 的複利終值"""
    fv = P
    for _ in range(n):      # 累乘 — 13 世紀的直式計算
        fv *= (1 + r)
    return fv

def present_value(fv, r, n):
    """現值折現 — 時間價值的核心"""
    return fv / (1 + r)**n

print(compound(100, 0.25, 4))       # 244.14 — 書中同型問題
print(present_value(100, 0.05, 10)) # 61.39

# Fibonacci 數列:遞迴 → 收斂
a, b = 1, 1
for _ in range(30): a, b = b, a + b
print(b / (b - a))  # ≈ 1.618(黃金比例)

後果#

  • 商業革命的計算基礎:阿拉伯數字 + 複利計算讓歐洲的銀行業、保險業、複式簿記(1494, Pacioli)得以誕生。
  • 斐波那契學派:Fibonacci 的追隨者(如 1299 年的 Giovanni di Bicci)繼續發展商業數學;「algorithm」一詞從此進入歐洲語言。
  • 佛羅倫斯的美第奇銀行(1397)與威尼斯的保險業,全部建立在這套計算技術上。
  • 盲點:教會一度抵制阿拉伯數字(怕造假——「3」可以改成「8」),佛羅倫斯 1299 年甚至禁令使用。但商業的力量最終獲勝。

偵探筆記#

  • 動機:羅馬數字的計算地獄 vs 阿拉伯世界的數學
  • 工具:位值系統、複利/現值、遞迴關係
  • 遺產:歐洲商業數學的基礎、「演算法」一詞、時間價值計算
  • 盲點:技術分析對 Fibonacci 數列的濫用(缺乏統計證據)

參考資料#

  • Fibonacci (1202). Liber Abaci.(英譯:Sigler, L. (2002). Fibonacci's Liber Abaci. Springer.)
  • Devlin, K. (2011). The Man of Numbers: Fibonacci's Arithmetic Revolution.