simudyne-pulse 0.7.0.dev10__tar.gz → 0.7.0.dev12__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.
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/PKG-INFO +22 -3
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/README.md +21 -2
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/pyproject.toml +1 -1
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/validation.py +18 -11
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/PKG-INFO +22 -3
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/tests/test_validation.py +12 -6
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/LICENSE +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/setup.cfg +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/__init__.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/client.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/exceptions.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/__init__.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/api_keys.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/data.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/fix.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/fm.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/historical.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/profile.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/simulation.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/simulator_gym.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/SOURCES.txt +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/dependency_links.txt +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/requires.txt +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/top_level.txt +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/tests/test_new_resources.py +0 -0
- {simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/tests/test_simulator_gym.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simudyne-pulse
|
|
3
|
-
Version: 0.7.0.
|
|
3
|
+
Version: 0.7.0.dev12
|
|
4
4
|
Summary: Python SDK for the Simudyne Pulse synthetic market data API
|
|
5
5
|
Author-email: Simudyne <support@simudyne.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -85,8 +85,27 @@ population. `sim_files` groups the same way.
|
|
|
85
85
|
A plain list is one unnamed population and keeps the flat shape exactly as
|
|
86
86
|
before. The historical day is measured once however many groups there are.
|
|
87
87
|
|
|
88
|
-
`
|
|
89
|
-
|
|
88
|
+
`plots` is the only plot switch: unset draws nothing, `True` draws every
|
|
89
|
+
figure the enabled areas can draw, and a list draws just those ids. An area
|
|
90
|
+
switched off draws nothing either way.
|
|
91
|
+
|
|
92
|
+
| id | figure |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `statistical.radar` | distance spider, one polygon per population |
|
|
95
|
+
| `statistical.distribution` | every metric's KDE |
|
|
96
|
+
| `statistical.distribution.{metric}` | one metric, e.g. `.spread` |
|
|
97
|
+
| `stylised_facts.overall` | the verdict table |
|
|
98
|
+
| `stylised_facts.fact` | every fact |
|
|
99
|
+
| `stylised_facts.fact.{name}` | one fact, e.g. `.heavy_tails` |
|
|
100
|
+
| `impact.response` | impact response by event type |
|
|
101
|
+
| `impact.event` | every event type |
|
|
102
|
+
| `impact.event.{type}` | one event type |
|
|
103
|
+
| `volume_correlation.levels` | level correlation heatmap |
|
|
104
|
+
| `volume_correlation.changes` | change correlation heatmap |
|
|
105
|
+
| `volume_correlation.overall` | both of the above |
|
|
106
|
+
|
|
107
|
+
Each returned figure carries the `id` it was asked for — match on that, not on
|
|
108
|
+
the filename.
|
|
90
109
|
|
|
91
110
|
### Working from a checkout
|
|
92
111
|
|
|
@@ -59,8 +59,27 @@ population. `sim_files` groups the same way.
|
|
|
59
59
|
A plain list is one unnamed population and keeps the flat shape exactly as
|
|
60
60
|
before. The historical day is measured once however many groups there are.
|
|
61
61
|
|
|
62
|
-
`
|
|
63
|
-
|
|
62
|
+
`plots` is the only plot switch: unset draws nothing, `True` draws every
|
|
63
|
+
figure the enabled areas can draw, and a list draws just those ids. An area
|
|
64
|
+
switched off draws nothing either way.
|
|
65
|
+
|
|
66
|
+
| id | figure |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| `statistical.radar` | distance spider, one polygon per population |
|
|
69
|
+
| `statistical.distribution` | every metric's KDE |
|
|
70
|
+
| `statistical.distribution.{metric}` | one metric, e.g. `.spread` |
|
|
71
|
+
| `stylised_facts.overall` | the verdict table |
|
|
72
|
+
| `stylised_facts.fact` | every fact |
|
|
73
|
+
| `stylised_facts.fact.{name}` | one fact, e.g. `.heavy_tails` |
|
|
74
|
+
| `impact.response` | impact response by event type |
|
|
75
|
+
| `impact.event` | every event type |
|
|
76
|
+
| `impact.event.{type}` | one event type |
|
|
77
|
+
| `volume_correlation.levels` | level correlation heatmap |
|
|
78
|
+
| `volume_correlation.changes` | change correlation heatmap |
|
|
79
|
+
| `volume_correlation.overall` | both of the above |
|
|
80
|
+
|
|
81
|
+
Each returned figure carries the `id` it was asked for — match on that, not on
|
|
82
|
+
the filename.
|
|
64
83
|
|
|
65
84
|
### Working from a checkout
|
|
66
85
|
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/validation.py
RENAMED
|
@@ -64,8 +64,7 @@ _AREA_FLAGS = (
|
|
|
64
64
|
#: needing the message stream; ``sample_period`` and ``match_generated_sample``
|
|
65
65
|
#: set the grid the book is resampled onto; ``plots`` is False, True, or a list
|
|
66
66
|
#: of plot ids.
|
|
67
|
-
_EXTRA_FIELDS = ("lob", "sample_period", "match_generated_sample", "plots"
|
|
68
|
-
"plot_all")
|
|
67
|
+
_EXTRA_FIELDS = ("lob", "sample_period", "match_generated_sample", "plots")
|
|
69
68
|
|
|
70
69
|
|
|
71
70
|
def _frame_to_parquet(entry, index: int):
|
|
@@ -173,7 +172,6 @@ class ValidationResource:
|
|
|
173
172
|
match_generated_sample=None,
|
|
174
173
|
n_levels: int = 10,
|
|
175
174
|
plots=None,
|
|
176
|
-
plot_all: bool = False,
|
|
177
175
|
) -> dict:
|
|
178
176
|
"""Submit a validation job.
|
|
179
177
|
|
|
@@ -224,13 +222,23 @@ class ValidationResource:
|
|
|
224
222
|
n_levels : int, default 10
|
|
225
223
|
Book levels to measure over.
|
|
226
224
|
plots : bool or list of str, optional
|
|
227
|
-
``None`` or ``False``
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
225
|
+
``None`` or ``False`` draws nothing, ``True`` draws every figure
|
|
226
|
+
the enabled areas can draw, and a list draws just those ids.
|
|
227
|
+
An area switched off draws nothing either way. Rendered
|
|
228
|
+
server-side; :meth:`get_job` writes them to disk. The ids are
|
|
229
|
+
|
|
230
|
+
- ``statistical.radar`` — the distance spider, one polygon per
|
|
231
|
+
population
|
|
232
|
+
- ``statistical.distribution`` — every metric's KDE;
|
|
233
|
+
``statistical.distribution.{metric}`` for one, e.g. ``.spread``
|
|
234
|
+
- ``stylised_facts.overall`` — the verdict table
|
|
235
|
+
- ``stylised_facts.fact`` — every fact;
|
|
236
|
+
``stylised_facts.fact.{name}`` for one, e.g. ``.heavy_tails``
|
|
237
|
+
- ``impact.response`` — impact response by event type
|
|
238
|
+
- ``impact.event`` — every event type; ``impact.event.{type}``
|
|
239
|
+
for one
|
|
240
|
+
- ``volume_correlation.levels``, ``volume_correlation.changes``,
|
|
241
|
+
or ``volume_correlation.overall`` for both
|
|
234
242
|
|
|
235
243
|
Returns
|
|
236
244
|
-------
|
|
@@ -274,7 +282,6 @@ class ValidationResource:
|
|
|
274
282
|
sample_period=sample_period,
|
|
275
283
|
match_generated_sample=match_generated_sample,
|
|
276
284
|
plots=plots,
|
|
277
|
-
plot_all=plot_all or None,
|
|
278
285
|
)
|
|
279
286
|
|
|
280
287
|
if sim_ids is not None:
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simudyne-pulse
|
|
3
|
-
Version: 0.7.0.
|
|
3
|
+
Version: 0.7.0.dev12
|
|
4
4
|
Summary: Python SDK for the Simudyne Pulse synthetic market data API
|
|
5
5
|
Author-email: Simudyne <support@simudyne.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -85,8 +85,27 @@ population. `sim_files` groups the same way.
|
|
|
85
85
|
A plain list is one unnamed population and keeps the flat shape exactly as
|
|
86
86
|
before. The historical day is measured once however many groups there are.
|
|
87
87
|
|
|
88
|
-
`
|
|
89
|
-
|
|
88
|
+
`plots` is the only plot switch: unset draws nothing, `True` draws every
|
|
89
|
+
figure the enabled areas can draw, and a list draws just those ids. An area
|
|
90
|
+
switched off draws nothing either way.
|
|
91
|
+
|
|
92
|
+
| id | figure |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| `statistical.radar` | distance spider, one polygon per population |
|
|
95
|
+
| `statistical.distribution` | every metric's KDE |
|
|
96
|
+
| `statistical.distribution.{metric}` | one metric, e.g. `.spread` |
|
|
97
|
+
| `stylised_facts.overall` | the verdict table |
|
|
98
|
+
| `stylised_facts.fact` | every fact |
|
|
99
|
+
| `stylised_facts.fact.{name}` | one fact, e.g. `.heavy_tails` |
|
|
100
|
+
| `impact.response` | impact response by event type |
|
|
101
|
+
| `impact.event` | every event type |
|
|
102
|
+
| `impact.event.{type}` | one event type |
|
|
103
|
+
| `volume_correlation.levels` | level correlation heatmap |
|
|
104
|
+
| `volume_correlation.changes` | change correlation heatmap |
|
|
105
|
+
| `volume_correlation.overall` | both of the above |
|
|
106
|
+
|
|
107
|
+
Each returned figure carries the `id` it was asked for — match on that, not on
|
|
108
|
+
the filename.
|
|
90
109
|
|
|
91
110
|
### Working from a checkout
|
|
92
111
|
|
|
@@ -275,11 +275,17 @@ class TestNamedPopulations:
|
|
|
275
275
|
assert "sim_groups" not in json.loads(client.calls[0][2]["data"]["config"])
|
|
276
276
|
|
|
277
277
|
|
|
278
|
-
class
|
|
279
|
-
|
|
280
|
-
client, _ = _run([{"job_id": "v1"}], plot_all=True)
|
|
281
|
-
assert client.calls[0][2]["json"]["config"]["plot_all"] is True
|
|
278
|
+
class TestPlotEverything:
|
|
279
|
+
"""plots says it all: there is no second way to ask for every figure."""
|
|
282
280
|
|
|
283
|
-
def
|
|
281
|
+
def test_true_is_forwarded(self):
|
|
282
|
+
client, _ = _run([{"job_id": "v1"}], plots=True)
|
|
283
|
+
assert client.calls[0][2]["json"]["config"]["plots"] is True
|
|
284
|
+
|
|
285
|
+
def test_nothing_is_sent_when_not_asked_for(self):
|
|
284
286
|
client, _ = _run([{"job_id": "v1"}])
|
|
285
|
-
assert "
|
|
287
|
+
assert "plots" not in client.calls[0][2]["json"]["config"]
|
|
288
|
+
|
|
289
|
+
def test_plot_all_is_gone(self):
|
|
290
|
+
with pytest.raises(TypeError):
|
|
291
|
+
_run([{"job_id": "v1"}], plot_all=True)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/__init__.py
RENAMED
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/api_keys.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/historical.py
RENAMED
|
File without changes
|
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/simulation.py
RENAMED
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne/resources/simulator_gym.py
RENAMED
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/requires.txt
RENAMED
|
File without changes
|
{simudyne_pulse-0.7.0.dev10 → simudyne_pulse-0.7.0.dev12}/src/simudyne_pulse.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|