### Start Qdrant Server Source: https://github.com/felis33/investor-bench/blob/main/README.md Starts a Qdrant Docker container, exposing the default Qdrant port 6333 to the host. ```bash docker run -p 6333:6333 qdrant/qdrant ``` -------------------------------- ### Dockerfile Installation and Configuration Source: https://github.com/felis33/investor-bench/blob/main/README.md Commands to install dependencies and configure GuardRails. Comment out GuardRails lines if not needed. ```bash RUN python -m pip install -r requirements.txt RUN python -m pip install guardrails-ai==0.5.13 RUN guardrails configure --disable-metrics --disable-remote-inferencing --token xxxxx RUN guardrails hub install hub://guardrails/valid_choices ``` -------------------------------- ### Install jq Package Source: https://github.com/felis33/investor-bench/blob/main/README.md Installs the jq package on Debian-based systems using apt-get. ```bash sudo apt-get update sudo apt-get install jq ``` -------------------------------- ### Start VLLM Server Source: https://github.com/felis33/investor-bench/blob/main/README.md Starts the VLLM server using a provided bash script. Assumes the script is located at 'scripts/start_vllm.sh'. ```bash bash scripts/start_vllm.sh ``` -------------------------------- ### ETH Start & End Times Source: https://github.com/felis33/investor-bench/blob/main/README.md Sets the warmup and testing periods for Ethereum (ETH). ```bash warmup_start_time = "2023-02-13" warmup_end_time = "2023-04-02" test_start_time = "2023-04-03" test_end_time = "2023-12-19" ``` -------------------------------- ### Equities Start & End Times Source: https://github.com/felis33/investor-bench/blob/main/README.md Sets the warmup and testing periods for equities like HON, JNJ, UVV, and MSFT. ```bash warmup_start_time = "2020-07-01" warmup_end_time = "2020-09-30" test_start_time = "2020-10-01" test_end_time = "2021-05-06" ``` -------------------------------- ### BTC Start & End Times Source: https://github.com/felis33/investor-bench/blob/main/README.md Sets the warmup and testing periods for Bitcoin (BTC). ```bash warmup_start_time = "2023-02-11" warmup_end_time = "2023-04-04" test_start_time = "2023-04-05" test_end_time = "2023-12-19" ``` -------------------------------- ### ETF Start & End Times Source: https://github.com/felis33/investor-bench/blob/main/README.md Sets the warmup and testing periods for Exchange-Traded Funds (ETF). Note the trailing commas. ```bash warmup_start_time = "2019-07-29", warmup_end_time = "2019-12-30", test_start_time = "2020-01-02", test_end_time = "2020-09-21", ``` -------------------------------- ### Run Framework Warm-up Source: https://github.com/felis33/investor-bench/blob/main/README.md Executes the 'warmup' command within the 'devon' Docker container, mounting the current directory and using host networking. ```bash docker run -it -v .:/workspace --network host devon warmup ``` -------------------------------- ### Run Framework Testing Source: https://github.com/felis33/investor-bench/blob/main/README.md Executes the 'test' command within the 'devon' Docker container, mounting the current directory and using host networking. ```bash docker run -it -v .:/workspace --network host devon test ``` -------------------------------- ### Build Docker Container Source: https://github.com/felis33/investor-bench/blob/main/README.md Builds a Docker image tagged as 'devon' using the provided Dockerfile in the current directory. ```bash docker build -t devon -f Dockerfile . ``` -------------------------------- ### Environment Variables for API Keys Source: https://github.com/felis33/investor-bench/blob/main/README.md Configuration for API keys required for OpenAI and HuggingFace. Save these in a .env file. ```bash OPENAI_API_KEY=XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX HUGGING_FACE_HUB_TOKEN=XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX ``` -------------------------------- ### Configure Meta Settings with Pkl Source: https://github.com/felis33/investor-bench/blob/main/README.md Define the meta configuration for the framework in Pkl, including run names, agent names, trading symbols, time ranges, and model parameters. ```pkl hidden config = new meta.MetaConfig { run_name = "exp" agent_name = "finmem_agent" trading_symbols = new Listing { "BTC-USD" } warmup_start_time = "2023-02-11" warmup_end_time = "2023-03-10" test_start_time = "2023-03-11" test_end_time = "2023-04-04" top_k = 5 look_back_window_size = 3 momentum_window_size = 3 tensor_parallel_size = 2 embedding_model = "text-embedding-3-large" chat_model = "catMemo" chat_vllm_endpoint = "http://0.0.0.0:8000" chat_parameters = new Mapping { ["temperature"] = 0.6 } } ``` -------------------------------- ### Resume Framework Warm-up from Checkpoint Source: https://github.com/felis33/investor-bench/blob/main/README.md Restarts the framework warm-up process from the last saved checkpoint using the 'devon warmup-checkpoint' command in Docker. ```bash docker run -it -v .:/workspace --network host devon warmup-checkpoint ``` -------------------------------- ### Resume Framework Testing from Checkpoint Source: https://github.com/felis33/investor-bench/blob/main/README.md Restarts the framework testing process from the last saved checkpoint using the 'devon test-checkpoint' command in Docker. ```bash docker run -it -v .:/workspace --network host devon test-checkpoint ``` -------------------------------- ### Generate Configuration with Docker Source: https://github.com/felis33/investor-bench/blob/main/README.md Runs the 'devon config' command within a Docker container, mounting the current directory to /workspace and using host networking. ```bash docker run -it -v .:/workspace --network host devon config ``` -------------------------------- ### Generate Metric Report Source: https://github.com/felis33/investor-bench/blob/main/README.md Generates a metric report for the evaluation framework using the 'devon eval' command within a Docker container. ```bash docker run -it -v .:/workspace --network host devon eval ``` -------------------------------- ### Configure Chat Model with Pkl Source: https://github.com/felis33/investor-bench/blob/main/README.md Define a chat model configuration in Pkl, specifying parameters like model path, type, and inference engine. This is used for deploying fine-tuned or merged LLM models. ```pkl llama3_1_instruct_8b: ChatModelConfig = new { chat_model = "meta-llama/Meta-Llama-3.1-8B-Instruct" chat_model_type = "instruction" chat_model_inference_engine = "vllm" chat_endpoint = null chat_template_path = null chat_system_message = "You are a helpful assistant." chat_parameters = new Mapping {} } ``` -------------------------------- ### Pull Qdrant Docker Image Source: https://github.com/felis33/investor-bench/blob/main/README.md Pulls the latest official Qdrant Docker image from Docker Hub. ```bash docker pull qdrant/qdrant ``` -------------------------------- ### BibTeX Entry for InvestorBench Source: https://github.com/felis33/investor-bench/blob/main/README.md This is the BibTeX entry for the InvestorBench paper, useful for academic citations. ```bibtex @inproceedings{li-etal-2025-investorbench, title = "{INVESTORBENCH}: A Benchmark for Financial Decision-Making Tasks with {LLM}-based Agent", author = "Li, Haohang and Cao, Yupeng and Yu, Yangyang and Javaji, Shashidhar Reddy and Deng, Zhiyang and He, Yueru and Jiang, Yuechen and Zhu, Zining and Subbalakshmi, Koduvayur and Xiong, Guojun and others", booktitle = "Proceedings of the 63rd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)", month = jul, year = "2025", address = "Vienna, Austria", publisher = "Association for Computational Linguistics", url = "https://aclanthology.org/2025.acl-long.126/", doi = "10.18653/v1/2025.acl-long.126", pages = "2509--2525", ISBN = "979-8-89176-251-0" } ``` -------------------------------- ### Pull VLLM Docker Image Source: https://github.com/felis33/investor-bench/blob/main/README.md Pulls the latest official VLLM Docker image with OpenAI compatible server. ```bash docker pull vllm/vllm-openai:latest ``` -------------------------------- ### Register Chat Model in Pkl Source: https://github.com/felis33/investor-bench/blob/main/README.md Register the defined chat model identifier in a Pkl mapping for use within the framework. This associates a short name with the model identifier. ```pkl chat_model_dict = new Mapping { ["llama-3.1-8b-instruct"] = llama3_1_instruct_8b } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.