Point-in-time universe and valuation policies
Source:R/availability-policy.R
ledgr_availability_policy.RdThese constructors opt an experiment into point-in-time availability
semantics without adding an execution-mode flag. A membership rule selects
one declared membership universe. A stale-valuation policy supplies the
session horizon of every availability-aware experiment; an experiment that
supplies none uses ledgr_valuation_stale() with its defaults.
Arguments
- universe_id
Non-empty membership-universe identifier.
- max_sessions
Non-negative whole number of venue sessions for which a prior accepted close remains a permissible valuation mark.
- exhausted
What happens to a holding whose mark is older than
max_sessions:"freeze"(the default) or"refuse".- x
A universe rule or valuation policy.
- ...
Unused.
Details
max_sessions separates ordinarily stale valuation from what happens after
it. Up to that age a carried close is a permissible mark. Beyond it,
exhausted decides: "freeze" keeps the holding at its last reference as
an explicitly assumption-backed frozen valuation, with quantity and cash
unchanged, while "refuse" stops the run INCOMPLETE. Neither choice
establishes an economic terminal: an aged mark proves no delisting, sale or
loss, so it never creates a fill, a disposition or a cash change. Terminal
outcomes come only from sealed lifetime facts and the corporate-action
policy. The default horizon is 5 sessions, chosen from real-data gap
evidence (US equity vendor data for S&P 500 members, 1998 to 2026: a
handful of held missing-bar runs exceed it and, under "freeze", none
stops a run). Plans and results mark a horizon of 5 as the default.
The valuation policy and its stored identity use schema_version 2.
Articles
Point-in-time universe workflow:
vignette("survivorship-bias", package = "ledgr")
system.file("doc", "survivorship-bias.html", package = "ledgr")