工厂功能建议/解释



我已经开始了关于熊选项的问题,但我不确定如何继续工厂功能部分:

a( 熊市期权有回报见图片

我必须编写一个返回收益值的 python 函数。

def bear(S,K):
    if S <= K:
        value = K
    elif K < S and S < 2*K:
        value = 2*K - S
    else:
        value = 0
    return value

下一部分... b("还要编写一个工厂函数,它返回一个变量的熊期权收益函数,K固定。

我找不到工厂函数

是什么的简单解释,我刚刚开始编码,我的笔记还没有提到工厂函数。任何指向网页,提示或解释的链接将不胜感激!

他们希望您做的是编写一个返回另一个函数的函数,该函数可用于计算固定值 K 的bear(S, K)

def bear_for_k(K):
    return lambda S: bear(S, K)

演示:

>>> bear(21, 17)
13
>>> bear_for_k17 = bear_for_k(17)
>>> bear_for_k17(21)
13
>>> bear(112, 81)
50
>>> bear_for_k81 = bear_for_k(81)
>>> bear_for_k81(112)
50

编辑以回应评论:

请尝试以下文件:

def bear(S,K):
    if S <= K:
        value = K
    elif K < S and S < 2*K:
        value = 2*K - S
    else:
        value = 0
    return value
def bear_for_k(K):
    return lambda S: bear(S, K)
#test:
print(bear_for_k(17)(21))

这将在 Python2 和 Python3 中打印 13,没有错误。

最新更新