create new path generator for a stochastic process
PathGenerator(process, timeinterval, timesteps)
stochastic process; process for the path to be generated
list, Vector, or time grid; time grid
range; length of simulation interval
positive integer; number of time steps
The PathGenerator command creates a new path generator for the specified stochastic process. This command returns a module that can be used to simulate the underlying stochastic process as if it were a Maple procedure. Assume, for example, that the module returned by the PathGenerator command is assigned to the name T. Then for any positive integer n, T⁡n will return n replications of the sample path of the underlying process.
In the one-dimensional case, the value returned by T is a matrix of size m×n, where m is the requested number of replications of the sample path (see the replications option) and n is the number of points in the time grid (the number of time steps plus one). Each row of this matrix is a single realization of the sample path of the stochastic process of interest. In the multi-dimensional case, the value returned by T is a matrix of size m×d×n, where m and n are the same as in the one-dimensional case, and d is the dimension of the stochastic process to be simulated, which is either given explicitly or deduced from the dimension of the underlying stochastic process.
The module returned by the PathGenerator command can be passed to other commands such as Finance[SamplePath] or Finance[SampleValues] to simulate the underlying stochastic process.
The PathGenerator(process, timegrid) calling sequence creates a path generator for process based on the specified time grid.
The PathGenerator(process, timeinterval, timesteps) calling sequence constructs a path generator for process based on a uniform time grid on the interval timeinterval using the specified number of time steps. The parameter timeinterval must be of type range t0..t1, where t0 and t1 are non-negative real constants such that t0<t1. Note that if 0<t0, the value at t0 will be simulated using a single step of the default discretization method and hence can suffer from a significant discretization bias. Increasing the number of time steps will refine the grid between t0 and t1, but will have no effect on the value at t0. To reduce the bias, use a time interval of the form 0..t1.
W1 ≔ WienerProcess⁡:
P1 ≔ PathGenerator⁡W1,0..3:
P2 ≔ PathGenerator⁡W1,0..3,10
P2 ≔ moduleoptionimplementation=External/0x7fd35e83a7a8;exportprocess,timegrid,ModuleApply;end module
1..5 x 1..11 ArrayData Type: floatStorage: rectangularOrder: C_order
Here is a path generator based on a non-homogeneous grid.
G ≔ 0,0.3,0.5,0.7,1.0,seq⁡1.+i10,i=1..10
G ≔ 1 .. 15 Vector[column]Data Type: anythingStorage: rectangularOrder: Fortran_order
P3 ≔ PathGenerator⁡W1,G
P3 ≔ moduleoptionimplementation=External/0x7fd35e848700;exportprocess,timegrid,ModuleApply;end module
This is simulating a multi-dimensional process.
W2 ≔ WienerProcess⁡1.0,0.5|0.5,1.0
W2 ≔ _W0
P4 ≔ PathGenerator⁡W2,0..3,3
P4 ≔ moduleoptionimplementation=External/0x7fd357723cb0;exportprocess,timegrid,ModuleApply;end module
1..5 x 1..2 x 1..4 ArrayData Type: floatStorage: rectangularOrder: C_order
This is creating a path generator for a Vector of one-dimensional processes.
W3 ≔ PoissonProcess⁡0.5:
P5 ≔ PathGenerator⁡W1,W3,0..3,20
P5 ≔ moduleoptionimplementation=External/0x7fd35771e4d0;exportprocess,timegrid,ModuleApply;end module
1..1 x 1..2 x 1..21 ArrayData Type: floatStorage: rectangularOrder: C_order
The Finance[PathGenerator] command was introduced in Maple 15.
For more information on Maple 15 changes, see Updates in Maple 15.
Download Help Document
What kind of issue would you like to report? (Optional)
Thank you for submitting feedback on this help document. Your feedback will be used
to improve Maple's help in the future.