angeliney / owlbroker

csc384 assignment to decide when to buy, sell, or short stocks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Owl Broker

csc384 assignment to decide when to buy, sell, or short stocks

Instruction

  1. Install all module dependencies by running ‘python3 pip install --user pandas pandas_datareader scipy matplotlib'
  2. Run simulator.py by ‘python3 simulator.py’

Data Structure (WIP)

Engine

def __init__(self, param1, param2, param3, param4, param5):
    Args:
        param1: List of symbols
        param2: start date
        param3: end date
        param4: amount
        param5: transaction fee (per action)


    Description
        - The engine will tick every minute simulating a live market

Getter methods:

def get_transactionfee() -> int:
def get_amount() -> int:
  - amount of money remaining
def get_portfolio() -> [ [symbol, amount, bought_date, bought_price, current_price]... ]

Action methods:

def buy(symbol,amount, target_upper_limit, target_lower_limit) -> bool
- buys the amount of stock of the symbol
- when either limit is reach, the stock is automatically sold (adjustable)
def sell(symbol, amount) -> bool
- sell the amount of stock of the symbol you own

Others:

def get_raw_data() ->
Returns a list of tuples of timestamp and price.
[(2017-01-01 10:00, 100.23), (2017-01-01 10:01, 100.25) ...]

About

csc384 assignment to decide when to buy, sell, or short stocks


Languages

Language:Python 100.0%