ENZO-TSC is a Trading System Client for cryptocurrencies. It is based on proprietary technology by NEWTYPE K.K.
ENZO-TSC is a software that automatically executes trades on the your behalf utilizing our proprietary algorithmic models. We currently support BTC/USDT on the Binance exchange, with more options to come in the future.
Trading can look easy, but it's a losing game for most that try it.
It is said that 90% of traders lose 90% of their funds in the first 90 days of trading. This is a general rule of thumb for Forex, but it can easily be applied to crypto and any other market. The amount of effort and dedication required simply to stay afloat in the markets is overwhelming. Some find early success, but without a strong foundation, proper risk management and sustained performance, luck eventually runs out, wiping out the initial gains with just a few mistakes.
We spent two years developing and testing the ENZO Trading System full-time, with the goal in mind to one day be able to trade the markets without having to worry about every change of direction.
As a result of our efforts, we now have what we believe is a compelling product that is worth sharing (see the FAQs on why we're willing to open it to the public at this time).
ENZO-TSC is a completely autonomous system that runs unattended. There's no need to configure its behavior or guess what the market will do. All trades are generated by our model on our servers, and are communicated in real-time to the client on your computer via a proprietary protocol.
The client is connected to your Binance account via a set of API keys, allowing it to execute trades on your behalf. Your funds stay in your account and we never have any access to it.
Above is a view of the trading signals coming from our server. At any given time, an history of 30+ days worth of signals is shown, including basic performance stats and the equity curve, which displays the oscillations in profit.
The model is the result of two years of research and development which culminated in a system that we believe is both competitive and relatively future-proof, thanks to its adaptability.
Backtests for the years 2018 and 2019 show profits above 200% per year, and a Sharpe ratio between 3.3 and 3.9.
Risk management is embedded in the system. Risk per-trade is generally limited to -3%, and it's often less than that, depending on market volatility. On rare occasions, it may extend to -3.5%, which is the absolute hard limit of the model. This is a very important metric that separates a viable strategy from one that simply looks good on paper.
Above are the equity curves of the backtests performed for the years 2018 and 2019 of the BTC/USDT market. The simulations start with 1,000 USDT at the beginning of each year. See the section about Reference Testing for more information.
Disclaimer: it should be noted that markets evolve, and trading edges tend to deteriorate with time. So, it's important to manage the expectations and not rely on an investment of this kind for substinence. Profits are not guaranteed and are not linear, months of loss and months of profit tend to cluster together, so, the wise investor should consider this as a medium and long term endeavor, investing only surplus money.
Because calculations are done by our servers, the ENZO-TSC application runs comfortably on low spec machines, consuming a limited amount of RAM and CPU power.
The software operates transparently and can be left unattended. It does however need to be always active and with a stable Internet connection. Depending on the market conditions, trading opportunities may happen only once per day, and the client will need to be active to act on those signals.
With our solution, the funds stay in your own private account and we never have access to them.
The API key access is used by the client locally and never communicated to our servers. Furthermore, API keys can and should be limited to trading-only, so that withdrawal of funds is technically impossible for anyone that may come into possession of such keys.
While the client is meant to be left mostly untouched, there are some features that may be of use for the more advanced users.
This window gives are real-time view of the most active crypto pairs on Binance. The Change value allows to filter out markets where price has little or no movement. The Health value filters out those markets with poor liquidity. This is a very important metric, since markets with poor liquidity will often show sudden spikes in price only because of the relative lack of activity.
Above is a view of the Market Watch. Here the criteria selects only 10 markets out of 714 possible.
As a reminder, the current version of ENZO-TSC only supports BTC/USDT signals. This feature is meant for advanced user that wants to keep an eye on other markets.
High-frequency data is normally meant for bots. We use it in some of our algorithms to react to sudden price jumps and to estimate slippage and to filter out some types of "stop-hunts".
A display of HFT activity is included as an option in the client software. This doesn't have an immediate practical use for the regular user, but it might be a compelling visualization tool for some.
Above is a clip of HFT activity display in the client. 1-minute candles are shown as a reference.
The Volume Heat-Map shows the distribution of volume in 2-dimensions. This visualization may be useful to determine the hot-spots that define price levels.
Again, we utilize this data internally, and it's only exposed for the advanced user that may be doing their own research.
ENZO-TSC is free to download. We offer a trial program for anyone to get a sample of the kind of signals that it generates. The purchase of a license is however necessary to actually trade for profit with this system.
Perhaps the most important thing to consider is the fact that there is no single perfect way of profiting form trading. There are just many players (individuals and institutions) trying to make a profit for themselves, each with their own approach. Many approaches can work at the same time. This is not a "winner takes all" kind of game.
Whether an algorithm can do as well as a human is a moot question, once one looks at how consistently profitable traders operate. Consistently profitable traders are generally traders that have developed a method with a set of well defined rules to follow. This is, in fact, the definition of algorithm, even if it's executed manually. So much so, that, given the resources and the knowledge, some traders eventually end up putting their algorithms into code.
Our approach is fully quantitative. We look for a statistical edge that shows profit on years of market data, and that can adapt to different market conditions. Everything must be tested for the long term. Simulations must match live trading once it happened.
This ability to run accurate simulations of the market allows us the speed up the development and gives us a baseline of confidence on the models that we build with it.
One negative aspect of the quantitative approach, at least on the surface, is that some of the trades may look like bad choices to a person that is observing. This is because the human mind tends to focus on single events and see the obvious errors and missed opportunities of a specific case. In fact, during the development of an algorithm, it is usually better not to over-complicate the logic by adding specific rules for specific cases that are harder to accept at an emotional level. Unless, of course, the changes would improve things globally, which is rarely the case.
Some future events may indeed be predicted, depending on the scope of such prediction.
Modern computer models are able to predict if it will rain tomorrow with a good degree of confidence. The quality of predictions starts to falter as one hopes to guess outcomes farther into the future. This is because, with time, more randomness is added to a system, be that regarding the weather or a market.
Admittedly, markets are not direct physical entities. They can be manipulated on a whim, given a large enough amount of money, but this is also something that can become part of a model. One may not predict when something happens in the time domain, but a statistical model can still leverage knowledge in the frequency domain (read: chance of occurrence).
The Base Risk Model is based on an ensemble of four major algorithms, with one of the four operating on high-frequency data (see below), attempting to capture sudden surges in price.
The Low Risk Model is built only on the algorithm that catches surges in price. These are events that don't happen as often, but they are also strong indicators of positive trends. The lower risk also mean lower Maximum Draw-Down, opening the door for the future for leverage trading.
Each algorithm has a series of variations, bringing the whole range of possible combinations into the hundreds, all of which are actively simulated also during live trading. Selection of the specific algorithm to be used for live trading is performed via machine learning. Because our software is written in high performance C++, we have more power and flexibility at our disposal when it comes to techniques that can be applied.
The algorithms are based on a mix of standard and custom indicators of our design. The custom indicators have some predictive powers and are used as primary indicators. These indicators are based on a series techniques involving Kalman filters, spline fitting, historical matching and self-adapting affine transformations.
Above is an example of our "Mir Match" indicator, utilizing self-adapting affine transformations to extrapolate a potential market prediction
Our best performing algorithm in terms of Sharpe ratio (4.8 for 2018 and 7.1 for 2019) is our Climb Detection system, which is at the core of the Low Risk Model.
This algorithm does not depend on typical TA indicators or OCHL candlestick charts, but instead utilizes high-frequency trade aggregate data to instantaneously respond to sudden price and volume surges. This was initially devised to catch price "pumps", but testing has shown that it is also a very good indicator of beginning of longer-term positive trends. The exceptional Sharpe ratio values are due to the fact that it generates trades that have a higher degree of confidence and that can therefore be combined with relatively narrow stop-losses.
Above is an example of trades generated by the Climb Detection system. The bottom half shows a trade (magenta cross) in the context of HF data. Dots represent trade aggregates, with color and size varying in relation to volume of such trades.
Our tests show the potential to earn up to 200% per year, this however should only be considered as demonstration of potential profit rather than a guarantee. The key issue being that markets tend to evolve, and strategies deteriorate as a consequence. Additionally, testing can easily lead to false hopes when the process of optimization and testing overlap (see: "data mining" or "curve fitting"), whether that's done in error or willingly to deceive.
Methodology of testing is therefore extremely important. The main focus should be to minimize the optimism that can easily creep in during the process of optimization, especially with naive Machine Learning approaches. We invested a great deal of time strengthening the testing methodologies in order to increase the reliability of the results.
Here's an overview of backtested performance for the years 2018 and 2019:
|2018 (Base Risk Model)||2019 (Base Risk Model)|
|2018 (Low Risk Model)||2019 (Low Risk Model)|
The equity curves above show the evolution of profit for the years 2018 and 2019.
The Base Risk Model (top row) provides more profit, but it also incurs in more fluctuations of profit.
Here are some additional stats:
|Year||# of Trades||Average|
|Year||# of Trades||Average|
Backtests, while useful, can be deceiving, because proof of past performance is not a guarantee of future performance. However, there are ways to improve the validity and applicability of these tests.
Our system was designed to be walk-forward from the start. Walk-forward means that data used for the training phase of the algorithms is not used for the final performance testing phase. This is done to reduce the chance of hindsight bias seeping through the model.
Testing is additionally verified utilizing a Monte Carlo Permutation method, where the original trades are pitted against a large amount (100,000) of possible alternative sets of trades, to see what is the probability that an alternative algorithm operating on random decision would perform better than the one being tested. This has to be a negligible number, or else the algorithm being tested is deemed worthless.
Another key factor to consider is the management of risk. Allowing large amounts of risk by using generous stop-losses or sometimes not using them at all, can give the illusion that an algorithm is unbeatable, until a market presents a permanent drop. Algorithms of this kind can be spotted because they have a very high win/loss ratio, since they simply never sell until the price is back up.
We instead modulate stop-loss and trading size in a way that risk is generally below -3% per-trade, with some rare cases at 3.5% for the Base Risk Model.
|2018 P&L of Positions in Time-Domain|
(Base Risk Model)
|2019 P&L of Positions in Time-Domain|
(Base Risk Model)
The charts above show the Profit & Loss of each position on a time-scale spanning for one year per chart.
No loss goes below -3.5%. These larger losses also coincide with periods of the market when major profit is possible. One obvious case being the beginning of 2018, where the level of volatility brings a couple of positions with a P&L of about +20% each.
This also highlights the importance of playing the long game, holding the initial investment stable for at least 6 months, to ensure that trading is active during those positive market periods.
A view of P&L of Positions in the frequency-domain can better demonstrate the effect of the risk management that is in place. It also reveals the approach of the model, that is closer to trend-trading than scalping, for example.
|2018 P&L of Positions in Frequency-Domain|
(Base Risk Model)
|2019 P&L of Positions in Frequency-Domain|
(Base Risk Model)
The chart above shows Profit & Loss on a frequency-scale, positions are binned in clusters of 1%.
The chart in frequency-domain shows a typical normal distribution truncated on the left side. This is the effect of the maximum risk-per-trade setup.
The long tail on the right side, instead, tells that closing trades that bring a large profit and very rare. One may argue that rare events cannot be relied upon, however this is also a matter of choice. A strategy could easily split these positions into sub-trades and change the distribution to have less flat tails as a consequence.
Q: Why are you sharing your system, if it is profitable?
A: Because it takes money to make money.
We are a small, self-funded, start-up with limited capital to invest. Licensing access externally today is a way for us to raise capital and get exposure. This also gives us the opportunity to study market behavior with larger capital at play, something that can't quite be simulated otherwise.
Also notice that we retain the IP relative to the trading model, framework, know-how and everything else relative to the system. Simply put, "we're not giving away the formula".
Q: How is this different from other bots?
A: Most commercial bots are tools with slick web interfaces that are either a platform to build strategies or that provide signals from random strangers, plus a series of parameters to tweak at one's best guess. That is a fool's errand. Anytime guesswork and unguided parametrization is involved, luck becomes a prevalent factor. Anyone can devise a seemingly clever strategy and claim proof of success.
What we offer instead, is access to a complete trading system that doesn't expect a user to act on emotion and personal bias, and that takes care of the heavy work of creating and testing strategies inclusive of risk management. Everything that we put on the market has been tested with years of data with strict standards of validation that we've set for ourselves.
Q: Are you doing HFT such as arbitrage?
A: Some of our techniques rely on high-frequency data to catch sudden price movements, however the system still performs a relatively small amount of trades.
When it comes to actual HFT, there is a series of fundamental issues that makes it not suitable for most. Timing is very important, which translates into the need to improve the physical location of the trading system itself. Arbitrage is also difficult to test off-line in a simulation (read: without losing real money), because it's a dynamic kind of trading based on real-time action and reaction, while historical data are static by definition. The fundamental concept of arbitrage is also simple enough for occasional edges to quickly evaporate. Another issue is that fees on crypto exchanges make it prohibitive to truly execute a large number of trades without instantly losing profit on fees alone.
Q: When will you add support for other cryptocurrencies
A: Internally we have tested several other currencies that we still trade from time to time. Official support will however require more testing and optimization. One issue with alternative cryptocurrencies is that liquidity tends to be low, meaning that the effects of slippage can be prohibitive, especially for a large pool of traders. Another issue is that there often isn't enough market history to do longer term testing.
Q: When will you support other exchanges?
A: Adding new exchanges is in the plans, but it will take more resources for development. If you'd like to see a particular exchange server supported, please let us know.