Recent Tutorials

Programming Interactive Brokers TWS API – The TagValueList

Introduction Interactive Brokers provides a robust Application Programming Interface (API) that allows programmers to work with real-time and historical market data, and to send and manage orders to the IB brokerage. The API has wide programming language support including C++, C#, Java and an ActiveX COM control and associated libraries that can be used in […]

Continue Reading →

Programming Interactive Brokers Socket Client API using C# / Console – Market Scanners

Goals of the Tutorial The purpose of this tutorial is to demonstrate the basic functionality of the Interactive Brokers (IB) C# Socket Client Application Programming Interface (API) used for running Market Scanners in the IB trading platform. A Market Scanner is a query against an active database of securities that can be used to identify subsets […]

Continue Reading →

Introduction to Multithreading in C++

Introduction The purpose of this tutorial is to introduce the concept of multithreading from a software development perspective. The specific topics covered include: Modern processor design and Multiprocessing Multiprocessing vs. Multithreading Multithreading Programming APIs Multithreading Examples in C++ While there are a number of other excellent and more comprehensive tutorials on multithreading available elsewhere (see […]

Continue Reading →

Market Mechanics Video Series

Folks I have been working on a series of videos that cover the mechanics of markets and trading. Below is a list so far. Enjoy! Limit Order Books This video introduces the concept of a limit order book such as those used in financial markets. The process of building the book through limit orders and […]

Continue Reading →

Programming Interactive Brokers Java API in a Console Application – Real Time Bars

Goals of the Tutorial The purpose of this tutorial is to demonstrate the basic functionality of the Interactive Brokers (IB) Java Application Programming Interface (API) used for accessing Real Time Bars data in the IB trading platform. Concepts learned in this tutorial can be applied to larger projects such as building quote screens, capturing live […]

Continue Reading →

Database System Architectures

What You’ll Learn in this set of notes Database System Architectures Mainframe Architecture Personal Computer – Stand-Alone Database File Sharing Architecture Two-Tier Client/Server Architecture Three-Tier Client/Server Architecture Distributed Database Architecture Open Database Connectivity (ODBC) Triggers and Stored Procedures Textbook Resources Connolly/Begg/Holowczak (BDS) Elmasri/Navathe (3rd ed.) Kroenke (7th ed.) McFadden (5th ed.) Chapter 1 and Chapter 15 […]

Continue Reading →

Consistency, Availability and Partition Tolerance

Review of ACID Properties Consider a centralized (one copy of the data, one instance of the DBMS) DBMS with multiple users. Atomic – A transaction is an indivisible unit of work that either commits or aborts. Consistency Preserving – A transaction will take the database from one consistent state to another consistent state. Isolated – […]

Continue Reading →

Installing Pentaho Business Analytics on the Windows Operating System

Goals of this Tutorial The goal of this tutorial is to outline the major steps involved in installing the Pentaho Business Analytics (PBA) software in the Microsoft Windows operating system environment. The Pentaho Business Analytics suite includes design tools and servers to create analytics data models and schemas along with the ETL processes used to […]

Continue Reading →

Programming Interactive Brokers Java API in a Console Application – Contract Details

Goals of the Tutorial The purpose of this tutorial is to demonstrate the basic functionality of the Interactive Brokers (IB) Java Application Programming Interface (API) used for accessing Contract Details such as Options and Futures chains from within the IB trading platform. For example, by specifying only the underlying stock or index, we can obtain […]

Continue Reading →

Getting Started with Java Programming in Linux

Introduction In this tutorial I will cover the very basics of getting started with Java programming using the Linux operating system. Java is a very popular programming language that is used to develop software for everything form cell phones and cable TV boxes to huge enterprise information systems. While most of the steps are aimed […]

Continue Reading →