mirror of
https://github.com/kyledickey/ai-vs-rng.git
synced 2026-10-31 09:15:32 +00:00
A program to study the efficacy of LLMs in the stock market by comparing the performance of an AI driven trading agent against a random number generator.
https://cis320.kyle.so
- Go 99.7%
- Shell 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| agent | ||
| broker | ||
| docs | ||
| prompts | ||
| services | ||
| types | ||
| utils | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| main.go | ||
| README.md | ||
| todo.md | ||
| update.sh | ||
CIS 320 Project
Project name TBD
Project Description
This project explores the efficacy of various trading strategies in a simulated stock market environment. The core objective is to compare the performance of different approaches, pure randomness and an autonomously prompted Large Language Model (LLM) against each other using fictional capital. Through this comparative analysis, the project aims to shed light on the potential and limitations of AI-driven decision-making in financial markets, using RNG as a baseline.
Members
- Ana Destasio - Group Leader
- Maya Rodriguez
- Kyle Dickey
- Jesus Giron
- Kevin Chisanga
- Sebastian Dawkins
Tech Stack
- Main language: Go v1.24.1
- Stock market API: Alpaca
- SDK: alpaca-trade-api-go
- LLM: Gemini 2.5 Flash*
- Provider: OpenRouter
- SDK: go-openrouter
* = subject to change
Tech Stack Rationale
- Go: Go is my (Kyle) favorite language. It is fast, reliable, easy to use, and is a great language for building modular systems such as this. It is always my go-to.
- Alpaca: Alpaca provides a wonderful paper trading API and dashboard. It also has suplemental APIs such as the Clock and Assets API. It is also free for Paper trading.
- Gemini 2.5 Flash: Gemini 2.5 Flash is part of Google's latest Gemini releases. According to OpenRouter's rankings, it is ranked #1 in Finance and Academia. It is also insanely cheap and fast, each request we make costs ~$0.006.
Deliverables
tbd
Installation
git clone https://github.com/dickeyy/cis-320.git
cd cis-320
- Create an
.env.localin the project root for secrets.
The program loads ./.env.local on startup and will exit if it is missing.
ALPACA_KEY_RNG=your_key
ALPACA_SECRET_RNG=your_secret
ALPACA_KEY_LLM=your_key
ALPACA_SECRET_LLM=your_secret
OPENROUTER_KEY=your_key
REDIS_URL=your_url
# For logging to Axiom (optional, only if you want to send logs to Axiom)
AXIOM_TOKEN=your_token
AXIOM_DATASET=your_dataset
Usage
Development:
go run . --dev
Production:
go build -o build/cis-320 .
./build/cis-320
License
This project is licensed under the MIT License - see the LICENSE file for details.