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 :))
jfreechart-1.5.0
commons-math3-3.6.1
all the external libraries above can be found at src/main/resources
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:
-
Random Agent: The Agent buys and sells stock randomly, within its budget
-
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.
-
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.
The Market holds a list of different stocks, each fluctuating with time.
The follwoing types of stock markets are provided:
- 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.
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