File size: 2,223 Bytes
590a501 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | # GP 因子 + LightGBM 实验(需先运行 GP 挖掘并生成 gp_qlib_handler.pkl)
# 运行: python scripts/run_qrun.py --config config/workflows/workflow_gp_lightgbm.yaml --run-id qlib_gp_run_0
experiment_name: ml_alpha_gp
qlib_init:
provider_uri: data/qlib_data/cn_data
region: cn
exp_manager:
class: MLflowExpManager
module_path: qlib.workflow.expm
kwargs:
uri: mlruns
default_exp_name: ml_alpha_gp
market: &market csi300
benchmark: &benchmark SH000300
# handler 路径由 run_qrun.py 根据 RUN_ID 动态注入
gp_handler_config: &gp_handler_config
instruments: *market
start_time: 2010-01-01
end_time: 2020-09-25
fit_start_time: 2010-01-01
fit_end_time: 2017-12-31
handler_path: outputs/gp_mining/qlib_gp_run_0/gp_qlib_handler.pkl
port_analysis_config: &port_analysis_config
strategy:
class: TopkDropoutStrategy
module_path: qlib.contrib.strategy
kwargs:
signal: <PRED>
topk: 50
n_drop: 5
backtest:
start_time: 2019-04-01
end_time: 2020-09-24
account: 100000000
benchmark: *benchmark
exchange_kwargs:
limit_threshold: 0.095
deal_price: close
open_cost: 0.0005
close_cost: 0.0015
min_cost: 5
task:
model:
class: LGBModel
module_path: qlib.contrib.model.gbdt
kwargs:
loss: mse
learning_rate: 0.05
max_depth: 8
num_leaves: 128
colsample_bytree: 0.8
subsample: 0.8
num_threads: 8
dataset:
class: DatasetH
module_path: qlib.data.dataset
kwargs:
handler:
class: GPFactorHandler
module_path: factor_engine.gp_handler
kwargs: *gp_handler_config
segments:
train: [2010-01-01, 2017-12-31]
valid: [2018-01-01, 2019-03-31]
test: [2019-04-01, 2020-09-25]
record:
- class: SignalRecord
module_path: qlib.workflow.record_temp
kwargs:
model: <MODEL>
dataset: <DATASET>
- class: SigAnaRecord
module_path: qlib.workflow.record_temp
kwargs:
ana_long_short: false
ann_scaler: 252
- class: PortAnaRecord
module_path: qlib.workflow.record_temp
kwargs:
config: *port_analysis_config
|