python - 如何定义一个关于远期价格的函数?
问题描述
我必须定义一个函数,forward_price
它接受三个参数:
spot: float
interest_rate: float
time: float
此函数应使用以下经典公式计算并返回远期合约中资产的远期价格,四舍五入为小数点后 2 位:
我试过这个:
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
有人知道如何得到这个结果并四舍五入吗?
解决方案
问题似乎来自于利率加 1。如果您保留interest_rate
as0.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)
推荐阅读
- typescript - Conditonal typescript type property based on another property's value
- javascript - Jest mock 不覆盖函数或返回错误
- python - How can I compare 2 CSV files, check if the values of the second column match and count the number of occurrences for each value when they match?
- html - 使用百分比和像素计算时的 Sass 错误
- scroll - How to simulate mouse scrolling
- javascript - 刷新页面时设置文本框值并提交表单
- java - Getting HttpException on 302 redirect in my response
- excel - Excel macro for replace points with commas
- typescript - 为什么使用 Array.isArray(obj) 检查 Object 可以为空?
- javascript - javascript window.open should open some urls in internet explorer