策略分享

WorldQuant功能在平台的实现

由ypyu创建,最终由qxiao 被浏览 411 用户

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发IDE(AIStudio):

https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW

新版模版策略:

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

新版数据平台:

https://bigquant.com/data/home

https://bigquant.com/wiki/doc/dai-PLSbc1SbZX

新版表达式算子:

https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS

新版因子平台:

https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5

\

导语

本文旨在向读者介绍Alpha的相关基本概念,以及寻找和检验Alpha的主要流程和方法。在上篇中我们梳理了 WorldQuant经典读本FindingAlphas的概要以及WebSim的使用。作为下篇,我们演示如何通过BigQuant平台可以复现WebSim的因子分析功能,用户可以只输入因子表达式以及一些相关参数,便能够获取因子分析的相关结果。

模拟步骤流程

1、 输入测试的alpha表达式:在左上方m6输入特征列表模块中输入表达式。 2、 选择市场标的范围

  • topN:代表选取流动性排名前N的股票作为证券池,在m4自定义模块中设置股票池范围,默认2000

3、 设置Delay: 延迟1(默认设置)表示alpha将使用昨天的数据(价格等)。延迟0意味着alpha将使用今天的数据。本例中默认会输出close_0/close_1和close_0/open_0两类Alpha,对应着延迟0和延迟1,因此无需设置。

4、 设置Decay: 代表因子平滑的参数,decay其实就是下面表达式中的n,默认是4 Decay_linear (x, n) = (x[date] * n x[date - 1] * (n - 1)… X[date - N - 1]) / (n (n - 1)… 1) 可以在m5模块中设置此参数:

5、 设置中性化:

  • neuralized_type:代表中性化的方式,分别有market和industry两种方式 可以在自定义模块m8中设置中性化方式

6 设置最大权重限制 :

  • max_stock_weight:代表组合中的单个股票最大权重,默认0.1 也是在自定义模块m8中设置,见上图。

7、 设置本金:

  • Booksize:代表本金,默认本金1千万,2倍杠杠的话就是2千万,在m16模块中设置

8、设置回测起止时间 回测起止时间通过证券代码列表m1模块设置。

评价指标介绍

  • Long/Short Count: 多空头寸数量
  • PnL: 当期头寸损益(金额)
  • Sharpe: 夏普比
  • Fitness: 定义为Sharpe * abs(Returns) / Turnover
  • Returns: 年化收益率
  • Drawdown: 最大回撤
  • Turnover: 换手率
  • Margin: 定义为PnL / 总交易额
  • Alpha0: 权重是当天因子值,收益率定义:close_0/open_0-1
  • Alpha1: 权重是前一天因子值,收益率定义:close_0/close_1-1
  • Alpha2:权重是前一天因子值,收益率定义:close_0/open_0-1

策略案例

我们以市值因子作为示例,因子表达式为:-1*market_cap_0。我们在模块m6中输入因子表达式,选择默认参数,点击运行全部。

https://bigquant.com/experimentshare/3f7e6896126b4e1585fb9ffb063327d3

结语 : 本文在Bigquant平台上复现了WorldQuant因子分析功能,通过此功能可以快速挖掘有效因子并评估效果。

\

标签

因子分析
{link}