Trading Application Development in Python

Agenda


Part I : Python-Related Topics

Development Environment Setup (Basic)

  • Distribution selection : python (x,y), EPD, ActivePython
  • Implementation selection : CPython, Jython, IronPython
  • Version selection
  • IDE: PyDev, spyder, IPython
  • Testing and Debugging

Numerical Calculation (Basic)

Python on Windows (Basic)

Signal/Event Processing (Intermediate)

  • PyQt, PySide Signal/Slot
  • Enthought Traits

GUI Frontend (Intermediate)

  • PyQt, PySide GUI programming
  • Enthought Traits GUI

Performance (Advanced)

  • extension and embedding
  • SWIG and BOOST
  • cython

Network (Advanced)

  • socket programming
  • ZeroMQ

Concurrency (Advanced)

  • Multi-Threading and GIL
  • Mutl-Processing
  • Generator and Coroutine
  • Green threading : gevent
  • Parallel engine: ipython

Finite State Machines (Advanced)

  • FSM in PyQt

Part II : API-Related Topics

Network Configurations in KRX

  • KRX Matching Engine
  • FEP
  • OMS/EMS
  • Middleware
  • API

API Characteristics

  • Cybos
  • TX
  • GOM
  • Anylink

Middleware issues

  • Data Buffering and Latency

Traffic, Latency Issues


Part III : Trading Framework Development

Tick Data Processing

  • Order book processing

Order Management

  • Multiple limit order management
  • Out-of-order packet problems

Risk Management

  • Examples of past accidents
  • Ultra-fast turn-over rate
  • Robust code development