量化投资传统指标投资决策VS蒙特卡洛模拟法

article/2025/4/2 0:55:45

前言

管理规模约5000亿收益率曾经一度打败巴菲特文艺复兴基金,在2020年11月被曝出旗下三支产品10月巨亏20%!

对量化投资的初学者来说,到底该看重传统的指标,还是其他概率统计手段,或是机器学习等更先进的方法?

免责声明

此构想和分析中的任何内容均不应解释为投资建议,过去的表现并不一定表示未来的结果。

蒙特卡洛模拟法 VS 传统的多指标策略

  • 前言
  • 免责声明
  • 蒙特卡洛模拟法在股票上的预测效果如何?
    • 当我们选择 5: 5的训练集: 预测集 时
    • 当我们选择 9: 1的训练集: 预测集 时
  • 传统的指标决策
    • 采用BOLL和MACD双指标决策
  • 传统策略的代码实现
  • 总结



蒙特卡洛模拟法在股票上的预测效果如何?

模拟的股票是NYSE:GM,2020年1月1日~2020年12月24日的日线数据

当我们选择 5: 5的训练集: 预测集 时

在这里插入图片描述
可以看到在训练集上的拟合效果很好,接下来看一下测试集上的表现
在这里插入图片描述
可以看到并没有很好的预测出测试集的走势。为了进一步评估蒙特卡洛模拟效果,我们不看实际价格预测,而只是看方向,如果测试范围的最终价格大于训练范围的最终价格,我们将其定义为收益,反之亦然。当预测方向与实际方向一致时,我们才认为预测是准确的
在这里插入图片描述
然后我们每隔100次统计迭代100~1000次的预测情况如上图,发现随机出来的效果为Failure的情况远大于为Success的情况。

当我们选择 9: 1的训练集: 预测集 时

可能看了上面的情况会觉得5: 5的训练集: 预测集并不可靠,可能由于预测集过长。那接下来多点训练集,预测集小一点,让我们看一下情况是否如所设想的那样
在这里插入图片描述
首先还是展示训练集上的情况,由于训练集过长,拟合效果稍差
在这里插入图片描述
再看到预测集上的表现,发现并不如我们所想那样很好的预测了走势,反而出现了走势相反的情况
在这里插入图片描述
每隔100次统计迭代100~1000次的预测情况如上图,相比之前的预测情况有了一定的好转,但是蒙特卡洛模拟这样一个利用随机数的模型来说,这个结果真的好吗?要知道抛硬币判断涨跌都是50%的概率预测正确,然而蒙特卡洛的表现却体现出了很大的不确定性,对于这个结果来说,简单的蒙特卡洛模拟并不可取。

蒙特卡洛模拟在股票市场真正的作用难道就这样吗?这确实是一个不错的研究课题。是否需要更多的数据和更全面的分析呢?考虑与其他股价的关联性?添加修正模型?



传统的指标决策

那么只是合理的运用传统的指标来进行决策的效果如何呢?还是采用2020年1月1日~2020年12月24日的NYSE:GM数据

采用BOLL和MACD双指标决策

先直接放交易效果图,每一次均为全部金额买入卖出,不考虑手续费的情况。按照美股的颜色习惯,烛状图中红色为开盘价>收盘价,绿色为收盘价>开盘价。然后大面积的柱形左侧边表示买入点、右侧边表示卖出点,红色的柱形是亏损的交易,绿色的柱形是盈利的交易
在这里插入图片描述
每一笔交易的情况以及最后的收益率
在这里插入图片描述
考虑的所有指标绘图如下
在这里插入图片描述

观察回测效果发现,我们的决策及时止损避开了2020年3月的大幅下跌,并在回调的时候抓住机会,成功在回调过程中获利36.24%,远高于该股在2020年的涨幅。

另外在A股上也有不错表现,上周白酒股回调趋势下,该策略并没有选择止盈抛售白酒股,而是选择继续持有,就目前情况来看,该选择相对来说是正确的。
以 “000799.SZ 酒鬼酒” 为例,其余股票可以自己尝试
在这里插入图片描述
免责声明: 此构想和分析中的任何内容均不应解释为投资建议,过去的表现并不一定表示未来的结果。



传统策略的代码实现

对于上述的BOLL和MACD结合的策略代码过长,需要查看可以在GitHub中阅读下载 https://github.com/ExileSaber/Quantify-Investments

另外对于该策略对于A股也有较好的表现,但是这并不是投资建议,只是介绍相关策略,并且要注意回测结果并不代表实盘效果



总结

当然回测结果并不能代表未来实盘交易时会有好的表现,但是相对于解释性很差的蒙特卡洛模拟,传统指标决策的解释性要好很多,每一个点位都有买入和卖出的定义。到底该采用什么样的模型、策略来做好分析还是得看投资者自己的决定了

免责声明: 此构想和分析中的任何内容均不应解释为投资建议,过去的表现并不一定表示未来的结果。


http://chatgpt.dhexx.cn/article/V5s0BdKq.shtml

相关文章

有限差分法和蒙特卡洛随机模拟法

与需要空间、时间离散的有限差分法不同,随机法(例如蒙特卡洛方法)是另外一种模拟的方法,其无需进行空间和时间的离散。 总结随机法的特点,基本思路,并以面积积分为例来分析两种方法的差异和各自的优缺点并恰出随机法适用的领域。 …

电力系统随机潮流概率潮流计算MATLAB程序包含 蒙特卡洛模拟法、半不变量法+级数展开

电力系统随机潮流概率潮流计算MATLAB程序包含 蒙特卡洛模拟法、半不变量法+级数展开(Gram-Charlie,Cornish-Fisher); 考虑光伏不确定性(Beta分布),以IEEE34节点为例,计算…

配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现

配电网可靠性评估 一、简介一、可靠性评估的主要指标1.负荷可靠性指标1.1故障率 λ \lambda λ1.2停电持续时间 γ \gamma γ1.3年平均停电时间 U U U 2.系统可靠性指标2.1系统平均停电频率 S A I F I SAIFI SAIFI2.2系统平均停电时间 S A I D I SAIDI SAIDI2.3供电可靠率 A S …

电力系统随机潮流概率潮流计算MATLAB程序包含蒙特卡洛模拟法、半不变量法+级数展开(Gram-Charlie,Cornish-Fisher)

电力系统随机潮流概率潮流计算MATLAB程序包含蒙特卡洛模拟法、半不变量法+级数展开(Gram-Charlie,Cornish-Fisher); 考虑光伏不确定性(Beta分布),以IEEE34节点为例,计算节…

配电网可靠性评估(二)—序贯蒙特卡洛模拟法的matlab实现

之前的文章简单介绍了配电网可靠性评估解析法和模拟法的基本原理,分别以最小路法和非序贯蒙特卡洛模拟法为例进行介绍:配电网可靠性评估方法的matlab实现(一) 一、序贯和非序贯蒙特卡罗模拟法的区别 发出来之后很多朋友私信我有没…

练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)

Python 官网: https://www.python.org/ 这里,才 python 前沿。可惜是英文原版。所以,我要练习英文阅读。🧐🧐 我的CSDN主页My Python 学习个人备忘录我的HOT博老齐教室 自学并不是什么神秘的东西,一个人一…

研究生常用的几种风险评估方法-专家调查法、蒙特卡洛模拟法、计划评审技术、敏感性分析法、决策树法、影响图法、模糊综合评价方法

其实风险评估就是在充分掌握资料的基础之上,采用合适的方法对已识别风险进行系统分析和研究,评估风险发生的可能性(概率)、造成损失的范围和严重程度(强度),为接下来选择适当的风险处理方法提供…

蒙特卡洛模拟法计算电动汽车充电负荷(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码实现 💥1 概述 伴随环境问题的影响,以及电动汽车技术的不断成熟,电动汽车对电网影呵不断增加。电下1左此放电过程中不但可能导致局部过负荷…

(四十四)蒙特卡洛模拟法计算VaR

思路简介 每一次蒙特卡洛模拟,对资产组合中的每一资产按照随机过程公式模拟出下一个交易日的价格,公式中的ε可以假定服从t分布或正态分布(即资产收益率服从的分布),然后可以得到每一资产的收益率,乘以各自…

基于拟蒙特卡洛模拟法的随机潮流计算matlab程序

电力系统随机潮流计算中常采用模拟法,该方法原理简单、使用方便,能够精确地模拟实际物理过程,但是简单的蒙特卡洛模拟法收敛速度很慢,要得到精确的结果需要以大量的计算时间为代价。本章在此基础上提出了基于拟蒙特卡洛模拟的随机…

【Python量化】蒙特卡洛模拟法预测股价走势

文章目录 蒙特卡罗模拟法的定义蒙特卡罗模拟法的的Python实现蒙特卡洛模拟法模拟股票收益率序列蒙特卡洛模拟法模拟股价序列蒙特卡洛模拟法绘制模拟股价序列图 此文章首发于公众号:Python for Finance 链接:https://mp.weixin.qq.com/s/43KQgH-BArop29u…

Ubuntu18.04上安装ROS的详细教程

文章目录 前言一、环境配置二、安装步骤1.添加ROS软件源2.添加密钥3.更换软件源4.安装ROS5.初始化rosdepc6.设置环境变量7.安装 rosinstall8.验证ROS是否安装成功 总结参考文献 前言 最近,学习了胡老师的《ROS入门21讲》,在Ubuntu18.04上安装ROS过程中遇…

在Ubuntu18.04中安装ROS教程

1.创建虚拟机 自定义安装,手动选择镜像文件,处理器选择1个处理器,8个核心,其他选择默认的即可。 2.换源 新装的虚拟机会提示更新(不是更新系统),建议换完源之后再更新。 左下角点开&#xff…

Ubuntu 安装 ROS 详细教程

最近需要用ROS控制一个小车底盘,然后发现不会了。。。 所以写一篇博客记录一下,以便以后查阅。 OS:Ubuntu 20.04 ROS:noetic 1. 设置Ubuntu的软件和更新 在搜索框输入software,选择软件和更新一项,勾选 ma…

Ubuntu18.04、Ubuntu20.04之ROS安装教程

目录 Ubuntu20.04之ROS(noetic)安装教程 Ubuntu18.04之ROS(melodic)安装教程 ubuntu20.04之ROS(noetic)安装教程 1、软件源(作用是比官方快) sudo sh -c . /etc/lsb-release &…

ROS安装超详细保姆级教程

1.版本选择 ROS与Ubuntu版本是有着对应关系的,其中Ubuntu1604 ROS Kinetic;Ubuntu1804 ROS Melodic; Ubuntu2004 ROS Noetic 本文以 Ubuntu2004 ros noetic 进行安装操作演示 2.安装实操 2.1 打开网站http://wiki.ros.org/noetic/Ins…

ubuntu20.04安装ROS极简教程 (noetic)

1.基础安装步骤 # 1.添加 sources.list sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list # 2.添加 keys sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-ke…

ubuntu16.04 ROS安装

ros安装官方链接:cn/kinetic/Installation/Ubuntu - ROS Wiki 建议参考链接:Ubuntu16.04 安装ROS Kinetic 究级详细教程_IU知恩于心的博客-CSDN博客_ubuntu16.04安装ros 问题现象: 下列软件包有未满足的依赖关系: ros-kinetic…

详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)

2020年的10月份,我整理写了一篇名为:详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!的博客,已经经过了很多小伙伴的验证,确实…

ros2安装教程

ros官网安装指导: https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html 1、确保支持UTF-8语言环境 locale # check for UTF-8sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-loca…