Reviewing the past and learning new things, reviewing all previous transactions, rethinking, reprogramming, and retesting, organizing them into the lessons I have learned over the past year, learning from them, and gaining more control over investment returns and risks.
Today, EBC Finance shares with investors the practical experience of a quantitative trader, hoping to inspire you.
Real time performance of my best strategy (investment return rate of 175% in the past 9 months)
It has been almost a year since I worked full-time in quantitative trading. A year ago, my trading performance was not very good, and I hope to have more control over investment returns and risks - especially for more predictable investment returns.
So, I reviewed all the previous transactions, re reflected, reprogrammed, and retested, and there are some strategies that can pass all the testing processes and achieve profitability. These winning strategies have some common characteristics, and I am trying to organize them into the lessons I have learned over the past year.
If you are a more experienced trader, some of the key points may be obvious to you. For me, everyone has tremendous insight and can even completely influence the way you respond to the market.
Strategically select your market
Variety selection is greater than effort, and variety selection largely determines the final investment performance. You can choose according to the trading time you have at your disposal, such as the morning Asian trading period when Asian currencies are more active; 15: After 00 o'clock, European currencies are more active; From 8:00 pm to 12:00 pm, the US period is more active. So there are different active trading varieties in different time periods. For general investors, they should choose some relatively active varieties to trade in their spare time.
Learn rules and accept them
I have traded in several different markets (in hindsight, I should stick to one). Each has different rules and manipulates them in their own way. Don't try to 'defeat' the market; This may backfire. Find traces left by big players (behavior, ordering, and liquidity search) and use them to gain an advantage.
Understand your priorities
Quantitative trading has many things to do: strategy development, optimization, backtesting, execution, and risk management. Don't focus on the wrong things from the beginning - such as optimizing parameters. On the contrary, construct a very basic MVP for each part of the equationVersion and optimize through iteration during the production process. If the execution part cannot work properly, a perfectly optimized strategy will be of no use.
Be prepared to lose in the first year
Do not immediately increase investment after seeing some initial successes, as it is likely to eliminate the majority of your investment portfolio (I lost 40%). You need to put in more effort to get the funds back; Adjust appropriate risk measures from the beginning.
By anticipating failure (at least for the first year), you will not be inclined to invest unnecessary funds in testing and learning.
Not eager to expand assets, eager to execute
I invested funds too quickly before without considering risks. I often find myself in a state of analysis paralysis, so I always hope to launch new strategies after "optimizing again". However, I found that I had over optimized.
I should launch multiple strategies, see which ones are most effective, and then optimize them in a continuous manner. Building and optimizing strategies based on theory is of no use without practical feedback.
Do not use price stops
I have found that there are two ways to use price stops: either not to use them at all, or to prevent the Black Swan incident. Use time stops and appropriate position sizes instead of price stops.
As research has shown, price stops can disrupt a good strategy due to the randomness of volatility. The time dimension is easier to manage and predict than the hypothetical price dimension expressed in your transactions (in backtesting and real-time trading).
By using time stops, you assume that the effective time has a time limit, which almost always reduces variance (and increases the Sharpe ratio).
Understand entry and exit strategies
For each transaction, you need to know where to enter and exit. For each transaction, it is important to know where to enter and exit. For me, these are all set according to a core rule - the correction formula for the average true wave amplitude ATR.
In order to conduct backtesting correctly and know what will happen in actual transactions, it is important to have pre-defined entry and exit.
Know the important numbers in your transaction
For each strategy, you must know the expected value, hit rate, expected rollback, longest rollback, expected volatility, variance, Sharpe ratio, return standard deviation, return bias, and Value at risk. In addition, appropriate betting scale, bankruptcy risk, Kelly score, and optimal investment return ratio should be strategically selected based on the performance of the strategy during the backtesting period.
Putting risk management first
You need to know that you may lose 40% in one dayCapital; However, returning to original capital may take months or even years. Firstly, use appropriate risk management and be aware of the potential risk of bankruptcy due to the Black Swan incident.
Using fewer and useful parameters
My best performing strategy only used 3Parameters. These are easy to optimize and easy to test robustness. Accurately understand the purpose of your parameters and the reasons for using them. The bad thing I encountered before was over optimizing scripts to generate different parameter combinations, such as the slow/fast cycles of multiple moving average combinations. There will definitely be some things that look good in the backtesting, but it is questionable whether the same strategy can work in real transactions.
Create a good backtesting and understand the context
You must understand the impact of slip points, costs, sequence of execution events, and different order types. I have written many backtesting scripts, and the first few are very complex. My latest version runs 12The importance of simplicity is once again demonstrated by the line of code (mainly parallel computing).
Find a good optimization and evaluation indicator
How to execute the testing strategy is not enough; You must know what you are looking for. At first, I looked for a high annual rate of return to optimize a better Sharpe ratio, but later found that this was not what I needed (until today, I still want to know why Sharpe ratio is considered an industry standard, but there are actually better indicators). Finding the correct optimization and evaluation indicators is crucial; Otherwise, the strategy you build will never achieve its goals.
Knowing what to look for in strategy
To find a good evaluation indicator, you need to know what you are actually looking for in the strategy, which is based on many personal factors (portfolio size, acceptable risk, etc.). Understand the characteristics of the required strategy, as this will define the evaluation metrics to be selected.
Focus on functionality, not optimization
There are a large number of tools for optimization, genetic optimization, non convex optimization, principal component analysis, statistical/Bayesian optimization, and a thousand fancy libraries. In my opinion, optimization will help improve the strategy10-20%; But it cannot guarantee a profitable strategy. If the strategy is poor, then any optimization is of no use.
Deep learning is overestimated
Machine learning is great, and deep learning is also great (i.e. neural networks). Optimizing 10000 parameters may only lead to overfitting. If there's no TensorflowWith such a powerful library, this strategy will not work and it may not run in practice (even if the backtesting is great). In short, this strategy should have achieved profitability through simple methods such as linear regression.
Focusing on better data
I heard that some hedge funds are using satellite images of parking spaces to predict stock returns. Although this type of data may contain limited information (I guess it's as good as weather forecast data), it is still usable data. My viewpoint is: focus on obtaining better data and then generating better features. Combining multiple weak features and strategies may improve investment returns.
Don't just trade based on price indicators
Price reflects what is happening in the market, and it has little information about participants and their intentions. Indicators are also not useful enough because they are only a derivation of prices, and most indicators lag behind. Nowadays, the market is more volatile and automated, and lagging indicators are not as useful as I used to think.
Double your time frame
Choosing a higher time frame almost always leads to better results. If you optimize the strategy of a 15 minute time frame, increase the holding time to 30Minutes may yield better returns and lower risks.
Higher risk markets, smaller positions
In highly volatile markets, please pay attention to risks and adjust your position size accordingly. With a 1/10 position, trading volatility is 10A double market may be more profitable. The investment return curve is not as linear as I imagined, such as Bitcoin.
Familiarize yourself with your trading environment
Choosing a niche market that you are more familiar with, you should have a deep understanding of the complex and hidden functions of brokers, which can truly help you improve performance (conditional orders, better order execution/status information, batch operations, etc.).
There are significant differences in transaction costs
According to the strategy (especially for higher frequency transactions), fees account for 50% of the returnAbove. This means that optimizing costs should be one of the highest priorities, whether it means using fewer market orders or using brokers with lower transaction costs.
Based on the headquarters of the group in London, EBC Finance customizes a deep liquidity fund pool for clients for large institutions such as global top hedge funds, truly achieving a superior trading environment such as institutional level tight spreads, clearing level market depth, and rapid transactions within milliseconds.
EBC promises to provide you with the lowest transaction cost (starting from 0 trading points), the best trading environment, the best price execution, and transaction depth.