This repository contains:
- Experiment Scripts (Python): For running human participant experiments and collecting data.
- Data Analysis (MATLAB): For analyzing the collected data.
- Collected Data: Raw data files from N=11 participants.
MAIN.py: Main file to run during a human participant experiment. The program generates randomized trials, robobidder models, a randomized duration, and saves collected data to a.csvfile in the same directory. It displays a plot of this collected information upon auction completion (i.e. when randomized time endpoint is fulfilled).robo_bidder.py: Contains the classrobo_bidderwhich specifies each robobidder's bidding behaviorrobo_model.py: Contains the classrobo_modelwhich specifies a set of robo-bidders parametrized by the # of desired robobidders and their growth rates. These models are generated for the sensitivity analysis.
The .csv file output from MAIN.py records the following columns:
- Time(mins): Time since the start of the Vickrey Auction. Each iterative auction is 2 mins long.
- Subject Bid Amount: Dollar amount the human participant reports to the researcher to input during the experiment.
- Won?: Win status of the participant (
TRUEif won,FALSEotherwise). - Winning Payout Amnt: Dollar amount corresponding to the second lowest bid amongst auction participants (including robo-bidders).
- Total Subject Winnings: Ongoing, tallied sum of the human participant’s winnings throughout the experiment.
Run the provided setup script to automatically configure the Python environment and view MATLAB setup instructions:
bash setup.shThis will:
- Create a Python virtual environment (
venv) if it doesn't exist - Install Python dependencies from
requirements.txt - Print MATLAB setup instructions
If you prefer to set up manually:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt- MATLAB Version: R2024b
- Required Toolboxes: Statistics and Machine Learning Toolbox
- All custom MATLAB scripts and functions are included in the
MATLAB analysisfolder.
- Data files are in the
Collected Datafolder.
- Set up the Python environment as above.
- Run the experiment:
python Experiment Scripts/MAIN.py
- Data will be saved as
.csvin the same directory.
- Open MATLAB.
- cd into the
Data analysisfolder. - Run the
MAIN.mlxscript for data analysis.
- Python: 3.9
- MATLAB: R2024b
- OS: macOS, Windows
If you use this code or data, please cite this repository and the associated Zenodo DOI.