Skip to contents

Freeze a pulse snapshot for interactive strategy development

Usage

ledgr_pulse_snapshot(
  snapshot,
  universe,
  ts_utc,
  features = list(),
  initial_cash = 1e+05,
  positions = NULL
)

Arguments

snapshot

A ledgr_snapshot object.

universe

Character vector of instruments.

ts_utc

Timestamp to freeze at.

features

List of ledgr_indicator objects to compute.

initial_cash

Mock cash balance.

positions

Named numeric vector of positions (NULL = flat).

Value

A ledgr_pulse_context object.

Examples

bars <- data.frame(
  ts_utc = as.POSIXct("2020-01-01", tz = "UTC") + 86400 * 0:3,
  instrument_id = "AAA",
  open = 100:103,
  high = 101:104,
  low = 99:102,
  close = 100:103,
  volume = 1000
)
snapshot <- ledgr_snapshot_from_df(bars)
pulse <- ledgr_pulse_snapshot(
  snapshot,
  universe = "AAA",
  ts_utc = "2020-01-03T00:00:00Z",
  features = list(ledgr_ind_sma(2))
)
pulse$close("AAA")
#> [1] 102
pulse$feature("AAA", "sma_2")
#> [1] 101.5
close(pulse)
ledgr_snapshot_close(snapshot)