一些因子的来源和原理
对公司经营状况的预估(基本数据)
fundamental datasets
- 运营盈利: 只对大型公司有效
- 盈利/支出
-rank(ebit/capex)- 投入更多到运营盈利上的公司不怎么样
0.3*group_rank(ebit/assets,subindustry)- 0.7*group_neutralize(ts_mean(ebit,210)/ts_mean(capex,210),subindustry)-rank((ebit+assets)/capex)
- 资产估值/盈利
alpha = -group_rank(fnd2_ebitdm, industry)-group_rank(fnd2_ebitfr, industry); group_rank(fn_assets_fair_val_a,industry)>0.5?alpha*2 : alphafnd2_ebitdmdomestic ebit,fnd2_ebitfrforeign ebitfn_assets_fair_val_a资产估值
- 盈利/支出
- 留存收益: 未分配给股东的利润
rank(ts_delta(retained_earnings / sharesout, 66))- 留存收益/股本=每股留存收益: 不受公司规模影响
-ts_rank(retained_earnings,250)- 留存收益比历史减少, 可能是分红给股东了
- 营业收入:
ts_rank(operating_income,252)- 营业收入越高越好,
- 结合相对股价看(operating_income/close), 如果营业收入增长而股价未能跟上,可能意味着市场尚未充分定价公司改善的前景
- 结合市值(operating_income/cap)
ts_rank(fnd6_fopo/debt_lt,252)- 和长期负债的比值
- 负债
- 短期债务: 限制同行业比较
zscore(cash_st/debt_st)- 现金流越高, 还债能力越强
- 负债公允价值(Fair Value of Liabilities),公司负债在市场上的当前价值
-ts_rank(fn_liab_fair_val_l1_a,252)- 时间改成半年120
liabilities/assets,debt/assets- 高杠杆可能带来高回报
- 短期债务: 限制同行业比较
- 收入
- 税前收入, 销售数量(sales)
quantile(ts_rank(pretax_income,250))- 税前收入越靠前的公司越好
- 递延收入: 订阅型业务, 长期合约, 预付款业务
slope = ts_regression(fnd6_newqv1300_drcq,ts_step(1),252,rettype=2); rank(slope)- 计算
dr(deferred revenue)的斜率, 增长说明需求增加, 可能股票会涨
- 外汇收入: 做多
ts_mean(fn_oth_income_loss_fx_transaction_and_tax_translation_adj_a,252)
- 税前收入, 销售数量(sales)
对外部事件的响应
- 新闻影响
ts_backfill(vec_avg(nws12_prez_4l),504)- 新闻发布后股价提升4%的时间
ts_backfill(vec_sum(nws12_prez_57p),600)alpha=ts_backfill(vec_avg(nws12_prez_4l),504); trade_when(volume>adv20,alpha,-1)signed_power(ts_backfill(vec_avg(nws12_prez_4l),504)*(1+rank(volume)),2)
(ts_arg_max(ts_backfill(news_session_range, 20), 60))- 新闻后的波动范围(high-low)越大, 应该做多?? 一个季度内, 到达最大波动范围的最近时间. 越长说明波动衰减的正常. 不会极端的受到
- 需要用随时间变化快的decay, 和trade_when控制换手率
news_tot_ticks市场上所有交易品种一天内变价次数之和
- 新闻情绪
- 社媒: 对volume做neuntralize
-scl12_buzz- 讨论多的认为是负面情绪
ts_std_dev(ts_backfill(snt_social_value,60),60)- 在一段时间内有关注是好事, 注意区分不同类型的股票
- 优化:
C60=correlation_last_60_days_spy;Alpha=zscore(ts_std_dev(ts_backfill(snt_social_value, 60),60));trade_when (C60<0.4,Alpha, C60>0.6)- 做zscore 变换
- 和标普指数(SPY) 相关性不能太高(关键)
-ts_mean(pv13_ustomergraphrank_hub_rank,504)hub公司在网络中的中心度, 越低说明对其他合作伙伴依赖越少, 更稳定, 注意区分不同类型的股票
- volatility(波动率)
(implied_volatility_call_120/parkinson_volatility_120)^0.1- 历史波动率: daily return的标准差
- Implied Volatility(隐含波动率): 通过期权定价模型计算
- Parkinson波动率: 通过价格区间(high-low/close)计算
trade_when(pcr_oi_270 < 1, (implied_volatility_call_270-implied_volatility_put_270), -1)pcr_oi_270(put-call-ratio)未平仓合约数, 小于1 的话(call>put)说明市场看涨- 可以根据历史波动率分组, 提升subuniverse-test, 很有效
对市场表现的预估(量价数据)
Price-volume datasets
| 0阶数据 | 一阶数据 | 二阶数据 |
|---|---|---|
| open | returns: close增长的比例 |
fear: ts_mean(abs(returns - market_return)/(abs(returns)+abs(market_return)),20) |
| close | vwap(volume weighted avg price) | Illiquidity: abs(returns)/volume |
| high | adv20(avg days volume 20) | volatility |
| low | turnover: volume/sharesout turn20: |
|
| volume | ||
常用数据
- 开盘价, 收盘价,
- vwap(volume weighted avg price) 当天的平均
- adv20(avg days volume 20, 过去20天的平均volume)
- 一个常用的条件是
trade_when(volume > adv20, alpha, -1)表示流动性突然变高
- 一个常用的条件是
- 成交量: 根据市值(cap)分组, 不同波动时期区别对待
alpha = (1/volume);group = bucket(rank(cap),range ='0.25,1,0.25');group_rank(alpha,group);- 成交量太活跃不是好事
- 5日回归:
-rank(close-ts_mean(close,5)) -
turnover
- 相关性
-ts_corr(ts_backfill(fscore_momentum,66),ts_backfill(fscore_value,66),756)- 估值(市盈率(P/E)、市净率(P/B)等财务指标来估算)和动量(股票价格变化率计算)的相关性高, 说明股票价格和价值分离?
- 风险
SR = systematic_risk_last_60_days;USR = unsystematic_risk_last_60_days;zscore(USR + SR)- 总风险, 高风险是好的?
- 去掉和指数相关性高的股票?
trade_when(correlation_last_60_days_spy > 0.6, zscore(systematic_risk_last_60_days + unsystematic_risk_last_60_days),-1)
market_ret = ts_product(1+group_mean(returns,1,market),250)-1;rfr = vec_avg(fnd6_newqeventv110_optrfrq);expected_return = rfr+beta_last_360_days_spy*(market_ret-rfr);actual_return = ts_product(returns+1,250)-1;actual_return-expected_return- CAPM(Capital Asset Pricing Model):
rfr是risk free rate + beta * (return - rfr) - 如果股票的CAMP-adjusted return是正数, 说明是好事
- CAPM(Capital Asset Pricing Model):
参考资料
[1] https://platform.worldquantbrain.com/learn/documentation
[2] Kakushadze, Zura. “101 Formulaic Alphas.” SSRN Scholarly Paper. Rochester, NY: Social Science Research Network, December 9, 2015. https://doi.org/10.2139/ssrn.2701346. Alpha101 主要用到量价数据
[3] Wang, Ying, Bohui Zhang, and Xiaoneng Zhu. “The Momentum of News.” SSRN Scholarly Paper. Rochester, NY: Social Science Research Network, October 16, 2018. https://doi.org/10.2139/ssrn.3267337. 新闻动量和基本面相关