Skip to content

v6.5.2

Choose a tag to compare

@wallneradam wallneradam released this 29 Jun 21:15
· 439 commits to main since this release

PyneCore 6.5.2 is a correctness release on the 6.5 line. It sharpens request.security / higher-timeframe accuracy, adds an opt-in effective-dated session-schedule history, fixes a PyPI/Linux install regression that broke stateful ta.* calls, and adds a request.security fast path.

request.security / higher-timeframe

  • Multi-day and intraday HTF feeds are aggregated to the security timeframe, so each period exposes its last confirmed value instead of the still-developing one (#70).
  • Session-gapped intraday request.security is corrected across the session break.
  • request.security_lower_tf collects intrabars from the bar's own period [T, T+tf), on intraday charts and on D/W/M, weekly and monthly charts.

Session schedules (new, opt-in)

  • SymInfo can carry an effective-dated session_schedules history. A backtest spanning a session-hours change (for example a night session end moving 23:30 -> 23:00) confirms each intraday HTF bar against the schedule in effect on its trading day, closing the residual divergence around such changes (#69). Symbols without a history are unaffected.

Strategy simulation

  • A same-bar reversal fills and trims the new leg instead of being rejected.
  • strategy.opentrades.size() returns 0.0 for a negative or out-of-range trade index instead of raising.

Standard library

  • map.get() returns na for a missing key instead of raising, matching TradingView.
  • ta.percentile_*, ta.percentrank and ta.rci grow their source buffer to fit history reads.
  • timeframe.in_seconds("") treats an empty timeframe string as the chart timeframe.
  • Added ta.max_bars_back.

Core / compiler

  • Stateful library calls (ta.sma and friends) isolate correctly on PyPI/Linux installs again; a non-editable install no longer misclassifies PyneCore as part of the standard library (#68).
  • Method and function state persists across per-bar redefinition on the uniform binding path.
  • Nested-function series subscripts resolve through the scope chain.
  • The import hook detects a single-line """@pyne""" module marker.
  • A leaked shared-memory block is recreated when the result block grows.

Performance

  • A plain-OHLCV request.security is served without re-running the script's main() on every bar.