分析公式参考了worldquant
公开的alpha101
:http://q.youquant.com/chart/doc/101_Formulaic_Alphas.pdf中行情计算的方法, 基本兼容了其语法(未实现的有说明),并进行了增强。用于快速对时间序列进行运算、验证想法。Alpha因子分析工具页面。
下面的“{}”代表占位符,所有表达式大小写不敏感,x代表数据时间序列
abs(x), log(x), sign(x)
字面意思,分别是绝对值、对数、符号函数。以下操作符+, -, *, /, >, <
也符合其标准的含义,==
:是否相等,||
:逻辑或,x ? y : z
:三目运算符。
rank(x)
:横截面的排序,返回所在百分比。需要指定侯选多个标的池,用于单个行情无法计算,将直接返回原结果。delay(x, d)
: 序列d周期前的值。sma(x, d)
: 序列d周期的简单均线。correlation(x, y, d)
:时间序列x和y过去d周期的相关系数。covariance(x, y, d)
:时间序列x和y过去d周期的协方差。scale(x, a)
:归一化数据,使sum(abs(x))=a
(a默认为1)。delta(x, d)
:时间序列x的现在值减去d周期前的值。signedpower(x, a)
: x^a
。decay_linear(x, d)
:时间序列x带权重的d周期移动平均值,权重为d,d-1,d-2…1(经过归一化处理)。indneutralize(x, g)
: 针对行业分类g进行中性处理,目前不支持。ts_{O}(x, d)
: 对时间序列x过去d个周期进行O操作(O可具体代表min、max等,接下来有介绍),d会转为整数。ts_min(x, d)
: 过去d周期最小值。ts_max(x, d)
: 过去d周期最大值。ts_argmax(x, d)
: ts_max(x, d)
位置。ts_argmin(x, d)
: ts_min(x, d)
位置。ts_rank(x, d)
: 过去d个周期时间序列x值的排序(百分比排序)。min(x, d)
: ts_min(x, d)
。max(x, d)
: ts_max(x, d)
。sum(x, d)
:过去d周期的和。product(x, d)
:过去d周期的积。stddev(x, d)
:过去d周期的标准差。输入数据的大小写不敏感,默认的数据是网页上的选择品种,也可以直接指定例如MA888.close
returns
:收盘价收益率。open, close, high, low, volume
:周期内开盘价、收盘价、最高价、最低价、成交量。vwap
:成交量加权成交价,未实现,当前为收盘价。cap
:总市值,未实现。IndClass
:行业分类,未实现。支持一次输出多个结果,用列表表示。例如[sma(close, 10), sma(high, 30)]
将会在图中画两条线。 除了输入时间序列数据外,也可以当成一个简单的计算器。