Last updated:
0 purchases
AutoQuant 1.1.1
AutoQuant
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.
AutoQuant
Quick Start
Installation
Data Preparation
Backtest
Advanced Topics
Market
Index
Indicators
Specific Indicators
Backtrader Indicators
Metrics
Specific Metrics
TA-Lib Metrics
Providers
Price Provider
Provides List
API
Financial Statement Provider
Provides List
API
Index Provider
Provides List
API
Contribution Guide
Test
Test all
Test specified test
Development
Generate Requirements
Package Update
Quick Start
Installation
pip install --upgrade autoquant
Data Preparation
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)
)
Backtest
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()
Advanced Topics
Market
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
Index
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
Indicators
Specific Indicators
ParityIndex
AdjustedMomentum
Backtrader Indicators
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
Metrics
Specific Metrics
Gross Rate Of Return
CAGR(Compound Annual Growth Rate)
TA-Lib Metrics
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)
Providers
Price Provider
Provides List
BaostockProvider
TushareProvider
EastmoneyProvider
API
def daily_prices(self, market: Market, code: str, start: date, end: date, **kwargs)
Financial Statement Provider
Provides List
SnowballProvider
API
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)
Index Provider
Provides List
BaostockProvider
EastmoneyProvider
API
def stocks_of_index(self, index: StocksIndex, **kwargs)
def funds_of_index(self, index: FundsIndex, **kwargs)
Contribution Guide
Test
Test all
PYTHONPATH=./ pytest
Test specified test
PYTHONPATH=./ pytest tests/<YOUR_DISIRE_FILE>.py -k "<YOUR_DISIRE_TEST_CASE>" -s
Development
Generate Requirements
pipreqs ./ --encoding=utf8 --force
Package Update
python3 -m build
python3 -m twine upload dist/*
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.