Coding for Financial Trading
By Brennen
Hi, I’m Brennen. The firm I am employed by creates automated and high frequency trading applications to trade products in financial markets.
Since being exposed to the electronic markets in high school, I became enthralled with the the industry. Trading has evolved from orders on paper ‘tickets’ and over the phone, to servers capable of sending orders faster than a blink of an eye to exchanges all over the world. Companies that not long ago employed thousands trading in the pits of New York and Chicago, have been replaced by software applications and high-end computers. Some of the best programs along with very high-end hardware operate on the order of nanoseconds (0.000000001 seconds) to send information.
Python is widely used for its versatility, readability, extensive documentation and ample third party packages.
Currently, I trade futures and previously traded equity stocks and option markets. My role has evolved from operating software applications and making trading decisions to analyzing trade data and testing trading strategies. Numerous languages are used in the data analysis some of the popular ones being R, MATLAB, Java and Python. The coding “standard” in the industry and the language I am most familiar with is Python. Python is widely used for its versatility, readability, extensive documentation and ample third party packages. Pandas, SciPy, NumPy and Matplotlib are some of the packages I use in Python on a daily basis.
Because of its flexibility Python can be used for a wide variety of tasks. Writing code for parsing files, building Twitter bots, or sending automated emails are a few common applications. Many websites offer API (Application Programming Interface) connections so you can easily send and receive online data to build into your code. Other high end machine learning applications can be built with Python utilizing popular packages such as TensorFlow.
Our lead developers use languages such as C and C++ to create the software that run the trading strategies. In addition, instead of using the popular Microsoft operating system Linux is becoming increasingly commonplace in our industry. After the code is written, debugged and numerous checks are done it is uploaded to our servers where they send and receive information to and from the exchange.
The most cutting edge technologists are now moving into coding languages such as Verilog and VHDL as the trading industry is becoming more competitive.
The most cutting edge technologists are now moving into coding languages such as Verilog and VHDL as the trading industry is becoming more competitive. These languages are highly advanced and are mostly used by computer scientists for very intricate and specific designs. The programming and hardware knowledge involved with these languages are highly sought after at the moment.
I do not have any formal training in computer science or software development, but I believe anyone can learn to code.
I do not have any formal training in computer science or software development, but I believe anyone can learn to code. With the abundance of information and training available I would highly recommend Python to beginning students. Although learning can be a daunting and frustrating task a simple google search or visit to StackOverflow can usually solve the issue. More often than not someone else has had the same problem or bug in their code, and solutions are readily available. Even the best developers reference code documentation and have to look up things up on a daily basis.
Tools and programming languages I use:
- R
- MATLAB
- Java
- Python
- Pandas
- SciPy
- NumPy
- Matplotlib