Table of Contents

Struct GroupedDailyBar

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

One ticker's bar from the grouped daily endpoint: open, high, low, close, and volume for a whole trading day, with the ticker it belongs to.

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

Remarks

Agg's shape plus Ticker, which this endpoint carries on every row because one response spans the whole market. A separate model because the generator refuses a model at a site that carries a property the model lacks (decision D16). Timestamp is computed from TimestampMilliseconds only when read (decision D5).

Properties

Close

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

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

Property Value

double

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

Ticker

The exchange symbol that this item is traded under.

[JsonPropertyName("T")]
public required string Ticker { get; init; }

Property Value

string

Timestamp

The start of the trading day, converted from TimestampMilliseconds.

[JsonIgnore]
public Instant Timestamp { get; }

Property Value

Instant

Remarks

The raw long is what gets deserialized and stored; this conversion happens only when read, so a whole-market response costs nothing until a value is actually wanted.

TimestampMilliseconds

The Unix millisecond timestamp for the end of the aggregate window.

[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?