蒙特卡洛模擬算法的探討與應用

2021-02-23 APC科學聯盟

附錄一  蒲豐投針實驗與蒙特卡洛算法的相關代碼

1.%這裡a為0.003  2.line = 0.6; %針長度  3.width = 1; %線的間距  4.num = 3000; %投針次數  5.n = 1000;%重複實驗次數  6.is = 1; %1表示繪製1-n的圖,0表示繪製0-500的圖  7.mypi_n = zeros(1,n); %儲存每次結果  8.for i = 1:n  9.    [mypi_n(1,i)] = mybufeng(line,width,num);  10.end  11.[myanov,myerr] = data_processing(n,mypi_n);  12.%以P開頭為畫圖程序,具體詳見附錄  13.Pmyanov(n,myanov,is);  14.Pmyerr(n,myerr,is);  15.Prep(mypi_n);  16.is = 0;  17.Pmyanov(n,myanov,is);  18.Pmyerr(n,myerr,is);  ……

附錄二  蒙特卡洛模擬結果方差分析的相關代碼匯總

1.function [myanov,myerr] = data_processing(n,mypi_n)  2.%得到誤差,方差和pi的估計值  3.    mystd = zeros(1,n); %記錄標準差  4.    myanov = zeros(1,n); %記錄方差  ……

1.function [] = Pmyanov(n,myanov,is)  2.%繪製實驗所得方差的圖像  3.    figure('name','myanov');  4.    down = [1:n];  5.    plot(down,myanov);  6.    xlabel("實驗次數");  7.    ylabel("方差");  8.    legend("anov");  9.    if is == 1  10.        title("myanov"); …… 

1.function [] = Pmyerr(n,myerr,is)  2.%繪製實驗所得誤差的圖像  3.    figure('name','myerr');  4.    down = [1:n];  5.    plot(down,myerr);  6.    xlabel("實驗次數");  7.    ylabel("誤差");  8.    legend("err");  ……

1.function [] = Prep(mypi_n)  2.%繪製100次重複的圖  3.    figure('name','100次實驗的頻數直方圖');  4.    X = [2.95:0.02:3.39];  5.    histogram(mypi_n,X);  6.    set(gca,'xticklabel',{2.94:0.05:3.39});  ……

附錄三 蒙特卡洛模擬算法Python代碼:

1.def MTKL(t,r,q,sigma,S,K,kind):  2.    miu=r-q 3.    ans_ST=[]  4.    ans_ST.append(S)  5.    ans_EU=[]  6.    for i in range(1000):  7.        epsilon = np.random.normal(0, 1)  …… 

相關焦點

  • 蒙特卡洛模擬算法|公開課3
    本篇是「微慕課」公開課系列第3講——蒙特卡洛模擬算法蒙特卡洛(Monte Carlo)模擬方法是一種廣受好評的算法,
  • 蒙特卡洛算法在程序化研究中簡單應用
    可以從CPI、PPI、貨幣發行量等宏觀經濟指標出發,建立擇時交易系統,這種方法為多為機構應用。    微觀方面,筆者認為,可以講傳統的指標組合方法進行升華,引入在物理數學中成熟的數學模型,改進傳統的程序化交易模型,如運用數值計算中的蟻群算法和模擬退火算法等,本文介紹的也是數值計算中的蒙特卡洛算法。
  • 什麼是蒙特卡洛模擬?
    在與John Von Neumann(就是大名鼎鼎的馮.諾依曼)分享他的想法之後,兩人合作開發了蒙特卡洛模擬。蒙特卡洛模擬用於模擬一個隨機過程中不同結果可能出現的概率,而這一隨機過程由於其中蘊含的隨機變量的幹擾而變得不易預測。這是一種用於理解風險和不確定性對預測模型的影響的技術。蒙特卡洛模擬也稱為多概率模擬。
  • 蒙特卡洛模擬(Monte Carlo Simulation)
    一、介紹蒙特卡洛模擬是一種統計學方法,用來模擬大量的數據。
  • 蒙特卡洛模擬方法
    在本文中您可以學習到以下幾點知識蒙特卡洛定積分算法原理講解(公式篇)python實現算法(代碼篇)蒙特卡洛算法起源       蒙特卡羅方法於20世紀40年代美國在第二次世界大戰中研製原子彈的「曼哈頓計劃」計劃的成員S.M.烏拉姆和J.馮·諾伊曼首先提出。
  • 蒙特卡洛模擬方法及應用案例
    是把概率現象作為研究對象的數值模擬方法。是按抽樣調查法求取統計值來推定未知特性量的計算方法。蒙特卡羅法作為一種計算方法,是由美國數學家烏拉姆與美籍匈牙利數學家馮·諾伊曼在20世紀40年代中葉,為研製核武器的需要而首先提出來的。蒙特卡羅是摩納哥的著名賭城,該法為表明其隨機抽樣的本質而命名,故適用於對離散系統進行計算仿真試驗。
  • 蒙特卡洛方法到底有什麼用?
    蒙特卡洛方法(Monte Carlo method,也有翻譯成「蒙特卡羅方法」)是以概率和統計的理論、方法為基礎的一種數值計算方法,將所求解的問題同一定的概率模型相聯繫,用計算機實現統計模擬或抽樣,以獲得問題的近似解,故又稱隨機抽樣法或統計試驗法。上述就是蒙特卡洛方法的基本概念,比較抽象,下面結合實際工作中的理解,談一談對蒙特卡洛方法的一些認識。
  • 蒙特卡洛模擬的簡單例子
    圖片來源:Wikipedia旋輪線的面積的證明:車輪在地上旋轉一圈的過程中,車輪圓周上的某一點划過的曲線就叫做「旋輪線」。 蒙特卡洛模擬我們首先把旋輪線放在坐標系中:對於一些特殊分布的問題,只要調整產生隨機數的算法就可以了。 隨機數是蒙特卡洛模擬的關鍵在TB上,用以下程序進行測試,只要K線根數足夠多,Pips最終將收斂至0.75。
  • 蒙特卡洛模擬(Python)深入教程
    字幕組雙語原文:蒙特卡洛模擬(Python)深入教程英語原文:Monte Carlo Simulation An In-depth Tutorial with Python翻譯:大表哥、wiige什麼是蒙特卡羅模擬?
  • MCMC、蒙特卡洛近似和Metropolis算法簡介
    MCMC 是Markov Chain Monte Carlo 的簡稱,但在傳統模擬中有一個很重要的假設是樣本是獨立的(independent samples),這一點在貝葉斯統計尤其是高緯度的模型中很難做到。所以MCMC的目的就是運用蒙特卡洛模擬出一個馬可鏈(Markov chain)。
  • 蒙特卡洛方法在美式期權定價中的應用
    蒙特卡洛方法是以概率和統計理論方法為基礎的一種計算方法,利用隨機數(實際應用中通常為偽隨機數)來產生隨機的基於一定分布假設的數字序列,進而解決各種計算問題。通過對問題的結果分布進行假設和擬合,利用電子計算機實現統計模擬或抽樣,以獲得問題的近似解。為象徵性地表明這一方法的概率統計特徵,故借用賭城蒙特卡洛命名。
  • 人工智慧輕鬆學 | AI算法連載04:數學基礎之蒙特卡洛方法與MCMC採樣
    一、前言在人工智慧AI如火如荼的大潮下,越來越多的工程師們意識到算法是AI的核心。而面對落地的應用,不懂算法的AI產品經理將是空談,不僅無法與工程師溝通,更無法深刻理解應用的性能與方式。
  • 一文了解AlphaGo中蒙特卡洛方法的由來與發展
    AlphaGo想必大家都相當熟悉了,除了卷積神經網絡技術的應用,蒙特卡洛搜索方法也是起到關鍵性作用的技術手段。接下來就簡單介紹蒙特卡洛方法的由來與發展過程。統計抽樣技術並不是Ulam提出的,統計抽樣技術很早之前就被用來分析物理過程中的定量問題,Ulam的貢獻是識別出了新發明電子計算機潛在的自動抽樣功能,和約翰·馮·諾伊曼、尼古拉斯一起工作,他開發了計算機實現的算法,也探索了通過統計抽樣將非隨機問題轉換為隨機的形式的手段,這項工作將統計抽樣方法從一個純粹的數學方法轉換成一種正式的適用於各種各樣問題的方法論一蒙特卡洛方法。
  • Python學習第130課——蒙特卡洛模擬隨機遊走
    現在我們用蒙特卡洛模擬計算一下,醉漢在不同的條件下打車回家的概率。我們先定義幾個參數。how_many_steps,表示醉漢走多少步數算完成一次隨機遊走。foot_limit,表示醉漢超過出發的原點多少米就不走了,要打車回家。how_many_simulations,表示我們模擬多少次醉漢遊走的過程。
  • 蒙特卡羅方法在靈敏度分析中的應用及其優勢
    從功能上講,蒙特卡洛模擬通過建立可能結果的模型來執行風險分析,方法是用範圍內的值(概率分布)替換具有固有不確定性的任何因素。接下來,它利用概率函數中不同的任意值集重複計算結果。 通常,在完成之前,蒙特卡洛模擬可以是數千甚至數萬次的重新計算。
  • 蒙特卡洛梯度估計方法(MCGE)簡述
    其中,對於函數期望類目標問題,最常見的是基於蒙特卡洛採樣的方法。背景知識要了解基於蒙特卡洛採樣的梯度估計方法,首先先了解蒙特卡洛採樣方法和隨機優化方法。MCS 是一種經典的求解積分方法,公式(1)中的問題通常可以用 MCS 近似求解如下:
  • 【學習心得032】期權定價之蒙特卡洛模擬法
    期權定價的方法主要有蒙特卡洛模擬以及二叉樹的方法,我們首先介紹使用蒙特卡洛模擬的方法。
  • 蒙特卡洛模擬法計算VaR的場景生成技術
    部分未聯繫到作者和原始出處的文章,請原作者聯繫506743560@qq.com或直接在公眾號留言,或致電15034081448,「私募工場」會在第一時間處理。一個場景是所有風險因子的表現序列。歷史場景是指風險因子在歷史上某天的實際表現,隨機場景則是計算機隨機模擬生成的。
  • 簡潔清晰解釋馬爾可夫鏈蒙特卡洛方法
    具體來說,這種類型的算法以依賴Markov屬性的方式生成蒙特卡羅模擬,然後以一定的速率接受這些模擬以獲得後驗分布。 高級:完整的統計思想。本文,讓你達到中級水平。讓我們從初級水平開始。什麼是MCMC?馬爾可夫鏈蒙特卡羅的三個部分第一:蒙特卡洛蒙特卡羅模擬通過生成隨機數來模擬複雜系統。
  • Python算法設計(八)
    蒙特卡洛法蒙特卡洛方法又稱統計模擬法,隨機抽樣技術,是一種隨機模擬方法,以概率和統計理論方法為基礎的一種計算方法