Skip to content

Latest commit

 

History

History
88 lines (76 loc) · 2.18 KB

unit-tests.rst

File metadata and controls

88 lines (76 loc) · 2.18 KB

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