Files
catalyst/docs/source/unit-tests.rst
T
2017-12-13 15:10:59 -05:00

89 lines
2.2 KiB
ReStructuredText

==========
Unit Tests
==========
Exchanges
~~~~~~~~~
Markets
-------
Sample:
All markets in 3 random exchanges
Test:
Fetch all TradingPair instances
Assert:
No error
Current Ticker
------------------
Sample:
3 random markets in each of the 3 random exchanges
Test:
Fetch current price and volume
Assert:
Not null and no error
Historical Price Data
---------------------
Sample:
- 3 random markets for each of the 3 random exchanges supporting historical data
- For each market, randomly select one supported frequency
Test:
Fetch historical data for each market using the selected frequency
Assert:
- No error and not blank
- Date of each candle is consistent with the Catalyst desired pattern:
- All candle start at fix intervals
- Last candle partial and forward looking from the end date
Authentication and Orders
-------------------------
Sample:
1 random market for each of 3 random authenticated exchanges
Test:
- Create one limit order randomly buying or selling at least 10% out from the current price
- Retrieve the open order from the exchange
- Cancel the open order
Assert:
No error
Bundles
~~~~~~~
Validate Bundle Data
--------------------
Sample:
- 3 random market in bundles for exchanges supporting historical data
- For each market, randomly selected data range available in the exchange historical data
Test:
- Clean the target exchange bundle
- Ingest the selected market data for the selected data range
- Retrieve the bundle data into a dataframe
- Retrieve the equivalent OHLCV data from the exchange into a dataframe
Assert:
Matching data for the bundle and exchange
Algo Stats
~~~~~~~~~~
Sample:
- 2 sample algorithms with built-in stats calculator
- 2 KPIs both calculated by each algo and by Catalyst
Test:
- Run each algorithm
- Compare the results of the two methods or calculating stats
Assert:
- Matching stats
CSV Ingestion
~~~~~~~~~~~~~
Sample:
3 random CSV files containing price data
Test:
- Ingest each CSV files
- Validate with the exchange like in the 'Validate Bundle Data' test
Assert:
Matching data between the bundle and the exchange