This project aims at building a multi-agent simulator of anti-money laundering - namely AML, and sharing synthetically generated data so that researchers can design and implement their new algorithms over the unified data.
All that is needed to run this is by running the shell script pipline.sh from the AMLSim directory
sh pipline.sh
Download the docker file within the repo (named Dockerfile), then run this command within that directroy
docker build -t amlsim --build-arg BASE_IMAGE_TAG=3.9.1.3 .
- Less Hard Coded Information within property files
- make this more user friendly, i.e. so people can specify within docker file instead of property files
- Java 8
- commons-math 3.6.1
- dsiutils 2.4.2
- fastutil-8.1.0
- jsap 2.1
- json
- mason
- mysql-connector 5.1.46
- PaySim
- slf4j
- sux4j
- WebGraph 3.6.1
- Python 2.7
- networkx 1.10 (2.* will not work)
- matplotlib
- powerlaw
See Wiki page Directory Structure for details.
See Wiki page Quick Introduction to AMLSim for details.
sh scripts/build_AMLSim.sh
sh scripts/run_AMLSim.sh [SimulationName] [Steps]- SimulationName: Simulation name
- Steps: Number of steps per simulation
Example:
sh scripts/run_AMLSim.sh sample 150Before running the Python script, please check and edit configuration file prop.ini.
[InputFile]
directory = paramFiles/1K
alertPattern = alertPatterns.csvThen, please run transaction graph generator and simulator scripts.
cd /path/to/AMLSim
python scripts/transaction_graph_generator.py prop.ini paramFiles/1K/accounts.csv paramFiles/1K/degree.csv paramFiles/1K/transactionType.csv
sh scripts/run_AMLSim.sh sample 150python scripts/visualize/plot_transaction_graph.py [TransactionLog] [AlertID]- TransactionLog: Log CSV file path from AMLSim (e.g.
outputs/sample/sample_log.csv) - AlertID: An alert ID to be visualized
python scripts/convert_logs.py [ConfFile] [TransactionLog]- ConfFile: Configuration ini file for the data conversion (
convert.ini) - TransactionLog: Transaction log CSV file under
outputs/(name)/(e.g.outputs/sample/sample_log.csv)
Example:
python scripts/convert_logs.py convert.ini outputs/sample/sample_log.csvsh scripts/clean_logs.sh