分析公式参考了worldquant公开的alpha101:http://q.fmz.com/chart/doc/101_Formulaic_Alphas.pdf 中行情计算的方法,基本兼容了其语法(未实现的有说明),并进行了增强。这个功能为将来支持股票而提前做准备,用户可以试用下。 用于快速对时间序列进行运算,验证想法。使用地址:https://www.fmz.com/m/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)]
,将会在图中画两条线。
除了输入时间序列数据外,也可以当成一个简单的计算器。