yfei1 / cha-ching

an intelligent agent that learns to trade in a simulated virtual stock market

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stonks

Autonomous Stock-Trading Agent $$ Cha-Ching $$

autonomous agents that analyze stock trends and trade intelligently in a simulated virtual stock market

new features currently in development. More agents and Market types comming soon :))

Table of Contents

Dependencies

jfreechart-1.5.0

commons-math3-3.6.1

all the external libraries above can be found at src/main/resources

Agents

The Agents take in information from the market, and decide on what to buy and how much to buy.

Its main goal is to maximize its net worth, which is the sum of its current balance and its portfolio worth.

The following types of agents are provided in this project:

  1. Random Agent: The Agent buys and sells stock randomly, within its budget Random Agent

  2. Auto Agent: The Auto agent looks at a sequence of the stock market past prices, and tries to buy low and sell high. It tries to predict the low and high points in the market using linear regression. Auto Agent

  3. Averaging Agent: The Averaging agent also tries to buy low and sell high, but instead uses the "moving average" technique to determine the time for buying and selling. Averaging Agent

Markets

The Market holds a list of different stocks, each fluctuating with time.

The follwoing types of stock markets are provided:

  1. Naive Market: A simple market that only keeps track of how much stock are bought and sold, and assumes that the amount of buying and selling has no impact on stock price.

Usage

run app.java found at src/main/java/

Change the agent types and market types at the top of app.java to use different agents and markets

About

an intelligent agent that learns to trade in a simulated virtual stock market


Languages

Language:Java 96.0%Language:Python 4.0%