MarketData SDK

Expirations extends ResponseBase
in package
uses FormatsForDisplay

Represents a collection of option expirations dates and related data.

Table of Contents

Properties

$_saved_filename  : string|null
$expirations  : array<string|int, Carbon>
The expiration dates requested for the underlying with the option strikes for each expiration.
$next_time  : Carbon|null
Time of the next quote if there is no data in the requested period, but there is data in a subsequent period.
$prev_time  : Carbon|null
Time of the previous quote if there is no data in the requested period, but there is data in a previous period.
$status  : string
Status of the expirations request. Will always be ok when there is strike data for the underlying/expirations requested.
$updated  : Carbon|null
The date and time this list of options strikes was updated in Unix time.
$csv  : string
$html  : string

Methods

__construct()  : mixed
Constructs a new Expirations instance from the given response object.
__toString()  : string
Returns a string representation of the expirations collection.
getCsv()  : string
Get the CSV content of the response.
getHtml()  : string
Get the HTML content of the response.
isCsv()  : bool
Check if the response is in CSV format.
isHtml()  : bool
Check if the response is in HTML format.
isJson()  : bool
Check if the response is in JSON format.
saveToFile()  : string
Save CSV/HTML content to a file.
formatChange()  : string
Format a change value with sign and currency (e.g., "+$1.25" or "-$0.50").
formatCurrency()  : string
Format a float as currency (e.g., "$150.25").
formatDate()  : string
Format a Carbon date without time (e.g., "Jan 24, 2026").
formatDateTime()  : string
Format a Carbon date with time (e.g., "Jan 24, 2026 3:45 PM").
formatGreek()  : string
Format a Greek value (4 decimal places, e.g., "0.4520").
formatNumber()  : string
Format a number with commas (e.g., "15,234").
formatPercent()  : string
Format a percentage with sign (e.g., "+3.25%" or "-1.50%").
formatPercentRaw()  : string
Format a percentage that is already in percent form (e.g., "32.50%").
formatVolume()  : string
Format volume with K/M/B suffixes (e.g., "54.9M", "12.3K").

Properties

$_saved_filename

public string|null $_saved_filename = null

The filename where the response was saved (if filename parameter was used).

$expirations

The expiration dates requested for the underlying with the option strikes for each expiration.

public array<string|int, Carbon> $expirations = []

$next_time

Time of the next quote if there is no data in the requested period, but there is data in a subsequent period.

public Carbon|null $next_time = null

$prev_time

Time of the previous quote if there is no data in the requested period, but there is data in a previous period.

public Carbon|null $prev_time = null

$status

Status of the expirations request. Will always be ok when there is strike data for the underlying/expirations requested.

public string $status = 'no_data'

$updated

The date and time this list of options strikes was updated in Unix time.

public Carbon|null $updated = null

For historical strikes, this number should match the date parameter.

$csv

protected string $csv

The CSV content of the response.

$html

protected string $html

The HTML content of the response.

Methods

__construct()

Constructs a new Expirations instance from the given response object.

public __construct(object $response) : mixed
Parameters
$response : object

The response object containing expirations data.

__toString()

Returns a string representation of the expirations collection.

public __toString() : string
Return values
string

Human-readable expirations summary.

getCsv()

Get the CSV content of the response.

public getCsv() : string
Tags
throws
InvalidArgumentException

If the response is not in CSV format.

Return values
string

The CSV content.

getHtml()

Get the HTML content of the response.

public getHtml() : string
Tags
throws
InvalidArgumentException

If the response is not in HTML format.

Return values
string

The HTML content.

isCsv()

Check if the response is in CSV format.

public isCsv() : bool
Return values
bool

True if the response is in CSV format, false otherwise.

isHtml()

Check if the response is in HTML format.

public isHtml() : bool
Return values
bool

True if the response is in HTML format, false otherwise.

isJson()

Check if the response is in JSON format.

public isJson() : bool
Return values
bool

True if the response is in JSON format, false otherwise.

saveToFile()

Save CSV/HTML content to a file.

public saveToFile(string $filename) : string
Parameters
$filename : string

The file path to save to.

Tags
throws
InvalidArgumentException

If filename is invalid (wrong extension, etc.).

throws
RuntimeException

If file writing fails.

Return values
string

The absolute path of the saved file.

formatChange()

Format a change value with sign and currency (e.g., "+$1.25" or "-$0.50").

protected formatChange(float|null $value) : string
Parameters
$value : float|null

The change value to format.

Return values
string

Formatted change string or "N/A" if null.

formatCurrency()

Format a float as currency (e.g., "$150.25").

protected formatCurrency(float|null $value) : string
Parameters
$value : float|null

The value to format.

Return values
string

Formatted currency string or "N/A" if null.

formatDate()

Format a Carbon date without time (e.g., "Jan 24, 2026").

protected formatDate(Carbon|null $date) : string
Parameters
$date : Carbon|null

The date to format.

Return values
string

Formatted date string or "N/A" if null.

formatDateTime()

Format a Carbon date with time (e.g., "Jan 24, 2026 3:45 PM").

protected formatDateTime(Carbon|null $date) : string
Parameters
$date : Carbon|null

The date to format.

Return values
string

Formatted date string or "N/A" if null.

formatGreek()

Format a Greek value (4 decimal places, e.g., "0.4520").

protected formatGreek(float|null $value) : string
Parameters
$value : float|null

The Greek value to format.

Return values
string

Formatted Greek string or "N/A" if null.

formatNumber()

Format a number with commas (e.g., "15,234").

protected formatNumber(int|null $value) : string
Parameters
$value : int|null

The number to format.

Return values
string

Formatted number string or "N/A" if null.

formatPercent()

Format a percentage with sign (e.g., "+3.25%" or "-1.50%").

protected formatPercent(float|null $value) : string

Assumes input is a decimal (0.30 = 30%).

Parameters
$value : float|null

The decimal value to format as percentage.

Return values
string

Formatted percentage string or "N/A" if null.

formatPercentRaw()

Format a percentage that is already in percent form (e.g., "32.50%").

protected formatPercentRaw(float|null $value) : string

Use this for values like implied volatility that are already percentages.

Parameters
$value : float|null

The percentage value to format.

Return values
string

Formatted percentage string or "N/A" if null.

formatVolume()

Format volume with K/M/B suffixes (e.g., "54.9M", "12.3K").

protected formatVolume(int|null $value) : string
Parameters
$value : int|null

The volume to format.

Return values
string

Formatted volume string or "N/A" if null.


        
On this page

Search results