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%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-11-19 08:42:19 -07:00
agent add ai error tracking 2025-10-06 14:00:38 -06:00
broker ai agent done 2025-09-17 08:27:42 -06:00
docs add schedule.txt 2025-10-06 11:22:59 -06:00
prompts update system prompt 2025-11-19 08:42:19 -07:00
services update system prompt again 2025-11-19 08:22:52 -07:00
types update user prompt, add reasoning saving 2025-10-06 09:05:50 -06:00
utils refine ai decision making 2025-10-06 14:14:10 -06:00
.gitignore update gitignore 2025-09-22 08:12:00 -06:00
go.mod add redis integration 2025-09-22 08:05:38 -06:00
go.sum add redis integration 2025-09-22 08:05:38 -06:00
LICENSE Initial commit 2025-09-10 08:42:16 -06:00
main.go reactivated rng agent 2025-10-06 14:15:32 -06:00
README.md update readme 2025-10-06 15:03:16 -06:00
todo.md update mutex locks 2025-10-01 10:31:26 -06:00
update.sh update update script 2025-10-06 14:57:06 -06:00

CIS 320 Project

WakaTime

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

* = 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
  1. Create an .env.local in 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.