我已经喝了一段时间了:
我有一个函数,它依赖于五 (5) 个变量才能解决 (Black-Scholes)。在我解决了这个 BS 实例的价格之后,我想创建一系列不同的输入(比如时间)并将它们与相应的输出(解决方案,所有其他变量保持不变)进行对比。
所以希望我会绘制类似的东西
class BS
def __init__(self, args)
self.a = float(args[0])
self.b = float(args[1])
self.c = float(args[2])
self.d = float(args[3])
self.e = float(args[4])
...
...
the math
...
...
现在,我可以创建该类的一个实例,该实例包含一个从 T 或时间计算价格的方法。
def price(self)
'math that only requires T'
return price
所以,我只需要运行 BS.price() 并可以输出类似
t = range(T-200, T+200, 1)
prices = [BS.price() for x in t]
rhos = [BS.rho() for x in t]
vegas = [BS.vega() for x in t]
parities = [BS.parity() for x in t]
pylab.plot(prices,t)
pylab.plot(rhos,t)
pylab.plot(vegas,t)
pylab.plot(parities,t)
如果价格的唯一变量是时间。有没有更好的方法来观察 python 的单变量依赖关系?我更喜欢R,但这不取决于我。
谢谢你的帮助!
编辑:当时间变量进行数学运算时,我不知道如何使用列表推导,如 math.sqrt() 和 scipy.cdf()。有没有办法做到这一点?我知道如何构建依赖于变量 t 的函数,一个浮点数。我如何将值列表输入到 math.sqrt() 或 scipy.cdf() 中?谢谢您的帮助!