我正在尝试自学python,我想从学习如何进行蒙特卡罗分析开始(我是一名使用MCA的贸易科学家)。我正在尝试编写一个程序,它将执行7个变量的montecarlo模拟,以计算给定公式的可能结果的范围。
我在python上非常新。我有VBA的经验,但我还在学习python。
我在网上找到的所有例子都与金融有关,不幸的是我很难将这些代码包含在内,因为它们与我想要做的事情不太相关。
我觉得这应该是一件非常简单的事情,因为方程非常简单。但是,我似乎无法取得任何进展。有人可以看看我现在的代码并指出我正确的方向吗?如果您有非金融分析的montecarlo分析示例,初学者很容易理解,请指出我的方式。我想学习python,但我发现我学习的最好方法是查看其他人的例子。
我想要完成的是列出7个变量,每个变量都有正态分布。我希望python在下面的代码中执行10,000次迭代公式,每次计算时拉出7个不同变量的不同集合。我最终想打印计算的P90,P50和P10值。在这个时候,我真的不在乎看任何图表(稍后会出现)。
以下是我到目前为止提出的代码。再次,我正在寻找如何实现这一目标的方向。我知道我的语法可能搞砸了,但我真的很挣扎。非常感谢任何帮助。
from scipy.stats import *
import numpy as np
n = 10000
for i in range(n):
Area = norm(200,50)
Thickness = norm(100,25)
NTG = norm(.85,.2)
POR = norm(.32,.02)
GS = norm(.80,.2)
BG= norm(.0024,.0001)
Feather = 1
return ((((Area*Thickness*NTG*POR*GS)/BG)*43560)*Feather)/1000000000
Result = ((((Area*Thickness*NTG*POR*GS)/BG)*43560)*Feather)/1000000000
print ('Result is ', Result, 'ft')