首页 > 解决方案 > 如何定义一个关于远期价格的函数?

问题描述

我必须定义一个函数,forward_price它接受三个参数:

spot: float
interest_rate: float
time: float

此函数应使用以下经典公式计算并返回远期合约中资产的远期价格,四舍五入为小数点后 2 位:

1

我试过这个:

from math import e
interest_rate = 1.03 #risk free-rate is 3%
spot_price = 40 
time = 30/360 #there is 30 days remaining
forward_price = spot_price * e ** interest_rate * time 
print(forward_price)

结果是9.336886115663596真实的结果应该是 40.10

有人知道如何得到这个结果并四舍五入吗?

标签: pythonfinance

解决方案


问题似乎来自于利率加 1。如果您保留interest_rateas0.03并在指数周围添加括号,您将获得预期值。

from math import e
interest_rate = 0.03 #risk free-rate is 3%
spot_price = 40 
time = 30/360 #there is 30 days remaining
forward_price = spot_price * e ** (interest_rate * time) 
print(forward_price)

推荐阅读