首页 > 其他分享 >通过多元蒙特卡罗模拟来预测股票价格的日内波动性

通过多元蒙特卡罗模拟来预测股票价格的日内波动性

时间:2024-10-13 22:49:36浏览次数:7  
标签:变量 模型 波动性 OHLC 蒙特卡罗 拟合 股票价格 开盘 模拟

作者:老余捞鱼

原创不易,转载请标明出处及原作者。

写在前面的话:
       
日内价格波动对交易策略的重要性不言而喻,尤其是美跨式交易策略(The American straddle)。由于无法预测所有影响股价的因素,本文采用多元蒙特卡罗模拟来测试不同的价格路径,以评估交易策略的成功概率。文章介绍了如何使用多元蒙特卡罗模拟分析 UBER 股票的开盘、最高、最低和收盘价(OHLC),并预测未来 n 天的R日内价格走势。

       若你是一名每天都进行美股交易的散户,那想必你曾遇到过如下情形:股票价格朝着某一方向剧烈波动后,又重新回到了开盘价附近。亦或是在整个交易日中股价都较为稳定,然而在下午收盘时又有消息传出,使得盘后 / 盘前市场中的股价大幅波动。这些价格行为,无论是因为大型机构对数十亿美元进行重新平衡而产生价格滑点所致,还是由于预期的公司公告引起,都有可能决定仓位的成败。从美跨式交易的使用角度来看,这属于最为理想的情况。

       ​​​​​​​为什么选择多元蒙特卡罗模拟(multivariate Monte Carlo Simulation)而不是复杂的机器学习(ML)算法呢?预测价格走势是极具挑战性的,因为股票价格受到众多因素的影响。明天可能会有新的经济数据公布,竞争对手可能会推出更优质的产品,对公司至关重要的首席执行官可能会宣布退休,战争可能会爆发,COVID 等情况也可能发生。要考虑到所有这些因素几乎是不可能的。

       ​​​​​​​对于蒙特卡罗模拟,我喜欢将其比作漫威电影《复仇者联盟:无限战争》中的奇异博士。如果你不了解这部电影,奇异博士是一个超级英雄角色,他是团队的一员,拥有预见无限宇宙的能力。在与反派萨诺斯的战斗中,奇异博士查看了战争中所有可能的结果,找到了通向胜利的事件路径。蒙特卡罗模拟的本质也是如此。我们利用过去观察到的价格走势,从当前价格推断出未来 n 天内的 m 条价格路径。通过这 m 条价格路径,我们可以计算出其中有多少条对我们有利。根据这些路径,我们可以决定是否应该参与交易。


一、数据(Data)

       ​​​​​​​在理想状态下,挑选带有刻度线的专业数据源无疑是更为高阶的选择。然而,鉴于性价比方面的考量,我选择免费的雅虎财经数据源。采用每日数据的问题在于,我们会错失全天的所有价格动态。诚如动机部分所提及,正因上述缘由,很多时候你会目睹较大幅度的价格波动。那么,究竟怎样才能获取日内价格走势呢?答案便是运用每日 OHLC 价格。通过使用 OHLC,我们必须借助多元方法进行模拟。首先,让我们针对 UBER 的 OHLC 数据展开一番探索,瞧瞧如何将这些变量加以结合以进行模拟。

       ​​​​​​​OHLC:这是金融领域中常用的一种价格表示方法,它代表开盘价(Open)、最高价(High)、最低价(Low)和收盘价(Close)。在金融市场中,尤其是在股票、期货、外汇等交易领域,OHLC 数据被广泛用于分析价格走势和市场行为。通过观察一段时间内的 OHLC 数据,可以了解资产在特定时间段内的价格波动范围、趋势以及市场的活跃程度。


二、分析(Analysis)

       ​​​​​​​观察 OHLC 数据的价格走势,你会发现价格之间的差距有时很大,有时很小。例如,在 2024 年 5 月左右,你可以看到当日最高价达到峰值,而收盘价接近开盘价。这种价格走势可能为交易者带来日内所需的利润。

       ​​​​​​​价格通常是非稳态的,因此需要进行一些转换才能使其成为稳态。我们可以通过以下转换计算得出转换变量。

       ​​​​​​​通过计算每个 OHLC 变量之间的对数收益率,变量会变得更加静态。这可以通过运行增强型 Dickey Fuller 检验来验证。

Augmented Dickey Fuller Test results:

Random variable log range is Stationary
 p-value is 5.528319339238798e-06

Random variable open close is Stationary
 p-value is 0.0

Random variable after market is Stationary
 p-value is 1.4682759344310902e-17

Random variable open low is Stationary
 p-value is 8.112066684592019e-07

Random variable open high is Stationary
 p-value is 8.751210005436563e-08

       ​​​​​​​从折线图中可以看出,没有出现普遍的趋势。通过 ADF 检验,我们得到所有变量的 p 值都小于 0.05,这表明时间序列现在是静态的。既然变量是静态的,那么它们就非常适合建模和分析。

       ​​​​​​​当把对数收益率与对数范围、开盘低点和开盘高点等变量绘制成图时,你会发现盘中价格有一些滑动的迹象,但最终又回到了原来的价格。对于能够实现盈利的美式跨式交易策略来说,了解这些信息是非常重要的。

       ​​​​​​​为了使用多元蒙特卡罗模拟对所有变量进行建模,我们需要了解它们的一些特征。首先是它们的分布情况,其次是它们之间的相关性。如果它们之间没有相关性,我们就可以对它们进行独立采样。如果它们之间存在相关性,我们就需要考虑它们之间的关系。通过下面的图表,我们可以更清楚地了解这一点。

       ​​​​​​​在处理“对数收益率”这类变量时,我使用“对数收益率”这个表述,因为这基本上就是我在处理 OHLC 变量之间的关系;它们的分布肥大的尾部。尾部是由于极端离群事件造成的。对于盘后和开盘收盘,这些变量的两端都有肥尾,因为其值可能为负,也可能为正。就这些变量而言,student-t 分布最为合适。另一方面,log range 和 open high 始终为正,而 open low 为负。这些分布会有偏度,指数分布或伽马分布更可能是最佳拟合。通过观察散点图,我们可以发现一些线性关系正在形成,这给我们一个信号,即我们不能简单地对变量进行独立模拟。

       ​​​​​​​从散点图和相关热图来看,开盘低点-开盘收盘和开盘高点-开盘收盘变量之间存在很强的线性关系。这在直觉上是有道理的,开盘高点越极端,开盘收盘变量就越有可能在交易日结束时倾向于更高的正收益。低开与收盘之间的反比关系也是如此。同时,没有一个变量与后市变量存在任何关系。

       ​​​​​​​根据上述信息,我们现在明白了在用多元方法建立模型时应如何处理这些变量。鉴于与盘后变量没有任何关系,可以对其进行单独取样。接下来,可以将开盘收盘作为开盘低点和开盘高点的自变量。由于它被视为自变量,因此也可以单独进行模拟。要模拟高开和低开变量,我们可以使用回归模型来模拟这些变量。

       ​​​​​​​利用开盘收盘价预测开盘最高价和开盘最低价有多种回归模型。简单的线性回归模型、多项式回归或基于上述散点图颜色协调的量化回归,使用开盘收盘百分位数排名。在这种情况下,当两个因变量的开盘收盘价接近 0 时,我们需要在线性模型中出现结构性中断或弯曲。为了简单起见,我们首先使用多项式回归模型。

       ​​​​​​​上图直观地显示了以开盘收盘价作为预测因子,对开盘最低价和开盘最高价变量的历史数据拟合多项式回归模型后的最佳拟合线。当我们绘制两个回归模型的残差时,可以得到下图。

       ​​​​​​​3 x 2 图形的第一行表示高开和低开的拟合多项式回归模型的误差分布。理想情况下,我们希望这些分布呈正态分布。但低开度是负数,而高开度是正数,因此分布显示出偏斜。第二行的 qq 图也显示了同样的情况。第三行是误差与实际值的对比图。同样,在对这些图进行回归分析时,我们希望看到散点图呈现零模式。然而,随着高开值的增加和低开值的减少,我们看到了一种扇形的性质。

       ​​​​​​​这表明,随着相应变量值的增减,可变性也在增减。虽然对于我们的回归模型来说,这些情况在学术上并不理想,但考虑到我将模拟这些值,我决定继续下去。此外,我还将通过从与上述误差拟合的 weibull 分布中采样,将噪声添加回预测值中。最终的回归模型如下所示。

       ​​​​​​​Betas (β) 0、1 和 2 是模型的系数。Epsilon (

标签:变量,模型,波动性,OHLC,蒙特卡罗,拟合,股票价格,开盘,模拟
From: https://blog.csdn.net/weixin_70955880/article/details/142282192

相关文章

  • Python用CNN - LSTM、ARIMA、Prophet股票价格预测的研究与分析|附数据代码
    全文链接: https://tecdat.cn/?p=37860原文出处:拓端数据部落公众号 分析师:SabrinaHuang股票市场的波动起伏一直备受投资者关注,准确预测股票价格对于投资者制定合理的投资策略至关重要。股票价格数据具有时间序列特性,近年来,随着机器学习和深度学习技术的发展,各种模型被应用于......
  • 蒙特卡罗方法 - 不同的峰值之间的混合挑战篇
    序言蒙特卡罗方法,也称为统计模拟法或统计试验法,是一种以概率统计理论为基础的数值模拟方法。自202020世纪40......
  • (29-6-02)通过回测、ARIMA 和 GRU 预测股票价格:深度学习模型预测(2)
    29.8.4 训练和测试数据集的划分训练和测试数据集的划分是机器学习中评估模型在未见数据上的表现的重要过程。通过将数据集分成两个部分:训练集用于训练模型,测试集用于评估模型的性能,我们可以更好地了解模型对新数据的泛化能力。这一过程可以帮助我们避免过拟合,即模型在训练......
  • 【机器学习(十三)】机器学习回归案例之股票价格预测分析—Sentosa_DSML社区版
    文章目录一、背景描述二、Python代码和Sentosa_DSML社区版算法实现对比(一)数据读入(二)特征工程(三)样本分区(四)模型训练和评估(五)模型可视化三、总结一、背景描述  股票价格是一种不稳定的时间序列,受多种因素的影响。影响股市的外部因素很多,主要有经济......
  • (29-6-01)通过回测、ARIMA 和 GRU 预测股票价格:深度学习模型预测(1)
    29.8 深度学习模型预测对于股票市场这类序列数据,使用不考虑数据序列的模型进行预测可能会丢失数据中的重要信息。因此,在本项目中引入了递归神经网络(RNN),它能有效利用数据的序列信息进行预测。递归神经网络主要有三种类型:标准RNN、长短期记忆网络(LSTM)和门控递归单元(GRU)。标......
  • WPS股票价格查询EXCEL表格
    第一步在表格内使用公式=GetStockSource(Stock_code)查询股票的即时交易信息,Stock_code表示股票代码;第二步通过公式从Source中提取所需要的数据,可以提取股票名称、价格、涨跌幅、收盘价格、成交额、成交量、换手率等。公式如下:GetStockSource(Stock_code),查询股票即时交易信息G......
  • 基于ARIMA回归模型的股票价格预测
    一、ARIMA回归模型ARIMA回归模型是一种用于时间序列数据预测的统计模型。ARIMA 是AutoRegressiveIntegratedMovingAverage 的缩写,中文意思是“自回归差分移动平均模型”。它是一种结合了自回归(AR)、差分(I)和移动平均(MA)三种方法的模型。自回归(AR):指的是模型会考虑过去的......
  • 基于多目标粒子群优化算法的计及光伏波动性的主动配电网有功无功协调优化(Matlab代码实
     ......
  • (29-1)通过回测、ARIMA 和 GRU 预测股票价格:项目介绍+准备环境
    在本项目中通过一系列数据处理和模型训练步骤,旨在预测股票价格。首先,通过时间序列分析方法ARIMA对股票数据进行建模,以便了解其基本趋势。然后,使用GRU(门控递归单元)这一深度学习模型进行更复杂的预测,考虑了数据的序列特性。整个项目包括数据预处理、模型构建与训练、预测结果......
  • 借助 LLMs 分析上市公司电话会议,提高股票波动性预测精度
    作者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:    今天摘选了一篇论文分享给大家。该论文介绍了一个名为ECCAnalyzer的新框架,它利用大型语言模型(LLMs)从电话会议(ECCs)中提取更丰富、更细粒度的信息,以提高股票波动性预测的性能。研究者们采用了一种......