製作亂數表 - 模擬與交易.1

更新於 發佈於 閱讀時間約 3 分鐘

利用亂數,在複雜的多個條件下,透過模擬而得到參考答案,在計算科學越來越進步的情況下,此法應用的領域範圍,已獲得大爆發式的增加。本文利用Excel VBA工具,來產生兩種亂數表,一個是均勻分配、另一個是標準常態分配亂數。

首先要說明的是,Excel VBA與其他軟體一樣,都有內建的亂數產生機制,基於實驗後的回顧檢察需求,我個人的需求是一個亂數種子(Seed),可以對應一個足夠亂的亂數表,而足夠亂的意思就是產生的數字要不重複、沒有週期循環的要求。如果再加上簡單易懂、易學的要求,那麼『平方取中法』最適合推薦。

以一個六位數整數的亂數表製作來說,平方取中法顧名思義就是第一步先隨機選取一個六位數整數,也就是種子作為整張亂數表的第一個亂數,接者第二個亂數的產生方式就是將前一個六位數整數對自己相乘(就是平方),原則上會獲得一個12位整數的數值,此時再把前後頭尾的三位數消去,如此就可以取出中段的六個整數數字,此即為取中的意思,然後第三個亂數、第四個…,依序透過迴圈方式給予產生出來。

例如取543710這個六位數做為種子,平方後會得到295620564100這個12位數,
1. 對該數字乘以0.001並取整數,可得295620564這個9位整數數
2.再對該數字乘以0.000001,可得295.620564這個3位整數與6位小數
3.取出小數,然後乘以1000000,如此可得620564這個亂數,並重複步驟1、2、3,即可獲得一張均勻分配的亂數表

當然,此法有需要作出防呆處理,亦即六位數整數自我相乘,萬一僅只得出11位數,而非12位數,固定去除頭尾三位數的運作下,得到的亂數必然越來越小,進而變成重複出現,而本文提供的防呆機制為亂數數值過小,就運用簡單的加法、乘法、取餘數的機制,再次確保亂數表可以順利編制產生。

既然已經會製作均勻分配的亂數表,再利用已知的常態分配公式,

raw-image

搭配取捨法這個刪除機制,就能改變均勻分配的狀態,以下針對4個標準差範圍內的亂數表製作說明如下:
1. 首先製作兩張亂數表
2. 對6位數整數除以80000,取其餘數,然後減40000,接者除以10000,此時數字範圍變成-3.9999~3.9999之間的均勻分配亂數,並帶入常態分配公式計算出函數值,且已知該函數值最大不會超過0.4
3. 捨的部分:利用第二個亂數表產生0~0.4之間的均勻分配亂數,並且跟步驟2的函數值作大小比較,只要函數值不超過第二個0~04之間的均勻分配亂數,就予以保留
4. 重複步驟2、3,累積製作足夠所需的亂數數量

Excel VBA程式碼與註解請參考如下(平方取中法,均勻分配亂數)
Excel VBA程式碼與註解請參考如下(取手法,標準常態分配亂數)

留言
avatar-img
留言分享你的想法!
Piemann-avatar-img
發文者
2021/12/13
補充說明(Greene.6th,17 Chapter) 1. 模擬的用途 : 研究那些未知的統計性質、以及無法推導的估計量 2. 產生偽的隨機亂數表,選定種子(Seed),透過迴圈與賦值計算程序來給予產生,在此同時,為了減少亂數表的周期性困擾,混用不同的亂數產生方法,為常用的招式,例如線性同於法與平方取中法一起並用 3. 可以利用均勻分配的方式,利用機率變換,產生其他不同配的隨機變數,例如使用Box-Muller,產生兩個均勻分配亂數,可以產生一個常態分配亂數,如此可以再產生Chi、F、t等分佈,而捨離法,更為簡單易懂也適合離散的隨機變數
avatar-img
Piemann的沙龍
21會員
113內容數
Piemann的沙龍的其他內容
2025/04/01
2025.04.01 明顯的,Cheat GPT 功能越來越強大,應用範圍只多不少 !! 輸入問題如下 : 1. 有一個隨機碼,長度為5個不重複的數字及小寫英文字母所組成, 例如 e2k9z、ju72d、...,共有一萬筆數據 2. 請設計一個雜湊函數方案,讓隨機碼對應到實數整數空間 3.
Thumbnail
2025/04/01
2025.04.01 明顯的,Cheat GPT 功能越來越強大,應用範圍只多不少 !! 輸入問題如下 : 1. 有一個隨機碼,長度為5個不重複的數字及小寫英文字母所組成, 例如 e2k9z、ju72d、...,共有一萬筆數據 2. 請設計一個雜湊函數方案,讓隨機碼對應到實數整數空間 3.
Thumbnail
2024/12/01
龐氏騙局定義 : 由後繼者的投資本金,支付前期投資者的紅利,謂之 !! 案例 : 制定獎勵生育誘因、追求人口紅利之國策,其實就是隱形的龐氏騙局 !! 那生命的意義,除了在於繼起宇宙生命之外,還有啥意義 ? 對曰 : 還得創造傳奇 ! 那如何創造傳奇 ? 對曰 : 確定目標、集中資源、專研
2024/12/01
龐氏騙局定義 : 由後繼者的投資本金,支付前期投資者的紅利,謂之 !! 案例 : 制定獎勵生育誘因、追求人口紅利之國策,其實就是隱形的龐氏騙局 !! 那生命的意義,除了在於繼起宇宙生命之外,還有啥意義 ? 對曰 : 還得創造傳奇 ! 那如何創造傳奇 ? 對曰 : 確定目標、集中資源、專研
2024/11/17
1990~1991之際,爆發第一次波灣戰爭(市場稱為第三次石油危機),起因是兩伊戰爭期間,伊拉克對科威特欠下巨債,戰後伊拉克藉端生事,要求取消相關債權,科威特不願意,因此伊拉克便開始調動軍隊部署於邊境(1990.七月中下旬),緊張局勢快速升溫,及至入侵(1990.08.02)科威特佔領全境後(199
2024/11/17
1990~1991之際,爆發第一次波灣戰爭(市場稱為第三次石油危機),起因是兩伊戰爭期間,伊拉克對科威特欠下巨債,戰後伊拉克藉端生事,要求取消相關債權,科威特不願意,因此伊拉克便開始調動軍隊部署於邊境(1990.七月中下旬),緊張局勢快速升溫,及至入侵(1990.08.02)科威特佔領全境後(199
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
建立序號或稱流水號情境百百種,今天的情境是,相同類別建立相同的流水編號或序號,這樣的序號如何快速建立呢? 其實用對函數,不用30秒就解決了!!!先花1分鐘看一下教學影片吧,觀看影片之前可以先下載檔案,學中做、做中學效果最好唷。(文末有函數說明) 檔案下載 函數說明 ✍🏾COUNTIF有
Thumbnail
建立序號或稱流水號情境百百種,今天的情境是,相同類別建立相同的流水編號或序號,這樣的序號如何快速建立呢? 其實用對函數,不用30秒就解決了!!!先花1分鐘看一下教學影片吧,觀看影片之前可以先下載檔案,學中做、做中學效果最好唷。(文末有函數說明) 檔案下載 函數說明 ✍🏾COUNTIF有
Thumbnail
Python的random模組是一個非常實用的工具,可以讓我們在程式中生成隨機數或從序列中隨機選擇元素。下面介紹一些常用的random模組函數。 首先,我們需要導入random模組,可以使用以下語句進行導入: 接下來,我們來看看random模組中的一些基本函數: random.random()
Thumbnail
Python的random模組是一個非常實用的工具,可以讓我們在程式中生成隨機數或從序列中隨機選擇元素。下面介紹一些常用的random模組函數。 首先,我們需要導入random模組,可以使用以下語句進行導入: 接下來,我們來看看random模組中的一些基本函數: random.random()
Thumbnail
高一下數列的代入求解法和一般項求解法
Thumbnail
高一下數列的代入求解法和一般項求解法
Thumbnail
亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。 在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看: 語法: 在隨機抽取的時
Thumbnail
亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。 在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看: 語法: 在隨機抽取的時
Thumbnail
這只是一篇測試功能的文章
Thumbnail
這只是一篇測試功能的文章
Thumbnail
當我們需要在程式中模擬或實作一些隨機發生的事件,例如模擬猜拳、丟骰子的結果,便需要程式可以根據開發者輸入的數值範圍、型態等,隨機產生一個結果,而Python的random()函數便是用於實現這個功能。
Thumbnail
當我們需要在程式中模擬或實作一些隨機發生的事件,例如模擬猜拳、丟骰子的結果,便需要程式可以根據開發者輸入的數值範圍、型態等,隨機產生一個結果,而Python的random()函數便是用於實現這個功能。
Thumbnail
利用亂數,在複雜的多個條件下,透過模擬而得到參考答案,在計算科學越來越進步的情況下,此法應用的領域範圍,已獲得大爆發式的增加。本文利用Excel VBA工具,來產生兩種亂數表,一個是均勻分配、另一個是標準常態分配亂數。
Thumbnail
利用亂數,在複雜的多個條件下,透過模擬而得到參考答案,在計算科學越來越進步的情況下,此法應用的領域範圍,已獲得大爆發式的增加。本文利用Excel VBA工具,來產生兩種亂數表,一個是均勻分配、另一個是標準常態分配亂數。
Thumbnail
(被算數)×(10)︿(算數) =(被算數)立零(算數)     2000 =(2)立零(3) =(2)×(10)︿(3)   (10)=(1)立零(1) (200)=(2)立零(2) (6000)=(6)立零(3)   200×30=6000 (2)立零(2)×(3)立零(1) =(2
Thumbnail
(被算數)×(10)︿(算數) =(被算數)立零(算數)     2000 =(2)立零(3) =(2)×(10)︿(3)   (10)=(1)立零(1) (200)=(2)立零(2) (6000)=(6)立零(3)   200×30=6000 (2)立零(2)×(3)立零(1) =(2
Thumbnail
(被算數)×(10)︿(算數) =(被算數)立零(算數)     2000 =(2)立零(3) =(2)×(10)︿(3)   (10)=(1)立零(1) (200)=(2)立零(2) (6000)=(6)立零(3)   200×30=6000 (2)立零(2)×(3)立零(1) =(2×3
Thumbnail
(被算數)×(10)︿(算數) =(被算數)立零(算數)     2000 =(2)立零(3) =(2)×(10)︿(3)   (10)=(1)立零(1) (200)=(2)立零(2) (6000)=(6)立零(3)   200×30=6000 (2)立零(2)×(3)立零(1) =(2×3
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News