几何布朗运动(GBM)因为position不会为负数,经常被用于模拟扩散冲击下的股价行为。然而,股价因为消息面和交易者情绪的影响,可能在瞬时间发生较大幅度的波动,称为跳跃,建模时经常以复合泊松过程模拟。
笔者经常模拟扩散过程(比如dotNet平台模拟布朗运动的GUI),回避跳跃,主要因为手懒、不想写这个冲击因子。实际并不难,假定跳跃和扩散因子相互独立,模拟这样的过程可以分别做,然后再合并即可。
这里我想说,“人生苦短,我用MMA!”(这是py人的宣传口号,我一直反对,因为py要比matlab和R难多了,但在cs领域的开发语言里,py确实已足够简洁了)。使用Mathematica做这个事情不要太简单,能盖过任何其它语言,皆因其强大的内建函数。
以下模拟所采用的参数值,校准于我对A股的一些描述性统计,读者可自行更改参数值把玩。以1664作为初始值。
注意:只是过程的模拟,任意画出一条路径,并非根据实际数据对过程的推断和预测,莫用于投资。
一、复合泊松过程的模拟
跳跃的达到服从泊松过程,跳跃幅度服从正态过程
q1 = RandomFunction[ CompoundPoissonProcess[0.254