全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版)
4279 5
2011-02-12
我在一篇论文中看到moro算法可以生成正态随机数,而且此算法较优。但是找不到moro算法的相关资料及对正态随机数的生成方法。
哪位朋友可以提供一些资料给我。如果能提供用matlab实现的moro算法生成正态随机数的代码更是感谢了!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-2-12 08:08:07
1# icebird_rong
if you have matlab, use norminv and randn, no need to code your own

Glasserman, pp 68

Fig. 2.13. Beasley-Springer-Moro algorithm for approximating the inverse normal.

a0 = 2.50662823884 b0 = -8.47351093090
a1 = -18.61500062529 b1 = 23.08336743743
a2 = 41.39119773534 b2 = -21.06224101826
a3 = -25.44106049637 b3 = 3.13082909833
c0 = 0.3374754822726147 c5 = 0.0003951896511919
c1 = 0.9761690190917186 c6 = 0.0000321767881768
c2 = 0.1607979714918209 c7 = 0.0000002888167364
c3 = 0.0276438810333863 c8 = 0.0000003960315187
c4 = 0.0038405729373609

y ← u − 0.5
if |y| < 0.42
r ← y ∗ y
x ← y ∗ (((a3 ∗ r + a2) ∗ r + a1) ∗ r + a0) / ((((b3 ∗ r + b2) ∗ r + b1) ∗ r + b0) ∗ r +1)
else
r ← u;
if (y > 0) r ← 1 − u
r ← log(−log(r))
x ← c0 + r ∗ (c1 + r ∗ (c2 + r ∗ (c3 + r ∗ (c4+ r ∗ (c5 + r ∗ (c6 + r ∗ (c7 + r ∗ c8)))))))
if (y < 0) x←−x
return x
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-15 12:16:15
irvingy 发表于 2011-2-12 08:08
1# icebird_rong
if you have matlab, use norminv and randn, no need to code your own
你好,我想问下最后一个if后面 x=-x的 x应该没有定义吧,比如我输入u=0.07,此时y=-0.43<0, |y|>0.42那么就直接跳到最后一个if,此时x没有定义任何值。请问这是怎么回事呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-15 12:28:07
irvingy 发表于 2011-2-12 08:08
1# icebird_rong
if you have matlab, use norminv and randn, no need to code your own
我需要用这个算法是需要吧低差异序列,比如halton序列转化成正态随机序列,这是我编的matlab的一个小程序,然后系统跑出来就是说有的地方 倒数第二个if那里没有定义变量。所以我就不太懂那个if后面是啥回事了。 QQ图片20131115105233.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-16 23:02:37
lpnibo 发表于 2013-11-15 12:28
我需要用这个算法是需要吧低差异序列,比如halton序列转化成正态随机序列,这是我编的matlab的一个小程序 ...
第一个end放错地方

if y > 0
    r = 1 - h(j,i)
end

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-11-17 11:25:39
irvingy 发表于 2013-11-16 23:02
第一个end放错地方

if y > 0
恩 我明白了 如果if后面紧跟那段没有向后退两个写就等于这个if执行完毕就应该end。 谢谢啊,好像可以跑了thx
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群