構造描述概率過程
實現從已知概率分布抽樣
隨機數是實現模擬的工具
建立各種估計量
得到無偏估計
clear
dt=1/365.0; % 一天的年單位時間
s0=20; % **在初始時刻的**,程式中假設
r=0.031; % 期望收益率
sigma=0.6; % 波動率=0.6
expterm=r*dt; % 漂移項dt
stddev=sigma*sqrt(dt); % 波動項o:dz(t)
ndays1=90; % 要模擬的總天數
for ndays=1:ndays1 % ndays表示時刻t
ntrials=10000; % 模擬次數
for j=1:ntrials
n = randn(1,ndays); %生成ndays個標準正態分佈隨機數
s=s0;
for i=1:ndays
ds = s*(expterm+stddev*n(i)); % 模擬計算****的增量
s=s+ds; %計算****
ends1(ndays,j)=s; % 將每天的**模擬**資料記錄在s1中
endend
s2=mean(s1'); % 計算每天模擬的****的均值,作為**的估值
plot(s2','-o') % 90天期間****估值的曲線圖
figure(2)
hist(s1(90,:),0:0.5:65) %第90天的****模擬的直方圖
#include #define max_iters 1000000
using namespace std;
double rand(double l, double r)
double getpi()
return cnt * 4.0 / max_iters;
}int main()
#include #define max_iters 10000000
using namespace std;
struct point
;double rand(double l, double r)
point getpoint()
double getresult()
return pow(2.0, 1.0 * n / m);
}int main()
蒙特卡羅演算法
蒙特卡羅演算法並不是一種演算法的名稱,而是對一類隨機演算法的特性的概括。說 蒙特卡羅演算法打敗武宮正樹 這個說法就好比說 我被乙隻脊椎動物咬了 是比較火星的。實際上是zen的演算法具有蒙特卡羅特性,或者說它的演算法屬於一種蒙特卡羅演算法。那麼 蒙特卡羅 是一種什麼特性呢?我們知道,既然是隨機演算法,...
蒙特卡羅演算法
演算法原理 蒙特卡羅方法也稱統計模擬方法,是1940年代中期由於科學技術的發展和電子計算機的發明,而提出的一種以概率統計理論為指導的數值計算方法。是指使用隨機數 或更常見的偽隨機數 來解決很多計算問題的方法。原理大致如下圖所示 很簡單,舉個例子就是扔石子到方形區域,區域內有個圓,圓內石子的比例即為圓...
蒙特卡羅演算法
參考 蒙特卡羅方法是一類以概率統計理論為指導的數值計算方法。蒙特卡羅是一種隨機演算法,使用隨機數 或者偽隨機數 來解決計算問題,其思想是 當所求解問題是某種隨機事件出現的概率,或者是某個隨機變數的期望值時,通過某種 實驗 的方法,以這種事件出現的頻率估計這一隨機事件的概率,或者得到這個隨機變數的某些...