股票多因子模型策略构建

股票因子可以有多个,但通常不会只用其中一个因子作为最终的策略。此时需要对这若干个因子进行组合来构建策略,并通过调优来形成最终的多因子策略用于交易。本篇以中证500指数和其成分股为数据基础,并以营收年化增长率因子和市净率因子为多因子模型基础来构建我们的选股策略。当中没有考虑换手率频率控制以及交易成本,这个可以根据实际情况需要来增加。

首先导入所需的module和数据:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 导入成分股年化营收增长率数据
revenue_yoy = pd.read_csv('revenue_yoy_zz500.csv', index_col=0)
# 导入成分股市净率数据
pb = pd.read_csv('pb_zz500.csv', index_col=0)
# 导入成分股日收益率数据
returns = pd.read_csv('returns_zz500.csv', index_col=0)*0.01

同时我们将未做处理的中证500指数的增长率作为业绩比较基准,并绘制累积收益曲线:

# 导入中证500指数的收益率
zz500_index = pd.read_csv('zz500_index.csv', index_col=0)['000905.SH']  #指数收益率为series格式

# 计算比较基准的累积增长数据(此处直接将日收益率相加,也可用对数值相加计算)
benchmark_returns = zz500_index.pct_change().fillna(0.).cumsum().tolist()  # 累积收益数据存放在list中

# 绘制曲线
plt.plot(benchmark_returns)
plt.title('benchmark_returns')

每日对股票revenue和pb求rank,并做归一会处理使得rank在0-1之间:

rev_rank = revenue_yoy.rank(axis=1)/500  #每一行里面对revenue进行排序
pb_rank = pb.rank(axis=1)/500  #每一行里对pb进行排序

 多因子策略构建1,revenue因子权重50%,pb因子权重50%的情况下选取每日前20%排位的股票,计算累积收益率并绘图:

strat_returns = [0] 

for i in range(len(returns)-1):  
    selected = (rev_rank.iloc[i] * 0.5 + pb_rank.iloc[i] * 0.5) > 0.8 
    ret = returns.iloc[i + 1].loc[selected].mean()  #等权重持仓,也可以按其他权重持仓    
    strat_returns.append(ret)
    
# 计算每日收益率的累积函数(也可根据需要取对数后求和)
plt.plot(pd.Series(strat_returns).cumsum(), label='strategy')
plt.plot(benchmark_returns, label='zz500')
plt.title('strategy vs zz500')
plt.legend()

多因子策略构建2,我们也可以每日按照年化revenue增速因子排名为前20%,同时按照pb因子排名也在前20%的股票才作为选股对象,同样计算累积收益率并绘图。此时可以看出,按照第二个策略得到的超额收益是更高的。

strat_returns = [0] 

for i in range(len(returns)-1):  
    selected = (pb_rank.iloc[i] > 0.8) & (rev_rank.iloc[i] > 0.8) 
    ret = returns.iloc[i + 1].loc[selected].mean()  #等权重持仓,也可以按其他权重持仓    
    strat_returns.append(ret)
    
# 计算每日收益率的累积函数(也可根据需要取对数后求和)
plt.plot(pd.Series(strat_returns).cumsum(), label='strategy')
plt.plot(benchmark_returns, label='zz500')
plt.title('strategy vs zz500')
plt.legend()

 

 总结,对于两个或多个因子以上的因子构建横截面选股策略其实可以有多种选择,实际情况好坏可以通过前述的参数调优的方法进行优化。因子之间也不一定要按照线性组合方式来组合,更多逻辑关系作为选股方案更便于投资直觉的实现。此外,这里按照等权重进行组合构建,如考虑流动性等问题可以做一些权重倾斜。另外,出于控制手续费的考虑,可以对换仓频率进行控制,比如每10天,20天进行一次调仓,调仓频率可以作为策略构建时的一个参数。最后,对于构建出来的多因子策略,我们依然可以按照我之前的文章《股票因子--IC分析》和《股票因子--回归分析》来做相关的分析并改进。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 股票多因子模型实战pdf是一个探讨股票投资的研究文献,该文献使用了多因子模型来评估股票的投资回报和风险。 多因子模型是用来解释股票收益和风险的统计模型。它基于一个假设,即股票收益可以由多个因子解释。这些因子可以是宏观经济指标、行业数据、公司财务指标等。通过将这些因子结合起来,可以建立一个模型,进而预测股票的未来回报。 在股票多因子模型实战pdf中,研究者可能会首先确定用于评估股票回报的因子。这些因子可以包括公司盈利情况、股价波动、市场情绪等。然后,研究者会收集这些因子的历史数据,并将其与股票回报率进行回归分析。通过回归分析,研究者可以确定各个因子对股票回报的影响程度。 接下来,研究者会使用多因子模型来评估股票的投资回报和风险。他们会将股票的历史数据输入到模型中,然后根据模型的结果来预测股票未来的回报和风险。这个过程可以帮助投资者更好地理解股票市场,并作出更明智的投资决策。 总之,股票多因子模型实战pdf是一个研究股票投资的文献,它使用了多因子模型来评估股票的回报和风险。通过这个模型,研究者可以预测股票的未来表现,并帮助投资者做出更明智的投资决策。 ### 回答2: 股票多因子模型是一种用于预测股票回报的模型,它基于多个因素对股票回报进行建模和预测。股票多因子模型实战PDF是指关于该模型的实际应用案例和相关资料的PDF文档。 这份PDF文档可能包含以下内容: 1. 多因子模型的理论基础:介绍多因子模型的原理和基本假设。例如,CAPM模型、Fama-French三因子模型等。 2. 多因子模型构建方法:详细介绍如何选择和构建股票多因子模型中的因子。这些因子可以包括基本面因子(如市盈率、市净率等),技术指标因子(如移动平均线、相对强弱指标等)等。 3. 数据获取和预处理:说明如何获取和处理用于多因子模型股票数据。这包括股票价格数据、财务数据等。在这个过程中,需要对数据进行清洗、调整和标准化等处理。 4. 模型实施与回测:介绍如何实施股票多因子模型并进行回测。回测是通过历史数据来验证模型的预测能力和有效性。这个过程中,需要选择适当的回测指标,并对模型进行参数调优。 5. 实战案例:提供具体的多因子模型实施案例,以帮助读者理解和应用模型。这些案例可能包括选股策略、择时策略、组合优化等。 通过学习和实践股票多因子模型实战PDF,读者可以了解如何利用多个因子来预测股票回报,并将其应用于实际投资中。这有助于提高投资决策的准确性和有效性,从而提升投资收益。 ### 回答3: 股票多因子模型实战pdf是一种用于分析股票投资组合的方法。这个模型通过考虑多个因素来评估股票的表现。这些因素可以是公司基本面因素,市场因素,技术指标等。 首先,股票多因子模型需要选择适当的因子来评估股票的价值。常用的因子包括市盈率,市净率,市销率,以及公司的盈利增长率等。通过综合考虑这些因素,可以评估股票的相对价值。 然后,使用股票多因子模型可以计算每只股票的预期收益率。这个预期收益率是根据所选因子的权重来计算的。通过比较预期收益率和实际收益率,可以评估股票的表现。 最后,股票多因子模型还可以用来构建投资组合。通过将不同股票的预期收益率和风险进行优化,可以构建一个具有较高收益和较低风险的投资组合。这样的投资组合可以帮助投资者实现更好的投资回报。 总之,股票多因子模型实战pdf是一种有效的方法来分析股票投资组合。通过考虑多个因素来评估股票的价值和表现,投资者可以更加科学地进行投资决策。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值