C语言蒙特卡洛,c语言蒙特卡洛方法求圆周率

dfnjsfkhak 3 0

大家好,今天小编关注到一个比较意思的话题,就是关于C语言蒙特卡洛问题,于是小编就整理了2个相关介绍C语言蒙特卡洛的解答,让我们一起看看吧。

  1. 随机模拟如何设置随机数?
  2. 并行计算在Quant中是如何应用的?

随机模拟如何设置随机数

随机模拟方法,也称为Monte Carlo方法,是一种基于“随机数”的计算方法。这一方法源于美国在第二次世界大战期间进行的研制***的“曼哈顿***”。该***的主持人之一、数学家冯·诺依曼用驰名世界的***--摩纳哥的Monte Carlo来命名这种方法,为它蒙上了一层神秘色彩。冯·诺依曼是公理化方法和计算机体系的领袖人物,MonteCarlo方法也是他的重要贡献。

事实上,Monte Carlo方法的基本思想很早以前就被人们所发现和利用。早在17世纪,人们就知道用***发生的“频率”来近似***的“概率”。18世纪下半叶,法国学者Buffon(蒲丰)提出用投针试验的方法来确定圆周率的值。这个著名的Buffon试验是Montc Carlo方法的最早尝试。

C语言蒙特卡洛,c语言蒙特卡洛方法求圆周率-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数估计量和统计量,进而研究其分布特征的方法。具体的,当系统中各个单元的可靠性特征量已知,但系统的可靠性过于复杂,难以建立可靠性预计的精确数学模型或模型太复杂而不便应用时,可用随机模拟法近似计算出系统可靠性的预计值;随着模拟次数的增多,其预计精度也逐渐增高。由于涉及到时间序列的反复生成,蒙特卡洛模拟法是以高容量和高速度的计算机为前提条件的,因此只是在近些年才得到广泛推广。

这个术语是二战时期美国物理学家Metropolis执行曼哈顿***的过程中提出来的。

蒙特卡洛模拟方法的原理是当问题或对象本身具有概率特征时,可以用计算机模拟的方法产生抽样结果,根据抽样计算统计量或者参数的值;随着模拟次数的增多,可以通过对各次统计量或参数的估计值求平均的方法得到稳定结论。

C语言蒙特卡洛,c语言蒙特卡洛方法求圆周率-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

并行计算在Quant中是如何应用的?

Quant 中经常会用到很多机器学习和优化算法,很多算法比如说常用的蒙特卡洛模拟方法能够很自然地并行实现如果***用并行计算则必然能够极大地提高计算效率,加快计算时间,更快地作出决策和发出交易指令,更好地抓住稍纵即逝的机会,这对进行高频交易尤其有用。另外如今的金融数据量也越来越大,适当地将数据分布到多个计算节点或者多个处理器上,能够降低对单台计算节点或者单个处理器的性能要求,也能降低对机器内存、网络带宽等其他***的需求。

目前做 Quant 非常常用的是 python 编程语言,如国外最流行的 Quantopian,国内的 JoinQuant,uqer 等都使用的是 Python 语言。用 Python 做并行计算的途径有很多,比如说使用标准库中的 [threading 模块](***s://docs.python.org/2/library/threading.html)进行线程级别的并行,[multiprocessing 模块](***s://docs.python.org/2/library/multiprocessing.html)进行进程级别的并行,[concurrent.futures 模块](***s://docs.python.org/3/library/concurrent.futures.html)实现异步并行,使用 [IPython.parallel 模块](***s://ipython.org/ipython-doc/3/parallel/index.html)进行多种方式的并行,使用 [mpi4py 包](***s://pypi.org/project/mpi4py/)进行 MPI 消息传递并行计算,等等。如果可以使用 C/C++,Fortran 或者使用 cython 为 Python 编写扩展模块,还可以使用 OpenMP 并行。我的个人[简书专题](***s://***.jianshu***/c/5019bb7bada6)和 [CSDN 博客专栏](***s://blog.csdn.net/column/details/26248.html)中有对用 Python 做并行计算的专门介绍并提供了大量的程序实例。有需要或者感兴趣的可以了解下。

到此,以上就是小编对于C语言蒙特卡洛的问题就介绍到这了,希望介绍关于C语言蒙特卡洛的2点解答对大家有用。

C语言蒙特卡洛,c语言蒙特卡洛方法求圆周率-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

标签: 蒙特卡洛 并行 计算