Files
amstrongzyf b16c3a77d9 feat: data implement for pre-proposal and proposal and add datasets (#1303)
* feat:(1) support for multi layer dataset extraction (2) add category.json for dataset in datasets/

* fix: fix bug for generate category.json

* feat: add get_dataset_folder_desc

* init data proposal and merge qzli/ft

* update data proposal prompts and add max_position_embeddings and resolve confilcts

* remove sample counts in data proposal

* turn data and train to unified hypo_gen

* refine prompts

* remove category.json and add it to dataset_info

* fix jinja problem and proposal done

* lint

* add ai-generated description and raw readme into dataset_info.json

* update prompt for description

* add datasets

* initial fix for proposal of data

* final version for data proposal

* lint
2025-11-28 20:50:11 +08:00
..
2024-07-11 08:49:37 +00:00
2025-06-18 14:35:45 +08:00
2024-09-06 17:18:52 +08:00

🐳 Run Docker & Qlib


📄 Description

This guide explains how to run the Qlib Docker test file located at test/utils/test_env.py in the RD-Agent repository.


🚀 Running Instructions

1. Install the required Python libraries

  • Ensure that the docker Python library is installed:
    pip install docker
    

2. Run the test script

  • Execute the test script to verify the Docker environment setup:
    python test/utils/test_env.py
    

Troubleshooting

  • PermissionError: [Errno 13] Permission denied.

    This error occurs when the current user does not have the necessary permissions to access the Docker socket. To resolve this issue, follow these steps:

  1. Add the current user to the docker group Docker requires root or docker group user permissions to access the Docker socket. Add the current user to the docker group:

    sudo usermod -aG docker $USER
    
  2. Refresh group changes To apply the group changes, log out and log back in, or use the following command:

    newgrp docker
    
  3. Verify Docker access Run the following command to ensure that Docker can be accessed:

    docker run hello-world
    
  4. Rerun the test script After completing these steps, rerun the test script:

    python test/utils/test_env.py
    

🛠️ Detailed Qlib Docker Function Framework

Here, we provide an overview of the specific functions within the Qlib Docker framework, their purposes, and examples of how to call them.

QTDockerEnv Class in env.py

The QTDockerEnv class is responsible for setting up and running Docker environments for Qlib experiments.

Methods:

  1. prepare()

    • Purpose: Prepares the Docker environment for running experiments. This includes building the Docker image if necessary.
    • Example:
      qtde = QTDockerEnv()
      qtde.prepare()
      
  2. run(local_path: str, entry: str) -> str

    • Purpose: Runs a specified entry point (e.g., a configuration file) in the prepared Docker environment.
    • Parameters:
      • local_path: Path to the local directory to mount into the Docker container.
      • entry: Command or entry point to run inside the Docker container.
    • Returns: The stdout output from the Docker container.
    • Example:
      result = qtde.run(local_path="/path/to/env_tpl", entry="qrun conf.yaml")
      

📊 Expected Output

Upon successful execution, the test script will produce analysis results of benchmark returns and various risk metrics. The expected output should be similar to:

'The following are analysis results of benchmark return (1 day).'
risk
mean               0.000477
std                0.012295
annualized_return  0.113561
information_ratio  0.598699
max_drawdown      -0.370479

'The following are analysis results of the excess return without cost (1 day).'
risk
mean               0.000530
std                0.005718
annualized_return  0.126029
information_ratio  1.428574
max_drawdown      -0.072310

'The following are analysis results of the excess return with cost (1 day).'
risk
mean               0.000339
std                0.005717
annualized_return  0.080654
information_ratio  0.914486
max_drawdown      -0.086083

'The following are analysis results of indicators (1 day).'
value
ffr    1.0
pa     0.0
pos    0.0

By following these steps and using the provided functions, you should be able to run the Qlib Docker tests and obtain the expected analysis results.