FINRAMonthlySummary
QuantConnect.DataSource.FINRAMonthlySummary
FINRAMonthlySummary()
FINRAMonthlySummary(line: str)
Bases: BaseData
FINRA OTC Transparency Non-ATS Monthly Summary. Monthly non-ATS over-the-counter trading volume by security: the shares and trades executed off-exchange by OTC market makers, outside of dark pools. It complements the weekly ATS feed to cover total off-exchange activity.
Signature descriptions:
-
Default constructor required by LEAN.
-
Parses one CSV line into a data point.
end_time
end_time: datetime
Publication date of the report, as reported by FINRA for that month. This is when LEAN delivers the data point.
share_quantity
share_quantity: Optional[float]
Monthly non-ATS OTC shares. This is also the data point's Value.
trade_count
trade_count: Optional[int]
Monthly non-ATS OTC trade count.
notional
notional: Optional[float]
Monthly non-ATS OTC dollar volume (notional). Often null before 2019.
REPORT_FOLDER
REPORT_FOLDER: str
Output subfolder under alternative/finra/ (used by the data processor).
OTC_ENDPOINT
OTC_ENDPOINT: str
FINRA otcMarket API dataset name (used by the data processor).
OTC_SUMMARY_TYPE_FILTER
OTC_SUMMARY_TYPE_FILTER: str
Per-symbol total rows, already aggregated, so no summation over firms is needed.
OTC_SYMBOL_FIELD
OTC_SYMBOL_FIELD: str
JSON field carrying the security ticker (→ output file name).
OTC_DATE_FIELD
OTC_DATE_FIELD: str
JSON field carrying the observation date (→ Time).
OTC_PUBLISHED_DATE_FIELD
OTC_PUBLISHED_DATE_FIELD: str
JSON field carrying the actual publication date (→ EndTime).
RAW_FIELDS
RAW_FIELDS: Sequence[str]
Raw otcMarket JSON fields, in the order the processor writes them after time and endtime (used by the data processor).
data_type
data_type: MarketDataType
Market Data Type of this data - does it come in individual price packets or is it grouped into OHLC.
time
time: datetime
Current time marker of this data packet.
value
value: float
Value representation of this data packet. All data requires a representative value for this moment in time. For streams of data this is the price now, for OHLC packets this is the closing price.
price
price: float
As this is a backtesting platform we'll provide an alias of value as price.
ALL_RESOLUTIONS
ALL_RESOLUTIONS: List[Resolution] = ...
A list of all Resolution
This Field is protected.
DAILY_RESOLUTION
DAILY_RESOLUTION: List[Resolution] = ...
A list of Resolution.DAILY
This Field is protected.
MINUTE_RESOLUTION
MINUTE_RESOLUTION: List[Resolution] = ...
A list of Resolution.MINUTE
This Field is protected.
HIGH_RESOLUTION
HIGH_RESOLUTION: List[Resolution] = ...
A list of high Resolution, including minute, second, and tick.
This Field is protected.
OPTION_RESOLUTIONS
OPTION_RESOLUTIONS: List[Resolution] = ...
A list of resolutions support by Options
This Field is protected.
is_fill_forward
is_fill_forward: bool
True if this is a fill forward piece of data
data_time_zone
data_time_zone() -> Any
Data time zone (Eastern, the FINRA publication time zone).
get_source
get_source(
config: SubscriptionDataConfig,
date: datetime,
is_live_mode: bool,
) -> SubscriptionDataSource
Location of the source file: alternative/finra/monthlysummary/{ticker}.csv
is_sparse_data
is_sparse_data() -> bool
Sparse data: one file per security, so missing-file logs are suppressed.
reader
reader(
config: SubscriptionDataConfig,
line: str,
date: datetime,
is_live_mode: bool,
) -> BaseData
Parses the data from the line provided and loads it into LEAN.
requires_mapping
requires_mapping() -> bool
Linked to Equities, so renames and delistings are applied via map files.
supported_resolutions
supported_resolutions() -> List[Resolution]
Supported resolutions (Daily only, the monthly cadence is modeled as Daily).
to_string
to_string() -> str
String representation for debugging.
deserialize_message
deserialize_message(serialized: str) -> Sequence[BaseData]
Deserialize the message from the data server
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
serialized
|
str
|
The data server's message |
required |
Returns:
| Type | Description |
|---|---|
Sequence[BaseData]
|
An enumerable of base data, if unsuccessful, returns an empty enumerable. |
should_cache_to_security
should_cache_to_security() -> bool
Indicates whether this contains data that should be stored in the security cache
Returns:
| Type | Description |
|---|---|
bool
|
Whether this contains data that should be stored in the security cache. |
update
update(
last_trade: float,
bid_price: float,
ask_price: float,
volume: float,
bid_size: float,
ask_size: float,
) -> None
Update routine to build a bar/tick from a data update.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
last_trade
|
float
|
The last trade price |
required |
bid_price
|
float
|
Current bid price |
required |
ask_price
|
float
|
Current asking price |
required |
volume
|
float
|
Volume of this trade |
required |
bid_size
|
float
|
The size of the current bid, if available |
required |
ask_size
|
float
|
The size of the current ask, if available |
required |
update_ask
update_ask(ask_price: float, ask_size: float) -> None
Updates this base data with the new quote ask information
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ask_price
|
float
|
The current ask price |
required |
ask_size
|
float
|
The current ask size |
required |
update_bid
update_bid(bid_price: float, bid_size: float) -> None
Updates this base data with the new quote bid information
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bid_price
|
float
|
The current bid price |
required |
bid_size
|
float
|
The current bid size |
required |
update_quote
update_quote(
bid_price: float,
bid_size: float,
ask_price: float,
ask_size: float,
) -> None
Updates this base data with new quote information
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bid_price
|
float
|
The current bid price |
required |
bid_size
|
float
|
The current bid size |
required |
ask_price
|
float
|
The current ask price |
required |
ask_size
|
float
|
The current ask size |
required |
update_trade
update_trade(last_trade: float, trade_size: float) -> None
Updates this base data with a new trade
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
last_trade
|
float
|
The price of the last trade |
required |
trade_size
|
float
|
The quantity traded |
required |