量化 - 多因子策略1

回到顶部(go to top)

一、Alpha 和 Beta 

 

 

alpha难得,想获得alpha就需要通过多因子策略等方法,来获得!

 

 

 

回到顶部(go to top)

二、多因子策略 理论介绍

2.1 什么是多因子策略

特征:因子

目标值:股票收益(需要计算)

 

 

2.2 多因子(Alpha因子)的种类

按照因子分析角度:

 

 

按照因子来源的角度:

 

 

2.3 多因子策略的优势

 

 

回到顶部(go to top)

三、必背模型

3.1 单因子模型 - 系统风险因子:资产定价模型 CAPM

详细请看:CFA - 投资学 - 4.资本资产定价理论CAPM - Capital Asset Pricing Model

 

这个模型只关注了β因子,收益只跟着市场走

 

 

 

 

3.2 多因子模型 - 套利定价理论(APT模型)

详情请看:CFA - 投资学 - 5.套利定价理论APT - Arbitrage Pricing Theroy

 

只是理论!!没有实际结果!!

 

 

 

 

3.3 FF三因子模型

这“三因子”指的是三类因子,每类因子还包括多了小因子,需要自己去挖掘。

 

 

SMB,通俗的理解是,规模小的公司,更会受宏观因素的影响。那么小公司要给出更高的收益率,来吸引投资者。

HML,通俗理解是,规模大的公司,更容易出现财务困难

 

 

 

 

3.4 FF五因子模型

 

 

回到顶部(go to top)

四、数据挖掘怎么做?

最重要的一环就是数据挖掘,构建策略反而没那么难...

 

 

 

 

回到顶部(go to top)

五、多因子策略流程

5.1 流程图

重点在 因子的处理和探索 

 

 

 

 

 

 

5.2 多因子策略确定的事情

 

 

 

 

5.3 因子挖掘怎么做?- RiceQuant的研究平台

 

 

 

 

 

 

5.4 研究平台的函数

 

 

 

get_price - 获取合约历史数据

 

 

示例:

 

 注意这里只能显示二维的结构。一旦第二个例子把“fields='close'”删去,二维就塞不下了,会返回pandas Panel结构

 

查看某个数据的类型:

 

 

 

get_trading_dates - 获取交易日列表

 

 

 

get_fundamentals - 查询财务数据

 

 

回到顶部(go to top)

六、面板/截面/序列数据

 

 

6.1 面板数据(DataPanel) vs 截面数据(DataFrame) vs 序列数据

 

 

 

面板数据 DataPanel,由 截面数据 和 序列数据 组成:

 

 

 

截面数据DataFrame :

 

 

 

 

序列数据:

 

 

 

将面板数据 转换为 截面数据:

 

 

回到顶部(go to top)

七、因子数据处理 - 去极值

7.1 什么是因子去极值处理

 

7.2 去极值的三种方法

 

 

7.3 去极值 - 分位数去极值

 

中位数:

四分位数:

 

百分位数:

 

分位数去极值 原理

 

 

分位数去极值 API

 

举例:limits = 0.25, 那么所有处于0.25 quantile左边的都会被重置为0.25 quantile的值,所有处于1-0.25 = 0.75 右边的都会被重置为0.75 quantile 

(这里的limits理解可能有误,需要double check)

 

示例

 

 

 

 

自定义分位数去极值

np是numpy包

 

 

 

7.4 去极值 - 中位数绝对偏差去极值(推荐)

 

 

计算方法

 

 

 

 

  

7.5 去极值 - 正态分布去极值(不推荐)

 

 

3sigma方法实现

 

 

回到顶部(go to top)

八、因子数据处理 - 标准化

8.1 需要导入sklearn.preprocessing StandardScaler

 

rice quant还支持更多的Python库:

 

 

 

8.2 标准化函数

 

 

回到顶部(go to top)

九、因子数据处理 - 市值中性化

 

 

9.1 为什么需要中性化处理?

 

 

 

9.2 怎么去除市值影响

对于某受市值影响的因子:使用回归 y = a*x+b法,来去除市值影响

 

 

9.3 市值中性化处理 - 回归法

 

 

 

9.4 示例:去除 [市净率] 与 [市值] 之间的联系部分

步骤:

 

步骤:

 

posted on   frank_cui  阅读(2035)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

levels of contents
点击右上角即可分享
微信分享提示