qlib icon indicating copy to clipboard operation
qlib copied to clipboard

Qlib simulator refinement

Open lihuoran opened this issue 3 years ago • 0 comments

Description

  • Qlib Simulator
    • Use dict-like config to create strategies & executors. Totally abandon the hardcoded version.
    • Make Qlib simulator more general.
  • Executor
    • Add is_collecting
    • Call inner_strategy.post_upper_level_exe_step() in NestedExecutor
  • Strategy
    • Add post_upper_level_exe_step() method
    • Add SAOEStrategy, strategies that use SAOEState as states. Make DecomposedStrategy a subclass of SAOEStrategy.
    • Move StateMaintainer inside SAOEStrategy. Now each SAOEStrategy can have its own state maintainer, so it can maintain its own state.
  • Other
    • Remove qlib/rl/from_neutrader. Move all necessary components into simulator_qlib.
    • Re-organize file structure
      • qlib/rl/strategy
      • qlib/rl/order_execution/objects
      • qlib/rl/order_execution/state

Motivation and Context

How Has This Been Tested?

  • [ ] Pass the test by running: pytest qlib/tests/test_all_pipeline.py under upper directory of qlib.
  • [ ] If you are adding a new feature, test on your own test scripts.

Screenshots of Test Results (if appropriate):

  1. Pipeline test:
  2. Your own tests:

Types of changes

  • [ ] Fix bugs
  • [ ] Add new feature
  • [ ] Update documentation

lihuoran avatar Aug 03 '22 07:08 lihuoran