㈠ Matlab與金融模型分析的內容簡介
《Matlab與金融模型分析》主要介紹了經濟金融學中的資金的時間價值模型,包括現值與終值、年金、固定資產的折舊與攤銷、按揭貸款的分期付款、投資項目評估等;債券、股票的價值評估模型;債券的久期和凸性理論及其免疫策略;證券組合投資有效前沿理論、資本資產定價模型、證券投資技術分析;期權及其交易策略、期權定價理論;套期保值策略等現代金融模型和理論及其Matlab實現過程。
㈡ 金融建模使用R與 MATLAB哪個好
不能說那個號,你也不能只是局限於一種軟體,當然我認為R是用來編程會比較好,因為從語法到庫到運行感覺逗逼matlab優秀,但是對於一些簡單的計算和作圖用matlab更好,例如寫個轉置,matlab自帶了這些函數,直接調用就行
因此不能說哪一樣比較好,反正給我感覺在某一個方面哪個好就用那個
㈢ 我是學金融的,需要懂得用MATLAB做什麼
如果你是做quant的話
其實matlab/sas/spss甚至eviews,幾個中間會一兩個就可以了
而且你怎麼去定義精通?
我現在用matlab敲出一個基於ar(p)的markovswitching
半個小時調試好
但是能有什麼用呢?
你設計不出模型有什麼用
coding只是一方面,孩子。
㈣ MATLAB語言以上版本的特點
數學建模介紹
1. 什麼是數學建模?
數學建模就是用數學語言描述實際現象的過程。這里的實際現象既包涵具體的自然現象比如自由落體現象,也包涵抽象的現象
比如顧客對某種商品所取的價值傾向。這里的描述不但包括外在形態,內在機制的描述,也包括預測,試驗和解釋實際現象等內容
我們也可以這樣直觀地理解這個概念:數學建模是一個讓純粹數學家(指只懂數學不懂數學在實際中的應用的數學家)變成物
理學家,生物學家,經濟學家甚至心理學家等等的過程。
2. 什麼是數學模型?
數學模型是指用數學語言描述了的實際事物或現象。它一般是實際事物的一種數學簡化。它常常是以某種意義上接近實際事物
的抽象形式存在的,但它和真實的事物有著本質的區別。要描述一個實際現象可以有很多種方式,比如錄音,錄像,比喻,傳言等
等。為了使描述更具科學性,邏輯性,客觀性和可重復性,人們採用一種普遍認為比較嚴格的語言來描述各種現象,這種語言就是
數學。使用數學語言描述的事物就稱為數學模型。有時候我們需要做一些實驗,但這些實驗往往用抽象出來了的數學模型作為實際
物體的代替而進行相應的實驗,實驗本身也是實際操作的一種理論替代。
3. 為什麼要建立數學模型?
在科學領域中,數學因為其眾所周知的准確而成為研究者們最廣泛用於交流的語言--因為他們普遍相信,自然是嚴格地演化
著的,盡管控制演化的規律可以很復雜甚至是混沌的。因此,人們常對實際事物建立種種數學模型以期通過對該模型的考察來描述
解釋,預計或分析出與實際事物相關的規律。
top
數學建模軟體介紹
一般來說學習數學建模,常用的軟體有四種,分別是:matlab、lingo、Mathematica和SAS下面簡單介紹一下這四種。
1.MATLAB的概況
MATLAB是矩陣實驗室(Matrix Laboratory)之意。除具備卓越的數值計算能力外,它還提供了專業水平的符號計算,文字處
理,可視化建模模擬和實時控制等功能。
MATLAB的基本數據單位是矩陣,它的指令表達式與數學,工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等
語言完相同的事情簡捷得多.
當前流行的MATLAB 5.3/Simulink 3.0包括擁有數百個內部函數的主包和三十幾種工具包(Toolbox).工具包又可以分為功能性工具
包和學科工具包.功能工具包用來擴充MATLAB的符號計算,可視化建模模擬,文字處理及實時控制等功能.學科工具包是專業性比較強
的工具包,控制工具包,信號處理工具包,通信工具包等都屬於此類.
開放性使MATLAB廣受用戶歡迎.除內部函數外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對源程序的修改
或加入自己編寫程序構造新的專用工具包.
2.Mathematica的概況
Wolfram Research 是高科技計算機運算( Technical computing )的先趨,由復雜理論的發明者 Stephen Wolfram 成立於
1987年,在1988年推出高科技計算機運算軟體Mathematica,是一個足以媲美諾貝爾獎的天才產品。Mathematica 是一套整合數字以
及符號運算的數學工具軟體,提供了全球超過百萬的研究人員,工程師,物理學家,分析師以及其它技術專業人員容易使用的頂級
科學運算環境。目前已在學術界、電機、機械、化學、土木、信息工程、財務金融、醫學、物理、統計、教育出版、OEM 等領域廣
泛使用。
Mathematica 的特色
·具有高階的演算方法和豐富的數學函數庫和龐大的數學知識庫,讓 Mathematica 5 在線性代數方面的數值運算,例如特徵向量、 反矩陣等,皆比Matlab R13做得更快更好,提供業界最精確的數值運算結果。
·Mathematica不但可以做數值計算,還提供最優秀的可設計的符號運算。
·豐富的數學函數庫,可以快速的解答微積分、線性代數、微分方程、復變函數、數值分析、機率統計等等問題。
·Mathematica可以繪制各專業領域專業函數圖形,提供豐富的圖形表示方法,結果呈現可視化。
·Mathematica可編排專業的科學論文期刊,讓運算與排版在同一環境下完成,提供高品質可編輯的排版公式與表格,屏幕與列印的 自動最佳化排版,組織由初始概念到最後報告的計劃,並且對 txt、html、pdf 等格式的輸出提供了最好的兼容性。
·可與 C、C++ 、Fortran、Perl、Visual Basic、以及 Java 結合,提供強大高級語言介面功能,使得程序開發更方便。
·Mathematica本身就是一個方便學習的程序語言。 Mathematica提供互動且豐富的幫助功能,讓使用者現學現賣。強大的功能,簡 單的操作,非常容易學習特點,可以最有效的縮短研發時間。
3.lingo的概況
LINGO則用於求解非線性規劃(NLP—NON—LINEAR PROGRAMMING)和二次規則(QP—QUARATIC PROGRAMING)其中
LINGO 6.0學生版最多可版最多達300個變數和150個約束的規則問題,其標准版的求解能力亦再10^4量級以上。雖然LINDO和
LINGO不能直接求解目標規劃問題,但用序貫式演算法可分解成一個個LINDO和LINGO能解決的規劃問題。
模型建立語言和求解引擎的整合
LINGO是使建立和求解線性、非線性和整數最佳化模型更快更簡單更有效率的綜合工具。LINGO提供強大的語言和快速的求解引擎來闡述和求解最佳化模型。
■ 簡單的模型表示
LINGO可以將線性、非線性和整數問題迅速得予以公式表示,並且容易閱讀、了解和修改。
■ 方便的數據輸入和輸出選擇
LINGO建立的模型可以直接從資料庫或工作表獲取資料。同樣地, LINGO可以將求解結果直接輸出到資料庫或工作表。
■ 強大的求解引擎
LINGO內建的求解引擎有線性、非線性(convex and nonconvex)、二次、二次限制和整數最佳化。
■ Model Interactively or Create Turn-key Applications
LINGO提供完全互動的環境供您建立、求解和分析模型。LINGO也提供DLL和OLE界面可供使用者由撰寫的程序中呼叫。
■ 廣泛的文件和HELP功能
LINGO提供的所有工具和文件可使你迅速入門和上手。LINGO使用者手冊有詳細的功能定義。
4.SAS軟體概況
SAS系統全稱為Statistics Analysis System,最早由北卡羅來納大學的兩位生物統計學研究生編制,並於1976年成立了SAS軟體研究所,正式推出了SAS軟體。SAS是用於決策支持的大型集成信息系統,但該軟體系統最早的功能限於統計分析,至今,統計分析功能也仍是它的重要組成部分和核心功能。SAS現在的版本為9.0版,大小約為1G。經過多年的發展,SAS已被全世界120多個國家和地區的近三萬家機構所採用,直接用戶則超過三百萬人,遍及金融、醫葯衛生、生產、運輸、通訊、政府和教育科研等領域。在英美等國,能熟練使用SAS進行統計分析是許多公司和科研機構選材的條件之一。在數據處理和統計分析領域,SAS系統被譽為國際上的標准軟體系統,並在96~97年度被評選為建立資料庫的首選產品。堪稱統計軟體界的巨無霸。在此僅舉一例如下:在以苛刻嚴格著稱於世的美國FDA新葯審批程序中,新葯試驗結果的統計分析規定只能用SAS進行,其他軟體的計算結果一律無效!哪怕只是簡單的均數和標准差也不行!由此可見SAS的權威地位。
SAS系統是一個組合軟體系統,它由多個功能模塊組合而成,其基本部分是BASE SAS模塊。BASE SAS模塊是SAS系統的核心,承擔著主要的數據管理任務,並管理用戶使用環境,進行用戶語言的處理,調用其他SAS模塊和產品。也就是說,SAS系統的運行,首先必須啟動BASE SAS模塊,它除了本身所具有數據管理、程序設計及描述統計計算功能以外,還是SAS系統的中央調度室。它除可單獨存在外,也可與其他產品或模塊共同構成一個完整的系統。各模塊的安裝及更新都可通過其安裝程序非常方便地進行。SAS系統具有靈活的功能擴展介面和強大的功能模塊,在BASE SAS的基礎上,還可以增加如下不同的模塊而增加不同的功能:SAS/STAT(統計分析模塊)、SAS/GRAPH(繪圖模塊)、SAS/QC(質量控制模塊)、SAS/ETS(經濟計量學和時間序列分析模塊)、SAS/OR(運籌學模塊)、SAS/IML(互動式矩陣程序設計語言模塊)、SAS/FSP(快速數據處理的互動式菜單系統模塊)、SAS/AF(互動式全屏幕軟體應用系統模塊)等等。SAS有一個智能型繪圖系統,不僅能繪各種統計圖,還能繪出地圖。SAS提供多個統計過程,每個過程均含有極豐富的任選項。用戶還可以通過對數據集的一連串加工,實現更為復雜的統計分析。此外,SAS還提供了各類概率分析函數、分位數函數、樣本統計函數和隨機數生成函數,使用戶能方便地實現特殊統計要求。
參考資料:http://hi..com/keaiquan/blog/item/965b8a01436c8dd7267fb554.html
㈤ MATLAB和EXCEL在金融上的應用
MATLAB 誕生於1984年,它是一種科學計算語言和應用開發平台,全球有超過500,000名工程師和科學家以及2,000 家金融公司正在使用MATLAB 進行工作。金融專業人員廣泛使用MathWorks 公司的產品來加速他們的研究,減少開發時間,提高模型的
速度和控制項目成本。他們使用MATLAB 以及相關產品,完成對數據進行分析,創建
險,開發優化策略,計算價格,確定現金流等一系列工作。
減少開發時間
MATLAB 讓金融專業人士開發應用的時間和利用傳統的開發方法相比,如:Visual C++、Basic、Excel ,減少了90%。這是因為MATLAB 提供了強大的計算能力,諸如:基於矩級數學函數等,它讓開發人員可以更加關注如何解決問題,而不是去解決如何編寫程序的
降低風險和成本
使用MATLAB 您可以通過重用您的C/C++和Fortran 函數,這樣可以將應用實現
化。更為重要的是,因為所有的MATLAB 函數都是源代碼可視的,所以您可以查看和修改代
新模型的集成
MATLAB 可以讓您在幾個小時之內將新的模型集成到您的系統,對比於S-Plus、
SAS,這個過程要花費幾天或者幾個星期的時間,這是因為MATLAB 提供了工具,可以自
MATLAB 代碼轉化為C/C++ 代碼。MATLAB 還可以讓您快速的部署您的應用。
在過去的五年時間里,MathWorks 在MATLAB 中增加了很多專門的工具,提供給
用來開發相關模型,包括:
■ 債券價格、收益和敏感度分析
■ 投資組合優化和分析
■ 資產分配
■ 金融時序分析
■ 期權價格和敏感度分析
■ 現金流分析
■ 風險管理
■ 預測和模擬
■ 利率曲線擬合合期限結構建模
■ Monte Carlo 模擬
■ 基於GARCH 的波動性分析
相關模塊:
金融工具箱(FMA-SHEE-FINA-1.1.PDF)
DATAFEED工具箱(FMA-SHEE-DAFD-1.0.PDF)
金融衍生物工具箱(FMA-SHEE-FIDR-1.0.PDF)
固定收益工具箱(FMA-SHEE-FIXD-1.0.PDF)
GARCH工具箱(FMA-SHEE-GARH-1.0.PDF)
金融時序工具箱(FMA-SHEE-FITI-1.0.PDF)
EXCEL LINK工具箱(FMA-SHEE-EXCL-1.1.PDF)
資料庫工具箱(FMA-SHEE-DATA-1.1.PDF)
優化工具箱(FMA-SHEE-OPTI-1.0.PDF)
統計工具箱(FMA-SHEE-STAT-1.0.PDF)
鏈接源於 http://bbs.matwav.com/viewthread.php?tid=45446
個人認為些都是數據處理應用的軟體,其中excel界面最為友好,但功能是在太過單一,僅適用於日常的簡單數據處理,不適於較復雜的模型分析,因此科研上應用不多;matlab採用圖形界面,功能比較強大,目前研究中應用最廣;spss和sas都有比較強的專業性,前者主要用於社科類研究,後者主要用於自然科學及經濟的研究方面,另外spss也採用圖形界面,友好性方面要強於全部由編程語言進行操作的sas,但spss的主要缺點是數據輸出,不能用word等文字處理工具直接打開。 以下是我找到的一些資料,比較詳細,樓主可以參考。
**************************************
MATLAB 的名稱源自 Matrix Laboratory ,它是一種科學計算軟體,專門以矩陣的形式處理數據。 MATLAB 將高性能的數值計算和可視化集成在一起,並提供了大量的內置函數,從而被廣泛地應用於科學計算、控制系統、信息處理等領域的分析、模擬和設計工作,而且利用 MATLAB 產品的開放式結構,可以非常容易地對 MATLAB 的功能進行擴充,從而在不斷深化對問題認識的同時,不斷完善 MATLAB 產品以提高產品自身的競爭能力。
目前 MATLAB 產品族可以用來進行:
數值分析
數值和符號計算
工程與科學繪圖
控制系統的設計與方針
數字圖像處理
數字信號處理
通訊系統設計與模擬
財務與金融工程
MATLAB 是 MATLAB 產品家族的基礎,它提供了基本的數學演算法,例如矩陣運算、數值分析演算法, MATLAB 集成了 2D 和 3D 圖形功能,以完成相應數值可視化的工作,並且提供了一種互動式的高級編程語言—— M 語言,利用 M 語言可以通過編寫腳本或者函數文件實現用戶自己的演算法。
MATLAB Compiler 是一種編譯工具,它能夠將那些利用 MATLAB 提供的編程語言—— M 語言編寫的函數文件編譯生成為函數庫、可執行文件 COM 組件等等。這樣就可以擴展 MATLAB 功能,使 MATLAB 能夠同其他高級編程語言例如 C/C++ 語言進行混合應用,取長補短,以提高程序的運行效率,豐富程序開發的手段。
利用 M 語言還開發了相應的 MATLAB 專業工具箱函數供用戶直接使用。這些工具箱應用的演算法是開放的可擴展的,用戶不僅可以查看其中的演算法,還可以針對一些演算法進行修改,甚至允許開發自己的演算法擴充工具箱的功能。目前 MATLAB 產品的工具箱有四十多個,分別涵蓋了數據獲取、科學計算、控制系統設計與分析、數字信號處理、數字圖像處理、金融財務分析以及生物遺傳工程等專業領域。
Simulink 是基於 MATLAB 的框圖設計環境,可以用來對各種動態系統進行建模、分析和模擬,它的建模範圍廣泛,可以針對任何能夠用數學來描述的系統進行建模,例如航空航天動力學系統、衛星控制制導系統、通訊系統、船舶及汽車等等,其中了包括連續、離散,條件執行,事件驅動,單速率、多速率和混雜系統等等。 Simulink 提供了利用滑鼠拖放的方法建立系統框圖模型的圖形界面,而且 Simulink 還提供了豐富的功能塊以及不同的專業模塊集合,利用 Simulink 幾乎可以做到不書寫一行代碼完成整個動態系統的建模工作。
Stateflow 是一個互動式的設計工具,它基於有限狀態機的理論,可以用來對復雜的事件驅動系統進行建模和模擬。 Stateflow 與 Simulink 和 MATLAB 緊密集成,可以將 Stateflow 創建的復雜控制邏輯有效地結合到 Simulink 的模型中。
在 MATLAB 產品族中,自動化的代碼生成工具主要有 Real-Time Workshop ( RTW )和 Stateflow Coder ,這兩種代碼生成工具可以直接將 Simulink 的模型框圖和 Stateflow 的狀態圖轉換成高效優化的程序代碼。利用 RTW 生成的代碼簡潔、可靠、易讀。目前 RTW 支持生成標準的 C 語言代碼,並且具備了生成其他語言代碼的能力。整個代碼的生成、編譯以及相應的目標下載過程都是自動完成的,用戶需要做得僅僅使用滑鼠點擊幾個按鈕即可。 MathWorks 公司針對不同的實時或非實時操作系統平台,開發了相應的目標選項,配合不同的軟硬體系統,可以完成快速控制原型( Rapid Control Prototype )開發、硬體在迴路的實時模擬( Hardware-in-Loop )、產品代碼生成等工作。
另外, MATLAB 開放性的可擴充體系允許用戶開發自定義的系統目標,利用 Real-Time Workshop Embedded Coder 能夠直接將 Simulink 的模型轉變成效率優化的產品級代碼。代碼不僅可以是浮點的,還可以是定點的。
MATLAB 開放的產品體系使 MATLAB 成為了諸多領域的開發首選軟體,並且, MATLAB 還具有 300 余家第三方合作夥伴,分布在科學計算、機械動力、化工、計算機通訊、汽車、金融等領域。介面方式包括了聯合建模、數據共享、開發流程銜接等等。
MATLAB 結合第三方軟硬體產品組成了在不同領域內的完整解決方案,實現了從演算法開發到實時模擬再到代碼生成與最終產品實現的完整過程
主要的典型應用包括:
控制系統的應用與開發——快速控制原型與硬體在迴路模擬的統一平台 dSPACE
信號處理系統的設計與開發——全系統模擬與快速原型驗證, TI DSP 、 Lyrtech 等信號處理產品軟硬體平台
通信系統設計與開發——結合 RadioLab 3G 和 Candence 等產品
機電一體化設計與開發——全系統的聯合模擬,結合 Easy 5 、 Adams 等
http://..com/question/13061703.html
㈥ matlab怎麼進行數學模型分析
首先,確定x,y對應的十組以上的數據
其二,根據已知x,y繪制數據走向
其三,根據數據走向,擬定數學模型,即擬合函數
其四,利用Matlab軟體的擬合函數,如regress函數, nlinfit函數,lsqcurvefit函數,確定擬合函數的系數
其五,再根據擬合函數求出的y1值,與原數據y對比,求出其擬合相關系數,當R^2愈接近1,說明你所求擬合數學模型是恰當的。
㈦ Matlab與Origin的區別
主要區別是,性質不同、作用不同、功能不同,具體如下:
一、性質不同
1、MATLAB
MATLAB是MathWorks公司出品的商業數學軟體。
2、origin
Origin是由OriginLab公司開發的一個科學繪圖、數據分析軟體。
二、作用不同
1、MATLAB
用於數據分析、無線通信、深度學習、圖像處理與計算機視覺、信號處理、量化金融與風險管理、機器人,控制系統等領域。
2、origin
支持各種各樣的2D/3D圖形。Origin中的數據分析功能包括統計,信號處理,曲線擬合以及峰值分析。
三、功能不同
1、MATLAB
軟體主要面對科學計算、可視化以及互動式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和模擬等諸多強大功能集成在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程序設計語言(如C、Fortran)的編輯模式。
2、origin
Origin中的數據分析功能包括統計,信號處理,曲線擬合以及峰值分析。Origin中的曲線擬合是採用基於Levernberg-Marquardt演算法(LMA)的非線性最小二乘法擬合。Origin強大的數據導入功能,支持多種格式的數據,包括ASCII、Excel、NI TDM、DIADem、NetCDF、SPC等等。
㈧ 精通MATLAB金融計算的前 言
MATLAB軟體不僅在科學、工程及學術研究領域普遍應用,而且近年來日益受到美國華爾街金融專業人士推崇,以及金融界從業人員的重視。目前,全球有超過2000家金融機構運用MATLAB來管理公司資產。國際貨幣基金組織、摩根斯坦利等頂級金融機構都在使用MATLAB,利用MATLAB強大的運算平台實現與其他軟體之間的數據交換,顯示出了非常優良的通融性。可見,MATLAB現已成為金融工程人員不可或缺的軟體工具。
寫作目的
MATLAB已成為國際公認的最優秀的科技應用軟體,具有編程簡單、數據可視化功能強、可操作性強等特點,而且包括功能強大、專業函數豐富的三大金融方面的工具箱,是進行金融計算工作必備的軟體工具。
MATLAB在金融數據分析、金融模型構建及模擬計算等金融服務實務工作上,都能發揮強大的作用,包括新型金融產品的設計與風險管理。
本書將全面、系統地講述應用MATLAB進行金融方面的計算,旨在推動金融工程及金融計算相關領域的MATLAB應用。
主要特色
本書內容圍繞MATLAB在金融計算中的應用,通過翔實、豐富的實例講解,一步一步帶領讀者進入MATLAB的金融計算的強大世界。本書主要的特點可以概括為以下幾點:
1.內容由淺入深、層次性強
本書採用3篇結構,MATLAB入門篇將帶領讀者快速掌握MATLAB的基本使用;金融計算及實例篇,循序漸進地講述MATLAB的金融計算功能,這也是全書的重點;最後在MATLAB金融類工具箱函數詳解篇中,詳細講述三大工具箱的全部函數。層次結構簡潔明了,非常適合不同層次的讀者選擇性地學習,提高學習效率。
2.實例典型豐富,實用性強
本書打破了通常金融類書籍理論多、模型多、實例少的弊病,對復雜的理論及演算法一帶而過,重點放在應用MATLAB的函數實現,重在實例!所以本書精心挑選了最具代表性和實用性的大量實例,悉數進行全面、翔實的演算法分析、程序編寫和結果分析,並提供了全部源代碼,非常便於學習和參考。
3.理論聯系實際、應用性強
本書既介紹了相關的金融理論、模型和思想,又講述了利用MATLAB金融、衍生品、固定收益、金融時間序列等工具箱中的函數,而且結合了函數的代碼分析,以及編程將抽象的金融模型,通過MATLAB的數據處理和圖形形式來加以解釋、驗證和求解。這樣,本書便既能使讀者熟悉當前的金融理論、模型和思想,又能夠熟練應用MATLAB軟體來分析、解決相關的金融問題。
4.函數講解翔實,工具性強
金融類工具箱函數詳解篇採用大量的篇幅,對金融、衍生品和固定收益這3大工具箱的函數全部進行了翔實具體的使用說明,能幫助讀者快速高效地掌握這些函數,而且還非常方便進行查詢和參考,提高了本書的實用性和工具性。
5.語言簡潔精練,可讀性強
本書以簡潔、通俗的語言來說明金融計算的相關理論和模型,避免過於復雜的數學推導,提高了可讀性。在MATLAB的實常式序中,本書對關鍵的程序進行點睛式的注釋,讓讀者在程序中快速有效地掌握MATLAB的應用。
本書導讀
光碟使用說明
本書附帶光碟中包括了全書所有實例對應的MATLAB的M文件。所有代碼按照章節存放在各個文件夾下,如「第6章」文件夾下存放了本書第6章所有的程序代碼或實例代碼,「第7章」文件夾下存放了第7章所有的實例代碼,依此類推。在每一個文件夾下的M文件,其名稱和書中的實例編號一一對應,如ex_6_1.m文件對應於例6-1的實例,ex_7_1.m文件對應於例7-1的實例,依此類推。
讀者可以通過運行光碟提供的代碼文件,體會本書所有實例的效果。由於所有代碼都是在MATLAB R2008b下編寫並調試通過,因此,使用本光碟中實例前,讀者需要安裝MATLAB R2008b,並將包含待運行.m文件的文件夾添加到MATLAB 路徑或設置為MATLAB當前目錄。如讀者需要運行ex_6_1.m,那麼就需要將包含此M文件的「第6章」文件夾添加到MATLAB路徑,或者將其設置為MATLAB當前目錄,然後通過命令窗口調用文件名,或者在M-Editor窗口打開並運行代碼文件等方式來運行此M文件。
本光碟內容的著作權屬本書作者所有。所有源程序僅供本書讀者學習和研究之用,任何人未經授權不得擅自復制、傳播或用於商業用途。
㈨ 如何使用matlab實現Black-Scholes期權定價模型
參考論文 期權定價理論是現代金融學中最為重要的理論之一,也是衍生金融工具定價中最復雜的。本文給出了歐式期權定價過程的一個簡單推導,並利用Matlab對定價公式給出了數值算例及比較靜態分析,以使讀者能更直觀地理解期權定價理論。 關鍵詞:Matlab;教學實踐 基金項目:國家自然科學基金項目(70971037);教育部人文社科青年項目(12YJCZH128) 中圖分類號:F83文獻標識碼:A 收錄日期:2012年4月17日 現代金融學與傳統金融學最主要的區別在於其研究由定性分析向定量分析的轉變。數理金融學即可認為是現代金融學定量分析分支中最具代表性的一門學科。定量分析必然離不開相應計算軟體的應用,Matlab就是一款最為流行的數值計算軟體,它將高性能的數值計算和數據圖形可視化集成在一起,並提供了大量內置函數,近年來得到了廣泛的應用,也為金融定量分析提供了強有力的數學工具。 一、Black-Scholes-Merton期權定價模型 本節先給出B-S-M期權定價模型的簡單推導,下節給出B-S-M期權定價模型的Matlab的實現。設股票在時刻t的價格過程S(t)遵循如下的幾何Brown運動: dS(t)=mS(t)dt+sS(t)dW(t)(1) 無風險資產價格R(t)服從如下方程: dR(t)=rR(t)dt(2) 其中,r,m,s>0為常量,m為股票的期望回報率,s為股票價格波動率,r為無風險資產收益率且有0<r<m;dW(t)是標准Brown運動。由式(1)可得: lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3) 歐式看漲期權是一種合約,它給予合約持有者以預定的價格(敲定價格)在未來某個確定的時間T(到期日)購買一種資產(標的資產)的權力。在風險中性世界裡,標的資產為由式(1)所刻畫股票,不付紅利的歐式看漲期權到期日的期望價值為:■[max(S(T)-X,0)],其中■表示風險中性條件下的期望值。根據風險中性定價原理,不付紅利歐式看漲期權價格c等於將此期望值按無風險利率進行貼現後的現值,即: c=e-r(T-1)■[max{S(T)-X,0}](4) 在風險中性世界裡,任何資產將只能獲得無風險收益率。因此,lnS(T)的分布只要將m換成r即可: lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5) 由式(3)-(4)可得歐式看漲期權價格: c=S(t)N(d1)-Xe-r(T-1)N(d2)(6) 這里: d1=■(7) d2=■=d1-s■(8) N(x)為均值為0標准差為1的標准正態分布變數的累積概率分布函數。S(t)為t時刻股票的價格,X為敲定價格,r為無風險利率,T為到期時間。歐式看跌期權也是一種合約,它給予期權持有者以敲定價格X,在到期日賣出標的股票的權力。 下面推導歐式看漲期權c與歐式看跌期權p的聯系。考慮兩個組合,組合1包括一個看漲期權加上Xe-r(T-1)資金,組合2包含一個看跌期權加上一股股票。於是,在到期時兩個組合的價值必然都是: max{X,S(T)}(9) 歐式期權在到期日之前是不允許提前執行的,所以當前兩個組合的價值也必相等,於是可得歐式看漲期權與看跌期權之間的平價關系(put-call parity): c+Xe-r(T-t)=p+S(t)(10) 由式(10)可得,不付紅利歐式看跌期權的價格為: p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11) 二、Black-Scholes-Merton模型的Matlab實現 1、歐式期權價格的計算。由式(6)可知,若各參數具體數值都已知,計算不付紅利的歐式看漲期權的價格一般可以分為三個步驟:先算出d1,d2,涉及對數函數;其次計算N(d1),N(d2),需要查正態分布表;最後再代入式(6)及式(11)即可得歐式期權價格,涉及指數函數。不過,歐式期權價格的計算可利用Matlab中專有blsprice函數實現,顯然更為簡單: [call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12) 只需要將各參數值直接輸入即可,下面給出一個算例:設股票t時刻的價格S(t)=20元,敲定價格X=25,無風險利率r=3%,股票的波動率s=10%,到期期限為T-t=1年,則不付紅利的歐式看漲及看跌期權價格計算的Matlab實現過程為: 輸入命令為:[call,put]= blsprice(20,25,0.03,0.1,1) 輸出結果為:call=1.0083put=5.9334 即購買一份標的股票價格過程滿足式(1)的不付紅利的歐式看漲和看跌期權價格分別為1.0083元和5.9334元。 2、歐式期權價格的比較靜態分析。也許純粹計算歐式期權價格還可以不利用Matlab軟體,不過在授課中,教師要講解期權價格隨個參數的變化規律,只看定價公式無法給學生一個直觀的感受,此時可利用Matlab數值計算功能及作圖功能就能很方便地展示出期權價格的變動規律。下面筆者基於Matlab展示歐式看漲期權價格隨各參數變動規律: (1)看漲期權價格股票價格變化規律 輸入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1; c=blsprice(s,x,r,t,v); plot(s,c,'r-.') title('圖1看漲期權價格股票價格變化規律'); xlabel('股票價格');ylabel('期權價值');grid on (2)看漲期權價格隨時間變化規律 輸入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v); plot(t,c,'r-.') title('圖2看漲期權價格隨時間變化規律'); xlabel('到期時間');ylabel('期權價值');grid on (3)看漲期權價格隨無風險利率變化規律 s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v); plot(r,c,'r-.') title('圖3看漲期權價格隨無風險利率變化規律'); xlabel('無風險利率');ylabel('期權價值');grid on (4)看漲期權價格隨波動率變化規律 s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v); plot(v,c,'r-.') title('圖4看漲期權價格隨波動率變化規律'); xlabel('波動率');ylabel('期權價值');grid on (作者單位:南京審計學院數學與統計學院) 主要參考文獻: [1]羅琰,楊招軍,張維.非完備市場歐式期權無差別定價研究[J].湖南大學學報(自科版),2011.9. [2]羅琰,覃展輝.隨機收益流的效用無差別定價[J].重慶工商大學學報(自科版),2011. [3]鄧留寶,李柏年,楊桂元.Matlab與金融模型分析[M].合肥工業大學出版社,2007.