章节大纲

  • 构建公式化因子 (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