量化学习第一课
chapter1: overview of quant and its key concepts
成为研究顾问
- 需要在BRAIN上获得10000分,一天最多2000分。
- 完成并通过背调,签订协议。
EARN: 顾问收入构成
Base Payment
- 金额范围:1 - 120 USD/Day
- 1 - 60USD / day alphas
- 1 - 60USD / day super alphas
- 决定单日津贴金额的要素
- 提交数量(相比全球其他顾问)
- 提交质量(相比全球其他顾问)
- 自我成长与历史相比的比较
- Value Factors(越接近1越好)
- 当前Theme对质量分有倍数加成
- Dataset Themes
- Region Themes
- Super Alpha Themes
- Learn => Theme Calendar
Quarterly Payment
- 金额范围:100 - 25,000 USD/季度
- 条件:上季度超过20天有提交
- 决定因素
- 由Weight和OS表现决定
- Weight需要时间的积累
- OS结果与Value Factors直接相关
- 通常情况下好的Alpha具备
- sub - universe和super universe有70%Sharpe
- Turnover在30%以下
- Margin大于4bps
- 不要为了通过相关性检测加噪音(show an overfitting Alpha)
Competition
- 参与比赛类型
- Super Alpha Competition
- ACE Competition
- Global Alphathon
- Local Alphathon
- IQC
Referral
- 奖励金额:200 USD / success referral
- 条件
- 新用户注册填写你的User Alias
- 无上限
- 限时推广活动
- 被推荐用户成为顾问
- 被推荐用户10个不同自然日提交alpha
- 被推荐用户保持顾问身份1个月以上
核心区域
- ALPHA RESEARCH(阿尔法研究):位于图中央,是核心环节。研究人员在此分析数据集,寻找阿尔法。阿尔法在WorldQuant被定义为用于预测各类金融工具未来价格走势的数学模型 。
数据相关
- DATASETS(数据集):左侧区域,全球数据策略团队(Global Data Strategy team)不断寻找新数据,为阿尔法研究提供基础支持。新数据是构建和优化阿尔法模型的重要原材料。
研究与策略构建
- STRATEGIES(策略):研究人员分析数据集找到阿尔法后,投资组合经理(Portfolio Managers)将这些阿尔法整合成投资策略。这一步是将单个的预测模型转化为可操作的投资方案。
资产配置
- PORTFOLIO MANAGERS(投资组合经理):负责把阿尔法组合成策略后,优化团队(Optimization team)确定向投资组合经理的资产分配,确保资产合理配置,以实现投资目标。
开发量化投资思路的一种方法
- 收集数据和信息
- 提出一个思路或假设
- 将思路转化为数学模型
- 用历史数据对该思路进行回测
- 检验稳健性
world quant平台可以做145 顾问负责23
基本概念:动量策略与反转策略
通过动量和反转策略寻找投资思路
动量策略(Momentum)
- 跟随价格趋势。
- 在动量投资中,交易者会对价格呈上升趋势的资产建立多头头寸,或对处于下跌趋势的证券进行卖空。
- 基本理念是:一旦趋势确立,价格沿该趋势方向继续运行的可能性,大于逆趋势运行的可能性。
反转策略(Reversal)
- 反转指价格趋势方向的改变,这种改变相对于主流趋势,可能是正向或负向的变动。
- 在价格图表上,反转表现为价格结构发生可识别的变化。反转也被称为“趋势反转”“反弹”或“回调” 。
基本概念:横截面分析与时间序列分析
横截面分析(Cross-sectional)
- 在任意给定时间点,对投资组合或市场中的所有股票进行分析操作。
- 分析特定公司相较于同行的表现情况。
- 横截面分析操作符:rank(排名)、zscore(标准分数)、scale(缩放)、sign(符号) 。
时间序列分析(Time-series)
- 基于股票自身的历史数据进行分析操作,研究给定变量随时间的变化情况。
- 时间序列分析操作符:ts_delta(时间序列差值)、ts_delay(时间序列延迟)、ts_sum(时间序列求和)、ts_mean(时间序列均值)、ts_rank(时间序列排名)、ts_zscore(时间序列标准分数)、ts_std_dev(时间序列标准差)、ts_regression(时间序列回归) 。
Day1课后作业
- 必做1:至少成功提交1个Alpha
- 必做2:学习平台上所有关键术语的计算公式,推荐合理使用ChatGPT等人工智能工具。挑选一个,并在Forum发布。
- 模板:Decay: This performs a linear decay function over the past n days by combining today’s value with previous days’ decayed value.
- 必做3:阅读 How BRAIN platform works | WorldQuant BRAIN,并回答以下问题:
- 假设全市场共5个股票,收盘价分别为[5,15,66,85,25],Alpha表达式为 “-close” (注意负号),在Neutralization Setting为Market的情况下,请回答这五个股票各自的交易权重(weight)为多少?long count和short count为多少(即有几个股票被做多,几个股票被做空)?
关键术语
设置界面
- 语言Language:BRAIN 平台支持快速表达式。要了解更多信息,请参阅“可用运算符”
- 工具类型Instrument Type:目前只能使用权益工具(equity)
- 区域Region和股票池Universe:目前所有 BRAIN 平台用户都可以使用的区域是美国和中国市场。欧洲和亚洲地区等区域目前仅适用于我们的研究顾问。股票池是由 BRAIN 平台准备的交易工具集。例如,“美国:TOP3000”表示美国市场上最流通的前 3000 只股票(根据最高日均交易额确定)
- 衰减Decay:通过将今天的值与前 n 天的衰减值相结合,执行线性衰减函数。它执行以下函数:(自然语言描述)今天的数据乘 n ,昨天的数据乘 n - 1,往前一天天递减相乘 ,然后把这些乘积加起来,再除以 n + (n - 1)+… + 1 。允许输入的衰减值:整数“n”,其中 n >= 0。注意:使用负数或非整数值进行衰减将破坏回测。提示:衰减可用于减少周转,但衰减值过大会削弱信号
- 截断Truncation:整体组合中每只股票的最大权重。当它设置为 0 时,没有限制。允许输入的截断值:0 <= x <= 1 的浮点数(注意:截断的任何值超出此范围都可能影响/破坏回测)。提示:截断旨在防止过度暴露于个别股票的波动。推荐的设置值为 0.05 到 0.1(涵盖 5%-10%)
- NaN 处理:NaN 处理将 NaN 值替换为其他值。如果 NaNHandling:“On”,则根据运算符类型处理 NaN 值。对于时间序列运算符,如果所有输入都为 NaN,则返回 0。对于每组返回一个值的群组运算符(例如 group_median、group_count),如果一只股票的输入值为 NaN,则返回该组的值。如果 NaNHandling:“Off”,则保留 NaN。对于时间序列运算符,如果所有输入都为 NaN,则返回 NaN。对于群组运算符,如果一只股票的输入值为 NaN,则返回 NaN。在这种情况下,研究人员应手动处理 NaN。默认设置 NaNHandling 值为“Off”。一些手动处理 NaN 值的方法可以复制 “On” 操作
- 中性化Neutralization:中性化是用于使我们的策略市场/行业/子行业中性的操作。当 中性化 =“市场” 时,它执行以下操作:Alpha = Alpha – mean(Alpha)其中 Alpha 是权重向量。实际上,它使 Alpha 向量的平均值为零。因此,与市场相比没有净头寸。换句话说,多头暴露完全抵消了空头暴露,使我们的策略市场中性。当 中性化 = 行业或子行业 时,Alpha 向量中的所有股票都分组到对应的行业或子行业中,并分别应用中性化
- 消毒Pasteurize:消毒将不在 Alpha 股票池中的输入值替换为 NaN。当 Pasteurize =“On” 时,将为未在回测设置中选择的股票池中的工具将输入转换为 NaN。当 Pasteurize =“Off” 时,不会发生此操作,并且将使用所有可用的输入。消毒数据仅具有 Alpha 股票池中工具的非 NaN 值。虽然消毒数据包含的信息较少,但在考虑横向或组操作时可能更合适。默认的 Pasteurize 设置为“On”。研究人员可以将其切换为“Off”,并使用Pasteurize (x) 运算符进行手动消毒
- 单位处理Unit Handling:单位处理选项允许在运算符中使用到不兼容的量纲时发出警告。如果表达式使用不兼容的数据字段,例如试图将价格加上成交量,则会显示警告
- 延迟Delay:延迟指数据可用性相对于决策时间的时间差。换句话说,延迟(Delay)是指一旦我们决定持仓,我们可以交易股票的时间假设。假设您在今天的交易结束前看到数据,决定要买入股票。我们可以选择积极的交易策略,在剩余时间内交易股票。在这种情况下,持仓基于当天可用的数据(今天)。这称为“延迟 0 回测”。或者,我们可以选择一种保守的交易策略,并在第二天(明天)交易股票。然后,持仓是在明天实现的,基于今天的数据。在这种情况下,有一个 1 天的滞后。这称为“延迟 1 回测”。在表达式语言中,延迟是自动应用的,您不必担心它
回测评价界面
- Year(年份): 回测数据所在的年份。最后一行显示的是Alpha在所有年份上的表现。
- Sharpe(夏普比率): Sharpe = IR * Sqrt(252), 其中IR=观察时间段内PnL平均值/ PnL标准差。
- Turnover(换手率): 换手率表示交易的频率。它可以定义为交易价值与账本大小之比。Daily Turnover = Dollar trading volume/Booksize。良好的Alpha换手率低,因为低换手率意味着较低的交易成本。
- Fitness(稳健性): 在Alpha Performance帮助页面中定义为:Fitness = Sharpe*sqrt(abs(Returns) / max(Turnover, 0.125))。
- Returns(年化收益率): 交易资本的回报率:年回报率=年化PnL/账本大小的一半。它表示观察期间您获得或损失的金额,以%表示。Booksize指的是在回测期间用于交易的资本(资金)的金额。Booksize是恒定的,并且每天都设置为2000万美元。利润不会再投资,损失会用现金注入到组合中补充。BRAIN平台假设您有1000万美元,并将投资于高达2000万美元的资产。这被称为杠杆。表现(如收益率、Sharpe)是在1000万美元的基础上计算的。
- Drawdown(回撤):一段时间内PnL最大的降低,以百分比表示。计算方法如下:找到PnL中最大的峰值到谷值回撤,并将其美元金额除以账本大小的一半($1,000,000)来计算。
- Margin(单位收益): 每交易一美元的利润;计算方法是PnL除以一定时间段内总交易额。
- Long Count(做多数量): 做多头寸的金融工具数量。
- Short Count(做空数量): 做空头寸的金融工具数量。
题目作答
- 计算平均收盘价:所有股票收盘价的平均值为((5 + 15 + 66 + 85 + 25) / 5 = 39.2)。
- 确定多空情况:根据Alpha表达式“-close”以及Neutralization Setting为Market的条件,收盘价高于平均收盘价的股票将被做空,收盘价低于平均收盘价的股票将被做多。
- 计算交易权重:对于每个股票,其交易权重等于该股票收盘价与平均收盘价的差值占所有股票收盘价与平均收盘价差值绝对值之和的比例。具体计算如下:
- 对于股票(5):差值为(39.2 - 5 = 34.2),权重为(34.2 / (34.2 + 24.2 + 26.8 + 45.8 + 14.2)≈0.245)。
- 对于股票(15):差值为(39.2 - 15 = 24.2),权重为(24.2 / (34.2 + 24.2 + 26.8 + 45.8 + 14.2)≈0.173)。
- 对于股票(66):差值为(66 - 39.2 = 26.8),权重为(-26.8 / (34.2 + 24.2 + 26.8 + 45.8 + 14.2)≈ -0.192)。
- 对于股票(85):差值为(85 - 39.2 = 45.8),权重为(-45.8 / (34.2 + 24.2 + 26.8 + 45.8 + 14.2)≈ -0.328)。
- 对于股票(25):差值为(39.2 - 25 = 14.2),权重为(14.2 / (34.2 + 24.2 + 26.8 + 45.8 + 14.2)≈0.102)。
- 确定long count和short count:有(3)个股票(收盘价为(5)、(15)、(25))被做多,(2)个股票(收盘价为(66)、(85))被做空,所以long count为(3),short count为(2)。
- 综上所述,五个股票各自的交易权重分别约为(0.245)、(0.173)、(-0.192)、(-0.328)、(0.102);long count为(3),short count为(2)。