Table of Contents

Struct SnapshotMinute

Namespace
MassiveDotNet.Rest.Models
Assembly
MassiveDotNet.Rest.dll

The most recent minute bar inside a snapshot, with the day's accumulated volume so far.

[JsonConverter(typeof(SnapshotMinuteJsonConverter))]
public readonly record struct SnapshotMinute : IEquatable<SnapshotMinute>
Implements
Inherited Members

Remarks

A struct like Agg (decision D4). Timestamp is computed from TimestampMilliseconds only when read (decision D5). The description declares the timestamp and the accumulated volume as bare integers; the timestamp always overflows int32 and a busy session's accumulated volume can, so the map types both long.

Properties

AccumulatedVolume

The accumulated volume for the day so far. The description declares a bare integer; a busy session overflows int32.

[JsonPropertyName("av")]
public long AccumulatedVolume { get; init; }

Property Value

long

Close

The close price for the symbol in the given time period.

[JsonPropertyName("c")]
public double Close { get; init; }

Property Value

double

DecimalAccumulatedVolume

The accumulated volume for the day so far, including fractional shares. The wire sends this as a decimal string; it is carried as a decimal, which holds the value exactly and keeps the scale the service wrote (decision D38). The description marks it required; the service omits it on some tickers in the whole-market snapshot.

[JsonPropertyName("dav")]
public decimal? DecimalAccumulatedVolume { get; init; }

Property Value

decimal?

DecimalVolume

The volume including fractional shares. The wire sends this as a decimal string; it is carried as a decimal, which holds the value exactly and keeps the scale the service wrote (decision D38).

[JsonPropertyName("dv")]
public decimal? DecimalVolume { get; init; }

Property Value

decimal?

High

The highest price for the symbol in the given time period.

[JsonPropertyName("h")]
public double High { get; init; }

Property Value

double

IsOtc

Whether this aggregate is for an OTC ticker. The API omits the field entirely when false, which deserializes to false here.

[JsonPropertyName("otc")]
public bool IsOtc { get; init; }

Property Value

bool

Low

The lowest price for the symbol in the given time period.

[JsonPropertyName("l")]
public double Low { get; init; }

Property Value

double

Open

The open price for the symbol in the given time period.

[JsonPropertyName("o")]
public double Open { get; init; }

Property Value

double

Timestamp

The start of the minute window, converted from TimestampMilliseconds.

[JsonIgnore]
public Instant Timestamp { get; }

Property Value

Instant

Remarks

The conversion happens only when read (decision D5).

TimestampMilliseconds

The Unix millisecond timestamp for the start of the minute window. The description declares a bare integer; every value overflows int32.

[JsonPropertyName("t")]
public long TimestampMilliseconds { get; init; }

Property Value

long

TransactionCount

The number of transactions in the aggregate window.

[JsonPropertyName("n")]
public long TransactionCount { get; init; }

Property Value

long

Volume

The trading volume of the symbol in the given time period.

[JsonPropertyName("v")]
public double Volume { get; init; }

Property Value

double

VolumeWeightedAveragePrice

The volume weighted average price.

[JsonPropertyName("vw")]
public double VolumeWeightedAveragePrice { get; init; }

Property Value

double