Skip to content

jmcph4/PyOBSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

PyOBSim - the Python Order Book Simulator


PyOBSim is a Python module facilitating market simulation by implementing an order book and other utilities. PyOBSim aims to make testing of trading algorithms clean and simple.

Running simulations is straightforward: simply provide an order flow and fire away:

from pyobsim import *

# build our participants
alice = participant.Participant("Alice", 100, 0)    # $100, no units
bob = participant.Participant("Bob", 0, 120)        # $0, 120 units

sim = simulation.Simulation("My Simulation", [], [alice, bob])
sim.load("order_flow.csv") # load our order flow from CSV file
sim.run()
print(sim)

This gives us our summary:

Simulation 
    My Simulation
---
Statement of Accounts
Alice: $100.0 with 0 units
Bob: $0.0 with 120 units
---
Market as at present
     'GOOG'

If we want to inspect the book for GOOG:

print(sim.books["GOOG"])

We get:

Book for GOOG
Spread is $0.5
===
Ask
Price		Quantity
--------------------------------------------------------------------------------
$1.0		100	|
			    |$0.5		10
--------------------------------------------------------------------------------
			     Price		Quantity
			     Bid