8000 GitHub - gta0804/MASS: Official implementation of MASS: Multi-Agent Simulation Scaling for Portfolio Construction
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gta0804/MASS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MASS: Multi-Agent Simulation Scaling for Portfolio Construction

📜 Paper Link

✨ Overview

Overview of MASS

📝 What You Need to Know

  1. Currently, we only provide a very small subset of the complete dataset for running MASS. The full dataset will be released after the review is completed.

🧑‍💻Usage

  1. dependency installation
conda create -n your_env_name python==3.10 -y
conda activate your_env_name
pip install pdm
pdm install
  1. dataset fetching After fetching dataset, change all ROOT_PATH variables to your dataset directory. Now we release an example dataset on SSE 50 index.

  2. Extend MASS on your own dataset Due to time limit, our data source is limited. We encourage you to incorporate more data sources into MASS to get more significant performances, and we also encourage you to extend MASS beyond investment portfolio construction! You can use your data sources step by step below:

  • Define your own data modality. In MASS, we pre-define multiple data modalities in here. You can change them into your own data sources. After changing your data sources, remember to change data loading code here.
class Modality(IntFlag):  
    FUDAMENTAL_VALUTION = 0b00000001  
    FUDAMENTAL_DIVIDEND = 0b00000010 
    FUDAMENTAL_GROWTH = 0b000000100
    FUDAMENTAL_QUALITY = 0b000001000
    NEWS = 0b000010000      
    BASE_DATA = 0b000100000  
    CROSS_INDUSTRY_LABEL = 0b001000000
    RISK_FACTOR = 0b010000000
    PRICE_FEATURE = 0b100000000 
  • Use your own aggregation function. In MASS, we aggregate individual investor's decision by market disagreement hypothesis. In fact, you can use your own aggregation method. Change the code in investor_analyzer.py for your own aggregation function!
  • Use different optimizers In MASS, we use simulated annealing on agent distaribution optimization. We imeplement an optimzer framework in agent_distribution.py. You can define your own optimizer.
  1. Compute resources configuration. We use Qwen2.5-72B-Instruct as our foundation model. You can change your foundation model url here. For SSE 50 and the default configuration, 80GiB RAM is needed. You can save memory overhead by adjusting the agent parallelism here.

  2. Running MASS

python stock_disagreement/main.py

About

Official implementation of MASS: Multi-Agent Simulation Scaling for Portfolio Construction

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0