QUANT[10]量化交易——因子暴露度,因子收益与模型

27 篇文章 1 订阅
9 篇文章 0 订阅

一、多因子模型的一般形式,因子收益和因子暴露度

典型的股票多因子模型将 n 只股票的收益率分解为 m 个因子的线性组合和未被因子解释的残留部分,一般形式为:

 

二、理解因子暴露度

1单个股票的因子暴露都度

单个股票的因子暴露度是通过将因子值在截面上正态标准化得到:

2投资组合的因子暴露度

一个投资组合的因子暴露度就是这个投资组合的个股权重对其中单个股票因子暴露度的加权平均:

简言之,基准组合对各个因子的因子暴露为0,其他投资组合的因子暴露度就是这个投资组合在该因子上偏离了基准组合多少倍标准差。

 

三、鸿沟:从解释到预测

上文介绍模型时我们总是将强调“分解”二字,想要强调的是,不论Barra 还是CAMP和Fama-French,都只是收益的解释模型,并不包含任何预测信息,套用陆游的名句,汝果欲做预测,功夫还在模型外。

前文均在截面上讨论,忽略了时间下标,将模型加入时间下标后的表示应该是:

要预测未来的股票收益,就需要知道未来的因子收益,从未来到未来,可见,模型本身并不提供预测。但模型的功用至少有三点:

一是,事后对取得的收益做分解和评价,毕竟如果不知道收益从何处而来,也会不知道今后收益为何而去;

二是,起降维的作用,从预测 n 只股票到只需预测 m 个因子的收益;

三是,找到合适的因子,考察因子的对应的纯因子组合的收益序列,避免了简单排序导致对其他因子的暴露,更能反映该因子的历史收益情况。

如果仅从形式上来说,将模型右侧的f^t1改为f^t0即构成一个看起来不错的预测模型:

这其实隐含了预测f^t1=^t0, 我们称这是一个朴素预测(Naïve Forecast),即“过去即未来”。在没有任何信息的情况下,这也是一种选择,但因子收益一般是轮动的,我们有理由追求更好的轮动模型,这是本系列报告将来会讨论的。

在“预测”的语境下,模型通常被写作:

另外,这种写法默认了组合是充分分散的,即组合的特异收益率为0 ,如果股票过少(例如只选择r^t1最大的10只股票),只能寄希望于模型无法解释的特异收益率和预测收益率同方向了,即多因子持股不适用于集中持股的策略。

由于模型和预测之间的鸿沟如此巨大,报告中提到模型时都避免使用“预测”的字样。

from:http://www.sohu.com/a/116236612_498792

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAR回波数据的BAQ压缩和解压缩可以通过MATLAB实现。以下是一个简单的MATLAB代码示例,用于实现SAR回波数据的BAQ压缩和解压缩: ```matlab % SAR回波数据BAQ压缩与解压缩 % 压缩过程 function [comp_data, num_bits] = baq_compress(data, baq_bits) % data:原始回波数据 % baq_bits:BAQ压缩位数 % comp_data:压缩后的数据 % num_bits:压缩后的位数 % 根据BAQ压缩位数计算量化因子 quant_factor = 2^(baq_bits-1); % 将数据量化 quant_data = round(data/quant_factor); % 将量化后的数据映射到[-2^(baq_bits-1),2^(baq_bits-1)-1]范围内 quant_data(quant_data > 2^(baq_bits-1)-1) = 2^(baq_bits-1)-1; quant_data(quant_data < -2^(baq_bits-1)) = -2^(baq_bits-1); % 将量化后的数据转换为无符号整数 comp_data = quant_data + 2^(baq_bits-1); % 计算压缩后的位数 num_bits = baq_bits * length(data); end % 解压缩过程 function [decomp_data] = baq_decompress(comp_data, baq_bits) % comp_data:压缩后的数据 % baq_bits:BAQ压缩位数 % decomp_data:解压后的数据 % 根据BAQ压缩位数计算量化因子 quant_factor = 2^(baq_bits-1); % 将压缩后的数据转换为有符号整数 quant_data = comp_data - 2^(baq_bits-1); % 将有符号整数还原为量化后的数据 data = quant_data * quant_factor; % 将量化后的数据还原为原始数据 decomp_data = data; end ``` 使用示例: ```matlab % 生成测试数据 data = randn(100,1)*100; % BAQ压缩位数 baq_bits = 4; % 压缩数据 [comp_data, num_bits] = baq_compress(data, baq_bits); % 解压数据 decomp_data = baq_decompress(comp_data, baq_bits); % 计算压缩比 compression_ratio = length(data)*8/num_bits; % 显示结果 disp(['原始数据: ',num2str(data')]); disp(['压缩后的数据: ',num2str(comp_data')]); disp(['解压后的数据: ',num2str(decomp_data')]); disp(['压缩比: ', num2str(compression_ratio)]); ``` 注:以上代码仅为演示用途,实际应用中可能需要更多的错误处理和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值