量化学习笔记——入门与基本概念

基本概念

量化投资

投资的核心是大数定律。

量化投资就是以数据为基础,以策略模型为核心,以程序化交易为手段,以 追求绝对收益为目标 的投资方法。

用数学表示金融市场,其数学定义:
Y = F ( x 1 , x 2 , . . . . . . , x n ) Y = F(x_1, x_2, ......, x_n) Y=F(x1,x2,......,xn)
其中 Y Y Y 是金融市场的波动(涨跌、涨跌幅、伸缩、概率), x i x_i xi 是一系列的因子。

如果看作一个函数逼近的问题 Y Y Y 是一个连续的具体值,我们可以通过神经网络和回归等方式逼近 Y Y Y 的函数表达式 F F F如果看作一个分类问题 Y Y Y 是一个离散值,分别表示涨跌,我们可以使用分类模型进行学习模型;如果看作一个概率问题 Y Y Y 表示涨或者跌的概率,我们可以计算未来的概率;如果看作一个模式识别的问题,直接对走势图进行图形模式识别判断股票走势。

投资理念:

  1. 分散投资比集中投资具有更好的收益风险比;
  2. 优秀的投资:要么在同等风险条件下,收益率更高,要么在同样的收益情况下,风险更低。

投资策略

阿尔法策略(量化选股):
关键是选出的股票组合收益要持续跑赢沪深300指数,即在市场上涨时平均涨幅要大于沪深300指数,在市场下跌时平均跌幅小于指数,并且持续稳定

量化择时:
择时交易是指利用某种方法来判断大势的走势情况,是上涨还是下跌或者是盘整。

  1. 拐点择时:(抄底摸顶)
  2. 趋势择时:(追涨杀跌)
    量化择时

统计套利策略:
当两个具有相关性的不同合约之间的价差偏离其合理区间时,可以通过在期货市场同时买入低估值合约和卖出高估值合约,在价差回归后进行反向平仓的方式来进行跨期套利交易。
统计套利策略

CTA策略:
CTA(Commodity Trading Advisors):商品交易顾问、主要投资于期货、期权、外汇期货、利率期货等衍生品市场的投资基金。又称管理期货(Managed Futures),是避险基金其中一个类别。
CTA策略属于另类投资的范畴,主要采用趋势跟随为主;主要有:海龟策略、凯特那通道、布林轨等。

期权量化:
期权套利是由期权合约或者合约之间定价偏差所带来的套利机会。
期权套利策略灵活多样,包括买卖权平价关系套利策略、价差期权组合套利策略、期权凸性套利策略、期权箱体套利策略等。
期权量化

量化选股概述

阿尔法策略

阿尔法策略有正向阿尔法和反向阿尔法:

  1. 正向阿尔法就是构建一批超越市场的股票组合,同时做空股指期货;
  2. 反向阿尔法就是融券做空一批弱于市场股票组合,同时做多股指期货。
    用股指期货对冲市场风险,获取阿尔法收益。

阿尔法的核心在于:量化选股模型。

量化选股策略总的来说可以分为:

  1. 基本面选股(价值投资型选股)
    多因子模型、风格轮动模型和行业轮动模型
  2. 市场行为选股
    资金流模型、动量反转模型、一致预期模型、趋势追踪模型和筹码选股模型

多因子模型

多因子模型是应用最广泛的一种选股模型,基本原理是采用一系列的因子作为选股标准,满足这些因子的股票则被买入,不满足的则卖出。

羊群效应 → \rightarrow 有效性
例如,当很多投资者认为低PE的价值型股票是好的投资标时,他们纷纷买入低PE的股票,会使得该股票出现上涨,或者超越大市。这样就使得低PE因子的有效性得到体现。

一般而言,多因子选股模型有两种判断方法:1. 打分法;2. 回归法。
打分法就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分,根据总分再对股票进行筛选;打分法是最简单,也是最稳定的筛选因子方法,其中因子的权重对最终的结果有者至关重要的影响。
回归法就是用过去的股票收益率对多因子进行回归,得到一个回归方程,然后把最新的因子值代入回归方程得到一个对未来股票收益的预判,最后以此为依据进行选股;其问题在于很难找到一个精确拟合的回归方程,存在很大的模型误差,实战中用处不大。

模型的建立:
1. 候选因子的选取:
候选因子可能是一些基本面指标,如PB、PE、EPS增长率等,也可能是一些技术面指标,如动量、换手率、波动等。
案例:选取1997—2010年共14年作为样本期,其中1997—2004年作为因子检验筛选期(共8年),2005—2010年作为选股模型的样本外检验期(共6年)。所选股票样本为所有正常交易且上市时间超过一个季度的A股股票,业绩基准为上证指数。从估值、成长性、资本结构、技术面等角度,选取30个常见的指标为模型的候选因子:
30个候选因子

2. 选股因子有效性的检验:
一般检验方法主要采用排序的方法检验候选因子的选股有效性。
1. 对于任意一个候选因子在模型形成期的第一个周期初开始计算各股票该因子的大小,按照从小到大的顺序对样本股票进行排序,并平均分为 n n n 个组合,一直持有到周期末。
2. 在下一个周期再按照同样的方法重新构建 n n n 个组合并持有到周期末,每个周期如此,一直重复到模型形成期末。
3. 组合构建完毕后,计算这 n n n 个组合的年化复合收益、相对于业绩基准的超出收益、在不同市场状态下的高收益组合跑赢基准和低收益组合跑输基准的概率等。
案例:有效性检验结果:
选股因子有效性检验表格
综合考虑复合收益率、超额收益以及相关性后,最终选择因子:
有效性检验后选择因子

3. 有效但冗余因子的剔除:
不同的选股因子可能由于内在的驱动因素大致相同等原因,因此其中的一些因子需要作为冗余因子剔除。
假设需要选出 k k k 个有效因子,样本期共 m m m 个月,那么具体的冗余因子剔除步骤如下:
1. 令组合 1 1 1 n n n 相对基准的超额收益分别为 A R 1 AR1 AR1 A R n ARn ARn,如果 A R 1 < A R n AR1 < ARn AR1<ARn,则将组合 i i i 的分值设置为 i i i;反之, A R 1 > A R n AR1 > ARn AR1>ARn,则将组合 i i i 的分值设置为 n − i + 1 n-i+1 ni+1,即所有组合的分值取 1 1 1 n n n 之间的连续整数。组合得分确定后,再将其赋给每月该组合内的所有个股。
2. 按月计算个股的不同因子得分间的相关性矩阵,令第 t t t 月的个股因子得分相关性矩阵为: ( S c o r e _ c o r r t , u , v ) ( Score\_corr_{t, u, v} ) (Score_corrt,u,v) u u u v v v 为因子序号,其中 u , v = 1 , 2 , . . . , k u, v = 1,2, ..., k u,v=1,2,...,k
3. 在计算完每月因子得分相关性矩阵后,计算整个样本期内相关性矩阵的平均值,计算公式为:
1 m Σ t = 1 m S c o r e _ c o r r t , u , v , u , v = 1 , 2 , . . . , k \frac{1}{m} \Sigma_{t=1}^{m}Score\_corr_{t, u, v}, u, v = 1, 2, ..., k m1Σt=1mScore_corrt,u,v,u,v=1,2,...,k
4. 设定一个得分相关性阈值 MinScoreCorr,对得分相关性平均值矩阵中大于该阈值的元素所对应的因子只保留与其他因子相关性较小、有效性较强的因子,而其他因子则作为冗余因子剔除。
案例:假定得分相关性阈值为0.5,盈利收益率和PEG相关性为0.89,ROA变动和ROE变动相关性为0.70,盈利收益率和收入净利率相关性为0.59,最终选择如下9个因子:
剔除相关因子后的因子

4. 综合评分模型的建立和选股:
在模型运行期的每个周期初对市场中正常交易的个股计算每个因子的最新得分,并按照一定的权重球的所有因子的平均分。
然后根据模型所得出的综合平均分对股票进行排序,根据需要选择排名靠前的股票。
案例:2005年1月到2010年12月的数据验证有效性,每月初将样本股票按照最新的综合评分从大到小排序,分为Q1到Q5共5个股票数量相同的流通市值加权组合,持有到月末,再在下月初用同样的方法重新构建组合,一直到检验期末。

5. 模型的评价及持续改进:
由于量化选股的方法是建立在市场无效或者弱有效的前提之下,随着使用多因子选股模型的投资者数量的不断增加,有的因子会逐渐时效,而另一些新的因子可能被验证有效而加入到模型中,因此需要不断的修订。

总体而言,多因子选股模型简单易行,有较好的稳健性,样本外的表现也很好;
在实际模型构建中,可以根据因子在前期的表现、个股所在行业、市场状况等,动态调整因子评分的比重,使得选股模型能够更加贴近市场的现实状况;
组合持有期长短的动态调整、交易成本的优化、模型运行过程中的风险控制等都可以考虑到选股模型中,使得模型具有更大的灵活度和操作性。

风格轮动

市场上的投资者是有偏好的,有时偏好价值股,有时偏好成长股,有时偏好大盘股,有时偏好小盘股。
由于投资者的这种不同的交易行为,形成了市场风格,因此在投资中,利用市场风格的变化,进行轮动投资会比一直持有的效果好。

价值股:是指被低估的股票,具有一定的投资价值,有低市盈率、市净率、高股息的特征,价值股一般规模相对较大,稳定性较强,是已经在市场上有一定规模和业绩相对稳定的上市公司;
成长股:上市公司规模不大,但处于良性发展中上市公司的股票,上市公司有良好的管理、利润持续快速增加、在市场中具有较强竞争力;
大盘股:一般指流通盘较大的上市公司的股票;
小盘股:相对而言,指流通盘较小的上市公司的股票。

国外投资风格鉴别技术一般可分为两种:

  1. 持股特征基础的投资风格鉴别法(HBS),包括晨星公司的风格箱法和新风格箱法、罗素公司的风格分类系统、弗兰克罗素和所罗门兄弟公司开发的风格分类系统等;
  2. 收益率为基础的投资风格鉴别法,如夏普的鉴别方法等。

风格分类

风格轮动的经济解释:

  1. 经济周期。宏观经济表现强劲时,小市值公司有一个较好的发展环境,小盘股表现突出的概率高于大盘股。而当经济走弱时,投资者可能会倾向于选择大盘股,起到防御作用。
  2. 反应过度/不足。当某类风格的股票在某段时间内具有较好的走势时,趋势投资者就会增加对该风格资产的投资,风格走势得以延续。但过度反应会使得该风格的股票积累过多的风险,泡沫最终破灭,形成不同风格的周期性表现。
  3. 个股周期

风格转换策略模型实际上是在建立了一系列基本预测变量的基础上,寻找一个适用于风格转换的合理模型。主要有以下三个方法:

  1. 将风格相对收益率对相关变量进行回归。但由于建立精确关系较为困难,因此这种方法基本可以排除。
  2. Markov Switch 模型。该模型主要关注相对收益率的历史表现(按照Levist的变量分类办法,这些指标主要是技术变量),并不关注其他基本经济变量,因此这种方法可能遗漏很多可用信息。
  3. Logistic 概率模型。在任意时点,风格转换的结果无非两种:转换or不转换。如果预期下期某类风格占优,则将现有风格转化为占优的风格。
    风格转换概率
    1. 如果构建期后一月份的某风格(如价值股)收益率大于另一个风格(如成长股)收益率,则 y t + 1 = 1 y_{t+1} = 1 yt+1=1,否则 y t + 1 = 0 y_{t+1} = 0 yt+1=0
    2. 建立递归预测方法,当构建期往后延伸时,则形成时间序列 y 1 , y 2 , . . . , y t y_1, y_2, ..., y_t y1,y2,...,yt
案例

风格轮动-案例1-1
风格轮动-案例1-2
风格轮动-案例1-3
风格轮动-案例1-4

行业轮动模型

研究表明,在环球资产配置中,行业配置对组合收益的贡献的重要性甚至超过了国家配置。
行业轮动策略的有效性原因是:资产价格受到内在价值的影响,而内在价值则随着宏观经济因素变化而波动。
板块/行业轮动在机构投资者的交易中最为获利的盈利模式是基于行业层面进行周期性和防御性的轮动配置。
周期性股票在扩张性货币政策时期表现较好,而在紧缩环境下则支持非周期性行业。
根据经济周期进行周期和非周期中轮换配置,将有超额收益的表现。

  • 货币周期:
    行业轮动-货币周期

  • 行业分类:选取沪深300行业指数,利用CAPM模型计算行业的Beta值和均值方差;根据Beta值来判定行业归属
    行业轮动-行业分类
    行业轮动-3

构建轮动策略如下:
1. 信息的同步性: 考虑到M2的披露时间及信息的传导时间,所有投资时段都滞后了一个月的时间。
2. 组合的构建策略: 在货币政策处于扩张时等权重配置周期性行业,紧缩时等权重配置非周期行业。
3. 按照顺周期策略构建投资组合并查看组合的收益以及对应的逆向投资(扩张时投资非周期性行业,紧缩时投资周期性行业)。

资金流模型

资金流模型适用资金流流向来判断股票在未来一段时间的涨跌情况:

  1. 如果是资金流入的股票,则股价在未来一段时间将可能会上涨;
  2. 如果是资金流出的股票,则股价在未来一段时间将可能会下跌。
  • MF指标:
    资金流量(Money Flow, MF)定义如下:
    M o n e y F l o w = Σ i = 1 n ( V o l u m e i ) × P i P i − P i − 1 ∣ P i − P i − 1 ∣ MoneyFlow = \Sigma_{i=1}^{n}( Volume i ) \times P_i \frac{P_i - P_{i-1}}{| P_i - P_{i-1} |} MoneyFlow=Σi=1n(Volumei)×PiPiPi1PiPi1
    其中, V o l u m e Volume Volume 为成交量, P i P_i Pi i i i 时刻收盘价, P i − 1 P_{i-1} Pi1 为上一时刻的收盘价。

资金流模型-计算方法
资金流模型-选股指标定义

  • 逆向选择理论
    根据历史数据回溯结果:简单买入资金流入的股票组合无法跑赢市场,而是应该采用逆向选择操作。
    即,卖出前期资金流入、价格上涨的股票,买入前期资金流出、价格下跌的股票。
    由于市场的有效性逐步提高,资金流的信息优势已经逐步丧失。

以指标排序打分的方式来筛选股票。具体步骤如下:
1. 确定待选股票池:
1. 剔除上市不满一个月的股票;
2. 剔除调仓期涨跌停及停牌的股票;
3. 剔除信息含量小于 10 % 10\% 10% 的股票。
2.构建股票组合:
1. 指标打分:以股票在各个指标中所处位置的百分数作为股票对于该指标的得分,前 1 % 1\% 1% 得分为 1 1 1,以次递减,最后 1 % 1\% 1% 得分为 100 100 100
2. 求和排序:将股票相对于各个指标的得分进行求和,将和值从小到大排序,进行分组比较;
3. 选择排名靠前的 N N N 只股票构建组合;
4. 股票权重:采用等量权重。
3. 组合定期调整:
1. 调整时间从1到3个月不等;
2. 持有到期后,利用更新后的指标数据重新确定待选股票池,重复步骤 2 即可。
4. 统计检验。分别计算个组合的收益率情况,考察组合效果。

动量翻转模型

  1. 动量策略就是寻找前期强势的股票,判断它将继续强势后买入持有;
  2. 翻转策略就是寻找前期弱势的股票,判断它将出现逆转后买入持有。

行为金融学理论、羊群效应、小公司效应、反应过度与反应不足、动量效应和翻转效应

一致预期模型

一致预期是指在众多分析师一致预期下,投资者会产生羊群效应,从而使得某股票持续上涨或者持续下跌。
一致预期选股策略采用分析师的评级数据来构建相应的组合,试图找出最适合的一致预期参数。

从历史经验来看,市场热衷于追捧一致预期看好的股票,而摒弃预期不好的股票。

趋势追踪模型

筹码选股摩西你个

策略优化

友情提示:投资有风险,本文不构成任何投资建议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

备战春招——12.05算法

树、二叉树 本次主要是对树、二叉树的前中后和递归与非递归遍历以及通过这种结构完成一些操作实现。 二叉树 中序遍历 中序遍历就是中间打印出结果嘛,如下列递归实现的&#xff0c;中间取结果. /** 递归实现* Definition for a binary tree node.* struct TreeNode {* …

Nodejs+vue+ElementUi自动排课系统

使用自动排课系统分为管理员和学生、教师三个角色的权限子模块。 管理员所能使用的功能主要有&#xff1a;首页、个人中心、学生管理、教师管理、班级信息管理、专业信息管理、教室信息管理、课程信息管理、排课信息管理、系统管理等。 学生可以实现首页、个人中心、排课信息管…

Java第二十一章 :网络通信

网络程序设计基础 网络程序设计编写的是与其他计算机进行通信的程序。Java 已经将网络程序所需要的元素封装成不同的类&#xff0c;用户只要创建这些类的对象&#xff0c;使用相应的方法&#xff0c;即使不具备有关的网络支持&#xff0c;也可以编写出高质量的网络通信程…

【模型可解释性系列一】树模型-拿到特征重要度-打印关键因素

接下来一段时间内&#xff0c;会主要介绍下模型可解释性方向的一些常用方法。 模型可解释性&#xff1a;主要用来解释为什么这个样本的特征是这样的时候&#xff0c;模型结果是那样。面向老板汇报工作(尤其是不懂算法的老板)和业务方。 常用的树模型 xgboost、lightgbm这两个…

Android studio:打开应用程序闪退的问题2.0

目录 找到问题分析问题解决办法 找到问题 老生常谈&#xff0c;可能这东西真的很常见吧&#xff0c;在之前那篇文章中 linkhttp://t.csdnimg.cn/UJQNb 已经谈到了关于打开Androidstuidio开发的软件后明明没有报错却无法运行&#xff08;具体表现为应用程序闪退的问题&#xff…

数据结构之插入排序

目录 前言 插入排序 直接插入排序 插入排序的时间复杂度 希尔排序 前言 在日常生活中&#xff0c;我们不经意间会遇到很多排序的场景&#xff0c;比如在某宝&#xff0c;某东上买东西&#xff0c;我们可以自己自定义价格是由高到低还是由低到高&#xff0c;再比如在王者某…

云原生的 CI/CD 框架tekton - pipeline(一)

文章目录 1. 官方介绍2. 组件2.1 Tekton Pipelines2.2 部署pipeline2.3 部署dashborad2.3.1 task2.3.2 taskrun2.3.3 Pipeline2.3.4 PipelineRun 3. 案例案例1: 拉取代码并查看readmestep1: 创建task - 拉取代码step2: 创建task - 查看reamdestep3: 创建task的编排 - pipelines…

软件测试面试题解析--什么题是必问的?

设计测试用例的主要方法有哪些&#xff1f;简述一下缺陷的生命周期&#xff1f;测试流程&#xff1f;项目流程&#xff1f;验收测试中和β测试区别&#xff1f;如何维护测试用例&#xff1f;每天测多少用例怎么分配的测试的一天能找多少bug你在上一家公司&#xff0c;写没写过测…

Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(二)

1 代码框架 整体项目结构如图&#xff1a; Common&#xff1a;公共库 Logs&#xff1a; 日志目录 Page&#xff1a; 页面元素 Report&#xff1a;测试报告 TestCase&#xff1a;测试用例 TestData&#xff1a; 测试数据 2 单模块运行 直接上代码&#xff1a; # -*- coding…

详细介绍如何使用 SSD 进行实时物体检测:单次 MultiBox 探测器-含源码

介绍 在实时对象检测中,主流范例传统上采用多步骤方法,包括边界框、像素或特征重采样以及高质量分类器应用的提议。虽然这种方法已经实现了高精度,但其计算需求往往阻碍了其对实时应用的适用性。然而,单次多框检测器 (SSD) 代表了基于深度学习的对象检测的突破性飞跃。SSD…

SpringCloud | Dubbo 微服务实战——注册中心详解

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 |Eureka,Nacos,Consul,Zookeeper在Spring Cloud和Dubbo中实战 引言 在项目开发过程中&#xff0c;随着项目不断扩大&#xff0c;也就是业务的不断增多&#xff0c;我们将采用集群&#xf…

647. Palindromic Substrings 516. Longest Palindromic Subsequence

647. Palindromic Substrings Given a string s, return the number of palindromic substrings 回文子串 in it. A string is a palindrome when it reads the same backward as forward. A substring is a contiguous sequence of characters within the string. nomal: …

LeetCode //C - 221. Maximal Square

221. Maximal Square Given an m x n binary matrix filled with 0’s and 1’s, find the largest square containing only 1’s and return its area. Example 1: Input: matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,…

图解Spark Graphx实现顶点关联邻接顶点的collectNeighbors函数原理

一、场景案例 在一张社区网络里&#xff0c;可能需要查询出各个顶点邻接关联的顶点集合&#xff0c;类似查询某个人关系比较近的都有哪些人的场景。 在用Spark graphx中&#xff0c;通过函数collectNeighbors便可以获取到源顶点邻接顶点的数据。 下面以一个例子来说明&#…

C语言--每日选择题--Day37

第一题 1. 有以下说明语句&#xff1a;则下面引用形式错误的是&#xff08;&#xff09; struct Student {int num;double score; };struct Student stu[3] {{1001,80}, {1002,75}, {1003,91}} struct Student *p stu; A&#xff1a;p->num B&#xff1a;(p).num C&#…

[论文精读]序列建模使大视觉模型的规模化学习成为可能

本博客是一篇最新论文的精读&#xff0c;论文为UC伯克利大学及约翰霍普金斯大学相关研究者新近(2023.12.1)在arxiv上上传的《Sequential Modeling Enables Scalable Learning for Large Vision Models》 。知名科技新媒体“新智元”给与本文极高评价&#xff0c;并以《计算机视…

STM32(PWM、ADC)

1、PWM 定义 PWM&#xff0c;全称为脉冲宽度调制&#xff08;Pulse Width Modulation&#xff09;&#xff0c;它通过改变信号的高电平和低电平的持续时间比例来控制输出信号的平均功率或电压。 PWM&#xff0c;全称为脉冲宽度调制&#xff08;Pulse Width Modulation&#xff…

FPGA实现电机位置环、速度环双闭环PID控制

一、设计思路 主要设计思路就是根据之前写的一篇FPGA实现电机转速PID控制&#xff0c;前面已经实现了位置环的控制&#xff0c;思想就是通过电机编码器的当前位置值不断地修正PID去控制速度。 那为了更好的实现控制&#xff0c;可以在位置环后加上速度环&#xff0c;实现电机位…

scipy

scipy 是什么常用方法 是什么 scipy是Python语言的一个开源数值计算库&#xff0c;主要目的是为科学、工程、计算等领域提供有用的数学算法和函数&#xff0c;包括线性代数、优化、信号处理、傅里叶变换、统计函数等。它是Python科学计算环境的重要组成部分&#xff0c;通常与N…

2021年GopherChina大会-核心PPT资料下载

一、峰会简介 自 Go 语言诞生以来&#xff0c;中国便是其应用最早和最广的国家之一&#xff0c;根据 Jetbrains 在 2021 年初做的调查报告&#xff0c;总体来说目前大概有 110 万专业的开发者 选择 Go 作为其主要开发语言。就其全球分布而言, 居住在亚洲的开发者最多&#xff…