Skip to content

Commit 82affc8

Browse files
committed
fix: use committed test data instead of downloading from exchange
- Add DATA_DIRECTORY config override to all 13 scenario test files, pointing to tests/resources/test_data/ohlcv/ (committed data) instead of the default tests/resources/data/ (not in git) - Replace corrupted broad OHLCV file with proper date-range-specific data files that cover all test date ranges - Add new OHLCV data files for test date ranges (2021-2023, 2022-2024) - Skip test_download.py in CI (requires exchange connectivity) - Prevents CI from hanging on data downloads (root cause of 6+ hour Ubuntu job timeouts)
1 parent 2ee0ebb commit 82affc8

19 files changed

Lines changed: 29326 additions & 21606 deletions

tests/resources/test_data/ohlcv/OHLCV_BTC-EUR_BITVAVO_2h_2020-12-15-06-00_2025-01-01-00-00.csv

Lines changed: 0 additions & 17714 deletions
This file was deleted.

tests/resources/test_data/ohlcv/OHLCV_BTC-EUR_BITVAVO_2h_2021-09-26-08-00_2023-12-02-00-00.csv

Lines changed: 9562 additions & 0 deletions
Large diffs are not rendered by default.

tests/resources/test_data/ohlcv/OHLCV_BTC-EUR_BITVAVO_2h_2021-10-25-08-00_2023-12-31-00-00.csv

Lines changed: 9562 additions & 0 deletions
Large diffs are not rendered by default.

tests/resources/test_data/ohlcv/OHLCV_BTC-EUR_BITVAVO_2h_2022-12-03-00-00_2024-12-02-00-00.csv

Lines changed: 8762 additions & 0 deletions
Large diffs are not rendered by default.

tests/resources/test_data/ohlcv/OHLCV_BTC-EUR_BITVAVO_2h_2023-07-21-14-00_2024-06-07-10-00.csv

Lines changed: 1401 additions & 3856 deletions
Large diffs are not rendered by default.

tests/scenarios/event_backtests/test_run_backtest_algorithm_param.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from unittest import TestCase
55

66
from investing_algorithm_framework import create_app, BacktestDateRange, \
7-
Algorithm, RESOURCE_DIRECTORY, SnapshotInterval
7+
Algorithm, RESOURCE_DIRECTORY, DATA_DIRECTORY, SnapshotInterval
88
from tests.resources.strategies_for_testing.strategy_v1 import \
99
CrossOverStrategyV1
1010

@@ -19,7 +19,7 @@ def test_run(self):
1919
resource_directory = os.path.abspath(
2020
os.path.join(os.path.dirname(__file__), '..', '..', 'resources')
2121
)
22-
config = {RESOURCE_DIRECTORY: resource_directory}
22+
config = {RESOURCE_DIRECTORY: resource_directory, DATA_DIRECTORY: "test_data/ohlcv"}
2323
app = create_app(name="GoldenCrossStrategy", config=config)
2424
app.add_market(
2525
market="BITVAVO", trading_symbol="EUR", initial_balance=400

tests/scenarios/event_backtests/test_run_backtest_with_pandas_datasources.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import polars as pl
66

77
from investing_algorithm_framework import create_app, BacktestDateRange, \
8-
Algorithm, RESOURCE_DIRECTORY, PandasOHLCVDataProvider, \
8+
Algorithm, RESOURCE_DIRECTORY, DATA_DIRECTORY, PandasOHLCVDataProvider, \
99
convert_polars_to_pandas
1010
from tests.resources.strategies_for_testing.strategy_v1 import \
1111
CrossOverStrategyV1
@@ -27,7 +27,7 @@ def test_run(self):
2727
"OHLCV_BTC-EUR_BINANCE_2h_2023-08-07-07-59_2023-12-02-00-00.csv"
2828
)
2929

30-
config = {RESOURCE_DIRECTORY: resource_directory}
30+
config = {RESOURCE_DIRECTORY: resource_directory, DATA_DIRECTORY: "test_data/ohlcv"}
3131
app = create_app(name="GoldenCrossStrategy", config=config)
3232
app.add_market(market="BITVAVO", trading_symbol="EUR", initial_balance=400)
3333
end_date = datetime(2023, 12, 2, tzinfo=timezone.utc)

tests/scenarios/permutation_tests/test_permutation_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from investing_algorithm_framework import TradingStrategy, DataSource, \
1111
TimeUnit, DataType, create_app, BacktestDateRange, \
12-
RESOURCE_DIRECTORY, PositionSize
12+
RESOURCE_DIRECTORY, DATA_DIRECTORY, PositionSize
1313

1414

1515
class RSIEMACrossoverStrategy(TradingStrategy):
@@ -235,7 +235,7 @@ def test_run(self):
235235
resource_directory = os.path.join(
236236
os.path.dirname(os.path.dirname(__file__)), '..', 'resources'
237237
)
238-
config = {RESOURCE_DIRECTORY: resource_directory}
238+
config = {RESOURCE_DIRECTORY: resource_directory, DATA_DIRECTORY: "test_data/ohlcv"}
239239
app = create_app(name="GoldenCrossStrategy", config=config)
240240
app.add_market(
241241
market="BITVAVO", trading_symbol="EUR", initial_balance=400

tests/scenarios/test_event_vs_vector_backtest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from investing_algorithm_framework import TradingStrategy, DataSource, \
1010
TimeUnit, DataType, create_app, BacktestDateRange, PositionSize, \
11-
RESOURCE_DIRECTORY, SnapshotInterval
11+
RESOURCE_DIRECTORY, DATA_DIRECTORY, SnapshotInterval
1212

1313

1414
class RSIEMACrossoverStrategy(TradingStrategy):
@@ -228,7 +228,7 @@ def setUpClass(cls):
228228
os.path.dirname(os.path.dirname(__file__)),
229229
'resources'
230230
)
231-
config = {RESOURCE_DIRECTORY: resource_directory}
231+
config = {RESOURCE_DIRECTORY: resource_directory, DATA_DIRECTORY: "test_data/ohlcv"}
232232

233233
# Create app
234234
app = create_app(name="EventVsVectorTest", config=config)

tests/scenarios/test_vector_vs_event_backtest_results.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
from investing_algorithm_framework import TradingStrategy, DataSource, \
1111
TimeUnit, DataType, create_app, BacktestDateRange, PositionSize, \
12-
RESOURCE_DIRECTORY, SnapshotInterval
12+
RESOURCE_DIRECTORY, DATA_DIRECTORY, SnapshotInterval
1313

1414

1515
class RSIEMACrossoverStrategy(TradingStrategy):
@@ -244,7 +244,7 @@ def test_run(self):
244244
resource_directory = os.path.join(
245245
os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'resources'
246246
)
247-
config = {RESOURCE_DIRECTORY: resource_directory}
247+
config = {RESOURCE_DIRECTORY: resource_directory, DATA_DIRECTORY: "test_data/ohlcv"}
248248
app = create_app(name="GoldenCrossStrategy", config=config)
249249
app.add_market(
250250
market="BITVAVO", trading_symbol="EUR", initial_balance=400

0 commit comments

Comments
 (0)