Why Use MachineTrader™ to Manage Your Trading Account?
Serious traders will rapidly discover that monitoring minute-by-minute (or second-by-second) changes in time series charts of prices is a pretty tedious task. While a number of trading platforms offer off-the-shelf algorithms or bots for automating strategies, we've found that it's hard to make money using an algo that other traders are employing, or worse, other traders have programmed to work against.
That's why we think most traders - like us - will decide to write their own algos. If you have the full stack programming skills to create your own trading platform, connecting with your broker-dealer’s API, you can do that. However, you will face a number of hurdles.
Cost
First, the cost of running a cloud-hosted platform isn't cheap, with many installs running $200/month or more. Our Alpaca and Polygon User plans, which include AWS (a personal client instance), cost less than $50/month.
Second, you may find that your favorite commission-free trading platform imposes commissions and/or fees on its API users. This is a very big deal as you begin to employ machine learning programs or algos that trade many times each minute.
Third, your code has to be error-free. Broker-dealers have limited patience for flawed code that hits APIs too often, and are likely to impose usage fees or drop you altogether. MachineTrader's code has been extensively tested and it works!
Fourth, no professional trader would spend time without constantly accessing the latest business news (note the popularity of the Bloomberg terminal - at $2k per month). We provide a steady stream of business news headlines from more than 80 publications. But since the purpose of MachineTrader™ is to automate your trading strategies, we provide sentiment feeds through our proprietary NLP software. You can include these time series news feeds into your trading algos to influence your automated buy and sell decisions.
Finally, if you aren't a full stack programmer, you'll need to employ someone to do their work. It is difficult for a non-programmer to assess the skills of a coder. And even if they're good, you will likely lead them down blind alleys. In our experience, many automation ideas haven’t worked, and since our team are all founders, we only squandered our own time.
Introducing Kubernetes…
MachineTrader™ was designed to solve many of these challenges and more. We chose to use Kubernetes to manage a cluster of AWS clients so that our clients could receive their own proprietary AWS clouds - we call these clouds "instances." When you sign up for a MachineTrader™ account, our system automatically builds your own cloud instance using the latest MachineTrader™ configuration.
There are advantages and disadvantages to this approach. On the negative side, since all of the clients are on their own platforms, you will have the burden of including any new enhancements by updating your instance which, while easy-to-do, is not automatic. You also may need to upgrade the "horsepower" of your instance by adding more memory or storage, which we can do for you through the Kubernetes platform. On the positive side, you get the significant cost advantage of "volume" cloud pricing. Note you can get started with your own full-functioning trading platform for as little as $99/month. You also can create your own algos knowing that no one else can see them except you.
What is Low-code/No-Code?
A key decision we made in designing and building MachineTrader™ was to use a visual programming framework which allows you to build complex code by visually wiring together "nodes" rather than blocks of Python code downloaded from GitHub. "Nodes" are pre-recorded sets of instructions, neatly bundled in color-coded rectangular boxes, that are connected together, rather than writing instructions in code. The connected nodes are referred to as "flows," which are similar to complete programming scripts in Python or another language.
We offer extensive tutorials online that demonstrate how to create and manage trading algorithms using these nodes and flows. Shown below is a simple example of a "flow" designed to buy SPY at the end of the trading day and sell it in the morning, exploiting the historical practice of holding an ETF only overnight, rather than all of the time.
Nodes are color-coded by function to help you quickly identify each node by its purpose in the flow.
In this example, the gray node is a scheduling node that says to start this flow at a specific time - in this case 3:55 pm. The apricot node is an all purpose function node in which you can prepare a set of instructions with simple javascript. In this case, we are preparing to ask our data provider, Polygon.io, to give us the current price of a ticker since we want to make a limit trade (and limit trades require a price).
The blue node is the pre-recorded API call to Polygon for the trade price of a ticker. The ticker is returned in the second apricot function node and then stored by the yellow node as a "flow variable" for later use.
The flow continues with a delay node set to 10 ms to make sure the price was received and stored, and then executes a buy order into the final function node. The result is stored in a database table so we can later determine the profitability of the trade.
The second flow is essentially a copy of the first flow with the time adjusted to 9:31 am - which is when we want to sell - and the trading node is revised to "sell" rather than buy.
Non-programmers will find that they can build complete trading algos by modifying a few lines of javascript. And experienced programmers willing to spend some time getting used to a new way of working, will find the platform super easy to modify and enhance. In our experience, it's often 10x faster than writing code.
Another very cool feature of our visual framework is that the building blocks are all composed of chunks of JSON (JavaScript Object Notation) code that can be easily saved, shared, or added to your client instance. We are hopeful that a community of willing algo-sharers and collaborators emerges over time.
Our Broker-Dealers
MachineTrader executes your trades by connecting through an API to your account as your broker-dealer. Currently, MachineTrader is connected to Alpaca Markets as our first broker-dealer because they have a well-developed API for trading stocks and cryptos. They offer commission-free trading for stocks (with a few exceptions), as well as low-cost commissions on crypto trades. They do not offer options or futures trading at present.
If you have an Alpaca trading account, you're all set to go.
If you don't have an Alpaca account, click here Alpaca Account Signup and set up your account. While MachineTrader™ will provide all of the trading platform capabilities, Alpaca is the custodian of your funds, and is responsible for all financial reporting.
News and Economic Data
We currently use Stock News API for our headline news service. It scans 80+ business publications throughout the day, and provides hundreds of postings each hour, with a lag time of approximately 4 minutes. We use this feed to produce charts based on the sentiment expressed, on a scale of -1 to +1, from absolutely negative to absolutely positive.
We also chart data from FRED (Federal Reserve Economic Data, published by the Federal Reserve Bank of St. Louis), which collects and publishes hundreds of thousands of reports. We selected approximately 30 feeds, updated daily, which we believe are likely related to price trends, as they report on bond prices and other inflation indicators.