Spaces:
Build error
Build error
| """Smoke test: write ticks to mmap, read with Python, score with KAN.""" | |
| import struct | |
| import tempfile | |
| import time | |
| from pathlib import Path | |
| from prediction_engine.python_bridge.mmap_reader import ( | |
| HEADER_FMT, HEADER_SIZE, MAGIC, TICK_FMT, TICK_SIZE, MmapReader, | |
| ) | |
| from prediction_engine.python_bridge.kan_scorer import MarketFeatureExtractor, KANFastScorer | |
| def test_end_to_end_smoke(): | |
| path = tempfile.mktemp(suffix=".mmap") | |
| capacity = 100 | |
| file_size = HEADER_SIZE + capacity * TICK_SIZE | |
| with open(path, "wb") as f: | |
| f.write(struct.pack(HEADER_FMT, MAGIC, capacity, 2, 0)) | |
| f.write(struct.pack(TICK_FMT, 0, 0, 0.62, 100.0, int(time.time() * 1e6), 111)) | |
| f.write(struct.pack(TICK_FMT, 1, 1, 0.35, 200.0, int(time.time() * 1e6), 222)) | |
| f.write(b"\x00" * (file_size - HEADER_SIZE - 2 * TICK_SIZE)) | |
| reader = MmapReader(path) | |
| reader.open() | |
| ticks = reader.read_new_ticks() | |
| assert len(ticks) == 2 | |
| extractor = MarketFeatureExtractor() | |
| features = extractor.extract({ | |
| "yes_price": ticks[0].price, | |
| "no_price": ticks[1].price, | |
| "spread": abs(1.0 - ticks[0].price - ticks[1].price), | |
| "volume_ratio": ticks[0].size / max(ticks[1].size, 1), | |
| "time_to_event_hours": 24.0, | |
| "venue_count": 2, | |
| }) | |
| scorer = KANFastScorer(in_features=6) | |
| result = scorer.score(features) | |
| assert "confidence" in result | |
| assert "kk_phase" in result | |
| total_cost = ticks[0].price + ticks[1].price | |
| assert total_cost < 1.0 | |
| reader.close() | |
| Path(path).unlink() | |