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
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: