jmcph4 / PyOBSim

A Python module for market simulation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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    

About

A Python module for market simulation

License:MIT License


Languages

Language:Python 100.0%