Skip to content

Commit 51e1a96

Browse files
committed
chore: bump version to 2.10.3
1 parent c1c1130 commit 51e1a96

8 files changed

Lines changed: 178 additions & 79 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,5 @@ GEMINI.md
7575
strategies/*
7676
data*/
7777
.claude
78-
*.ipynb
78+
*.ipynb
79+
.codex

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [2.10.3] - 2026-05-09
9+
10+
### 🐛 Fixed
11+
12+
- **daily index resolution** — Add `_resolve_daily_index` fallback logic for day-level queries from minute timestamps (`exact -> normalize -> previous trading day`) to avoid lookup failures in `get_price`, `history`, and limit-status related flows.
13+
- **data query robustness** — When day index cannot be resolved for a symbol, skip gracefully instead of raising index/location errors in multi-symbol queries.
14+
15+
### 🔧 Changed
16+
17+
- **api typing** — Standardize multiple optional API parameters from `x: T = None` to `x: T | None = None` across PTrade-compatible interfaces for clearer signatures and static analysis friendliness.
18+
- **repo hygiene** — Ignore local Codex workspace metadata via `.codex` in `.gitignore`.
19+
20+
### ✅ Tests
21+
22+
- **broker profile compatibility** — Extend broker-compat test coverage for the updated daily index resolution behavior.
23+
24+
### 📦 Upgrade
25+
26+
```bash
27+
pip install --upgrade simtradelab==2.10.3
28+
```
29+
30+
---
31+
832
## [2.10.2] - 2026-04-14
933

1034
### ✨ Added

README.de.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://www.python.org/)
88
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE)
99
[![License: Commercial](https://img.shields.io/badge/License-Commercial--Available-red)](licenses/LICENSE-COMMERCIAL.md)
10-
[![Version](https://img.shields.io/badge/Version-2.10.2-orange.svg)](#)
10+
[![Version](https://img.shields.io/badge/Version-2.10.3-orange.svg)](#)
1111
[![PyPI](https://img.shields.io/pypi/v/simtradelab.svg)](https://pypi.org/project/simtradelab/)
1212
[![PyPI - Downloads](https://img.shields.io/pypi/dm/simtradelab.svg)](https://pypi.org/project/simtradelab/)
1313

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ English | [中文](README.zh-CN.md) | [Deutsch](README.de.md)
77
[![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://www.python.org/)
88
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE)
99
[![License: Commercial](https://img.shields.io/badge/License-Commercial--Available-red)](licenses/LICENSE-COMMERCIAL.md)
10-
[![Version](https://img.shields.io/badge/Version-2.10.2-orange.svg)](#)
10+
[![Version](https://img.shields.io/badge/Version-2.10.3-orange.svg)](#)
1111
[![PyPI](https://img.shields.io/pypi/v/simtradelab.svg)](https://pypi.org/project/simtradelab/)
1212
[![PyPI - Downloads](https://img.shields.io/pypi/dm/simtradelab.svg)](https://pypi.org/project/simtradelab/)
1313

README.zh-CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](https://www.python.org/)
88
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE)
99
[![License: Commercial](https://img.shields.io/badge/License-Commercial--Available-red)](licenses/LICENSE-COMMERCIAL.md)
10-
[![Version](https://img.shields.io/badge/Version-2.10.2-orange.svg)](#)
10+
[![Version](https://img.shields.io/badge/Version-2.10.3-orange.svg)](#)
1111
[![PyPI](https://img.shields.io/pypi/v/simtradelab.svg)](https://pypi.org/project/simtradelab/)
1212
[![PyPI - Downloads](https://img.shields.io/pypi/dm/simtradelab.svg)](https://pypi.org/project/simtradelab/)
1313

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Poetry configuration
22
[tool.poetry]
33
name = "simtradelab"
4-
version = "2.10.2"
4+
version = "2.10.3"
55
description = "Lightweight quantitative backtesting framework with PTrade API simulation | 轻量级量化回测框架"
66
authors = ["kay <kayou@duck.com>"]
77
license = "AGPL-3.0-or-later"

0 commit comments

Comments
 (0)