PypI Versions PyPI - Downloads Python Versions Platform
AutoQuant is an out-of-the-box quantitative investment platform.
It contains the full ML pipeline of data processing, strategy building(includes AI & traditionals), back-testing, and covers the entire chain of quantitative investment: alpha seeking, risk modeling, portfolio optimization, and order execution.
With AutoQuant, users can easily try ideas to create better Quant investment strategies.
pip install --upgrade autoquant
from autoquant.collector import Collector from autoquant import Market from datetime import date collector = Collector.default() data = collector.daily_prices( market=Market.SZ, code='002594', start=date(2021, 11, 1), end=date(2021, 11, 5) ) data = collector.quarter_statement( market=Market.SH, code='601318', quarter=date(2021, 9, 30) )
from autoquant.collector import Collector from autoquant.workflow import Workflow from autoquant.broker import Broker from autoquant import Market from datetime import date from autoquant.workflow import Workflow from autoquant.strategy import MA_CrossOver class SmaCross(MA_CrossOver): params = dict(fast=5, slow=20) collector = Collector.default() broker = Broker.default(kick_start=100000, commission=0.01) data = collector.daily_prices(market=Market.SZ, code='002594', start=date(2020, 1, 1), end=date(2021, 11, 1)) w = Workflow().with_broker(broker).with_strategy(SmaCross).backtest(data) w.visualize()
AutoQuant support Shanghai, Shenzhen, HongKong and US markets now. Use Market Enum in codes:
from autoquant import Market Market.SZ Market.SH Market.HK Market.CN Market.US
AutoQuant support the indexes in multiple markets now.
Use StocksIndex Enum in codes:
from autoquant import StocksIndex StocksIndex.ZZ500 StocksIndex.HS300 StocksIndex.SZ50
Use FundsIndex Enum in codes:
from autoquant import FundsIndex FundsIndex.CN_ALL FundsIndex.CN_ETF FundsIndex.CN_QDII FundsIndex.HUAXIA_SECTOR_ETF
- ParityIndex
- AdjustedMomentum
All the indicators in Backtrader are available in AutoQuant.
For Example, if you were using the indicators of Backtrader like this:
from backtrader.indicators import Momentum
You can simply change the import sentence to use the indicators in AutoQuant. The codes would be:
from autoquant.indicators import Momentum
- Gross Rate Of Return
- CAGR(Compound Annual Growth Rate)
All the metrics in TA-Lib are available in AutoQuant.
For Example, if you were using the metrics of TA-Lib like this:
from talib import SMA close = numpy.random.random(100) output = MOM(close, timeperiod=5)
You can simply change the import sentence to use the metrics in AutoQuant. The codes would be:
from AutoQuant import SMA close = numpy.random.random(100) output = MOM(close, timeperiod=5)
- BaostockProvider
- TushareProvider
- EastmoneyProvider
def daily_prices(self, market: Market, code: str, start: date, end: date, **kwargs)
- SnowballProvider
def quarter_statement(self, market: Market, code: str, quarter: date, **kwargs) def yearly_balance_sheet(self, market: Market, code: str, years: list, **kwargs) def yearly_income_sheets(self, market: Market, code: str, years: list, **kwargs) def yearly_flow_sheets(self, market: Market, code: str, years: list, **kwargs)
- BaostockProvider
- EastmoneyProvider
def stocks_of_index(self, index: StocksIndex, **kwargs) def funds_of_index(self, index: FundsIndex, **kwargs)
PYTHONPATH=./ pytest
PYTHONPATH=./ pytest tests/<YOUR_DISIRE_FILE>.py -k "<YOUR_DISIRE_TEST_CASE>" -s
pipreqs ./ --encoding=utf8 --force
python3 -m build
python3 -m twine upload dist/*