- Published on
Monte Carlo Simulation - Random Walk
- Authors

- Name
- CoresightQuant
NOTE
本文为公开交易策略的技战术复盘,聚焦方法逻辑、交易场景与风险边界。
蒙特卡洛模拟与随机漫步:用不确定性预测未来的量化思维
在量化交易中,我们总是希望找到那条最稳的“圣杯”曲线。然而市场是由无数个随机事件叠加而成的复杂系统,真实世界的价格走势从来不是直线,而是充满噪声和意外。面对这种不确定性,有一种源自物理学领域、后来被金融界广泛采用的数学工具,能让我们在“不可预测”中寻找“概率规律”——这就是蒙特卡洛模拟。而将蒙特卡洛模拟与随机漫步模型结合,是许多交易员用来评估风险、预测价格分布区间、检验策略稳健性的基础方法之一。
本文将以公开交易社区中的一份“Monte Carlo Simulation - Random Walk”脚本为引子,深入浅出地解析该方法背后的逻辑、价值与局限,并给出可落地的改进方向。请注意,本文聚焦于策略思想本身,不涉及任何具体平台或编程代码。
策略解读
这段描述虽然简短,但点出了蒙特卡洛模拟的核心思想:用大量随机抽样来逼近一个复杂系统的概率分布。该方法并不试图精确预测某一次价格的涨跌,而是通过生成成千上万条可能的未来路径,统计最终结果的分布情况,从而得出“有百分之多少的可能性,价格会落在这个区间”或“策略有百分之多少的概率会亏损超过10%”。
脚本作者将蒙特卡洛模拟与“随机漫步”结合。随机漫步(Random Walk)是一种数学上的随机过程,其典型特征是:未来的价格变化方向无法由过去的历史价格推导出来,每一步的变化都独立于之前的步骤。在金融学中,随机漫步假说正是“有效市场假说”的前提之一。该脚本所做的事情,本质上就是基于历史价格数据的统计特征(如平均收益率、波动率),随机生成大量未来的价格路径,然后对这些路径的终点或回撤等指标进行统计分析,用以评估策略或资产在未来可能遇到的风险与收益分布。
这种方法的巧妙之处在于,它把“不确定性”本身当作模型的输入,而不是试图消除不确定性。它不回答“明天会涨还是会跌”,而是回答“如果未来一年重复一万次,收益的中位数是多少,最差的5%情况会亏多少”。对于交易者来说,这往往更加实用——因为风控的本质,就是为最坏的情况做好准备。
名词解释
在正式讲解策略逻辑前,我们先理清几个关键术语,以便后续阅读时更容易理解。
-
蒙特卡洛模拟:一种以概率统计理论为指导的数值计算方法。它通过大量随机抽样,模拟一个系统的运行过程,从而得到近似解。名字来源于摩纳哥的蒙特卡洛赌场,因为赌场中的随机性与该方法的随机抽样本质相符。在金融领域,常被用于估值、风险度量、策略回测等。
-
随机漫步(Random Walk):一种随机过程,其中变化量的方向与大小无法被历史数据预测。例如,在有效市场假说中,股票价格近似于随机漫步,即价格下一时刻的变动与过去无关。数学上,它通常被表示为“价格变化独立同分布”。
-
随机变量:一个变量,其取值由随机过程决定。在蒙特卡洛模拟中,未来收益率的抽样值就是一个随机变量。它服从某种概率分布,如正态分布、学生t分布等。
-
概率分布:描述一个随机变量可能取值及其对应概率的数学函数。常见的分布包括正态分布(钟形曲线)、均匀分布、泊松分布等。蒙特卡洛模拟需要假设收益率的概率分布,才能生成随机数。
-
路径依赖:指某个结果不仅取决于当前状态,还取决于到达该状态的过程。例如,一次价格下跌后的3%反弹,与在高位横盘后的3%反弹,对最终净值的影响路径是完全不同的。股票期权中的亚式期权、可变年金等都具有路径依赖特征。
-
标准差(波动率):衡量数据离散程度的统计量。在金融中,收益率的标准差被称为波动率,是风险的核心度量指标。随机漫步模型中,波动率决定了每一步变化的幅度。
-
置信区间:在统计推断中,表示总体参数以一定概率落入的区间。例如,95%置信区间意味着,如果重复试验100次,大约有95次的真值会落在该区间内。蒙特卡洛模拟的常用输出就是给出价格终值的置信区间。
策略思路讲解
该策略的思路可以拆解为几个明确的步骤。虽然原作者没有给出完整代码细节,但基于描述和常见实现方式,我们完全可以还原其思想。
第一步:提取历史统计特征
要模拟未来,必须先确定“随机”的规则。通常的做法是,取一段历史价格数据,计算其日度(或小时、分钟级别)收益率的平均值和标准差。平均值决定了随机漫步的“漂移”方向,标准差决定了每次随机变化的“波动幅度”。如果假设收益率服从正态分布,那么未来的每一步收益率就可以从以均值为中心、标准差为半径的正态分布中随机抽取。
第二步:生成一条随机未来路径
从当前价格出发,模拟未来N个时间段的价格变化。每个时间段的价格变化等于:前一期价格 ×(1 + 随机抽取的收益率)。随机抽取的收益率从第一步得到的分布中产生。重复这个过程N次,就得到了一条未来价格的完整路径。这条路径就是一次“随机漫步”。
第三步:重复成千上万次,收集统计结果
将第二步反复执行数千次甚至数万次。由于每次使用的随机数不同,每条路径的走势和终点价格都会有所差异。积累了大量路径后,我们可以绘制出未来价格或策略净值的频率分布直方图。比如,在10000次模拟中,有多少次最终价格低于某个值,有多少次最大回撤超过20%等。
第四步:输出概率结论
通过对模拟结果的排序和分位数统计,我们可以得到:
- 期望收益:所有模拟结果的算术平均值。
- 中位数收益:所有模拟结果排序后位于50%位置的值,通常比均值更稳健。
- 尾部风险:5%分位数或1%分位数的收益,代表“最坏情况”下的损失幅度。这比简单看一个历史最大回撤更有参考意义,因为它给出了不同极端情况的概率。
这个策略想解决的问题是什么? 传统回测只能给出一条历史路径下的结果,无法回答“如果历史重演但又有所不同”会怎样。蒙特卡洛随机漫步将历史上观察到的均值和波动率投射到未来,构建出无数条“平行世界”中的价格或净值走势。这样,交易者就能评估策略在不同随机情景下的稳定性和风险上限。
需要特别说明的是,随机漫步模型并不等于“预测未来”。它更像是一种思维实验:假设未来仍然服从历史统计特征,那么我们的策略可能会面临什么。它不是为了抓住下一波行情,而是为了在概率上认识不确定性。
优点
-
量化不确定性,而非盲目预测
传统技术分析往往试图给出一个确定性的方向信号,而蒙特卡洛模拟明确承认未来的随机性,并以概率分布的形式输出结果。这种思路更贴合市场的真实本质,也让交易者能更冷静地看待亏损。 -
提供完整的风险画像
通过成千上万次模拟,我们可以得到未来价格或策略净值的完整分布。除了均值,还能算出最大回撤的概率分布、极端亏损的尾部风险等。这种多维度风险度量,比简单看历史最大回撤要全面得多。 -
灵活性高,适用范围广
只要将收益率的概率分布换成更复杂的模型(如带跳跃的分布、GARCH波动率),或将路径生成逻辑改为带均值回归、加入仓位管理规则,该方法就能适配几乎任何交易策略或资产类别。它像是一个搭建不确定性模型的框架。 -
易于理解与实施
虽然蒙特卡洛模拟涉及大量计算,但其核心思想非常朴素——反复掷骰子,统计结果。即便不懂复杂的数学公式,交易者也能理解“一万次模拟中95%的情况亏损不超过X%”这句话的含义,因此非常适合用于向团队或客户解释风险。 -
可辅助策略参数优化
通过在不同模拟路径上测试同一个策略参数,可以观察参数在不同随机环境下的稳健性。避免参数只在某一段历史行情中有效,而在其他随机情景下失效的过拟合问题。
缺点
-
强依赖于“随机数”的分布假设
如果假设收益率服从正态分布,那么模型天然会低估极端事件的发生概率。金融收益率具有“尖峰厚尾”特征,真实世界的暴跌和暴涨比正态分布模型预言的更频繁。不合理的分布假设会使模拟结果过于乐观。 -
随机漫步假设的一个致命前提:历史参数会延续
模拟中使用的是历史平均收益率和波动率。如果未来市场结构发生变化(如政策转向、科技革命、危机爆发),历史参数不再有效,模拟结果就会失去参考价值。随机漫步本身也隐含了一个假设:价格变化是独立同分布的,但现实中存在波动率聚集、趋势延续等现象,这使纯粹随机漫步偏离真实走势。 -
计算结果具有随机性,无法完全稳定复现
由于每次模拟生成的随机数集合不同,两次运行的结果会有差异。要减少误差,需要增加模拟次数,但哪怕模拟十万次,随机噪声依然可能存在,特别在尾部概率的估计上,微小误差可能被放大。 -
无法捕获市场间的相关性与宏观动态
如果资产与全球宏观环境或其他资产存在相关性,单独基于自身历史数据建模,会忽略这些联动因素。例如,在系统性风险爆发时,所有资产相关性趋近于1,而随机漫步模型假设各资产独立或保持静态相关,这会显著低估极端风险。 -
可能被误用为“预测工具”
不少初学者将蒙特卡洛模拟得到的可能性当成价格预测,认为“95%置信区间”就是未来价格必到的区间。这是一种误解。模拟只反映模型假设下的可能性,并不保证未来事件一定落在区间内。如果模型本身偏离真实,再高的置信度也是空中楼阁。
起源年份考证
这里需要说明的是,我们考证的是“蒙特卡洛模拟”和“随机漫步”这两类方法在各自学科领域中的公认起源时间线,而不是特指上述某位作者脚本的发布时间。
-
1900年:法国数学家路易·巴舍利耶在其博士论文《投机理论》中,首次将随机过程用于描述股票价格,提出了类似随机漫步的模型。他将布朗运动数学化,认为市场价格的变动是不可预测的。这是金融随机漫步思想的真正起点。
-
1940年代:蒙特卡洛方法诞生。二战期间,物理学家斯塔尼斯拉夫·乌拉姆和约翰·冯·诺依曼在参与曼哈顿计划时,为了计算中子扩散过程中的随机行为,发明了基于重复随机抽样的数值方法。同事尼古拉斯·梅特罗波利斯,后以此命名,因为他想到了蒙特卡洛赌场。
-
1960年代至1970年代:蒙特卡洛方法被广泛引入金融领域。费希尔·布莱克和迈伦·斯科尔斯在1973年提出期权定价公式后,由于欧式期权有解析解,不必使用蒙特卡洛;但对于美式期权或复杂路径依赖型衍生品,蒙特卡洛模拟逐渐成为标准数值方法。同一时期,尤金·法玛在1965年的论文中系统提出了“有效市场假说”与随机漫步理论,使随机漫步成为金融学教科书中不可或缺的模型。
-
1990年代:随着计算机性能提升,蒙特卡洛模拟全面进入风险管理领域,JP摩根的RiskMetrics体系以及后来巴塞尔协议中内部模型法,都大量采用蒙特卡洛模拟来计算风险价值(VaR)。
-
21世纪:蒙特卡洛与机器学习、多因子模型、MCMC(马尔可夫链蒙特卡洛)等方法深度结合,在量化交易和复杂衍生品定价中持续演进。
总结来说,蒙特卡洛模拟起源于20世纪40年代的物理学科,60-70年代进入金融;随机漫步理论起源于20世纪初的数学与经济学,60年代被纳为现代金融理论基石。本文所涉脚本属于“蒙特卡洛在交易回测与风险模拟中的应用”这一类方法,其根源可追溯至上述年代线。
改进建议
基础的蒙特卡洛随机漫步虽然好用,但在实战中远远不够精细。以下是我认为值得考虑的六个改进方向。
1. 引入厚尾分布替代正态分布
将收益率假设从正态分布改为学生t分布或广义双曲线分布,模拟时能生成更多极端值。这可以更真实地反映金融收益率的“尖峰厚尾”特征,避免低估尾部风险。如果不想改分布,可以加入跳跃项(如泊松跳),用来刻画突发性崩盘或暴涨。
2. 使用GARCH模型动态更新波动率
随机漫步模型假设波动率恒定,但现实中波动率会聚集成簇:大波动后通常跟随着大波动,小波动后跟随着小波动。采用GARCH族模型对历史收益率进行动态波动率建模,并在模拟中逐期更新波动率,能让模拟路径更好地重现真实市场的“你永远不知道哪天波动会突然放大”的特征。
3. 引入均值回归或趋势项
很多资产价格并非纯随机漫步,而是带有短期动量或长期均值回归的特征。例如股指长期有正漂移,而某些大宗商品价格会围绕成本中枢波动。可以在模拟中加入一个以长期均值为靶向的“拉力”项,让价格在偏离均值时回拢。这样的模型更接近现实,也能避免随机漫步在长期模拟中产生过度漂移。
4. 增加相关性与多资产随机模拟
如果用于投资组合,不要单独模拟每个资产,而应该通过多元正态分布或copula函数模拟多个资产的联合分布。这样可以保留资产间的相关关系,模拟出“股债双杀”“商品大涨、股市下跌”等联动情景,避免低估组合风险。
5. 以重采样替代参数分布假设
为了完全避免分布假设误差,可以采用历史数据重采样法(自助法)。也就是说,不假设任何分布,直接从历史收益率样本中有放回地抽取随机值来生成未来路径。这种方法能保留历史的真实分布形状,缺点是需要足够长的历史数据。
6. 结合马尔可夫状态或机器学习提高精度
更复杂的改进,是使用隐马尔可夫模型来划分市场的不同状态(如牛市、熊市、震荡市),在每个状态下使用不同的收益率和波动率参数进行模拟。或者用生成对抗网络(GANs)学习收益率的分布特征。这些方法虽然显著提升模型表达能力,但同时也带来过拟合和计算复杂度上升的风险。
7. 引入交易成本与滑点过滤
在模拟策略净值时,每一个随机路径上都要模拟实际交易过程记录手续费、点差、滑点。如果跳过这些摩擦,模拟的收益率分布会系统性偏高,导致风险低估。尤其在蒙特卡洛框架下,这一点往往被忽略。
总结
蒙特卡洛模拟与随机漫步的组合,是量化交易工具箱中一件“以不变应万变”的武器。它不尝试预测明天,而是通过成千上万次假设性试验,为未来描绘出一张概率地图。在这张地图上,我们能够清晰地看到哪些风险是大概率事件,哪些是极小概率的黑天鹅,从而在真实市场波动到来之前,提前为仓位、止损和资金管理做出决策。
然而,我们必须清醒地认识到,这种方法的输出质量完全取决于模型假设的合理性。随机漫步假设的简洁性,既是它快速普及的原因,也是它在复杂市场面前失灵的根源。真正的量化大师不会止步于标准蒙特卡洛,而是会根据资产特征和市场环境,不断修正分布、波动率和路径生成方式。正如乔治·博克斯所说:“所有模型都是错误的,但有些是有用的。”蒙特卡洛随机漫步就是一个非常“有用”但前提条件严格的模型。
对于普通交易者而言,理解该方法的精髓并善用其概率思维,远比纠结于某一个脚本的代码实现更有价值。当你下一次面对一个“完美”的回测曲线时,不妨问问自己:如果历史在随机条件下重演一千次,这个策略还能盈利吗?能盈利多少次?最差的一次会怎样?能够回答这些问题,就是蒙特卡洛方法给你带来最大的财富。
愿你在不确定性丛生的市场中,永远怀着敬畏之心,用概率之光,照亮前行的路。