序
本書是筆者繼《財金統計學:使用R 語言》(簡稱《財統》)與《經濟與財務數學:使用R 語言》(簡稱《財數》)(皆為五南出版)二書後所寫的第三本書;換言之,於完成《財數》後,筆者思考後續的發展,何不嘗試用R 語言(簡稱R)來思考衍生性商品?如今,本書也已經完成了,以下簡稱為《衍商》。三本書的難易程度依序為《衍商》、《財統》與《財數》。它們的特色是全部用「機器取代人工」,即於各書中只要有牽涉到例如讀取資料、計算、模擬、估計、製表或甚至於繪圖等動作,皆有對應的R指令 (存於各書所附的光碟片內),可以用與機器(電腦)溝通;因此,若初學者想要學習R 程式,筆者的建議是可以先學習《財數》。
也許讀者曾經聽過下列的說法:「經濟或財務專業的學習者通常可以分成二種類型,第一類型的人只需使用簡單的圖形與數學,典型的代表人物是亞當斯密或凱因斯等人;第二種類型的人會使用抽象複雜的數學模型,而其代表人物則為Black、Scholes 或Merton 等人。」至於第三種類型的人呢?應該就是我們了。既無凱因斯等人的聰明才智,又無嚴謹的數學訓練,那我們應該如何學習經濟或財務專業呢?此問題著實困擾筆者甚久。長久以來,筆者一直嘗試找出方法或答案,還好答案有可能已經逐漸浮出檯面了。原來,我們欠缺適當的輔助工具來學習上述專業,就筆者而言,該輔助工具就是電腦語言;也就是說,我們需要學會電腦語言才能與電腦溝通,才能用電腦取代人腦,也才能瞭解上述第一類型與第二類型的人的想法或論述。
為何電腦語言如此重要?網路上有人稱世界上有四種最重要的語言,分別為英文、中文、數學與電腦語言。筆者頗贊同上述的說法,中文與英文的重要性本來就不容置疑,而各種專業早就大量的使用數學(語言),因此若要瞭解各種專業,對數學語言本來就不能太陌生。只是究竟要如何學習數學呢?也許還是有一些錯誤的印象在我們的腦中;例如:就是數學或電腦不好才來念商科,才來念「社會組」。持平而論,我們可以仔細回想上述不好的印象從何而來?也許,是來自於國高中數學的學習,不過若檢視一下《財數》內容,應該可以發現現在所使用的數學與國高中數學的關聯性其實並不高;因此若讓當初錯誤的印象繼續存在而影響我們未來的發展,應該是不正確的,更何況當初並沒有使用電腦工具模擬或計算。也許讀者亦會反對,不是也要學電腦語言嗎?根據筆者的印象,筆者當初大學曾接觸過FORTRAN 與COBOL 語言,可惜的是,當初所用的範例太不吸引人了(因為大多是純粹的數學或資訊方面的例子);或者說,太缺乏可供參考的範例了,以至於學起來相當不順手。更重要的是,當初並沒有警覺到電腦語言的重要性。如今時空環境已大不同了,網路上的資訊隨手可得;另一方面,筆者也已經提供許多範例了,故若是好好地認真學習,應該會與以前不同。因此,最後筆者還要補上「用電腦語言來學習數學」這句話。
為何我們可以用電腦語言來學習數學呢?其實《財數》一書已經透露出一些端倪了。看到複雜的數學模型,首先我們當然嘗試是否可以用電腦程式表示或翻譯,若可以的話,我們反而可以進一步用電腦來模擬或計算,如此自然可以提高對該數學模型的瞭解。更重要的是,我們也可以將上述電腦程式「拆解」成若干指令,然後逐步去瞭解每一指令的意思,這之間當然亦需要電腦的模擬或計算,不過只要會使用電腦語言,上述的步驟應不難執行與檢視。因此,利用電腦反而可以讓我們想像出上述數學模型的結構與涵義。換言之,讀者不妨利用上述方式來檢視《衍商》的內容;也就是說,於《衍商》內,的確有頗多複雜的數學模型,讀者倒是可以利用上述方法檢視看看。可惜的是,筆者曾經看到不少學生竟然在「閱讀」《財統》內所附的R 指令,此應該是不正確的;相反地,上述同學應該實際於電腦內操作,利用結果去瞭解每一指令的意思。因此,看到抽象複雜的數學模型,我們應該可以用電腦來檢視其意義。如此的學習方式,讀者有用過嗎?數學不好或對其沒有興趣,有可能是因為當初接觸太少或不知使用何方法檢視所造成的。也許,讀者可以重新嘗試看看。
「進步猶如劍之雙刃」,未來我們皆有可能會面臨失業的危機;的確,科技進步雖帶來了方便,卻也帶來了一些隱憂,那就是「用機器取代人力」。因此,若「無人機器」的發展趨勢不變,未來的工作機會相對上應皆會較偏向屬「技術型」的範圍;金融機構的「金、鐵飯碗」已不復存在,那現在讀者或未來的學生應該學什麼呢?或者說,我們應該教學生什麼呢?似乎傳統的上課內容以及方式已不符所需了。當前或未來的學生應該具備何種知識呢?舉例來說,目前金融科技(FinTech)的發展應該還是屬於「硬體建構」方面的第一階段,所謂「隔行如隔山」,缺乏資訊科技專業的財金師生不禁氣餒,似乎金融科技的發展與財金的專業無關(即我們並無法參與其中的發展與設計);不過,未來金融科技發展的第二或第三階段呢?換句話說,若財金的硬體設備已趨完善,下一個階段自然會需要財金專業軟體方面的設計人才;是故,財金的學生應該利用此「空檔」學習電腦語言與程式設計,如此才能因應未來的需求。因此,筆者最後的建議仍是先學習電腦語言;也就是說,若筆者重新再讀大學一次,筆者應該會先學電腦語言的使用。
倘若會使用電腦語言,自然就可以更深入瞭解專業,降低被替代的可能;另一方面,若懂得與機器溝通,自然可以提升本身的競爭力。也就是說,不要因「不懂或沒有使用過電腦語言」成為未來心中最大的隱憂,或者是因此喪失了有利的發展機會。假定筆者遇到如電影「機械公敵( I, Robot)」內的「超級電腦( Wiki)」,筆者應該會有興趣想要知道 Wiki 的經濟與財務專業知識。倘若Wiki 的專業知識相當豐富,令人滿意,我們自然好奇Wiki 內的程式是出自何人或何團隊之手?電腦軟體工程師嗎?未必。若Wiki 仍不懂上述專業或只擁有有限的知識,豈不是表示未來需要有Wiki 的「財金更新版」嗎?當然,Wiki 若是屬於「全能型」的人工智慧,未來我們皆會找不到工作;否則,未來應該會需要大量的各行各業的程式設計人才。
倘若讀者曾閱讀筆者的書籍,也許也曾經設計過程式,應該會發現程式設計並非一蹴可幾,而是需要「腦力激盪」與多年經驗的累積;換句話說,好不容易完成了部分的程式,結果發現無法執行,讀者有辦法找出癥結嗎?另一方面,也許讀者發現筆者所提供的指令太過麻煩了,那應如何精簡呢?如何一般化呢?畢竟筆者並不是以寫論文的方式撰寫,故書內許多例子未必合理或正確,那依讀者的看法,應如何改善呢?是否可以寫出修正後的程式呢?筆者當初撰寫時秉持二種態度:其一是基本專業知識的介紹,另一則是有了一些想法後,想辦法用R來實現;因此,筆者上述書內的功能之一是R 程式撰寫的訓練。
依筆者來看,讀者最好不要太依賴套裝軟體或程式套件的使用,因為太依賴程式套件反而會讓讀者喪失了學習程式設計的機會;另一方面,若讀者只會從事輸入參數等簡單工作,那未來不是太容易被取代了嗎?程式套件的使用應該做為簡化程式的內容(即不需要每一個步驟皆自己設計),而不是用來做為最終的使用工具。因此,筆者所提供的R 指令,大多保持最原始的樣貌,其目的就是要讓讀者也能自行設計程式。也許,許多人認為R 並不是一種理想的程式語言,那讀者反倒是可以利用已經熟悉的電腦語言,看看是否可以複製出筆者各書的內容,如此豈不是可以多練習程式設計嗎?最後,按照目前的趨勢來看,未來我們可能會需要學習多種電腦語言,不過若已經瞭解一種語言的語法與用法後,再來學習另外一種語言,應該不是一件困難的事。現在有些時候,我們會在報章雜誌看到有人建議中小學生也應該學習電腦語言,不過若是要求我們的大學生也來學習與專業無關的程式設計,恐怕許多人會興趣缺缺。若是如此,何不學習屬於自己專業的程式設計呢?換句話說,未來應該是「各行各業的程式設計由各行各業的專業人士負責」,電腦軟體工程師只負責整合或翻譯,否則事事仰賴電腦工程師,讓他們「整碗端走」,那以後我們要靠什麼維生呢?因此,若筆者的想法正確的話,現在的財金學生不是應該學習屬於財金的程式設計嗎?
以上所言,是筆者完成《衍商》後的感想,提供給讀者參考。現在我們來檢視《衍商》的內容。基本上,《衍商》是《財數》與《財統》二書的延伸;也就是說,讀者需要有基本的統計學與財務數學基礎,方能使用《衍商》;另一方面,筆者還是利用R 輔助工具來檢視衍生性商品。於衍生性商品的教科書中,筆者比較喜歡Hull、McDonald以及Jarrow與Turnbull 等書(可參考第1 章註2);不過,於學生時期,因為不知如何使用或操作,上述教科書的確讓筆者吃盡了苦頭。由於沒有於電腦上實際操作,故對書內的內容常常是一知半解,應該是讀不懂,故從來就沒有看完上述書籍,一看再看,永遠皆是前面的章節比較熟悉,而後面的章節卻不知所云。此種情況直至筆者開始嘗試用電腦語言學習上述書籍才獲得改善,因此就筆者而言,衍生性商品的介紹與認識,應該皆是屬於電腦語言的應用;也就是說,若不使用電腦語言,衍生性商品學習的困難度應該是頗高的。
基本上,筆者要來介紹衍生性商品,當初的確遇到一些斟酌考量,可以分述如下:
(1) 基本的衍生性商品包括遠期、期貨、選擇權與交換交易,故《衍商》的內容應包括上述四種交易的介紹。
(2) 選擇權的交易應該是最吸引人的,由於歐式選擇權價格已有明確的數學公式表示( BSM模型),筆者當然需要完整的介紹歐式選擇權交易。
(3) 因美式選擇權與一些新奇選擇權的價格無法找到明確的數學公式,故需要介紹一些數值計算方法。
(4) 最麻煩的是利率的衍生性商品,該商品的確太過於複雜且內容太多了,《衍商》只能介紹部分的內容,剩下的部分留待以後再另以專書介紹。換句話說,《衍商》的內容應該仍脫離不了上述Hull、McDonald 以及Jarrow 與Turnbull 等教科書的範疇;若讀者想瞭解上述教科書的實際操作,則《衍商》倒是提供一種不錯的參考模式。於《財數》與《財統》二書內,R 的使用方式應該已經相當熟悉了,故《衍商》已經可以恢復成正常的樣貌;也就是說,書名雖有「使用R 語言」,但全書卻看不到任何的R 程式,即所有的R 程式皆置於所附的光碟內,提供給讀者參考。
《衍商》可以分成10 章介紹。《衍商》的第1 章,筆者是用直覺的方式來介紹四種基本的衍生性商品;第2章則介紹選擇權合約的基本性質,比較特別的是,我們可用R 來檢視一些選擇權的交易策略。第3 章則介紹遠期與期貨合約交易,重要的是我們用「 隨機過程」 來描述遠期價格或期貨價格。如前所述,無可避免地我們會使用一些數值方法來檢視衍生性商品的價格,其中最基本或最簡單的數值方法就是二項式定價模型,我們將於第4 章介紹。第5 章介紹BSM 模型,其中包括BSM 避險參數的檢視。第6 章探討蒙地卡羅方法於衍生性商品的應用,其中包括變異數降低法與準蒙地卡羅方法的介紹與使用。我們已經知道美式選擇權價格因沒有明確的數學公式表示,因此勢必牽涉到不同的模型與估計方法,我們則於第7 章內比較上述模型與方法。第8 章則檢視一些新奇選擇權,比較重要的是界限選擇權與多資產選擇權的介紹。基本上,第1~8 章的內容,大多是集中於利率固定下,非利率衍生性商品的討論,第9 章開始檢視利率是一種隨機變數,故可以探討利率期貨、交換交易以及利率交換合約。最後,第10 章介紹利率結構的特徵以及討論一些利率模型,其中用利率的樹狀圖來介紹,則是該章的特色。
若讀者已經習慣於《財數》或《財統》的使用方式,則《衍商》的學習應該很快就能步上軌道。其實,《衍商》的介紹仍是以初學者為對象,只不過內容較一般同類型的書籍更為深入,筆者仍是本著寫出一本讀者能看得懂同時也能實際操作的態度來完成。上述筆者的書籍若早在20 或30 年前出現,應該會對當時的筆者(筆者那時是年輕人) 有莫大的助力;換言之,遍尋不到令人滿意的書籍,乾脆由筆者自己來寫,希望對讀者有幫助。《財數》與《財統》二書的內容屬於基礎統計學與財務數學的介紹,故可以應用的範圍可能較不切實際;不過,《衍商》的內容則較偏向於實務,筆者盡量避開繁瑣的數學推導過程,取而代之的是電腦的操作,希望用此方式亦能讓從事衍生性商品操作(包括權證的操作)的從業人員或投資人得到相關的專業知識。
筆者樂見讀者的能力可以隨著筆者的書籍成長並茁壯,舉一反三,觸類旁通,進入之前不曾想過的層次或境界;也許,長江後浪推前浪,未來財金專業的內容或學習方式會與目前完全不同。無法避免地,筆者也希望兒子能進入另外一種層次,因此仍附上兒子的一些作品,希望能更激勵起兒子的鬥志;另一方面,內人的逐字校正,亦讓《衍商》增色不少。筆者才疏識淺,倉促成書,錯誤難免,望各界先進指正。
林進益寫於屏東台糖
2018/7/23