使用二叉树模型进行欧式期权定价的MATLAB代码

这篇文章提供了一个MATLAB函数 binomialOptionPricing,使用二叉树模型计算欧式期权价格、Delta和Gamma。

function [price, delta, gamma] = binomialOptionPricing(S0, K, r, T, sigma, N)
% 使用二叉法进行欧式期权定价
% 输入参数:
% S0 - 标的资产当前价格
% K - 期权行权价格
% r - 无风险利率
% T - 期权到期时间
% sigma - 标的资产的波动率
% N - 二叉树的步数
% 输出参数:
% price - 期权价格
% delta - 期权的Delta
% gamma - 期权的Gamma

% 计算二叉树的参数
dt = T/N; % 每一步的时间间隔
u = exp(sigma*sqrt(dt)); % 上涨因子
d = 1/u; % 下跌因子
p = (exp(r*dt)-d)/(u-d); % 上涨概率

% 构建二叉树
stockPrices = zeros(N+1, N+1);
stockPrices(1,1) = S0;
for i = 2:N+1
    stockPrices(1:i, i) = stockPrices(1:i-1, i-1)*u;
    stockPrices(i+1:end, i) = stockPrices(i, i)*d;
end

% 计算期权价值
optionValues = zeros(N+1, N+1);
optionValues(:, end) = max(stockPrices(:, end)-K, 0); % 终止条件

% 逐步回溯计算期权价值
for j = N:-1:1
    for i = 1:j
        optionValues(i, j) = exp(-r*dt)*(p*optionValues(i, j+1) + (1-p)*optionValues(i+1, j+1));
    end
end

% 计算期权价格
price = optionValues(1, 1);

% 计算Delta和Gamma
delta = (optionValues(1, 2) - optionValues(2, 2))/(stockPrices(1, 2) - stockPrices(2, 2));
gamma = ((optionValues(1, 2) - optionValues(2, 2))/(stockPrices(1, 2) - stockPrices(2, 2)) - ...
    (optionValues(2, 2) - optionValues(3, 2))/(stockPrices(2, 2) - stockPrices(3, 2))) / ...
    ((stockPrices(1, 2) - stockPrices(3, 2))/2);
end

代码解释:

  1. 输入参数:
    • S0: 标的资产当前价格
    • K: 期权行权价格
    • r: 无风险利率
    • T: 期权到期时间
    • sigma: 标的资产的波动率
    • N: 二叉树的步数
  2. 计算二叉树参数:
    • dt: 每一步的时间间隔
    • u: 上涨因子
    • d: 下跌因子
    • p: 上涨概率
  3. 构建二叉树: 创建一个矩阵 stockPrices 来存储每个节点的标的资产价格。
  4. 计算期权价值: 创建一个矩阵 optionValues 来存储每个节点的期权价值。从最后一个时间步开始,根据期权类型计算终止条件下的期权价值。然后,使用风险中性定价原理,从后往前逐步回溯计算每个节点的期权价值。
  5. 计算期权价格: price 是二叉树根节点的期权价值。
  6. 计算Delta和Gamma: 使用差分法计算期权的Delta和Gamma。

使用方法:

在MATLAB中定义输入参数的值,然后调用函数 binomialOptionPricing 即可。

示例:

S0 = 100;      % 标的资产当前价格
K = 105;       % 期权行权价格
r = 0.05;      % 无风险利率
T = 1;         % 期权到期时间
sigma = 0.2;    % 标的资产的波动率
N = 100;       % 二叉树的步数

[price, delta, gamma] = binomialOptionPricing(S0, K, r, T, sigma, N);

输出:

  • price: 期权价格
  • delta: 期权的Delta
  • gamma: 期权的Gamma

原文地址: https://www.cveoy.top/t/topic/f3FF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录