simTermStructs
Simulate term structures for two-factor additive Gaussian interest-rate model
Syntax
Description
[
simulates future zero curve paths using a specified ZeroRates,ForwardRates] = simTermStructs(G2PP,nPeriods)LinearGaussian2F object.
[
adds optional name-value pair arguments. ZeroRates,ForwardRates] = simTermStructs(___,Name,Value)
Examples
Create a two-factor additive Gaussian interest-rate model.
Settle = datetime(2007,12,15);
CurveTimes = [1:5 7 10 20]';
ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]';
CurveDates = daysadd(Settle,360*CurveTimes,1);
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
G2PP = LinearGaussian2F(irdc,a,b,sigma,eta,rho)G2PP =
LinearGaussian2F with properties:
ZeroCurve: [1×1 IRDataCurve]
a: @(t,V)ina
b: @(t,V)inb
sigma: @(t,V)insigma
eta: @(t,V)ineta
rho: -0.7000
Use the simTermStructs method to simulate term structures based on the LinearGaussian2F model.
SimPaths = simTermStructs(G2PP, 10,'nTrials',100);Create a two-factor additive Gaussian interest-rate model.
Settle = datetime(2007,12,15);
CurveTimes = [1:5 7 10 20]';
ZeroRates = [.01 .018 .024 .029 .033 .034 .035 .034]';
CurveDates = daysadd(Settle,360*CurveTimes,1);
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
G2PP = LinearGaussian2F(irdc,a,b,sigma,eta,rho)G2PP =
LinearGaussian2F with properties:
ZeroCurve: [1×1 IRDataCurve]
a: @(t,V)ina
b: @(t,V)inb
sigma: @(t,V)insigma
eta: @(t,V)ineta
rho: -0.7000
Use the simTermStructs method to simulate term structures based on the LinearGaussian2F object, where uneven simulation tenors are specified using the optional name-value argument deltaTime as a vector of length NPeriods.
NPeriods = 10; dt = rand(NPeriods,1); SimPaths = G2PP.simTermStructs(NPeriods,'nTrials',100,'DeltaTime',dt);
Input Arguments
LinearGaussian2F object, specified using the
G2PP object created using LinearGaussian2F.
Data Types: object
Number of simulation periods, specified as a numeric value. For example, to
simulate 12 years with an annual spacing, specify 12 as the
nPeriods input and 1 as the optional
deltaTime input (note that the default value for
deltaTime is 1).
Data Types: double
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
Example: [ZeroRates,ForwardRates] =
simTermStructs(G2PP,NPeriods,'nTrials',100,'deltaTime',dt)
Time step between nPeriods, specified as the
comma-separated pair consisting of 'deltaTime' and a numeric scalar
or vector. For example, to simulate 12 years with an annual spacing, specify
12 as the nPeriods input and
1 as the optional deltaTime input (note that
the default value for deltaTime is 1).
Data Types: double
Number of simulated trials (sample paths), specified as the comma-separated pair
consisting of 'nTrials' and a positive scalar integer value of
nPeriods observations each. If you do not specify a value for
this argument, the default is 1, indicating a single path of
correlated state variables.
Data Types: double
Flag indicating whether antithetic sampling is used to generate the Gaussian
random variates that drive the zero-drift, unit-variance rate Brownian vector
dW(t), specified as the comma-separated pair
consisting of 'antithetic' and a Boolean scalar flag. For details,
see simBySolution for the HWV model.
Data Types: logical
Direct specification of the dependent random noise process, specified as the
comma-separated pair consisting of 'Z' and a numeric value. The
Z value is used to generate the zero-drift, unit-variance rate
Brownian vector dW(t) that drives the
simulation. For details, see simBySolution for the HWV model. If you do not specify a value for
Z, simBySolution generates Gaussian
variates.
Data Types: double
Maturities to compute at each time step, specified as the comma-separated pair
consisting of 'Tenor' and a numeric vector.
Tenor enables you to choose a different set of rates to output
than the underlying rates. For example, you may want to simulate quarterly data but
only report annual rates; this can be done by specifying the optional input
Tenor.
Data Types: double
Output Arguments
Simulated zero-rate term structures, returned as a
nPeriods+1-by-nTenors-by-nTrials
matrix.
Simulated zero-rate term structures, returned as a
nPeriods+1-by-nTenors-by-nTrials
matrix. The ForwardRates output is computed using the simulated
short rates and by using the model definition to recover the entire yield curve at
each simulation date.
Version History
Introduced in R2013a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)