Table of Contents

Struct HistoricTrade

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

One trade from the deprecated v2 historic ticks endpoint. Prefer Trade, which the v3 endpoint returns.

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

Remarks

Generated members only: no computed instants are added, because a consumer who wants them is meant to move to Trade. The description marks T, f, e, and r required although its own example omits all four, and declares the nanosecond timestamps as bare integers; the map corrects both, and each corrected row says so.

Properties

Conditions

A list of condition codes.

[JsonPropertyName("c")]
[JsonConverter(typeof(PooledArrayConverter<int>))]
public required int[] Conditions { get; init; }

Property Value

int[]

CorrectionIndicator

The trade correction indicator. The description marks it required; the published example omits it.

[JsonPropertyName("e")]
public int? CorrectionIndicator { get; init; }

Property Value

int?

ExchangeId

The exchange ID. See Exchanges for Massive's mapping of exchange IDs.

[JsonPropertyName("x")]
public int ExchangeId { get; init; }

Property Value

int

ParticipantTimestampNanoseconds

The nanosecond Unix timestamp at which the trade was generated at the exchange. The description declares a bare integer; every value overflows int32.

[JsonPropertyName("y")]
public long ParticipantTimestampNanoseconds { get; init; }

Property Value

long

Price

The price of the trade. This is the actual dollar value per whole share of this trade. A trade of 100 shares with a price of $2.00 would be worth a total dollar value of $200.00.

[JsonPropertyName("p")]
public double Price { get; init; }

Property Value

double

SequenceNumber

The sequence number represents the sequence in which message events happened. These are increasing and unique per ticker symbol, but will not always be sequential (e.g., 1, 2, 6, 9, 10, 11).

[JsonPropertyName("q")]
public long SequenceNumber { get; init; }

Property Value

long

SipTimestampNanoseconds

The nanosecond Unix timestamp at which the SIP received this trade. The description declares a bare integer; every value overflows int32.

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

Property Value

long

Size

The size of a trade (also known as volume).

[JsonPropertyName("s")]
public double Size { get; init; }

Property Value

double

Tape

There are 3 tapes which define which exchange the ticker is listed on. These are integers in our objects which represent the letter of the alphabet. Eg: 1 = A, 2 = B, 3 = C. * Tape A is NYSE listed securities * Tape B is NYSE ARCA / NYSE American * Tape C is NASDAQ

[JsonPropertyName("z")]
public int Tape { get; init; }

Property Value

int

Ticker

The exchange symbol that this item is traded under. The description marks it required; the published example omits it.

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

Property Value

string

TradeId

The Trade ID which uniquely identifies a trade. These are unique per combination of ticker, exchange, and TRF. For example: A trade for AAPL executed on NYSE and a trade for AAPL executed on NASDAQ could potentially have the same Trade ID.

[JsonPropertyName("i")]
public required string TradeId { get; init; }

Property Value

string

TrfId

The ID for the Trade Reporting Facility where the trade took place. The description marks it required; the published example omits it.

[JsonPropertyName("r")]
public int? TrfId { get; init; }

Property Value

int?

TrfTimestampNanoseconds

The nanosecond Unix timestamp at which the trade reporting facility received this trade, when it passed through one. The description marks it required; the published example omits it.

[JsonPropertyName("f")]
public long? TrfTimestampNanoseconds { get; init; }

Property Value

long?