我已经就熊选项提出了这个问题,但我不知道如何执行工厂功能部分:
( 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是固定的。”
我找不到工厂函数的简单解释,我刚刚开始编写代码,我的笔记中还没有提到工厂函数。任何链接到网页,提示或解释将不胜感激!
发布于 2016-02-13 21:56:10
他们想要你做的是写一个返回另一个函数的函数,这个函数可以用来计算一个固定值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,没有错误。
https://stackoverflow.com/questions/35385705
复制相似问题