order_file: ./data/backtest_orders.csv
start_time: "9:45"
end_time: "14:44"
qlib:
  provider_uri_1min: ./data/bin
  feature_root_dir: ./data/pickle
  feature_columns_today: [
    "$open", "$high", "$low", "$close", "$vwap", "$volume",
  ]
  feature_columns_yesterday: [
    "$open_v1", "$high_v1", "$low_v1", "$close_v1", "$vwap_v1", "$volume_v1",
  ]
exchange:
  limit_threshold: ['$close == 0', '$close == 0']
  deal_price: ["If($close == 0, $vwap, $close)", "If($close == 0, $vwap, $close)"]
  volume_threshold:
    all: ["cum", "0.2 * DayCumsum($volume, '9:45', '14:44')"]
    buy: ["current", "$close"]
    sell: ["current", "$close"]
strategies: 
  30min: 
    class: TWAPStrategy
    module_path: qlib.contrib.strategy.rule_strategy
    kwargs: {}
  1day: 
    class: SAOEIntStrategy
    module_path: qlib.rl.order_execution.strategy
    kwargs:
      state_interpreter:
        class: FullHistoryStateInterpreter
        module_path: qlib.rl.order_execution.interpreter
        kwargs:
          max_step: 8
          data_ticks: 240
          data_dim: 6
          processed_data_provider:
            class: PickleProcessedDataProvider
            module_path: qlib.rl.data.pickle_styled
            kwargs:
              data_dir: ./data/pickle_dataframe/feature
      action_interpreter: 
        class: CategoricalActionInterpreter
        module_path: qlib.rl.order_execution.interpreter
        kwargs: 
          values: 14
          max_step: 8
      network: 
          class: Recurrent
          module_path: qlib.rl.order_execution.network
          kwargs: {}
      policy: 
          class: PPO
          module_path: qlib.rl.order_execution.policy
          kwargs: 
            lr: 1.0e-4
            weight_file: ./checkpoints/latest.pth
concurrency: 5
