mirror of
https://github.com/microsoft/qlib.git
synced 2026-06-06 05:51:17 +08:00
* Intermediate version * Fix yaml template & Successfully run rolling * Be compatible with benchmark * Get same results with previous linear model * Black formatting * Update black * Update the placeholder mechanism * Update CI * Update CI * Upgrade Black * Fix CI and simplify code * Fix CI * Move the data processing caching mechanism into utils. * Adjusting DDG-DA * Organize import
87 lines
3.1 KiB
YAML
87 lines
3.1 KiB
YAML
qlib_init:
|
|
provider_uri: "~/.qlib/qlib_data/cn_data"
|
|
region: cn
|
|
market: &market csi300
|
|
benchmark: &benchmark SH000300
|
|
data_handler_config: &data_handler_config
|
|
start_time: 2008-01-01
|
|
end_time: 2020-08-01
|
|
instruments: *market
|
|
data_loader:
|
|
class: QlibDataLoader
|
|
kwargs:
|
|
config:
|
|
feature:
|
|
- ["Resi($close, 15)/$close", "Std(Abs($close/Ref($close, 1)-1)*$volume, 5)/(Mean(Abs($close/Ref($close, 1)-1)*$volume, 5)+1e-12)", "Rsquare($close, 5)", "($high-$low)/$open", "Rsquare($close, 10)", "Corr($close, Log($volume+1), 5)", "Corr($close/Ref($close,1), Log($volume/Ref($volume, 1)+1), 5)", "Corr($close, Log($volume+1), 10)", "Rsquare($close, 20)", "Corr($close/Ref($close,1), Log($volume/Ref($volume, 1)+1), 60)", "Corr($close/Ref($close,1), Log($volume/Ref($volume, 1)+1), 10)", "Corr($close, Log($volume+1), 20)", "(Less($open, $close)-$low)/$open"]
|
|
- ["RESI5", "WVMA5", "RSQR5", "KLEN", "RSQR10", "CORR5", "CORD5", "CORR10", "RSQR20", "CORD60", "CORD10", "CORR20", "KLOW"]
|
|
label:
|
|
- ["Ref($close, -2)/Ref($close, -1) - 1"]
|
|
- ["LABEL0"]
|
|
freq: day
|
|
|
|
learn_processors:
|
|
- class: DropnaLabel
|
|
- class: CSZScoreNorm
|
|
kwargs:
|
|
fields_group: label
|
|
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: 2017-01-01
|
|
end_time: 2020-08-01
|
|
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
|
|
colsample_bytree: 0.8879
|
|
learning_rate: 0.2
|
|
subsample: 0.8789
|
|
lambda_l1: 205.6999
|
|
lambda_l2: 580.9768
|
|
max_depth: 8
|
|
num_leaves: 210
|
|
num_threads: 20
|
|
dataset:
|
|
class: DatasetH
|
|
module_path: qlib.data.dataset
|
|
kwargs:
|
|
handler:
|
|
class: DataHandlerLP
|
|
module_path: qlib.data.dataset.handler
|
|
kwargs: *data_handler_config
|
|
segments:
|
|
train: [2008-01-01, 2014-12-31]
|
|
valid: [2015-01-01, 2016-12-31]
|
|
test: [2017-01-01, 2020-08-01]
|
|
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
|