數據分析之蒙特卡洛模擬


一、簡單表述

  通過大量重復產生大量隨機數模擬可能的實現環境幫助我們解決不確定場景下 的決策問題的方法

二、圓周率pi的計算

  

代碼:

from __future__ import division
import random
import time

num=1
for j in range(1,10):
    startT=time.clock()
    #落入圓內計數
    counter=0
    #往正方形內扔了10的j次方
    for i in range(10**j):
        x=random.uniform(-1,1)
        y=random.uniform(-1,1)
        #落入園內計數
        if x**2+y**2<1:
            counter+=1
    endT=time.clock()
    print(num)
    print('pi:{0}'.format(4*(counter/10**j)))
    print('時間:{0}'.format(startT-endT))
    print()
    num+=1

三、蒙特卡洛模擬在期權定價或者風險管理問題上有很強的能力,容易處理高維問題

     缺點:高計算要求,因此必須高效的實現該算法

   實現策略:(1)從基礎到向量化兩種方法

        (2)純Python,只使用內建的Python功能和標准庫實現蒙特卡洛值

        (3)向量化Numpy,使用Numpy功能實現更加緊湊高效的版本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM