蒙特卡洛模擬在軟體上如何操作?

例如在excel中如何實現,有沒有具體的例子,請大神們指點


蒙特卡洛(Monte Carlo)模擬法 一 ( EXCEL 舉例)__觀復__新浪博客

蒙特卡羅模擬方法的Excel實現

How To Add Monte Carlo Simulation to your Spreadsheet Models

Monte Carlo Simulation in Excel: A Practical Guide

Introduction to Monte Carlo simulation


單說蒙特卡洛的話,感覺用編程語言會比較方便。像Matlab, R, Python等,都有很多包可以直接生成各種各樣的隨機數,然後直接進行運算。運算的核心思想就是把一個概率分布具體化成數據,然後對數據進行直接的操作,最後再通過大樣本計算,得出新分布的信息。這樣的好處是顯而易見的,就是對於一些難以計算的概率問題,可以變得有辦法計算(比如說,對於一些超級複雜的分布,或者路徑依賴的數據等等)然而,問題就是需要大量的運算次數。

舉個例子而言,對於路徑依賴的美式期權,是沒有精確的解析解的。但是,我們可以通過蒙特卡洛模擬,得到它的近似解。

第一步,模擬標的股票的價格。用的方法就是蒙特卡洛模擬,可以模擬20000組股票價格的路徑。因為股票價格是服從對數正態分布,所以,需要把從標準正太中得到的數據進行一定的變換,得到對數正太分布的數據。對數正態分布的數據可以看成是真實的股票數據。

第二步,對於每一個路徑進行分析,得到美式期權的最優執行時間點。並依據該時刻點的股票價格算出期權的支付。

第三步,對於所有的路徑的支付進行折現並取平均。從而得到對於美式期權的價格的估計。

這樣做的好處就是極大的簡化了數學運算,因為是在一個具體的數值上進行計算。比如還有其他更複雜的期權,亞式期權,回望期權,障礙期權等等都可以通過這樣的方法計算。

當然也有很多可以提高計算速度的方法,比如控制變數法,對偶變數法,擬隨機序列法等等,都可以提高精度,加快收斂速度。

更多的知識,在各種概率論和數理統計中都有詳細的講解。


教你個簡單的mc過程,完全用excel實現。第一再excel中用rand()函數生產0-1之間的隨機數。第二步,生產服從標準正太分布的隨機數。利用函數normsinvers(rand())即可生成相應隨機數。


來點簡單好玩的,蒙特卡洛的兩個小遊戲,Matlab實現,其他軟體應該大同小異

%% A.一個栗子:隨機遊走
%產生10000個均值為0,方差1的隨機數
a1=normrnd(0,1,1,10000);
a2=cumsum(a1);
%產生10000個均值為0,方差為10的隨機數
a3=normrnd(0,4,1,10000);
a4=cumsum(a3);
%畫圖
figure;plot(a2,b);hold on;plot(a4,r);
title(不同波動率下的隨機遊走序列);legend(sigma=1,sigma=4)

%% B.布豐投針
%隨機數個數
num=1e4;
%落在圓內的個數
circleNum=0;
%產生在1000*2個[-1,1]之間均勻分布的隨機數
b1=rand(num,2).*2-1;
%投針
figure;hold on;
for i=1:num
if b1(i,1)^2+b1(i,2)^2&<1 circleNum=circleNum+1; plot(b1(i,1),b1(i,2),or); else plot(b1(i,1),b1(i,2),ob); end end %圓周率計算 spi=4*circleNum/num;title(布豐投針實驗); disp([圓周率=,num2str(spi)]);

複雜一點的,利用蒙特卡洛模擬評估勝率和盈虧比:你的期貨勝率是多少?你是如何提高開倉勝率的? - kindxie 的回答

蒙特卡洛在金融特別是衍生品方面的應用:金融工程中的蒙特卡羅方法 (豆瓣)


具體看你需要什麼樣的應用。我個人在商學院期間有幾個不同的場景下分別做過Monte Carlo simulation。

如果是管理決策、營收優化或者估值模型(DCF之類)的話,最好還是用Crystal ball或者@risk吧,特別是@risk 我覺得真的很好,易用、直觀又強大。

在portfolio management和quantitative investment這些課上主要用matlab做,主要限制因素在於excel能夠處理的數據有限。

因為不是搞技術的,純粹是當作工具來用,越簡單越好,所以我個人更多還是傾向於使用@risk


SUN的crystal ball或者找@Risk


推薦閱讀:

學習 蒙特卡羅方法 必須預先學習哪些知識?
離散型隨機變數的模擬-逆變換法
布豐用投針實驗估計了 π 值,那麼用什麼簡單方法可以估計自然對數的底數 e 的值?

TAG:寬客Quant | 蒙特卡洛方法 |