python中step什么意思_如何在Python中求解step函数?

你能解出你能计算的大多数东西,例如用二等分法…:def bisection(f, a, b, TOL=0.001, NMAX=100):

"""

Takes a function f, start values [a,b], tolerance value(optional) TOL and

max number of iterations(optional) NMAX and returns the root of the equation

using the bisection method.

"""

n=1

while n<=NMAX:

c = (a+b)/2.0

# decomment to learn more about the process

# print "a=%s\tb=%s\tc=%s\tf(c)=%s"%(a,b,c,f(c))

if f(c)==0 or (b-a)/2.0 < TOL:

return c

else:

n = n+1

if f(c)*f(a) > 0:

a=c

else:

b=c

return None

def solve(y, call_strike, call_premium, n, put_strike, put_premium):

cost = y * call_premium + n * put_premium

def net(fp):

call_profit = max(fp-call_strike, 0)

put_profit = max(put_strike-fp, 0)

tot_profit = call_profit * y + put_profit * n

return tot_profit - cost

return bisection(net, 0, 2 * max(call_strike, put_strike))

if __name__ == '__main__':

# an example...:

print solve(12, 20.0, 3.0, 15, 25.0, 2.0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值