prosperity3bt 0.3.0__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/PKG-INFO +6 -3
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/README.md +3 -1
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/__main__.py +4 -4
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/data.py +1 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/datamodel.py +1 -1
- prosperity3bt-0.5.0/prosperity3bt/resources/round0/__init__.py +0 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/__init__.py +0 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/prices_round_1_day_-1.csv +30001 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/prices_round_1_day_-2.csv +30001 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/prices_round_1_day_0.csv +30001 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/trades_round_1_day_-1_nn.csv +8307 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/trades_round_1_day_-2_nn.csv +8399 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round1/trades_round_1_day_0_nn.csv +8183 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round6/__init__.py +0 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round6/prices_round_6_day_0.csv +4001 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round6/prices_round_6_day_1.csv +3001 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round6/trades_round_6_day_0_nn.csv +1089 -0
- prosperity3bt-0.5.0/prosperity3bt/resources/round6/trades_round_6_day_1_nn.csv +845 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/runner.py +3 -8
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt.egg-info/PKG-INFO +6 -3
- prosperity3bt-0.5.0/prosperity3bt.egg-info/SOURCES.txt +35 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/pyproject.toml +1 -1
- prosperity3bt-0.3.0/prosperity3bt.egg-info/SOURCES.txt +0 -22
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/LICENSE +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/__init__.py +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/file_reader.py +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/models.py +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/open.py +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt/parse_submission_logs.py +0 -0
- /prosperity3bt-0.3.0/prosperity3bt/resources/__init__.py → /prosperity3bt-0.5.0/prosperity3bt/py.typed +0 -0
- {prosperity3bt-0.3.0/prosperity3bt/resources/round0 → prosperity3bt-0.5.0/prosperity3bt/resources}/__init__.py +0 -0
- /prosperity3bt-0.3.0/prosperity3bt/resources/round0/prices_round_0_day_-2.csv → /prosperity3bt-0.5.0/prosperity3bt/resources/round0/prices_round_0_day_-1.csv +0 -0
- /prosperity3bt-0.3.0/prosperity3bt/resources/round0/trades_round_0_day_-2_nn.csv → /prosperity3bt-0.5.0/prosperity3bt/resources/round0/trades_round_0_day_-1_nn.csv +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt.egg-info/dependency_links.txt +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt.egg-info/entry_points.txt +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt.egg-info/requires.txt +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/prosperity3bt.egg-info/top_level.txt +0 -0
- {prosperity3bt-0.3.0 → prosperity3bt-0.5.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: prosperity3bt
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.5.0
|
4
4
|
Summary: Backtester for IMC Prosperity 3 algorithms
|
5
5
|
Author-email: Jasper van Merle <jaspervmerle@gmail.com>
|
6
6
|
License: MIT License
|
@@ -42,6 +42,7 @@ Requires-Dist: jsonpickle>=4.0.2
|
|
42
42
|
Requires-Dist: orjson>=3.10.15
|
43
43
|
Requires-Dist: tqdm>=4.67.1
|
44
44
|
Requires-Dist: typer>=0.15.2
|
45
|
+
Dynamic: license-file
|
45
46
|
|
46
47
|
# IMC Prosperity 3 Backtester
|
47
48
|
|
@@ -115,7 +116,9 @@ Limits are enforced before orders are matched to order depths. If for a product
|
|
115
116
|
## Data Files
|
116
117
|
|
117
118
|
Data for the following rounds is included:
|
118
|
-
- Round 0: prices and anonymized trades data on RAINFOREST_RESIN and KELP that was used during tutorial submission runs.
|
119
|
+
- Round 0: prices and anonymized trades data on RAINFOREST_RESIN and KELP that was used during tutorial submission runs. The anonymized trades data is derived from the submission of an algorithm that places no orders.
|
120
|
+
- Round 1: prices and anonymized trades data on RAINFOREST_RESIN and KELP.
|
121
|
+
- Round 6: prices and anonymized trades data that was used during submission runs. Round 6 day X represents the submission data of round X, where X = 0 means the tutorial round. The anonymized trades data is derived from the submission of an algorithm that places no orders.
|
119
122
|
|
120
123
|
## Environment Variables
|
121
124
|
|
@@ -70,7 +70,9 @@ Limits are enforced before orders are matched to order depths. If for a product
|
|
70
70
|
## Data Files
|
71
71
|
|
72
72
|
Data for the following rounds is included:
|
73
|
-
- Round 0: prices and anonymized trades data on RAINFOREST_RESIN and KELP that was used during tutorial submission runs.
|
73
|
+
- Round 0: prices and anonymized trades data on RAINFOREST_RESIN and KELP that was used during tutorial submission runs. The anonymized trades data is derived from the submission of an algorithm that places no orders.
|
74
|
+
- Round 1: prices and anonymized trades data on RAINFOREST_RESIN and KELP.
|
75
|
+
- Round 6: prices and anonymized trades data that was used during submission runs. Round 6 day X represents the submission data of round X, where X = 0 means the tutorial round. The anonymized trades data is derived from the submission of an algorithm that places no orders.
|
74
76
|
|
75
77
|
## Environment Variables
|
76
78
|
|
@@ -6,7 +6,7 @@ from importlib import import_module, metadata, reload
|
|
6
6
|
from pathlib import Path
|
7
7
|
from typing import Annotated, Any, Optional
|
8
8
|
|
9
|
-
from typer import Argument,
|
9
|
+
from typer import Argument, Option, Typer
|
10
10
|
|
11
11
|
from prosperity3bt.data import has_day_data
|
12
12
|
from prosperity3bt.file_reader import FileReader, FileSystemReader, PackageResourcesReader
|
@@ -174,7 +174,7 @@ def format_path(path: Path) -> str:
|
|
174
174
|
def version_callback(value: bool) -> None:
|
175
175
|
if value:
|
176
176
|
print(f"prosperity3bt {metadata.version(__package__)}")
|
177
|
-
|
177
|
+
sys.exit(0)
|
178
178
|
|
179
179
|
|
180
180
|
app = Typer(context_settings={"help_option_names": ["--help", "-h"]})
|
@@ -186,11 +186,11 @@ def cli(
|
|
186
186
|
days: Annotated[list[str], Argument(help="The days to backtest on. <round>-<day> for a single day, <round> for all days in a round.", show_default=False)],
|
187
187
|
merge_pnl: Annotated[bool, Option("--merge-pnl", help="Merge profit and loss across days.")] = False,
|
188
188
|
vis: Annotated[bool, Option("--vis", help="Open backtest results in https://jmerle.github.io/imc-prosperity-3-visualizer/ when done.")] = False,
|
189
|
-
out: Annotated[Optional[Path], Option(help="
|
189
|
+
out: Annotated[Optional[Path], Option(help="File to save output log to (defaults to backtests/<timestamp>.log).", show_default=False, dir_okay=False, resolve_path=True)] = None,
|
190
|
+
no_out: Annotated[bool, Option("--no-out", help="Skip saving output log.")] = False,
|
190
191
|
data: Annotated[Optional[Path], Option(help="Path to data directory. Must look similar in structure to https://github.com/jmerle/imc-prosperity-3-backtester/tree/master/prosperity3bt/resources.", show_default=False, exists=True, file_okay=False, dir_okay=True, resolve_path=True)] = None,
|
191
192
|
print_output: Annotated[bool, Option("--print", help="Print the trader's output to stdout while it's running.")] = False,
|
192
193
|
match_trades: Annotated[TradeMatchingMode, Option(help="How to match orders against market trades. 'all' matches trades with prices equal to or worse than your quotes, 'worse' matches trades with prices worse than your quotes, 'none' does not match trades against orders at all.")] = TradeMatchingMode.all,
|
193
|
-
no_out: Annotated[bool, Option("--no-out", help="Skip saving the output log to a file.")] = False,
|
194
194
|
no_progress: Annotated[bool, Option("--no-progress", help="Don't show progress bars.")] = False,
|
195
195
|
original_timestamps: Annotated[bool, Option("--original-timestamps", help="Preserve original timestamps in output log rather than making them increase across days.")] = False,
|
196
196
|
version: Annotated[bool, Option("--version", "-v", help="Show the program's version number and exit.", is_eager=True, callback=version_callback)] = False,
|
@@ -13,7 +13,7 @@ ObservationValue = int
|
|
13
13
|
|
14
14
|
|
15
15
|
class Listing:
|
16
|
-
def __init__(self, symbol: Symbol, product: Product, denomination:
|
16
|
+
def __init__(self, symbol: Symbol, product: Product, denomination: int):
|
17
17
|
self.symbol = symbol
|
18
18
|
self.product = product
|
19
19
|
self.denomination = denomination
|
File without changes
|
File without changes
|