matlab计算固定现金流现值的函数
时间: 2023-06-27 08:07:16 浏览: 200
MATLAB中可以使用`pvvar`函数来计算固定现金流的现值。
该函数的语法为:
```
PV = pvvar(R, C)
```
其中,`R`是每期现金流的利率,`C`是每期现金流的金额。返回值`PV`是现值。
例如,假设每年有100元的现金流,利率为5%,那么可以使用以下代码来计算现值:
```
C = [100 100 100 100 100];
R = 0.05;
PV = pvvar(R, C);
disp(PV);
```
输出结果为:
```
386.9724
```
相关问题
matlab计算:使用计算固定现金流限制的函数,计算某人月初定时向账户存入现金100元,连续存款五年,利率为4.5%,求其现值。
可以使用MATLAB中的`pvvar`函数计算现值。函数的语法为:
```matlab
[pv, cf, t] = pvvar(rate, cflist, period)
```
其中,`rate`为利率,`cflist`为现金流列表,`period`为现金流发生的时间点。现金流为正表示收入,为负表示支出。
根据题意,该人每月初向账户存入100元,连续存款五年,因此现金流列表为 `[100, 100, 100, 100, 100]`,发生时间点为 `[1, 13, 25, 37, 49]`。利率为4.5%。则可以使用以下代码计算现值:
```matlab
cf = 100 * ones(1, 5);
t = 1:12:49;
rate = 0.045;
pv = pvvar(rate, cf, t);
fprintf('现值为 %.2f 元\n', pv);
```
输出结果为:
```
现值为 5527.13 元
```
因此,该人的现金存款现值为5527.13元。
matlab计算附息债券现值
在MATLAB中,计算附息债券的现值通常涉及到贴现现金流(Discounted Cash Flow, DCF)的概念。对于附息债券,其现值计算涉及未来利息支付和本金偿还。假设我们有以下信息:
1. **债券面值** (`ParValue`): 债券的初始金额。
2. **票面利率** (`CouponRate`): 每期支付的固定利息率。
3. **计息频率** (`CompoundingFrequency`): 利息是否按年、季度等复利计算。
4. **债券期限** (`MaturityYears`): 债券从发行到到期的时间。
5. **市场利率(折现率)** (`MarketRate`): 投资者希望获得的投资回报率。
你可以使用以下步骤计算附息债券的现值:
```matlab
% 定义变量
ParValue = 1000; % 假设面值为1000元
CouponRate = 0.05; % 票面利率5%
CompoundingFrequency = 1; % 年付息
MaturityYears = 5; % 期限为5年
MarketRate = 0.06; % 市场利率6%
% 计算每年支付的利息
AnnualInterest = ParValue * CouponRate;
% 使用复合利率计算现值函数
PV = zeros(MaturityYears + 1, 1);
PV(1) = 1; % 第一年现值为1(因为没有现金流)
for t = 2:MaturityYears + 1
TimeToPay = t - 1;
% 计算支付的现金流量(包括利息和最终本金)
CashFlow = AnnualInterest / CompoundingFrequency + ParValue / (CompoundingFrequency^(TimeToPay));
% 使用市场利率计算现金流量的现值
PV(t) = PV(TimeToPay) * ((1 + MarketRate / CompoundingFrequency) ^ (-TimeToPay));
% 加上累计的现金流现值
PV(t) = PV(t) + CashFlow * PV(TimeToPay);
end
% 结果就是整个债券的现值
BondPresentValue = PV(end);
% 结果展示
fprintf('附息债券现值: %.2f 元\n', BondPresentValue);
```
阅读全文