精华内容
下载资源
问答
  • 迅速表明迟一些获得信息的人将无法获得利润,正确表明投资者对价格的反应总是正确的,不会有过度反应或反应不足。在这个假设下,资产价格趋势是不可预测的。因此,在一个有效市场,如果没有内幕消息便无法战胜市场。...

    统金融理论在“理性人”的假设前提下,提出了市场有效性理论,认为市场能对信息作出迅速和正确的反应。迅速表明迟一些获得信息的人将无法获得利润,正确表明投资者对价格的反应总是正确的,不会有过度反应或反应不足。在这个假设下,资产价格趋势是不可预测的。因此,在一个有效市场,如果没有内幕消息便无法战胜市场。在此假说下,催生了指数基金。Fama 对投资者的建议就是买入股票后长期持有,注意分散投资,把资金投入指数基金。投资者只需要控制一件事,即尽量降低交易成本。在有效市场中,投资者应选择消极的“被动投资策略”。

     

     

     

     

    随着人们发现市场中的短期报酬、长期报酬、周期报酬等异常现象,特别是 80 年代后期兴起的行为金融理论的发展,市场有效性受到极大的挑战。行为金融理论本着市场的复杂性,结合心理学,将市场建立在投资者的真实行为之上,并不定义理性行为或认为某些行为是不正常的,而尝试去理解和预测投资者心理决策过程在金融市场中的反应。该理论认为决策过程中,经验法则偏误(heuristic-driven bias,即投资者决策的内在驱动因素,是指人们在探索自身以外的事物过程中,常常采用试错法,并以此形成的错误行为准则)、情境相依(frame dependence,即投资者决策的外在驱动因素,是指面对不同的情境投资者会采取不同决策)对投资者都会造成很大影响。由于投资者的认知偏误、信息的不完全对称和套利有限性导致市场价格的反应并不是有效的,存在着反应不足和过度反应,报酬具有可预测性。所以行为金融理论给投资者的建议是,你也许可能战胜市场,积极的投资策略可能会得到更高的收益。

     

    1 动量投资策略和逆向投资策略与行为金融理论

     

    1.1 动量策略的理论基础

     

    动量投资策略和逆向投资策略主要是建立在反应不足和过度反应的基础上的。反应不足是指投资者对新信息的重视程度较低,资产价格在新的信息刚出现时波动平平,而较大的波动却在信息出现过后一段时期发生,它是动量投资策略的主要理论依据。

     

     

     

    投资者对信息的反应时滞,导致我们经常观察到过去一段时间收益较高的资产在未来上涨的可能性较大;收益较低的资产下跌的可能性较大,通俗地讲,就是出现了“追涨杀跌”,投资者认为强者恒强,前面的趋势会在短期延续,由此可以采用“趋势跟踪”策略。

     

    1.2 逆向投资策略的理论依据

     

    过度反应是指在预测中,投资者过分的注重近期发生的信息,引起股价剧烈波动,超过其应有水平,而后又反向修正,会转到接近合理的估值水平,它是逆向投资策略的主要理论依据。

     

     

     

     

    1.3 行为金融学的解释

     

    从投资者的特征心理行为出发,行为金融在这方面主要有BSV(Barberis,Shleifer,and Vishny,1997)模型和 DHS(Daniel,Hirshleifer,and Subramanyam,1998)模型。

     

    BSV 指出由于选择性偏差(representativeness,即人们试图将事件归类为已知类别中的某一典型类别(这也是机器学习的常用方法),对事件进行估计时,过分强调这种类别的重要性,而不顾其他潜在可能性)和保守性偏差(conservatism,即个体形成一种判断后,在新证据面前更新判断缓慢),投资者认为收益更可能是均值回归的,因为他们错误地认为收益的变化是暂时的,对其反应不足,当这种预期没有被后来的收益所证实时,资产价格价就显示出相对先前收益的延迟反应;当投资者认为收益的均值回归是不可能的,他们不正确地外推趋势判断,资产价格过度反应,使将来的收益提前在价格中体现,导致收益向均值回归。

     

     

     

    DHS模型将投资者分为没有认知偏误的无信息投资者和有认知偏误的信息投资者。资产价格由信息投资者决定,他们受制于过度自信(overconfidence,即人们对自己知识和能力形成判断的过分相信)和自我归因(Biased self-attribution,即投资者对合乎私人信息的公开信息会加剧过度自信,对不合乎私人信息的公开信息则会选择性忽略)。前一种偏差夸大了私人信息在资产定价上的准确性,引起价格反应过度。后一种偏差低估了能影响资产价格的公开信息,尤其是当公开信息与私人信息发生冲突时,导致反应不足。对私人信息的反应过度和对公开信息的反应不足往往产生短期资产价格产生趋势运动,但当公开信息最终压倒认知偏误时就出现资产价格的反转。

     

    从整个市场来考察,其中的投资者由于自身的“效仿倾向”和其他投资者的“群体压力”,其行为具有复杂性,投资者的行为具有相互的作用。特别是市场中的某种行为大到一定程度时,会影响和支配其他投资者(例如通过各种媒体),出现所谓的“羊群效应”。这就像激光器中的受激光电子的共振一样,因此市场具有协同效应会对投资者行为起到放大和加强作用,个别投资者的反应不足和过度反应可能会导致整个市场反应不足和过度反应。

     

    因为不同资产类别的投资者构成也有差异,投资者也不妨利用真格量化等工具研究,观察价格反应不足或反应过度的现象在不同品种上是否也存在差别,来挑选最适合自己策略的品种。

     

    — — — — — — E N D — — — — — —

     

    真格量化可访问:

    https://quant.pobo.net.cn

     

     

    真格量化微信公众号,长按关注:

    遇到了技术问题?欢迎加入真格量化Python技术交流QQ群 726895887

     

     

     

     

    往期文章:

    Numpy处理tick级别数据技巧

    真正赚钱的期权策略曲线是这样的

    多品种历史波动率计算

    如何实现全市场自动盯盘

    AI是怎样看懂研报的

    真格量化策略debug秘籍

    真格量化对接实盘交易

    常见高频交易策略简介

    如何用撤单函数改进套利成交

    Deque提高处理队列效率

    策略编程选Python还是C++

    如何用Python继承机制节约代码量

    十大机器学习算法

    如何调用策略附件数据

    如何使用智能单

    如何扫描全市场跨月价差

    如何筛选策略最适合的品种

    活用订单类型规避频繁撤单风险

    真格量化回测撮合机制简介

    如何调用外部数据

    如何处理回测与实盘差别

    如何利用趋势必然终结获利

    常见量化策略介绍

    期权交易“七宗罪”

    波动率交易介绍

    推高波动率的因素

    波动率的预测之道

    趋势交易面临挑战

    如何构建知识图谱

    机器学习就是现代统计学

    AI技术在金融行业的应用

    如何避免模型过拟合

    低延迟交易介绍

    架构设计中的编程范式

    交易所视角下的套利指令撮合

    距离概念与特征识别

    气象风险与天气衍生品

    设计量化策略的七个“大坑”

    云计算在金融行业的应用

    机器学习模型评估方法

    真格量化制作期权HV-IV价差

    另类数据介绍

    TensorFlow中的Tensor是什么?

    机器学习的经验之谈

    用yfinance调用雅虎财经数据

    容器技术如何改进交易系统

    Python调用C++

    如何选择数据库代理

    统计套利揭秘

    一个Call搅动市场?让我们温习一下波动率策略

    如何用真格量化设计持仓排名跟踪策略

    还不理解真格量化API设计?我们不妨参考一下CTP平台

    理解同步、异步、阻塞与非阻塞

    隐波相关系数和偏度——高维风险的守望者

    Delta中性还不够?——看看如何设计Gamma中性期权策略

    Python的多线程和多进程——从一个爬虫任务谈起

    线程与进程的区别
    皮尔逊相关系数与历史K线匹配

    Python2和Python3的兼容写法
    Python代码优化技巧

    理解Python的上下文管理器

    如何写出更好的Python代码?这是Python软件基金会的建议

    评估程序化模型时我们容易忽视的指标

    看看如何定位Python程序性能瓶颈

    什么是Python的GIL

    投资研究中的大数据分析趋势及应用

    理解CTP中的回调函数

    如何围绕隐含波动率设计期权交易策略

    看看如何用Python进行英文文本的情感分析

    算法交易的分类

    Python编码的最佳实践总结

    什么是波动率锥?如何用波动率锥设计期权策略?

    期权的波动率策略与时间价值收集策略对比

    期权用于套期保值和无风险套利

    隐含波动率对期权策略的影响

    卖出期权交易的风险管理原则和技巧

    期权交易中的“大头针”风险

    期权做市商策略简介

    精细化您的交易——交易成本评估与交易执行策略

    海外市场交易执行策略的实践

    设计期权套期保值方案时应注意的问题

    美式期权、欧式期权比较分析——定价与风险管理

    构建您的AI时代武器库——常用的机器学习相关Python库

    期权波动率“微笑曲线”之谜

    运算任务愈发繁重,如何加速Python程序运行?

    证券市场微观结构理论模型是什么

    是瞬间成交还是漫长等待?——如何衡量市场流动性

    波动率指数及其衍生品介绍

    Python的异常处理技巧

    Python中的阻塞、异步与协程

    "香草"之外的更多选择——几种常见的路径依赖奇异期权

    什么是CTP?——了解上期所CTP快速交易系统

    了解季节性——以谷物和油籽为例

    是前因还是后果?——在真格量化中进行格兰杰因果检验

    Python导入模块的技巧

    Python程序员常犯的十个错误

    搜索数据泄露天机?——舆情指数与期货行情关联性分析思路

    机器学习常见算法分类汇总

    如何使用Data Pipeline 自动化数据处理工作?

    CTP API的委托介绍和在真格量化中的订单流控制

    高频交易对市场的影响

    期货行情及其组织形式——以上期所为例

    理解并行与并发

    郑商所和大商所套利指令及在真格量化的实现

    机器学习用于金融市场预测面临的挑战

    高频交易中风险控制的常用措施

    查询结果偏离预期?来了解CTP的报单函数及委托状态查询

    Python中的ftplib模块

    理解真格量化的Python编程范式

    需要处理大量市场数据?来了解一下MySQL、HBase、ES的特点和应用场景

    NumPy中的ndarray与Pandas的Series和DataFrame之间的区别与转换

    Python中的scikit-learn机器学习功能库

    什么是程序设计中的高内聚、低耦合?

    Python的内存管理与垃圾回收机制

    云服务中的容器技术

    什么是“面向对象”程序设计-以Python为例

    波动率介绍及其在资产定价中的应用

    发现策略中的孪生兄弟——期权交易中的等价或相似策略解析

    如何利用期权改进指数投资表现——借鉴海外市场经验

    如何用期权进行“哑铃型”资产配置——“90/10”策略介绍

    国外著名商品指数编制方法比较

    FPGA技术在金融行业的应用——以沪深行情加速为例

    美国市场对部分高频交易行为的监管

    报价驱动制度与指令驱动制度比较

    展开全文
  • 在股市,总能发现这样的情况,当股价上涨一段时间,股价继续上涨的可能性要高于回落的可能性,一只比其它股票上涨得快的股票可能会继续比其他股票上涨得快,这就是动量效应,也就是股民(投资者,投机者)中所谓的...
    在股市,总能发现这样的情况,当股价上涨一段时间,股价继续上涨的可能性要高于回落的可能性,一只比其它股票上涨得快的股票可能会继续比其他股票上涨得快,这就是动量效应,也就是股民(投资者,投机者)中所谓的“强者恒强,弱者恒弱”。

    动量策略(Momentum Strategies)的基本思想是按照股票前一段时间的回报,将它们从高到低进行排名,买入表现最佳的股票(组合和仓位)并持有一段时间,然后在一定时间重复该过程(组合再平衡和头寸再平衡)。

    动量投资的精髓在于追涨。但是追涨要系统性的方法,不然一不小心就追在山顶,高处不胜寒。特别是A股,可以这么说,我走过的最长的路就是A股的套路。所以不应该买这种短时间内暴涨暴跌的股, 主要太难把握,例如:

    72fa7d999ef532b2e9fe2b7781c32f8c.png

    应该要买中长期稳步上升的牛股, 回头去看A股非常多这样的,所以,系统化方法非常重要, 比如:

    a13a513ef3edaab9fd60009ea53f4174.png

    有很多种方法来进行动量投资:

    1. 观察熟悉的股票,看哪些正在上涨,然后买进,但是自己熟悉的股票可能并不适合做动量投资。

    2. 一个个看A股近4000(2020-11-1)只股票走势图,显然太stupid了,并且看图掺杂了大量的主观因素。

    3. 也可以考虑50日均线高于100日均线的股票(就是所谓的双均线策略吧),但是选出大量的股票,没有明确的投资标的。

    4. 可以测量50日均线和100日均线之间的距离,这样就得到可以量化的动量,也可以进一步简化,只衡量价格和移动平均线之间的距离。

    5. 还有如支持向量回归, 动态时间规整(dynamic time warping)等等。

    在《趋势永存》一书中,作者描述了一个基于指数回归的动量投资策略,非常有效,我在该策略的基础上做了简单的优化,使之更适用于A股:线性回归计算得到的斜率可以用来度量股票动量,而指数回归的斜率是按百分数表示,显示出每日平均涨跌幅的百分比。然后用R2(判定系数: 价格序列与回归线的拟合程度)来衡量价格序列数据是否符合回归直线。然后降序找到排名前30的股票。文字的表示总是抽象的,转为代码就是:
    import numpy as npfrom scipy import statsdef momentum_score(ts):    """    input:  价格序列,按交易日期降序    output: 收益率指数回归的斜率*R2    """    x = np.arange(len(ts))    log_ts = np.log(ts)    slope, intercept, r_value, p_value, std_err = stats.linregress(x, log_ts)    annualized_slope = (np.power(np.exp(slope), 90) -1) *100   # 90个交易日    return annualized_slope * (r_value ** 2)

    排名方法有了,那按什么规则买入呢? 一个简单有效的方法是根据股票的ATR(Average True Range, 平均真实波幅)来决定。这是一个衡量股票价格波动的一种指标,是一段时间内真实波幅的平均值。python的技术分析库talib已经有ATR的实现,使用代码如下:

    import talibdef get_atr(high, low, close):    """    input: 最高价,最低价, 收盘价的序列    output: 20的ATR    """    reutrn talib.ATR(high, low, close, timeperiod=20)

    策略流程图

    67c33b0515f389839d7862c8661fc547.png

    具体的交易规则

    1. 在周三进行交易(在A股,周一往往因为周末各种大事件,大消息,股价波动非常大,而周五,很多资金为了避免周末的不确定,也可能会减仓)。换成任何一个交易日也没有关系。

    2. 计算动量对股票进行排名。使用上述的momentum_score方法。

    3. 基于一个基点头寸规模。计算股票数量的公式为: 账户总值 * 0.001 / ATR。风险因子的设定也是因人而异。

    4. 判断市场趋势,上证指数在200日均线上,熊市不要买股票,不要接往下落的飞刀。

    5. 每周三的组合再平衡, 卖出: 该股票不再是股票池的前20%则卖掉,低于100日均线则卖出。有现金则继续按排名和ATR买入(有了前面的两步,也就没止损操作了)。

    6. 每双周三进行一次头寸再平衡, 把当前头寸规模和期望头寸规模做对比,排名后做更新,别忘记定期进行头寸再平衡的目的是避免遭遇随机风险。

    排名示例(只为演示,不做建仓建议)

    1cc3bb06dcafdd2414d85519a18ef1b8.png

    这个策略盈利的三个要点: 头寸再平衡,仓位再平衡以及坚定不移地执行。传奇交易员理查德.丹尼斯曾说:

    我说过很多次,你可以把我的交易法则登在报纸上,但没人会遵守它们。关键是统一性和纪律性。几乎每一个人都可以列出一串法则,而且不比我们的那些法则差多少。但它们不能给别人信心,而唯有对法则充满信心,你才会坚持这些法则,即使遭遇逆境。

    《金融怪杰》

    《趋势永存》的作者提到对该策略的优化,边际效用并不高,在针对A股做了某些特别变动后,的确没必要优化,但是, 用机器学习方法来优化,边际效用就会大幅提升,这也是我目前正在做的工作。

    Note: 本文只是记录下自己看到过,实践过的一些方法,实践中其实做了很多优化,并不作为投资建议,买者自慎。

    展开全文
  • 因子动量动量因子

    千次阅读 2020-03-26 14:41:45
    文献来源:Ehsani S , Linnainmaa J T .Factor Momentum and the Momentum Factor[J]. Social Science Electronic Publishing, 2017. ...交易动量投资者会间接将因子相乘。因此,动量策略的利润和损...

    文献来源:Ehsani S , Linnainmaa J T .Factor Momentum and the Momentum Factor[J]. Social Science Electronic Publishing, 2017.

    推荐原因:本文研究结果表明动量不是一个独立的因子;相反,一个动量“因子”是其它因子的时序相关的综合。交易动量的投资者会间接将因子相乘。因此,动量策略的利润和损失最终取决于因子回报中的时序自相关是否为正。同时作者发现个股动量不太可能与公司特定信息相关,由于因子体系足够多样化,使得它们可能会清除所有公司特定的信息。 我们对因子动量与投资者情绪之间关系的结果表明因子的自相关性(推广到个股动量)可能源于错误定价。

    1、简介

    动量效应的存在违反了有效的市场假设。如果资产价格及时并准确的响应新信息,过去的回报不应该预测未来的回报 - 除非过去的回报与系统风险的变化相关。研究人员试图解释具有随时间变化的风险,行为性偏差以及交易摩擦的动量策略的收益。与此同时,动量跨越时间和跨资产类别的普遍性使其成为一个独立因子:没有动量的模型就无法解释个股超额而那些包含动量的模型不能解释任何除动量以外信息(Fama和French,2016).在本文中,我们表明动量不是一个明显的风险因子:它汇总了所有其他因子中的自相关。事实上,动量不是与其他因子无关,而是与所有因子存在相关性。

    我们首先表明,因子的过去回报可以提供有关其未来回报的信息。例如,那些过去跑赢大盘股的小盘股很可能会继续跑赢。在我们研究的20个因子中,这种效应在统计上很显著:平均因子在盈利一年后每月收益为52个基点,但在损失的一年之后只有2个基点的收益。这些平均回报的差异t值为4.67。这一结果并非特定于使用模糊的资产定价因子:我们使用由学者和对冲基金定期更新和发布的主要因子。

    时序动量因子策略是一种在因子回报中持续下去的策略。策略主要思路是看多具有正回报的因子并且看空具有负回报的因子。该时间序列动量策略的年回报率为4.2%(t值= 7.04)。我们证明了这种策略优于横截面策略,因为它纯粹的基于因子回报中正向自相关。相比之下,有的横截面策略也认为:一个因子的高回报能够预测其他因子的低回报(Lo和MacKinlay,1990);然而,在数据中,任何因子的高回报预测所有因子的高回报。

     因子收益的动量传递到安全收益的横截面中,传输的数量取决于因子载荷的分散。这些因子载荷越多的分配在不同资产间,因子动量就越多地显示为各个证券回报的横截面动量。如果股票动量与因子回报的自相关有关,则动量因子应该包含个股动量。实际上,我们表明在因子回报空间中构建的动量因子按先验分类的投资组合的平均回报一年的回报优于Carhart(1997)的UMD,这是一个直接针对股票回报动量的因子。

    因子动量也解释了其他形式的股票动量:行业动力,行业调整动力,中间动量和夏普比率动量。图1的左侧显示因子动量使得所有单个股票动量策略在统计上都不显着。我们为每种动量计算两个t值。第一个是与Fama and French五因子模型的alpha相关联;第二个是与增加因子动量的模型的相关联。图一的右侧显示,五因子模型增加了所有五种形式的个股动量,使得因子动量具有显着的t值(3.96)的α。

    我们的结果表明,股权动量不是一个明显的风险因子; 它是因子回报中自相关的积累。 一种在直接时间因子中交易个股的动量策略。 只要这些因子保持正相关,这种策略就有效。然而,因子的自相关性会随着时间的推移而变化,投资者交易股票动量在转为负值时会失效。我们表明,对因子延续的简单衡量可以得到确定动量崩溃和获得超大的利润。动量理论首先需要解释为什么因子回报通常是正自相关的,其次,为什么大多数自相关有时并且突然地同时变为负相关。

    我们的结果与McLean和Ponti-fff(2016年),Avramov et al(2017年)有关,Zaremba和Shemer(2017年),表明超额收益预测了一个月和一年后的超额收益横截面。Baker和Wurgler(2006)表明因子动量的强弱因投资者情绪而显著变化。在低情绪条件下,上一年获得正回报的因子优于那些每月损失71个基点的因子(t值= 4.79)。 在高情绪环境中,这种表现差距仅为18个基点(t值= 1.32)。 这种联系表明,因子动量可能源于资产价值偏离基准价值,后来转向基本价值,这可能是因为资本流动缓慢(Du ffi e,2010)。 根据这种解释,因子可能至少部分与错误定价有关(Kozak等,2018; Stambaugh等,2012)

    我们证明了横截面动量策略的优势几乎完全来自因子回报的自相关; 时间序列因子动量完全包含个股收益的动量(以各种形式); 随着股票动量回报的特征的变化,我们可以预测到自相关因子回报的变化; 而且这种动量并不是一个明显的风险因子。相反,动量因子汇总了其他因子中的自相关。 因为几乎所有因子回报都是自相关的,即动量是不可避免的。 如果动量存在于因子中,并且如果所有资产类别的因子与权益因子相似,那么动量将无处不在。

    2、数据

    我们从三个公共来源获取因子和投资组合数据:Kenneth French,AQR和Robert Stambaugh的数据库.表1列出了因子,开始日期,平均年化回报,回报的标准偏差以及与平均值相关的t值回报。如果未提供关于因子的收益数据,我们使用投资组合数据来计算因子收益。因子收益计算方法为为三个顶部十分位数的平均收益减去三个底部十分位数,其中顶部和底部十分位数被定义以与原始研究相同的方式。

    使用15个美国数据,分别是应计利润,对β因子的投注,现金流量,投资,收益与价格,账面市场,流动性,长期逆转,净股票发行,不良资产以外资产,可盈利性,剩余差异,股权市场价值,短期逆转和动量。除了P'astor和Stambaugh(2003)的流动性因子外,这些因子的回报数据始于1963年7月;流动性因子始于1968年1月。

    七个全球因子为对β因子的投注,投资,账面市场,不良资产以外资产,盈利能力,股权市场价值和动量。除动量因子外,这些因子的收益数据始于1990年7月;动量因子的那些开始于1990年11月。我们在整个研究中使用月度因子回报。

    表1突出显示了年平均回报率的显著变化。例如,全球规模因子的收益率为0.4%,而美国和全球对β因子的投注均为10.0%。因此,波动率的波动性也有显着变化。全球盈利因子的年回报标准差为4.9%;美国动量因子为14.7%。

     

    3、动量因子

    3.1. 基于过去收益的因子收益

    表2显示,因子回报可以通过他们自己的过去回报显著地预测。我们建立时间序列回归模型,其中因变量是因子在月t中的回报,而解释变量是因子从第t-12个月到t-1的前一年的表现的指标变量。如果因子的回报为正,则此指标变量的值为1,否则为零。我们还估计汇总回归来衡量因子收益的可预测性的平均数量。

    表2中的截距测量了一年表现不佳后获得的平均因子回报。斜率系数表示上下年份之间收益的差异。在这些回归中,除美国动量因子外,所有斜率系数均为正值,其中9个估计值在5%水平上显着。虽然所有因子的无条件均为正(表1),但截距显示,在一年表现不佳后,8个因子会获得负平均回报。第一行显示因子的可预测性在经济上和统计上都很大。我们使用所有20个非动量因子的数据来估计这种回归。在一年表现不佳之后,平均异常收益仅为基点(t值= 0.06)。当异常值在前一年的回报率为正时,该回报率将增加51个基点(t值= 4.67)至52个基点。

    3.2. 时序和横截面动量策略的平均收益

    我们现在衡量策略的可行性,这些策略根据过去的回报在因子中采取多头和空头头寸。时间序列动量策略根据过去一年的收益来判断买多或者卖空,如果过去一年收益为正,则买多,若会负,则卖空。横截面动量策略是看多相对于前一年期间的其他因子(获胜者)以及低于中位数回报(失败者)的因子。我们每月重新平衡两种策略。从一系列因子中排除了两种股票动量因子,即美国和全球UMD,以避免引发因子动量与个体股票动量之间的相关性。 因此,两因子动量策略最多交易20个因子; 因子的数量从1964年7月的13开始,到1991年7月增加到20,因为因子的开始日期不同(表1)。

    表3显示了时间序列和横截面因子动量策略的平均回报以及所有20个因子的等权重投资组合。年平均回报率为4.2%,t值为7.60。在横截面策略中,根据定义,赢家和输家组合都有相同数量的因子。在时间序列策略中,这些投资组合中的因子数量各不相同。例如,如果在一年期间有五个具有零以上回报的因子和五个具有低于零回报的因子,那么获胜者策略是做多五个因子,而输家策略是做多剩余的15个因子。时间序列动量策略在所有20个因子根据因子过去的回报的符号来确定对因子的持仓。我们报告了因子动量策略以及这些策略下的输家和赢家组合的收益。这些输家和赢家策略是等权重组合。

    与表2中因子收益持续性的结果一致,两种赢家策略均优于等加权基准,而输家策略表现不佳。 时间序列获胜者组合的平均回报率为6.3%,t值为9.54,横截面获胜者的平均回报率为7.0%,t值为8.98。 两个输家组合的平均回报率分别为0.3%和1.4%,与这些平均值相关的t值分别为0.31和1.95。

    动量策略是关于赢家和输家组合之间的差价。时间序列因子动量策略的年回报率为4.2%(t值= 7.04); 横截面策略的回报率为2.8%(t值= 5.74)。 由于时间序列输家获得接近于零的费用,因此从平均回报的角度来看,在负回报期之后选择做多或做空的因子是无关紧要的。然而,通过所有因子的多样化,时间序列动量策略的标准偏差低于单独的赢家组合(4.3%对4.7%)。

    时间序列和横截面因子动量策略之间的差异在统计上是显着的。在时间序列策略对横截面策略的回归中,估计的斜率为1.0,而有1.4%的α值,t值为4.44。 在时间序列策略的横截面策略的逆向回归中,估计的斜率为0.7,-0.2%的α的t值为-1.02。 因此,时间序列因子动量包含横截面策略,但反之亦然。

    因子动量的一个重要特征是,与因子投资不同,它是“无模型的”。如果因子是自相关的,投资者可以捕获由此产生的动量溢价而无需预先确定该因子的哪一方获得更高的平均回报。例如,考虑SMB因子。 该因子每月的平均回报率为27个基点(见表2),但在正年度之后,其溢价为55个基点,在负年度之后为-15个基点。 对于动量投资者来说,这个因子的“名称”是无关紧要的。通过根据因子的过去收益选择头寸的符号,该投资者获得55个基础的平均回报在小型股票跑赢大型股票之后,通过交易“SMB”因子每月点数; 在小股票表现落后于大股票之后,通过交易“BMS”因子每月回报15个基点。

    图2绘制了与表3中的等权重投资组合和赢家与输家组合相关的累积回报。我们利用该图中的每个策略,使每个策略的波动率等于等权重投资组合的波动率。与其接近零的每月费用一致,即使在52年的样本期结束时,时间序列输家策略的总回报仍接近于零。相比之下,时间序列赢家策略在样本期结束时的收入是被动策略的三倍。虽然表3中A组的横截面赢家策略获得了最高的平均收益,但它更具波动性,因此在波动率调整的基础上,其表现优于时间序列赢家策略。横截面输家策略的收益高于时间序列输家策略:表现不如其他因子但仍能获得正收益的因子往往会在下个月获得正收益。因此,在时间序列策略中,赢家与输家之间的差距要比在横截面策略中大得多。

    3.3. 分解因子动量收益:为什么横截面策略的表现不如时间序列策略?

    1.因子回报的自相关:过去的高因子回报表明未来的高回报,

    2.负交叉协方差:过去的高因子回报表明其他因子的回报率很低

    3.平均回报的横截面变化:某些因子可获得持续的高回报或低回报。

    最后一项与自协方差矩阵无关; 也就是说,即使在没有任何时间序列可预测性的情况下,因子“动量”也会出现(Conrad和Kaul,1998)。横截面策略是做多过去回报率最高的因子,做空过去回报最低的因子; 因此,如果过去的回报是对因子无条件均值的无偏估计,即使没有自动和跨序列协方差模式,横截面动量策略也能获得正回报。

    表4显示等式(4)中的横截面策略获得2.5%的平均年回报率,t值为3.49。 自协方差项平均贡献率为2.9%,超过了所有横截面策略的优势。交叉协方差项是正的,因此,它对该横截面策略的优势产生负面影响(每年-1.0%)。一个因子的正回报也预测了其他因子的正回报,并且横截面策略通过对这种交叉预测而失败。 这个负项超过设定平均值的横截面变化的正面贡献(每年0.5%)。

    其中的定义与等式(3)中的定义相同。 等式(5)表明,时间序列动量优势源于因子回报中的自相关或来自非常正或负的平均回报。

    表4显示时间序列策略的每月溢价为4.9%,t值为4.65。 将这些利润分解为自相关和均方分量表明,这种溢价很大程度上源于因子收益的自相关; 与这两个组成部分相关的年度费用为3.0%(t值为2.61)和1.9%(t值= 4.49)。时间序列策略优于横截面策略,因为它不依赖于呈现负交叉协方差的因子;它纯粹依赖于因子收益中的自相关。

    4、因子动量和个股动量

    4.1. 因子动量向股票收益层面的传导:基本架构

    如果股票收益服从因子结构,则因子动量向会以Jegadeesh和Titman的横截面股票动量形式传导到股票横截面收益。在资产回报的多因子模型中,比如跨期的Merton(1973)的CAPM和Ross(1976)的套利定价模型APT,多种风险来源决定了期望回报。考虑一个因子模型,其资产超额收益服从F因子结构:

    1. 因子回报的正自相关通过第一项引发动量效应带来的利润。Beta的横截面变化扩大了这种效应。

    2. 因子之间的领先滞后关系同样可以带来股票动量效应的利润。该效应的强弱同时取决于因子回报的协方差和因子载荷的协方差。该条件是有限制的:回报的序列交叉相关性和beta的协方差应该有着相同的符号。举例来说,它需要:(1)SMB在1阶段的回报成功预测HML在2阶段的汇报(2)SMB和HML载荷同样正相关。为了结论的有效,该条件需要满足平均的一对因子。

    3. 股票残差回报的自相关同样能增加横截面动量策略的收益率。

    4. 个股平均回报的横截面方差同样带来动量收益。如果股票过去收益为它们无条件均值的无偏估计,横截面动量就是做多高平均回报的股票, 做空低平均收益的股票。

    4.2. 解释由权益动量排序的组合收益

    因子动量是否有助于横截面动量策略的回报?我们先来看等式(9)的第一部分;这是因子回报自相关可以使横截面动量策略增加收益。我们测量了策略的收益性和时序因子动量的联系。时序因子动量策略跟以上是相同的:做多的上年有正回报的因子同时做空上年有负回报的因子。

    在图5中,我们比较了三种根据上一年去除一个月收益排序的资产的组合定价模型表现;排序变量跟构建Carhart(1997)的UMD因子是相同的。第一个模型是Fama-French的五因子模型;第二个是根据UMD因子推广的模型;第三个则是由时序动量策略得到的五因子模型。我们保留十分位来报告模型2和3的UMD和时间序列动量因子的因子载荷的alpha。

    股票动量在Fama-Frence五因子模型中具有很显著的alpha。输家组合的alpha是 -0.78%每月(t值 = -4.06),赢家组合则是0.61%(t值 = 4.89)。alpha的绝对平均值是27个bp。我们通过加入Carhart动量因子显著提高了模型组合定价的能力。月均绝对alpha下降了13个bp,多空收益从1.4%下降到0.3%。然而,与多空组合相关的alpha则是统计量为t=2.53的显著。UMD的斜率随着我们从低部移到顶部十分位,由-0.92到0.58单调递增。

    使用时序动量策略得到的增强模型在对动量组合定价时,表现不亚于,甚至优于Carhart(1997)的六因子模型。月平均绝对alpha下降到12bp;Gibbons等人(1989)的统计量从3.26下降到2.55;同时,高减低alpha从0.29%下降到0.24%(t值等于1.09)。跟Carhart(1997)年模型同理,对因子动量策略估计斜率从-2.44十分位的底部单调递增到1.43十分位的顶部。

    用因子动量增强的五因子模型与用UMD增强的模型表现令人惊讶。由于因子与测试资产根据相同变量排序,Carhart的六因子模型设定了一个很高的标准,也就是说,UMD针对动量而言就像HML针对根据市净率分类的组合。

    4.3. 其它动量因子测试

    从表6中我们得出,除了Jegadeesh和Titman(1993)的“标准“个股动量,因子动量完全包含了横截面动量策略的信息量。除了UMD因子,根据股票上一年剔除一个月的回报分类,我们构造了其它三个利用相同方法的动量因子:根据行业调整回报分类的Cohen和Polk(1998)行业调整动量;Novy-Marx(2012)按照t-12到t-7月份回报排序的中间动量;以及Rachev等人根据收益波动率得到的的夏普比率动量。我们同时构建了Moskowitz 和Grinblatt(1999)的行业动量策略。该策略将20个行业根据前六个月的收益排序,做多前三,做空后三。

    表6中A组介绍了其它动量因子以及时序因子动量策略。每一个因子都有统计上显著的平均回报和Fama-French五因子模型alphas。尽管与时间序列动量策略相关的平均回报是最低的,0.35%每月,它同时也是波动性最小的。

    B组中前两2列表明跨界回归的因变量是其中一个动量因子的估计。该模型是Fama-French的因子动量增强五因子模型。这些回归能够从投资和资产定价的角度得到。从投资的角度来说,一个统计性显著的alpha表明投资者可以通过在交易右侧因子(Huberman和Kandel,1987)的基础上,同时交易左侧因子来获得一个更高的夏普比率。从资产定价的角度而言,一个统计性显著的alpha表明了只含右侧变量的资产定价模型会被一个只含左侧因子的模型决定(Barillas和Shanken,2017)。

    虽然所有动量定义都能获得统计性显著平均收益和五因子模型alpha,因子动量都存在。与图5相同,时间序列因子动量以0.01%每月(t值=0.07)偏离标准动量(UMD)。图6表明动量因子同时存在于其它四种动量中。五者当中t值最大的为中间动量,为1.64。

    表6的最后两列表明没有其它的动量解释出现在时间序列因子动量中。在该组中出现的6个分类,由因子动量获得的alpha的最低的t值为3.73。.最后因子增加了Fama-French五因子模型的五个动量因子。该具体因子动量的alpha是t值为3.96的显著。表6表示因子动量同时包含不以其它动量形式表现信息,同时,当控制因子动量时的股票回报。也没有其它动量形式有横截面股票回报的信息。

    因子动量据有跨越个股动量的能力,但不是反之亦然,表示了个股动量是因子动量的一个表现形式。一个间接把因子相乘的个股动量投资者不如一个直接将因子相乘的表现的更好。间接方法失效在于其根据噪音建仓。其它动量收益的来源也不会对这些收益做出贡献,故将它们纳入其中使策略变得不必要的不稳定。

    4.4. 动量失效分析

    个股动量有时会失效。如果动量策略的收益从因子自相关源于因子的自相关,那么动量失效则源于应当这些自相关变化。这代表了一个可以额外验证因子动量驱动个股动量的预测命题。我们通过构造一个源于等式(9)平均因子的代表式来验证此联系。我们可以将该项写为因子自相关的函数:

    在图4中,我们根据其自相关指数的符号将样本分为两个区间,同时将UMD收益的分布条件画在区间上。在正自相关(其平均因子和去年向通向运动)区间内,UMD的回报为非常典型的正。在这些月份的UMD的平均回报是2.4%,其波动率则为3.3%。在负自相关区间内,也就是平均因子与其过去方向相反,UMD的平均回报为-1.6%,标准差则是4.4%。

    在附录4.5中,我们证明了因子自相关指数与动量的失效和“非常有效”有着显著的联系。每一单位指数增加会减少15%动量失效的概率(z值为-6.78)。因子动量因此无条件的解释了所有的UMD回报,同时因子自相关的变化解释了动量可能会失效。当因子动量停止时,结果因子回报的“反向”影响了股票收益以及使股票动量失效。

    4.5. 个股动量与因子与其它类因子集的因子动量对比

    因子动量策略根据20个因子建仓。表5和6表现了完整的因子动量解释个股动量的过程。在图3中我们测量到因子动量中对数字和因子特征都敏感的结果。

    在该图中,我们构建了随机因子组合,从一个因子到全部20个因子。接着我们构建了在随机因子集上交易的因子动量模型策略然后估计出两个回归。第一个回归是Fama-French五因子模型,其因变量是因子动量策略。第二个回归的因变量是UMD,模型是用因子动量增强的Fama-French五因子模型。我们对不同的集合大小得到了20,000种随机组合,记录下与该模型相关alpha的t值,然后将t的平均值作为因子数的一个函数画图。比如说在图3中,我们还知道UMD五因子模型alpha的t值。

    图3表现了因子动量五因子模型alpha的t值会随着因子的数目单调增加。当策略在多和空之间由于一个因子而交替时,平均的t值是2.91;当交易10个因子时,是6.30;当达到20个因子的时候,是7.05。同时,因子动量在UMD中跨越能力有所提升。典型的单因子动量策略使UMD的alpha统计显著,t值为2.96。然而,当因子数量增加到10,平均的t值会减少到1.24;用全部的20个因子时,t值为0.07。这些估计表明因子动量在UMD中跨越的能力并不是针对特定因子而言的;随着因子数目的增加,大部分因子集中存在的自相关总体能解释个股的动量。图3支持了我们在因子回报中发现的有关个股动量是自相关性的总和的言论,我们发现的因子越多,越能更好的捕捉UMD收益。

    4.6. 动量不是一个独立的风险因子

    4.6.1因子与动量“因子”的条件相关性

     如果因子回报的自相关有助于提升这些策略的利润,那么当“实现”因子回报的正自相关的时候这些策略就应该获得更多的利润。

    我们首先通过Carhart(1997)UMD因子测量因子的相关性,检验了因子动量和个股动量之间的联系。在表7中,我们得出了3个互相估计的相关性:非条件相关,基于上一年回报为正的因子条件性相关,以及回报为负的条件相关。

    表7表明因子和UMD的非条件相关性很低,在20个个体因子的相关性中有11个因子的相关性为正,同时UMD与20个因子组合的相关性为0.05。该相关性建立在过去回报的条件上,然而,却非常的不一样。除了短期逆向因子,当过去回报为正时所有因子与UMD的联系更紧密。在19个因子中,有17个都具有5%水平的统计显著性区别。在第一行,我们根据过去的回报,每月将所有因子分成两组。估计表明正过去回报的因子组与UMD有着0.44的相关性;负回报的组则有着-0.5的相关性。

    由于动量和其它因子的非条件相关性接近0,大部分因子模型,比如五因子模型,没有解释任何动量收益的原因。然而这个结果并不表示动量与其它因子“相关”。表7表明非条件相关性接近0只因为相关性会显著的随着时间变化。实际上,动量表现出与所有因子相关!

    4.6.2 多元化效益

    因子动量和个股动量关系表明了动量多元化带来的收益比非条件相关所展现的更加难以捉摸。比方说,价值和动量之间的相互作用。表7表明UMD与U.S. HML的非条件相关系数是-0.17,与全球HML为-0.16。这些负相关性欲Asness等人(2013)的发现相一致。然而在同表中,这些相关性很大程度上随着HML去年的表现变化。比如在美国,当HML有正回报时相关性为0.22,负回报时相关性为-0.57。符号的变化很重要,因为HML的回报同样取决于其之前的回报,这是因子动量的精髓所在!在负回报年,U.S. HML的月平均回报为15bp,在正回报年则为43bp。

    由于个股动量,价值以及HML回报自相关的相互作用,动量和价值多元化的作用是有限的。图5通过考虑Asness等人(2013)的50-50动量/价值策略以及有时用现金代替价值的其它动态策略说明了该问题。如果HML在月份t时有着正的年回报,该策略就是50-50动量/价值策略。然而,如果HML的回报为负,该策略变为了动量/现金策略。动量和价值在这里都是零投资组合,我们将现金收益设为0,该持仓通过购买T-bill来构建。图5表明原始和动量策略没有明显区别;投资者从负相关性中没有获利。

    该结果并不是仅限于动量价值相关性。表7表明几乎所有的因子如果表现不好,对动量“多元化”的效果更好。该现象适用于几乎所有因子:当一个因子如果和动量负相关时,该因子很典型的会处于无有价值回报的阶段。这种阶段依赖的相关性是直接来自于动量本身,动量不是与其它因子独立存在的。

    5、投资者情绪和因子动量

    Stambaugh等人(2012)表明许多异常回报紧紧跟随着情绪水平,这种效应源于异常回报的缺陷。它们表明了这些发现与用来解释非正常回报的错误定价是一致的:异常回报可能是由于在卖空限制的情况下存在的持续错误定价而导致的。

    因子动量可能是该机制的不同表现形式。如果是某一市场层面,比如成长股,价格过高,由于做空限制的存在,此过高的定价可能需要一定的时间来进行自我修正,推广来说,缓慢的资本流动也是如此(Duffie, 2010)。也就是说,资产价格不会立即回到基本面水平,但是会随着时间的推移向其收敛。

    跟随着Stambaugh等人 (2012),我们将Baker and Wurgler每月情绪指数和一系列宏观变量回归得到残差项作为投资者情绪的衡量指标。直观表现为乐观与悲观的残差项不由宏观经济的状态来决定。

    在表8中,我们衡量投资者情绪与因子动量之间的相互作用。我们将月份t根据其是否高于或者低于月份t的平均值分为高和低情绪区间,同理可以得到表格3中的赢输组合,我们根据每个因子上一年平均回报的正负号来将每个因子分为赢和输。平均表现差因子在低情绪环境中获得-22个bp的负回报(t值为-2.1),在相同的环境中,在上一年有着正回报的因子获得了50个bp的收入(t值为6.11)。这71个bp的差距十分显著(t值为4.79的)。然而在高情绪环境中,这个差别只有18个bp,其t值为1.32.

    这两个区间的差别是由于失败因子导致的。在高情绪环境中,之前的失败者平均回报显著高于低情绪环境。这是Stambaugh等人(2012)的发现:平均因子在高情绪环境中有着更高的回报。表8的结果与对因子动量的解释保持一致,推广来说,对所有个股动量的解释也是如此。错误的定价需要一定时间形成,同时由于套利的存在,即使是套利者的进入也不会使一个资产的价值立即回到其最基本的价格。因子动量可能发生于资产价格向其基本面价格变化的时候。

    6、总结

    正自相关是因子回报的普遍特征。回报率为正的因子上一年度获得了显着的收益;那些负回报的则获得了接近于0的收益。因子动量是一种基于因子回报自相关性的策略。

    在股票收益符合因子结构的假设下,我们通过分解股票动量将因子动量与个体股票动量联系起来。该结果显示因子回报中的自相关传递到股票因子载荷的变化带来的股票收益层面。与此分解一致,我们得到因子动量解释了Jegadeesh和Titman(1993)以及其它形式的标准动量:行业调整动量,行业动量,中间动量,和夏普动量。相比之下,这些其它动量因子并不能解释因子动量。我们的结果仅仅意味着动量不是一个独特的因子;相反,一个动量“因子”是其它因子的自相关的总和。交易动量的投资者会间接将因子相乘。因此,这种策略的利润和损失最终取决于因子回报中的自相关是否为正。

    另一个可以验证的有关个股动量的结论来源于与动量失效有关的因子动量。如果个别关于因子的股票动量最终失效,那么也应追溯到这些因子。的确,我们表明当因子的自相关突然停止时,这种动量就会失效。这些结果可以指导未来的研究。动量理论需要解释为什么因子通常正自相关,以及为什么有时候几乎所有这些自相关同时变为负面。

    我们的结果表明个股动量不太可能与公司特定的新闻相关,大多数因子都是如此多样化,以至于它们可能会清除所有公司特定的信息。我们对因子动量与投资者情绪之间关系的结果表明因子的自相关,推广到个股动量,可能源于错误定价。因子回报可能正自相关,因为错误定价会逐渐均值回归:随着套利者从错误定价中获利,远离其基本面的资产价格后来一定会向其基本面价格变化。

    来源:量化先行者     作者:天风金工吴先兴团队

    推荐阅读:

    1.一个量化策略师的自白(好文强烈推荐)

    2.市面上经典的量化交易策略都在这里了!(源码)

    3.期货/股票数据大全查询(历史/实时/Tick/财务等)

    4.干货| 量化金融经典理论、重要模型、发展简史大全

    5.干货 | 量化选股策略模型大全

    6.高频交易四大派系大揭

     

    展开全文
  • robinhood_sheryl是一个仪表板,可提供从robinhood api中提取的投资者投资组合持有的全面概览。 它还结合了基于简单统计数据的投资建议,例如指数移动平均线和动量指标。 数据存储在Google Cloud实例的postgres中,...
  • 动量理论的拥护认为,在过去一段时间表现优秀的股票,未来仍然会有较好表现;在过去一段时间表现较差的股票,未来会继续有较差的表现。 动量因子源自**Jegadeesh and Titman(1993)**提出的动量效应,在每月月末,...

    单因子策略之动量因子

    一. 起源

    动量因子反映的是一种“强者恒强,弱者恒弱”的思想。动量理论的拥护者认为,在过去一段时间表现优秀的股票,未来仍然会有较好表现;在过去一段时间表现较差的股票,未来会继续有较差的表现。

    动量因子源自**Jegadeesh and Titman(1993)**提出的动量效应,在每月月末,依据过去股票总收益率排序,将股票分为10组,做多收益率最高的股票,做空收益率低的股票。结果显示,无论是多头组合还是空头组合均能获得显著且稳健的正向收益。

    其他市场也为动量效应提供了有力证据,包括英国股市等。但在中国A股市场和日本市场中,动量因子表现较差。Moskowitz and Grinblatt(1999)提出行业动量在市场上的表现也十分显著,此外,在债券、大宗商品和外汇等资产中也存在动量效应。

    二. 成因

    共有三种理论可以解释动量因子的成因:风险补偿、行为金融、推定预期偏差

    1. 风险补偿

    动态风险敞口理论认为,赢家和输家有着不同的风险暴露,因此,由多空构建的动量因子组合有着变化的风险敞口。风险越大,对应的风险补偿越多。Geczy and Samonov(2016)利用美股数据发现,在市场状态的初期,动量组合对于当前市场有着的暴露,需要获得更高的收益来弥补这部分风险。

    2. 行为金融

    Daniel et al(1998)认为,投资者对其私有信息的过度自信及有偏的业绩自我归因会造成动量效应。
    (个人理解:投资者回溯过往业绩时,会产生过度自信,认为股价高是自己能力强,股价低是由于运气不好。这种心理就会导致短期内历史收益高的股票会继续走高。)

    Hur ans Singh(2016)进一步指出反应不足是主要原因。
    (个人理解:比如羊群效应,人们都喜欢追涨杀跌。)

    Grinblatt and Han(2005)认为投资者心理账户的存在导致了处置效应(投资者倾向于止损损失小的股票,保留损失大的股票),拉大了股票价格与其基本面价值之间的差异,导致了动量效应。

    3. 推定预期偏差

    投资者通过将当前数据外推来得到对未来表现的预期,而这一朴素估计是有偏的。

    4. 质疑和批判

    动量的收益来自对其他经典风险因子的暴露。(动量的收益很可能是其他因子共同作用的结果)

    空头端对动量收益的贡献较大,但实际上卖空并不容易。

    动量往往有很高的换手率,因此转化成纸面收益比较难。

    5. 其他相关研究

    Xhui et al(2010)指出越是崇尚个人主义的国家,投资者过度自信和自我归因的偏差越严重、市场成交越活跃、动量因子的表现越好。

    Jiang et al(2020)提出了新闻动量,将股票日收益拆分为由信息驱动的和由非信息驱动的两部分,并指出由信息驱动的收益有较强的连续性,买入高信息驱动收益的股票,卖出低信息驱动收益的股票可获得显著收益。

    三. 实证

    动量因子的计算和其他单因子有些区别。研究中发现,计算动量时更多表现出反转效应,即强者变弱,弱者变强。为了排除短期反转对动量造成的影响,学术界计算t月末动量的方法是:在t月末将t-12到t-1之间的11个月内的总收益作为动量因子的排序变量(假如现在是2020年1月末,动量为2019年1月末到2019年12月末的总收益,即2019年2到12月总收益)。每月将全部A股按照动量从小到大排序,分为10组,每组的月平均收益率如下图所示(实证期为2019年1月-2019年12月):

    可以看到,随着动量因子增大,投资组合的月均收益率呈现上升趋势。其他指标如下表。
    在这里插入图片描述

    观察发现,ROA随着动量的变化呈现单调递增的趋势,High组的PB也明显高于其他组。动量和收益率之间的秩相关系数为0.9954,说明在2019年,动量效应较为显著。

    四. 策略

    以动量因子构建套利策略,策略回测期设置为2020.01.01-2020.12.01。每月第一个交易日按照动量排序,选取最大的10支股票调仓一次,最终得出回测结果如下:

    在这里插入图片描述

    回测期累计收益为25.33%,年化收益为27.52%,沪深300指数收益率为22.03%,策略收益整体跑赢沪深300指数。策略的最大回撤为12.69%,胜率为57.80%。

    五、 代码实现

    回测基于掘金量化回测框架

    ################################## 策略部分
    
    def init(context):
        # 每月第一个交易日的09:40 定时执行algo任务
        schedule(schedule_func=algo, date_rule='1m', time_rule='09:40:00')
        # 股票池股票数
        context.number = 10
        # 最大交易资金比例
        context.ratio = 0.8
        # 获取全部A股
        stockall = get_instruments(exchanges='SHSE, SZSE', fields='symbol,listed_date, delisted_date', df=True)
        context.stockall = stockall[(stockall['listed_date'] < context.backtest_start_time) &
                                    (stockall['delisted_date'] > context.backtest_end_time) &
                                    (stockall['symbol'].str[5] != '9') &
                                    (stockall['symbol'].str[5] != '2')]['symbol']
    
    def algo(context):
        # 第一步:获取全部股票的历史收益率数据和其他数据,计算动量因子
        # 如果不是12月,则动量 = 前一年的t+1月 到 今年的t-1月
        if context.now.month != 12:
            context.end_day = get_previous_trading_date(date=context.now.date(), exchange='SHSE')  # 结束时间
            context.begin_day = str(context.now.year - 1) + '-' + str(context.now.month + 1) + '-' + str(1)  # 起始时间
            context.begin_day = get_trading_dates(exchange='SHSE', start_date=context.begin_day, end_date=context.end_day)[
                0]
        else:
            # 如果是12月,则动量 = 今年的1月 到 今年的12月
            context.end_day = get_previous_trading_date(date=context.now.date(), exchange='SHSE')  # 结束时间
            context.begin_day = str(context.now.year) + '-' + '1' + '-' + str(1)  # 起始时间
            context.begin_day = get_trading_dates(exchange='SHSE', start_date=context.begin_day, end_date=context.end_day)[
                0]
        # 查询历史数据,计算动量
        begin = history(symbol=context.stockall.tolist(), frequency='1d', start_time=context.begin_day, end_time=context.begin_day,
                        fields='symbol,pre_close',
                        skip_suspended=True, adjust=ADJUST_PREV, adjust_end_time=context.backtest_end_time, df=True)
        end = history(symbol=context.stockall.tolist(), frequency='1d', start_time=context.end_day, end_time=context.end_day,
                      fields='symbol,close',
                      skip_suspended=True, adjust=ADJUST_PREV, adjust_end_time=context.backtest_end_time, df=True)
        data = pd.merge(begin, end, how='left', on='symbol')
        data['momentum'] = (data['close'] - data['pre_close']) / data['pre_close']
        data.dropna(inplace=True)
        data.sort_values(by='momentum', ascending=False, inplace=True)
    
        # 第二步:选择动量最大的前10支股票
        choose = list(data.iloc[0:context.number]['symbol'])
    
        # 第三步:执行交易
        # 计算权重
        percent = 1.0 / len(choose) * context.ratio
        # 获取当前所有仓位
        positions = context.account().positions()
        # 如标的池有仓位,平不在标的池的仓位
        for position in positions:
            symbol = position['symbol']
            if symbol not in choose:
                order_target_percent(symbol=symbol, percent=0, order_type=OrderType_Market,
                                     position_side=PositionSide_Long)
                print('市价单平不在标的池的', symbol)
    
        # 对标的池进行操作
        for symbol in choose:
            order_target_percent(symbol=symbol, percent=percent, order_type=OrderType_Market,
                                 position_side=PositionSide_Long)
            print(symbol, '以市价单调整至权重', percent)
    
    
    
    if __name__ == '__main__':
        run(strategy_id='strategy_id',
            filename='main.py',
            mode=MODE_BACKTEST,
            token='token',
            backtest_start_time='2019-12-01 08:00:00',
            backtest_end_time='2019-12-31 15:00:00',
            backtest_adjust=ADJUST_PREV,
            backtest_initial_cash=10000000,
            backtest_commission_ratio=0.0001,
            backtest_slippage_ratio=0.0001
            )
    
    
    展开全文
  • 投资者情绪与上市公司投资行为研究,张启銮,陈艳,本文选取我国沪深股市A股制造业上市公司2005-2008的数据为研究样本,从行为金融学的角度,以上一年度的动量指标作为投资者情绪的代�
  • 最近看到一篇论文,对于我们趋势投资者是不可多得的 信仰加持文 ,所以这里要与各位分享。这篇论文的题目是《一个世纪的趋势投资证据(A Century of Evidence on Trend-Following Investing)》,三位作者都来自 AQR。
  • 什么是动量效应和动量交易策略?...虽然两种学说的理论依据有所不同,但都从不同方面解释了动量效应的存在,这为动量效应的研究奠定了理论基础,也为投资者寻找套利机会提供了依据。 1. 引库 import numpy as np i
  • 投资者动量策略中相信,个股中,过去的赢家将超越过去的输家。 最常用的动量因素是股票出去最近一个月,在过去12个月的收益。 在学术出版物中,动量策略通常是一个月调整一次且持有期也是一个月。 在本例中, 我们...
  • 未预期分析师覆盖、股票收益与机构投资者行为,刘茜,张维,未预期分析师覆盖中包含上市公司除日常交易信息(市值、流动性、动量等)之外的信息,本文将分析师覆盖分解为由日常交易信息引起
  • 英世曼 | 动量是否具有行为...本材料仅供机构投资者、合格投资者和投资专业人士使用。不用于零售公开渠道。 动量是否具有行为性? 观察价格在过去的涨跌就能够推断价格在未来的涨跌,这就叫做动量效应。相关的和更通...
  • 在研究方法上,采用了不同于HS模型的递推公式法,清晰地描述了正、负消息影响下股价及收益率的运动轨迹,直观地分析了消息投资者和两类趋势投资者行为偏差导致赢者和输者组合出现动量效应和反向效应的规模和方向....
  • 论文研究-投资者有限关注、行业信息扩散与股票定价研究.pdf, 本文从理论模型和实证研究两个方面检验了投资者关注度对行业层面信息扩散速度与股票定价过程的影响,发现...
  • 问题一:投资者购买目标指数中的资产,如果购买全部,从理论上讲能够完美跟踪指数,但是当指数成分股较多时,购买所有资产的成本过于高昂,同时也需要很高的管理成本,在实际中一般不可行。 (1)在附件数据的分析和...
  • 投资成长股

    2008-10-08 23:11:00
    价值还是趋势? 我们买任何东西,都要看他的性价比。这个“性”,就是事物的内在价值,而“价”,就是价格。...另一个反面例子是,美国曾有人利用股票的“意外消息”做“动量投资”,结果在短暂辉煌后惨淡收场。
  • 利好消息在在位投资者中部分扩散,产生股价反应不足,潜在投资者可通过动量交易获利,他们的介入可以引起股价过度波动.信息披露越充分,潜在投资者的利润越少.文章在不同管制力度的条件下分析了价格序列,发现适当的管制...
  • 本书的目标是:为读者提供一幅从量化角度绘制出来的市场投资“地图”。为了得到这幅通过实证绘制而成...本书中概括出的量化方法可以为定性投资者提供一个被证实的设计投资策略的方法,同时也可作为提高投资绩效的准则。
  • 关于我目前的投资理念,我认为自己是一名“90%的趋势投机者+10%的价值投资者”。当然我希望自己在今后要逐步增加价值投资的比例,若干年后最终要达到90%。 [Jessot]资金量大基本只能选价投,但是小资金,...
  • 2、动量交易:追涨杀跌 3、投机因子 4、投资中的陷阱 三、市场 1、有效市场理论 2、A股市场 3、市场失灵:套利有成本 市场分割 4、噪音交易:散户 5、市场泡沫 四、基金业绩评价 1、择时 ...
  • 随机指标简称KDJ,是一种超买超卖型技术指标。KDJ是技术分析中最常用的指标之一,它综合了动量、相对强弱和平均线的优点,在计算过程中主要研究最高价、最低价与收盘价之间...投资者在应用KDJ指标时需要注意以下两点:...
  • 随机震荡指标STO(KD)与MACD类似的是,STO同样地使用了两条曲线来表示,...作为一款动量技术分析方法,其主要的目的是判断是否进入了超买或超买的状态,从而帮助投资者预知价格逆转的时机。实现分析过程可以参考前面的
  • 而当价值差异较小时可能存在操纵,且操纵存在的概率与未来价值为高的概率、关联投资者长期持股成本、动量交易者数量以及承销商从关联投资者处获取的提成比例正相关,与操纵者进入市场的先验概率、流动性交易者申购量对...
  • 相对强弱是一种动量投资策略,它将股票,交易基金(ETF)或共同基金的表现与整体市场的表现进行比较。通过使用特定的计算,投资者可以确定与整体市场相比最强的表现者,为投资提供建议。相对强弱假设正在上涨的资产...
  • 投资者动量策略中相信,个股中,过去的赢家将超越过去的输家。 最常用的动量因素是股票除去最近一个月在过去12个月的收益。 在学术出版物中,动量策略通常是一个月调整一次且持有期也是一个月。在本例中,我们...
  • 原始论文链接 摘要 我们记录了我们考虑的58种流动工具中的每种...考察投机和套期保值的交易活动,我们发现投机从时序动量中获利,而以套期保值为代价。 1. 简介:华尔街的趋势交易 我们记录了称为“时间序列
  • 牛市因子和熊市因子

    2020-09-18 10:22:53
    来源:Chihiro Quantitative Research,作者:刀疤连 未经授权...经典的因子包括价值、规模、低风险、盈利、成长、动量和红利等,投资者可以通过Smart Beta基金低成本参与因子投资的盛宴。 量化策略不存在圣杯,...
  • 投资者在下半年可继续参考我们的每周建议组合。 MEX量化策略年初至今相对基准S&P 500 Total Return Index的年化阿尔法(α)为13%。量化模型每周调仓,并于每周一开盘下单及周五收盘平仓,各货币对一标准手,建议...
  • 投资者在下半年可继续参考我们的每周建议组合。另外,本周组合和上周组合保持一致。 MEX量化策略年初至今相对基准S&P 500 Total Return Index的年化阿尔法(α)为13%。量化模型每周调仓,并于每周一开盘下单及...
  • 投资者在下半年可继续参考我们的每周建议组合。另外,本周组合和上周组合保持一致。 MEX量化策略年初至今相对基准S&P 500 Total Return Index的年化阿尔法(α)为13%。量化模型每周调仓,并于每周一开盘下单及...
  • MEX动量反转量化策略继续在2020年货币市场展现出稳固并明显的每周动量反转效应,并再次来到历史新高附近,投资者在下半年可继续参考我们的每周建议组合。 MEX量化策略年初至今相对基准S&P 500 Total Return ...

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

动量投资者