构建公式化alphas
章节大纲
-
构建公式化因子 (Formulaic Alphas)
简介
在量化交易实践中,设计新颖的因子来解释和预测未来的资产回报对于策略的盈利能力至关重要。这类因子通常被称为 alpha 因子,或简称 alpha。
顾名思义,公式化因子是一种可以用公式或数学表达式表示的因子。
在 Qlib 中构建公式化因子
在 Qlib 中,用户可以轻松构建公式化因子。
示例
MACD,即平滑异同移动平均线,是一种用于股票价格技术分析的公式化因子。它旨在揭示股票价格趋势的强度、方向、动量和持续时间的变化。
MACD 可以用以下公式表示:
\(\text{DIF} = \frac{\text{EMA}(close, 12) - \text{EMA}(close,26)}{\text{CLOSE}}\)
\(\text{DEA}=\frac{\text{EMA}(\text{DIF},9)}{\text{CLOSE}}\)
\(\text{MACD}=(\text{DIF}−\text{DEA})\times 2\)
注意
-
DIF 表示异同值,即 12 日 EMA 减去 26 日 EMA。
-
DEA 表示 DIF 的 9 日 EMA。
用户可以使用 Data Handler 在 Qlib 中构建公式化因子 MACD:
注意
-
用户需要首先使用
qlib.init
初始化 Qlib。请参阅初始化。
Python>> 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 = { .. <span class="hljs-string">"feature"</span>: (fields, names), .. <span class="hljs-string">"label"</span>: (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
参考
-
要了解有关 Data Loader 的更多信息,请参阅 Data Loader。
-
要了解有关 Data API 的更多信息,请参阅 Data API。
-