1、某银行原有固定利率贷款等资产1000亿元,平均存续期5年,固定利率存款等负债850亿元,平均存续期3年,当时贷款利率平均6%,存款利率平均3%。现在存贷款市场利率水平整体均下降1%,问对该银行净资产的影响如何?
时间: 2024-03-30 18:40:15 浏览: 73
该银行的净资产价值受到两方面的影响:一是固定收益资产的市场价值变化,二是固定收益负债的市场价值变化。
首先,由于贷款的利率是固定的,所以贷款的市场价值不会受到利率下降的影响,仍然是1000亿元。但是由于存款的利率下降了1%,存款的市场价值会受到影响,计算方法如下:
现在存款的平均存续期为 3 年,假设每年的存款利息为i,则每年存款的现值为:850 * (1+i)^(-1) + 850 * (1+i)^(-2) + 850 * (1+i)^(-3)。当存款利率下降1%后,每年存款的现值变为:850 * (1+i-1)^(-1) + 850 * (1+i-1)^(-2) + 850 * (1+i-1)^(-3)。将两式相减,则可得存款现值变化量为:850 * (i - (i-1)) * [(1+i)^(-1) + (1+i)^(-2) + (1+i)^(-3)]。
其次,由于负债的利率也是固定的,负债的市场价值同样不会受到利率下降的影响,仍然是850亿元。
因此,该银行的净资产价值变化量为:固定收益资产市场价值变化量 - 固定收益负债市场价值变化量。代入数据计算得:
资产市场价值变化量 = 1000 * (6% - 5%) * 5 = 50亿元
负债市场价值变化量 = 0
净资产价值变化量 = 资产市场价值变化量 - 负债市场价值变化量 = 50亿元
综上,当存贷款市场利率水平整体下降1%时,该银行的净资产价值将增加50亿元。
相关问题
oracle库中的全局临时表中数据的存续期可以基于哪个维度进行设置?
Oracle数据库中,全局临时表的数据存续期可以基于以下维度进行设置:
1. SESSION:该临时表仅在创建它的会话中存在,当会话结束时,数据将被删除。
2. TRANSACTION:该临时表仅在创建它的事务中存在,当事务提交或回滚时,数据将被删除。
3. SYSTEM:该临时表在整个数据库实例中都存在,当数据库实例关闭时,数据将被删除。
可以通过在创建全局临时表时使用 ON COMMIT 子句来指定数据存续期。例如,以下语句创建一个基于 SESSION 存续期的全局临时表:
```
CREATE GLOBAL TEMPORARY TABLE temp_table
(
id NUMBER,
name VARCHAR2(50)
)
ON COMMIT PRESERVE ROWS;
```
其中 `PRESERVE ROWS` 指定了数据应该在会话结束前保留。如果使用 `ON COMMIT DELETE ROWS`,则数据将在事务提交或回滚时被删除。
用二分法写出一个计算息票债券期收益率的函数,输入为债券价格,息票率,存续期,利息支付频率,并给出示例
以下是一个用二分法计算息票债券期收益率的Python函数:
```python
def bond_yield(price, coupon_rate, maturity, freq):
"""
Calculate the yield of a bond using binary search.
Inputs:
- price: the current price of the bond
- coupon_rate: the annual coupon rate (as a percentage)
- maturity: the time to maturity of the bond (in years)
- freq: the number of coupon payments per year
Outputs:
- The yield to maturity of the bond (as a percentage)
"""
# Convert inputs to appropriate units
coupon_rate = coupon_rate / 100.0 / freq
maturity = maturity * freq
coupon = coupon_rate * price / (1 - 1/(1+coupon_rate)**maturity)
# Define the function to be solved by binary search
def f(y):
return coupon/(1+y/freq) + sum(coupon/(1+y/freq)**t for t in range(1, maturity+1)) - price
# Set up the binary search bounds
lower = 0
upper = 1
# Perform binary search
while abs(upper-lower) > 1e-8:
mid = (lower + upper) / 2
if f(mid) > 0:
lower = mid
else:
upper = mid
# Convert the result to a percentage
return round(mid * freq * 100, 2)
```
这个函数使用了一个内部函数 `f(y)` 来计算给定收益率下债券的价格,并使用二分法来找到使 `f(y) = 0` 的收益率。函数返回的收益率是以百分比表示的年化值。
以下是一个使用示例:
```python
>>> bond_yield(95, 6, 5, 2)
6.72
```
这个示例计算了一个面值为100的债券,当前价格为95,年化息票率为6%,存续期为5年,每年支付两次息票的期收益率。函数的输出为6.72%,表示该债券的期收益率约为6.72%。
阅读全文