
In our blogs on
Habrahabr and
Geektimes we write a lot about the development of trading robots. We have already
talked about how system administrators and managers become algorithmic traders - they succeed with varying success. Quora resource users
wondered if a single scientist could develop a truly successful trading system. On the basis of their answers, it is possible to form an understanding of how difficult it is to compete with specialists from large investment banks and hedge funds.
Masters in science or engineering often get jobs on Wall Street and develop impressive strategies. A mathematician is able to adapt and learn how to create automated trading systems in large companies.
')
At home, it is more difficult, to achieve the same results and to become incredibly rich will not work, but a lone scientist is quite capable of overcoming the obstacles that arise in independent development. The most important thing is to develop truly profitable strategies that will bring positive results in the market.
Necessary conditions and barriers
You need to understand the finances and what is happening in the markets
There are no secret ingredients in the work of hedge funds that no one tells you about. In fact, technically competent specialists and university graduates achieve successful results using knowledge and technology from other fields in their work. Educated people can apply experience, for example, from physics, biology, or genetics, but they can replace datasets with futures prices and other financial indicators.
It is necessary to study the basic market mechanics well, one cannot do without it. But the lack of knowledge if desired, you can fill the reading of useful books. The choice of literature should be approached carefully.
Algorithmic Trading Platform
Today it is no longer an obstacle. You can continue to program and use to develop the two most common language in scientific circles: Matlab and Python. There are open access tools and platforms that will greatly simplify the task.
Costs and testing profitable strategy
During the development of a trading strategy, the most common mistake is approximation with the help of curves. Such a strategy is tailored to work with historical data (backtesting), so it is more difficult to adapt to the changes taking place in the market - in crisis situations, excessive optimization will hurt.
Developers usually use backtesting to simulate various market models with changing conditions, filtering insufficiently unprofitable strategies, optimizing the strategy to improve its performance in real conditions and checking for errors in the system code.
Back testing can be useful, but this method of verification does not always work correctly - the simulation of market conditions and parameters of a specific site will not convey all possible events of the process occurring in real time. Strategy performance should be measured with a large number of different values of input parameters.
Trader working from home / Lars Plougmann / FlickrBased on events in the market, the algorithm should generate buy or sell commands, with which the total income and loss are related. The success of the algorithm is the total amount of income and loss (P / L) in a given time period of the system.
During testing, the developer can neglect the intermediate losses of money, if he sees that the final result on a long segment has brought a profit. But in practice, a loss of a third or a quarter of capital can provoke behavior that ultimately leads to failure.
Initial capital and costs
For most trading strategies, millions of dollars of seed capital are needed to make enough profit for life. For example, if you can definitely earn 10% per year, then you need to find about a million dollars to work on the system and strategies to become your main source of income. In overseas futures markets, most contracts are above $ 20,000, so for trading in such a market you need hundreds of thousands for start-up capital. But, for example, in the
derivatives market of the Moscow Stock Exchange, where contracts are cheaper, you can get by with smaller amounts.
Inexperienced traders pay all attention to the effectiveness of their algorithm, but forget about the costs that can level all of the income received, because the exchange and the broker charge fees for the transactions.
An example of a test with a theoretically profitable trading strategy:
Denis BykovThis is what happens if we increase costs by 10%:
Denis BykovInstead of impressive earnings, we get serious losses. It is desirable that your trading platform supports testing with trade commissions, otherwise you will have to add a part of the code to take into account the approximate daily costs yourself.
Slippage and delays
Slippage is the difference between the price at which the algorithm must complete the transaction, and the price of the actual transaction. Slippage occurs due to the fact that there is a delay between sending a command to a deal and carrying out an operation. This point must be taken into account, especially when prices change every fraction of a second, so as not to end up with an unfavorable result from the seemingly profitable deal.
Liquidity
Careless work with illiquid financial instruments can have a strong impact on the market. If you buy a large number of shares, which are usually traded in smaller volumes, then you will lead to an unpleasant price change. Therefore, you need to train the system to break such transactions into many small teams, so the influence will not be very noticeable.
To compete with professionals. Tips
It is not necessary to go into a direct clash with large banks and funds. Do what they cannot do. They operate with billions of dollars, they are large and slow organizations. You have much more modest amounts at your disposal, so you can act faster.
Assess your strength realistically. After working on the problem for some time, you will understand the markets as well as professionals in big banks. But the giants get more because they invest more. You should not expect that you will earn millions. However, you turn it into your main job.
You can conduct transactions that are not available to a large bank at the legislative level. By law, a trader of a bank or hedge fund is forbidden to use information that is inaccessible to you, as more fair competition is ensured in the market.
A very important thing that distinguishes a trader from a gambler is the control of profits and losses. In order not to lose all your money, you should argue and act as honestly and objectively as possible towards yourself. It is quite easy to immerse yourself in the process and lose sight of the loss of money in the pursuit of big money.
If you see a bright offer or advertisement calling for something to sell - do not give in. If they were making money on this, they would not offer anyone to try. These advertisers hope that you will bring them money; nobody will look for profitable ways especially for you.
From a technical point of view, it is not so difficult to develop and configure your algorithmic trading system at home, especially for a scientist. But the desire to apply the "most advanced" techniques from mathematics or physics and transfer them to the development of a trading strategy can be an obstacle. By analogy with physics - the most successful physicists have an intuitive understanding of fundamental processes, before applying mathematical calculations and building models.
Other materials on the topic of stock trading from ITinvest :