Abu can help users to improve the strategy automatically, take the initiative to analyze the behavior of the orders generated by the strategy to prevent the losing-money transaction.
Right now, we still writting code by hand, abu is designed to be running complete-automatically in the future, including the entire work-process and strategy itself.
Our expectations : abu users only need to provide some seed strategy, on the basis of these seeds, computer continue to self-learning, self-growth, to build a new strategy which can adjust its parameters with the time series data.
Content | Path |
---|---|
Abu Quantitative Trading System | ./abupy |
Abu Quantitative Trading Tutorial | ./abupy_lecture |
《量化交易之路》 (The Road of Quantitative Trading) example code | ./ipython and ./python |
《机器学习之路》 (The Road of Machine Learning) example code | https://github.com/maxmon/abu_ml |
- Optimizing strategies by a variety of machine learning techniques
- Guiding traders in real trading, improving the profit of strategy, to beat the market
- US stocks, A stocks, Hong Kong stocks
- Futures market, Options Market
- BTC(bitcoin),LTC(Litecoin)
- Separate basic strategy and strategy optimization module
- Improve flexibility and adaptability
Recommended to use Anaconda to deploy the Python environment, see here
import abupy
More examples of UI operations
Section 1 UI operation tutorial
Trading strategy decide when to invest, backtesting tell us the simulation of profit about this strategy in the historical data.
- coding buy factor
- backtesting factor step by step
- coding sell factor
Through stop loss and profit cap to keep profit generated by the strategy, lower risk.
- basic stop loss and profit cap strategy
- stop loss strategy
- profit cap strategy
Consider slippage and transaction costs on applying the strategy
- implement slippage strategy
- custom transaction costs
type | date | symbol | commission |
---|---|---|---|
buy | 20150423 | usTSLA | 8.22 |
buy | 20150428 | usTSLA | 7.53 |
sell | 20150622 | usTSLA | 8.22 |
buy | 20150624 | usTSLA | 7.53 |
sell | 20150706 | usTSLA | 7.53 |
sell | 20150708 | usTSLA | 7.53 |
buy | 20151230 | usTSLA | 7.22 |
sell | 20160105 | usTSLA | 7.22 |
buy | 20160315 | usTSLA | 5.57 |
sell | 20160429 | usTSLA | 5.57 |
Backtesting on multiple stocks, control position to lower risk.
- multiple stocks with same factor
- custom position-control strategy
- multiple stocks with different factor
- faster running with multi-processing
A good trading strategy needs a good stock.
- coding stock-picking factor
- run multiple stock-picking factor
- faster running with multi-processing
Good metric give you right direction.
- basic useage about metric
- visualization on metrics
- expand self-custom metric
By customizable scoring, seek the best parameter for strategy.Like:how many days should be on MA?
- parameter range
- using grid search to seek the best parameter
- metric on scoring
- scoring with different weight
- custom scoring by yourself
- backtesting on A-Stock example
- dealing with price limit
- analyze multiple trading result
- backtesting on HK-Stock example
- optimize strategy, improve the stability of the system
- encapsulate the "strategy" of optimizing the strategy as a class decorator
- analyze bitcoin and litecoin market trend
- visualization analysis on bitcoin and litecoin market trend
- backtesting on Bitcoin and LiteCoin market
- bitcoin loss10: [-26.895, -3.284] , top10:(4.182, 38.786]
- bitcoin recent 1 year risk lower:loss10: [-16.273, -2.783], top10: (3.948, 15.22]
- litecoin loss10: [-28.48, -4.1], top10: (4.405, 41.083]
- litecoin recent 1 year risk lowerloss10: [-22.823, -3.229] 高收益top10: (5.0606, 37.505]
btcchange | btc365change | ltcchange | ltc365change |
---|---|---|---|
[-26.895, -3.284] | [-16.273, -2.783] | [-28.48, -4.1] | [-22.823, -3.229] |
(-3.284, -1.547] | (-2.783, -1.056] | (-4.1, -2.022] | (-3.229, -1.375] |
(-1.547, -0.8] | (-1.056, -0.424] | (-2.022, -0.922] | (-1.375, -0.655] |
(-0.8, -0.224] | (-0.424, -0.071] | (-0.922, -0.389] | (-0.655, -0.226] |
(-0.224, 0.143] | (-0.071, 0.272] | (-0.389, 0] | (-0.226, 0.078] |
(0.143, 0.568] | (0.272, 0.698] | (0, 0.413] | (0.078, 0.453] |
(0.568, 1.108] | (0.698, 1.316] | (0.413, 0.977] | (0.453, 0.913] |
(1.108, 2.171] | (1.316, 2.334] | (0.977, 1.889] | (0.913, 1.957] |
(2.171, 4.182] | (2.334, 3.948] | (1.889, 4.405] | (1.957, 5.0606] |
(4.182, 38.786] | (3.948, 15.22] | (4.405, 41.083] | (5.0606, 37.505] |
- features of futures market
- backtest bullish contract
- backtest bearish contract
- optimize strategy by displacement ratio
How to use machine learning technology correctly in quantitative trading of investment goods?
- extraction of bitcoin features
- abu built-in machine learning module
- verification and unbalanced technology of test set
- inherits AbuMLPd to encapsulate data processing
Technical analysis is based on three assumptions:1. The market discounts everything.2. Price moves in trends.3. History tends to repeat itself.
- resistance line, support line automatically drawn
- analysis of gap
- analysis of traditional technical metric
Behind similar investment trend, it is often with similar investment groups.
- relevant similarity measure
- distance measurement and similarity
- application of similarity interface
- natural correlation
Search and analyze failed orders generated by strategy, intercept possible failing orders by the ump .
- backtest splitted set
- analyze transaction manually
- concept of referee system
- angle referee
- give a natural and reasonable explanation
- optimal classification-cluster selection
- gap main-referee
- price main-referee
- fluctuation main-referee
- verify whether the main-referee works well
- organize referees to make more complex comprehensive decisions
- let the referee learn how to cooperate with their own to make the most correct judgments
- gap edge-referee
- price edge-referee
- fluctuation edge-referee
- comprehensive edge-referee
- verify whether the edge-referee works well
- open the edge-referee mode
- train new main-referee from different perspectives
- train new edge-referee from different perspectives
- add a new perspective to record the game (record backtesting feature)
- main-referee with the new perspective
- edge-referee with the new perspective
The design goals of ump module are:
- no need to hard-code strategy
- mo need to manually set the threshold
- separate the strategy and optimize-monitor module to improve flexibility and adaptability
- discover issues hidden in strategy
- auto-learn new transaction data
Abu support stock, futures, digital coins and other financial investment. Abu support quotes query and transactions, and also offer a high degree of customization.
- switch data mode
- switch data storage
- switch data source
- update the whole market data
- access to external data sources:stock data sources
- access to external data sources:futures data sources
- access to external data sources:bitcoin and litecoin data sources
More abu quantitative tutorial please pay attention to our WeChat public number: abu_quant
Also any questions, please contact my personal WeChat number: