构建公式化阿尔法
介绍
在量化交易实践中,设计能够解释和预测未来资产收益的新因素对策略的盈利能力至关重要。这些因素通常被称为阿尔法因子,简称阿尔法。
公式化阿尔法顾名思义是一种可以用公式或数学表达式表示的阿尔法。
在``Qlib``中构建公式化阿尔法
在``Qlib``中,用户可以轻松构建公式化阿尔法。
示例
`MACD`是移动平均收敛/发散的缩写,是一种用于股票价格技术分析的公式化阿尔法。它旨在揭示股票价格趋势的强度、方向、动量和持续时间的变化。
`MACD`可以表示为以下公式:
\[MACD = 2\times (DIF-DEA)\]
备注
`DIF`表示差异值,即12期EMA减去26期EMA。
\[DIF = \frac{EMA(CLOSE, 12) - EMA(CLOSE, 26)}{CLOSE}\]
`DEA`表示DIF的9期EMA。
\[DEA = \frac{EMA(DIF, 9)}{CLOSE}\]
用户可以使用``数据处理器``在qlib中构建公式化阿尔法`MACD`:
备注
用户需要先使用`qlib.init`初始化``Qlib``。请参考`初始化 <../start/initialization.html>`_。
>> from qlib.data.dataset.loader import QlibDataLoader
>> MACD_EXP = '(EMA($close, 12) - EMA($close, 26))/$close - EMA((EMA($close, 12) - EMA($close, 26))/$close, 9)/$close'
>> fields = [MACD_EXP] # MACD
>> names = ['MACD']
>> labels = ['Ref($close, -2)/Ref($close, -1) - 1'] # label
>> label_names = ['LABEL']
>> data_loader_config = {
.. "feature": (fields, names),
.. "label": (labels, label_names)
.. }
>> data_loader = QlibDataLoader(config=data_loader_config)
>> df = data_loader.load(instruments='csi300', start_time='2010-01-01', end_time='2017-12-31')
>> print(df)
feature label
MACD LABEL
datetime instrument
2010-01-04 SH600000 -0.011547 -0.019672
SH600004 0.002745 -0.014721
SH600006 0.010133 0.002911
SH600008 -0.001113 0.009818
SH600009 0.025878 -0.017758
... ... ...
2017-12-29 SZ300124 0.007306 -0.005074
SZ300136 -0.013492 0.056352
SZ300144 -0.000966 0.011853
SZ300251 0.004383 0.021739
SZ300315 -0.030557 0.012455
参考
要了解更多关于``数据加载器``的信息,请参考`数据加载器 <../component/data.html#data-loader>`_。
要了解更多关于``数据API``的信息,请参考`数据API <../component/data.html>`_。