量化投资策略与技术学习PART6:量化选股之动量反转

2024-08-31 19:12

本文主要是介绍量化投资策略与技术学习PART6:量化选股之动量反转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

动量和反转效应是市场上经常出现的一种情况。所谓动量效应就是再前一段时间强势的股票,在未来一段时间继续保持强势;反转效应就是在前一段时间弱势的股票,在未来一段时间会变强。但问题的关键是这个强势和弱势会保持多长时间和多大幅度,这是动量/反转策略需要考虑的关键问题。
动量策略就是寻找前期强势的股票,判断它将继续强势后买入持有;反转策略就是寻找前期弱势的股票,判断它将出现逆转后买入持有。

一、基本概念

1、行为金融学

(1)羊群效应

羊群效应是指投资者在交易过程中观察并模仿他人的交易行为,从而导致一段时间内买卖相似的股票。

(2)小公司效应

小公司效应是指小盘股比大盘股的收益率高。小公司效应的根源在于其投资价值,处于成长期的小公司往往比成熟的大公司有更高的成长性。

(3)反应过度与反应不足

反应过度和反应不足是投资者对信息反应的两种情况。人们进行投资决策时存在两者错误范式:其一是选择性偏差,即投资者过分重视近期数据的变化模式,而对产生这些数据的总体特征重视不够,这种偏差导致股价对收益变化的反应不足。另一种是保守性偏差,投资者不能及时根据已变化的情况修正自己的预测模型,导致股价过度反应。
在证券市场上的表现就是涨过头和跌过头。

(4)动量效应和反转效应

所谓动量效应是指早期收益率较高的股票在接下来的表现仍会超过早期收益率低的股票;而反转效应就是买进过去表现差的股票而卖出过去表现好的股票进行套利的投资方法。在我国市场上,热点的切换及投资者的偏好会经常发生转变,这也使得动量效应和反转效应在一段时间内反复出现。

二、策略模型

1、动量策略

策略的总体思想为以P个月为形成期,以Q个月为持有期,验证P个月内累计持有收益率最高的一组股票,在接下来Q个月内的表现情况。
策略如下:
(1)确定待选股票池;
(2)构建初始股票组合。将待选股票池中的股票分别按照测试时点前P个月的累计收益率从大到小排序,选取排名前N名的股票等权重构建动量组合,并以待选股票池中全部股票等权重构建基准组合(也可以直接利用对于指数作为基准)
(3)收益率计算。持有组合至Q个月后的第一个交易日,计算动量组合及基准组合在Q个月内的累计收益率,分别作为(P,Q)动量组合及基准组合对应这一测试时点的收益率,计算超额收益情况。

2、反转策略

与上一个动量策略正好相反,策略的总体思想为以P个月为形成期,以Q个月为持有期,验证P个月内累计持有收益率最低的一组股票,在接下来Q个月内的表现情况。
策略如下:
(1)确定待选股票池;
(2)构建初始股票组合。将待选股票池中的股票分别按照测试时点前P个月的累计收益率从小到大排序,选取排名前N名的股票等权重构建动量组合,并以待选股票池中全部股票等权重构建基准组合(也可以直接利用对于指数作为基准)
(3)收益率计算。持有组合至Q个月后的第一个交易日,计算动量组合及基准组合在Q个月内的累计收益率,分别作为(P,Q)动量组合及基准组合对应这一测试时点的收益率,计算超额收益情况。

最终的运行结果情况为,在使用动量策略的时候,形成期为18个月,持有期为9个月的动量组合效果最佳,而在使用反转策略的时候,形成期为1个月,持有期为1个月的效果最佳,这么看,动量策略更偏向于长期策略,反转策略更偏向于短期策略,而且通过在A股回测中发现,反转策略取得的超额收益率要远高于动量策略,这个我后面会实际验证一下结果的准确性。

三、实战演练

有时间再补充;

这篇关于量化投资策略与技术学习PART6:量化选股之动量反转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124764

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API