[MUG] Generating a compound poission process in Maple
[MUG] Generating a compound poission process in Maple 

Author: Theo H S Boafo
Posted: Tue, 21 Jan 2003 06:42:03 +0000

>> From: /> Hello, Can anyone help with generating a compound poisson process in Maple. Regards Theo The HSBC Group's website is at http://www.hsbc.com _____________________________________________________ HSBC Bank Plc, which is regulated in the UK by FSA, has issued the information contained in this message (including any attached documents) for its institutional and professional customers only. It is not intended for private customers. This message and any attachments are not an invitation to buy or sell securities or related financial instruments, are confidential to the named recipient and may also be privileged. The information should not be reproduced and / or distributed to any other person. Internet communications are not secure and HSBC Bank Plc makes no representation and accepts no responsibility or liability as to the completeness and accuracy of the information contained in this message. Each page attached hereto must be read in conjunction with any disclosure which forms part of it. 
[MUG] Re: Generating a compound poission process in Maple 

Author: Robert Israel
Posted: Thu, 30 Jan 2003 16:26:44 0800

>> From: Robert Israel /> On Tue, 21 Jan 2003 wrote: > Hello, > > Can anyone help with generating a compound poisson process in Maple. > > Regards > > Theo OK, a compound Poisson process is defined by X(t) = sum_{i=1}^N(t) Y_i for t >= 0, where N(t) is a Poisson process and {Y_i} a family of iid random variables independent of N(t). I'll suppose you have a procedure gY that generates independent (pseudo)random variates with the distribution for the Y_i. Poisson random variables can be generated using random in the stats package. By "generating" the process, I suppose what you want is to generate a sample from this process, i.e. given 0 < t1 < t2 < ... < tk you want the values X(t1), X(t2), ..., X(tk) from one simulation of the process. Suppose the Poisson process N(t) has rate r, so for s < t, N(t)  N(s) is Poisson with parameter r*(ts), and X(t)  X(s) is the sum of that many independent r.v.'s with the distribution for Y_i. Thus the following procedure will take as input the rate r, the number k and a list or array L = [t1, t2, ..., t_k], and return an array [X(t1), X(t2), ..., X(tk)]. > with(stats,random): compPoisson:= proc(r::numeric, k::posint, L::{list, array, Array}) local S, i, j, t, p, Res; Res:= array(1..k); t:= 0; S:= 0; for j from 1 to k do p:= r*(L[j]t); S:= S + add(gY(), i= 1.. random[poisson[p]](1)); Res[j]:= S; t:= L[j]; od; eval(Res) end; For example: > gY:= random[uniform[0,1]]: compPoisson(3, 5, [1,3,5,7,9]); [2.073933989, 3.604972042, 6.430861594, 11.44868212, 17.00177618] Robert Israel /> Department of Mathematics http://www.math.ubc.ca/~israel University of British Columbia Vancouver, BC, Canada V6T 1Z2 
Previous by date: [MUG] Books and software for the Maple users, Academy
Next by date: [MUG] Re: Physical Properties Of Liquid Metals, Robert Israel
Previous thread: [MUG] Bug in VectorCalculus:ArcLength, A Van Der Meer
Next thread: [MUG] Physical Properties Of Liquid Metals, Sherrell Greene
We're here to help
so call us on
UK office:
Monday  Thursday
09:00  17:30
Friday 09:00  17:00
Adept Products
For the time being we are unable to offer the following product ranges although we are currently working hard to increase the number of products we can offer in the future. Please contact us to talk about alternative products that we may be able to offer you.