小编Mat*_*att的帖子

间隔-x - >无穷大的高斯 - 勒让德:有效地变换权重和节点的自适应算法

好吧我知道之前有一个有限的例子已经被要求缩放[-1, 1]间隔[a, b] 高斯 - 勒让德正交在numpy中的不同间隔但是没有人发布如何概括它[-a, Infinity](如下所述,但不是(还)快).这也显示了如何使用多个实现调用复杂函数(无论如何在定量选项定价中).有基准quad代码,后面跟着leggauss代码示例链接到如何实现自适应算法.我已经解决了大多数链接的adaptive algorithm困难 - 它目前打印分割积分的总和以显示它正常工作.在这里,你会发现功能的范围从转换[-1, 1][0, 1][a, Infinity](感谢@AlexisClarembeau).要使用自适应算法,我不得不创建另一个函数来转换[-1, 1][a, b]被反馈到[a, Infinity]功能.

import numpy as np
from scipy.stats import norm, lognorm
from scipy.integrate import quad

a = 0
degrees = 50

flag=-1.0000
F = 1.2075
K = 0.1251
vol = 0.43
T2 = 0.0411
T1 = 0.0047

def integrand(x, flag, F, K, …
Run Code Online (Sandbox Code Playgroud)

python wolfram-mathematica numpy scipy numerical-integration

14
推荐指数
1
解决办法
1185
查看次数

将配置模式添加到Plotly.Py offline - modebar

Plotly.js包含配置ModeBar所需的所有参数,允许用户从显示栏中取走选项(例如在线编辑图形的链接).但是,这似乎没有在Plotly.py API中实现.在js版本中:

Plotly.newPlot('myDiv', data, layout, {displayModeBar: false}); 完全删除模式栏.
Plotly.newPlot('myDiv', data, layout, {displaylogo: false}, {modeBarButtonsToRemove: ['sendDataToCloud','hoverCompareCartesian']})允许我们指定每个按钮来删除我想要实现的按钮.

我编辑了这个,因为我找到了一个解决方法...请参阅我在下面发布的答案.对于那些有其他参数的人来说,它们可以派上用场.

python plotly

4
推荐指数
2
解决办法
3261
查看次数

**kwargs 没有将变量传递给函数,出了什么问题?

由于某种原因,我无法让接收函数看到 Python 中 **kwargs 中传递的变量。(已解决 - 请参阅编辑)。这说明了问题 - **kwargs 参数通过多个函数传递并进入该integrand函数。我在其中放置了一个 print(kwargs) ,它显示了我在下面的前几行中创建的整个字典。但函数看不到这些变量,integrand并且会出错。使最终函数可以访问这些变量的正确方法是什么?非常感谢,在 SO 上搜索了很多帖子,但找不到与我的案例直接相关的内容。

def integrand(x, F, K, T1, T2, vol, flag):
    print(kwargs)
    d1 = (np.log(x / (x+K)) + 0.5 * (vol**2) * (T2-T1)) / (vol * np.sqrt(T2 - T1))
    d2 = d1 - vol*np.sqrt(T2 - T1)
    mu = np.log(F) - 0.5 *vol**2 * T1
    sigma = vol * np.sqrt(T1)
    value = lognorm.pdf(x, scale=np.exp(mu), s=sigma) * (flag * x*norm.cdf(flag * d1) - flag * (x+K)*norm.cdf(flag * …
Run Code Online (Sandbox Code Playgroud)

python

3
推荐指数
1
解决办法
8903
查看次数