Eugene Kononov, the creator of JBookTrader, spoke recently with SD Times about JBT, his open-source software project designed around the idea of removing “emotions” from stock trading and automating the process based on predefined parameters.
JBT, which placed 10th on Black Duck Software’s 2008 “Rookie of Year” list for open-source projects, received recognition for buzz around the program. With a degree in computer science and a background in investment banking, Kononov talked with us about his idea and how it came to life.
SD Times: Why did you create the application?
Eugene Kononov: I wanted to create a mechanical way to trade and hopefully make a living doing it. There is a whole army of wannabe day traders hoping to get away from the cubicle life and trade for a living. For these people, and myself included, this is a very liberating “small business.” Also, trading is very competitive, and one needs an edge to succeed. JBT provides an edge by removing emotions from the trading process and hopefully outcompetes manual traders.
How was this application created? How long did it take?
JBT is a Java program, which runs on virtually any operating system. It took me about two years to conceptualize, architect and develop.
Being an open-source project, who created this app?
I originally created JBT and wrote about 90% of the code. The people involved in the project added another 10% of the functionality and helped me a lot with quality control.
How did you create an app that took the emotion out of trading?
It’s common wisdom that emotions are a trader’s worst enemy. For example, when a trader is in a losing position, their instinct is to hold on to this losing position and lose even more.
To eliminate the “emotional” factor is to eliminate the human factor. This essentially means letting a computer program make all trading decisions and to not interfere with it. A computer is machinelike precise and disciplined. It is not affected by fear and greed and doesn’t make errors resulting from clouded judgment.
Did you find that your own emotions got in the way of trading before the app?
Yes, and most traders would definitely say the same thing.
What are the predefined parameters the user can choose from? Are these guidelines proven methods?
Using the program’s “plug-in” architecture, the user can add their own implementation to the trading algorithm, and the system will automatically incorporate that implementation into the entire trading cycle.
Whether the method is “proven” or not is a matter of historical testing. JBT provides this facility with backtesting. By using a prerecorded history of prices, JBT can test how a particular trading strategy would do over that historical period.
How does the software stream data from the stocks and analyze the information?
A brokerage company, Interactive Brokers, provides a trading API. So, instead of typing in buy/sell orders, you can write a computer program that uses the API to submit these orders programmatically. This API also connects to different exchanges, receives data streams and receives confirmations when transactions are complete. Data can be tracked in one-second intervals, and transactions can take one to two seconds.
Information is analyzed by using a technical indicator, which looks for cues. For example, it could be AMA(60), which is an average moving average of the price in the last 60 minutes. The trading rule could to be buy when the current price is two points below the AMA(60), and sell short when the price is two points above the AMA(60). The rules can be as simple or as complicated as the user wants them to be.
Could you say that emotion really isn’t taken out of trading when people set their own parameters?
It’s certainly the case that one can code their system to be as aggressive or defensive as they want. But the fundamental difference is that the trading decisions have been made in advance. That is to say the system patiently waits until the predefined conditions are met to trigger the buy/sell order. In contrast, when the trader is doing it manually, their decisions are affected by emotions and are much less likely to follow a disciplined course of actions.
Do you host the program? Is there a fee?
JBT runs on a user’s machine and no fee or any other cost is associated with the program, which makes it different from other algorithmic trading systems. You do need to have an account with Interactive Brokers, though.
Does the whole idea of removing emotion from software interest you, or does it only apply to stock trading?
It’s just stock trading automation that interests me; however, the same idea applies to other fields. Think of an air traffic controller. While they do have some control, the software that they use probably automates many of the rules in the decision process. If there are two seconds to make a critical decision, the computer system would probably do a better job than a human being, provided the software is programmed thoughtfully. In addition to the air traffic control system that I’ve mentioned, I can also name medical diagnostics, military applications and perhaps even public policy.