US Equity OTC Market Compliance Data                                                                            


US Equity OTC Market Compliance Data

Version 1.0.0 (Dec 2024)

CONTACT US

We are here to help you do great things with our market and reference data. For questions, feedback, and other concerns, you may reach our team of experts using the following contact information:

 

algoseek customer support

support@algoseek.com

(+1) 646 583 1832

algoseek sales

sales@algoseek.com

(+1) 646 583 1832

TABLE OF CONTENTS

REVISION SUMMARY        4

INTRODUCTION        5

DATA ORGANIZATION AND FILE FORMAT        5

FIGI IDENTIFIER        11

APPENDIX. Reason Code Mapping Table        12


REVISION SUMMARY

Effective Date

Version

Revision Type

Description

Dec 6, 2024

1.0.0

Release

An initial version of the dataset

INTRODUCTION

This guide describes the US Equity OTC Market Compliance Data dataset, an extension of the OTC Compliance Data File provided by OTC Markets.  

The dataset covers the full universe of the OTC securities in the US Equity market (~22k), providing basic data fields such as ticker and security name; describing ‘penny stock’ status, and noting applicable OTC recommendation rule exemptions. It also offers other key OTC compliance fields such as OTC marketplaces, OTC Tier, Caveat Emptor, Company Reporting Standard, Shell Status, Shares Outstanding, and Number of Market Participants. The dataset is supplemented by the global and country-level FIGI codes for convenient securities identification.

DATA ORGANIZATION AND FILE FORMAT

algoseek provides US Equity OTC Market Compliance Data in plain-text gzip-compressed CSV files. The first row of the CSV file is a fixed header, followed by rows corresponding to individual securities data (see Table 1). The dataset is organized into two data files per trading day representing data prior to market open and after market close.

The data file name schema is yyyymmdd_pp.csv.gz, where yyyy is year, mm is month, dd is day, and pp is period: AM or PM.

Table 1 below summarizes the name, description, and data type for each data field (column).

Table 1: Data File Fields Schema

Field

Type (Format)

Missing

Description

TradeDate

string (yyyymmdd)

Never

File creation date

SecId

integer

Never

OTC Markets Group unique identifier for security

CompId

integer

Never

OTC Markets Group unique company identifier for security

Ticker

string

Blank

US markets symbol

FIGI

string

Blank

The current FIGI code of the security

ShareClassFIGI

string

Blank

The current global FIGI code of the security

CompanyName

string

Never

Company Name

SecurityName

string

Never

Security Name

Venue

string

Never

US trading venue

SecurityType

string

Blank

Security Type (e.g. common, unit, warrant )

SecurityClass

string

Blank

Security Class

CaveatEmptor

string

Never

Caveat Emptor (Buyer Beware) Flag (Y/N)

OTCTier

string

Never

OTC Market Tier – tier details outlined in appendix

OTCTierId

integer

Never

OTC Tier identifier

ReportingStandard

string

Never

Company reporting standard

SecurityStatus

string

Never

Security Status

ProprietaryQuoteEligible

string

Blank

Security is eligible for proprietary quoting under SEC Rule 15c2-11

PennyStockExempt

string

Never

Notes whether the security is exempt from being classified as a penny stock under SEC Rule 3a51-1

Y = Penny Stock exempt

N = Does not qualify for any of the exemptions under Rule 3a51-1

PSPriceExemption

string

Never

If the security has a closing inside bid price of >= $5 then the security is exempt from being classified as a penny stock. Inside bid price requires 2 priced quotes to be valid.

Y = Price Exemption

N = Does not qualify for Price Exemption

If security type = Unit then the closing inside bid divided by the number of common stock within the unit must be >= $5. In addition, any warrants or rights within the unit must have an exercise price >= $5

If security type = ADR, GDR or NYRS then the inside bid divided by the DR: Ordinary ratio must be > = $ 5

PreviousClosingInsideBid

decimal

Blank

Closing Inside Bid on previous trading day. 2 priced quotes required for a closing bid

PreviousLastTrade

decimal

Blank

Previous Last Sale for security

InvestmentCompanyExemption

string

Blank

If the issuer (company) is an investment company registered under the Investment Company Act of 1940 then the security is automatically exempt from being classified as a penny stock.

Y = Investment Company Exemption

N = Does not qualify for Investment Company Exemption

PSQualifiedFinancials

string

Blank

IF OTC Markets does not have access to the required financials data in order to properly note the Net Tangible Asset or Average Revenue exemptions then value = N

Y = Required Financial Data Available

N = Required Financial Data Not Available

NetTangibleAssetsExemption

string

Blank

If the issuer has been in continuous operation for at least 3 years and has Net tangible assets (i.e., total assets less intangible assets and liabilities) in excess of $2,000,000, or if the issuer has been in continuous operation for less than 3 years and has Net Tangible Assets of $5,000,000 the associated securities are exempt from being classified as a penny stock.

Y = Net Tangible Assets Exemption

N = Does not qualify for Net Tangible Assets Exemption

Note: Above logic depends on qualified financial data being available. See Qualified Financial Data Available Field.

NetTangibleAssets

integer

Blank

$ value of most recent annual Net Tangible Assets

NetTangibleAssetsPED

string (yyyymmdd)

Blank

Period End Date of NTA value

AverageRevenueExemption

string

Never

If the issuer’s mean revenue for the trailing 3 years >= $6 Million then the associated securities are exempt from being classified as a penny stock.

Y = Average Revenue Exemption

N = Does not qualify for Average Revenue Exemption

Note: Above logic depends on qualified financial data being available. See Qualified Financial Data Available Field.

AverageRevenue

integer

Blank

$ value of Average Revenue for past 3 years

OTCRecRuleExempt

string

Never

If any of the OTC Recommendation Rule exemption = Y then value = Y ELSE value = N.

Note: The exemption flag only applies to the exemptions noted below. It is possible that other exemptions noted in FINRA Rule 2114 apply (e.g. transaction level exemptions).

OTCRecRulePriceExemption

string

Never

If the security has a closing inside bid price of > = $50 then the security is exempt from the OTC Recommendation Rule. Inside bid prices requires 2 priced quotes to be valid.

Y = Price Exemption

N = Does not qualify for Price Exemption

If security type = Unit then the closing inside bid divided by the number of common stock within the unit must be > = $50.

If security type = ADR, GDR or NYRS then the closing last trade or inside bid divided by the DR: Ordinary ratio must be > = $ 50

Previous Day Closing Bid Price noted above.

OTCRecRuleQualifiedFinancials

string

Never

IF OTC Markets does not have access to the required financials data in order to properly note Asset/Shareholder Equity exemption then value = N

Y = Required Financial Data Available

N = Required Financial Data Not Available

OTCRecRuleAssetExemption

string

Never

If the issuer has > = $50 Million in Total Assets AND > = 10 Million in Shareholder Equity for the most recent financial statements then the associated securities are exempt from the OTC recommendation rule.

Y = Asset/Shareholder Equity Exemption

N = Does not qualify for Asset/Shareholder Equity Exemption

TotalAssets

integer

Blank

$ Value of Total Assets for most recent annual financial statement

ShareholderEquity

integer

Blank

$ Value of Shareholder Equity most recent annual financial statement

LastBalanceSheetPED

string (yyyymmdd)

Blank

Date of most recent annual Balance Sheet

LastIncomeStatementPED

string (yyyymmdd)

Blank

Date of most recent annual Income Statement

OTCRecRuleBankExemption

string

Never

If the issuer is a bank or insurance company, then the associated securities are exempt from the OTC recommendation rule.

Y = Bank/Insurance Exemption

N = Does not qualify for Bank/Insurance Exemption

144AInformationAvailable

string

Never

If Issuer is exempt from reporting under Rule 12g3-2b or if current financial information is available for the issuer then value = Y else value = N.

Y = Exempt or Required Financial Data Available

N = Required Financial Data Not Available

144A12g32bExemption

string

Never

Y = Exempt under Rule 12g3-2b

N = Not Exempt under Rule 12g3-2b

144AFinancialDataExemption

string

Never

If current Financial information is available then value = Y else value = N

Y = Current Financial Information Available

N = Current Financial Information Not Available

LastAnnualBalanceSheetPED

string (yyyymmdd)

Blank

Date of most recent annual Balance Sheet

FiscalYearEnd

string (ddmm)

Blank

Fiscal year end data in format of ddmm

FilingCycle

string

Blank

Filing cycle of company

LastReportDate

string (yyyymmdd)

Blank

Date of last 10K, Q, 8K or Alternative Report

LastReportType

string

Blank

Type of last report

12g32bExemptStatus

string

Never

Flag noting whether company is exempt from SEC Reporting under Rule 12g3-2b

Bankruptcy

string

Never

Flag noting whether company is in bankruptcy

Shell

string

Never

Flag noting whether the company is a shell company

BankThrift

string

Never

Flag noting whether the company is either a bank/thrift or non-bank regulated company (e.g. insurance)

AuditedFinancials

string

Never

Flag noting whether the company’s financials are Audited

MarketParticipants

integer

Blank

Number of broker-dealers quoting the security

20DayAvgVolume

integer

Blank

Mean share volume for past 20 trading days

30DayAvgVolume

integer

Blank

Mean share volume for past 30 trading days

LastSplitDate

string (yyyymmdd)

Blank

Last date of forward or reverse share dividend (split)

LastSplitRatio

decimal

Blank

Share amount per 1 share of stock pre-split. Numbers > 1 = forward split. Number < 1 = reverse split.

LastSplitComments

string

Blank

Text comments relating to respective split

PreviousSplitDate

string (yyyymmdd)

Blank

Previous date of forward or reverse share dividend (split)

PreviousSplitRatio

decimal

Blank

Share amount per 1 share of stock pre-split. Numbers > 1 = forward split. Number < 1 = reverse split.

PreviousSplitComments

string

Blank

Text comments relating to previous split

HomeMarketTradingTicker

string

Blank

Home market symbol for foreign securities (e.g. F shares, ADRs)

HomeMarketTradingVenue

string

Blank

Home market trading venue for foreign securities

HomeMarketTradingVenueTier

string

Blank

Home market trading venue tier. A venue tier is a subset of the main venue. For example the LSE AIM market.

SharesOutstanding

integer

Blank

Shares outstanding for respective security

SharesOutstandingAsOfDate

string (yyyymmdd)

Blank

Shares outstanding as of date

TransferAgentVerified

string

Never

Flag noting if company profile data (e.g. description, officers, directors etc) is verified by the issuer. Verified data may not be more than six months old. See Company Profile Verified as of date field.

CompanyProfileVerified

string

Never

Flag noting if company profile data (e.g. description, officers, directors etc) is verified by the issuer. Verified data may not be more than six months old. See Company Profile Verified as of date field.

CompanyProfileVerifiedAsOfDate

string (yyyymmdd)

Blank

Profile verification as of date

TransferAgent

string

Blank

Transfer Agent(s) associated with security. If multiple transfer agents are associated with security they will be separated by a semi-colon.

TierAbbreviation

string

Never

The tier abbreviation field supplies the 2 letter abbreviation associated with respective security’s OTC Tier

UNSQuoteOnly

string

Never

Notes whether the security may only be quoted Unsolicited on OTC Link ATS (Y/N Flag)

OTCLinkECNEligibleFlag

string

Blank

Notes whether the security is eligible for OTC Link ECN (Y/N)

DisclosureStatus

string

Blank

Issuer Disclosure Status

ProprietaryQuoteEligibleEntryReasonCodes

string

Blank

Notes 15c-211 compliance basis for Proprietary Quote Eligibility. Multiple reason codes (integer(s)) are possible and will be delimited with a semi-colon (;). See Table 6 for Reason Code mapping and descriptions and applicable rule sections.

DeterminationDates

string (yyyymmdd;yyyymmdd;...)

Blank

Notes determination date(s) for Proprietary Quote Eligibility Reason Code(s). Multiple dates are possible and will be delimited with a semi-colon(;). Dates will correlate to order of PQE Reason Codes.

GracePeriod

string

Blank

Notes if security is in Grace Period for Rule 15c-211 compliance

GracePeriodAnticipatedEndDate

string (yyyymmdd)

Blank

Notes anticipated final date of Grace Period for Rule 15c-211. If no change to 15c-211 compliance status prior to end date the security will lose Proprietary Quote Eligible status on following trading day.

211ShellFlag

string

Blank

Notes if issuer is a shell company under rule 15c2-11

211ShellAsOfDate

string (yyyymmdd)

Blank

Date of initial proprietary quote for security (regardless of shell status). As of date is basis for 18 month limited application of piggyback exemption. Post 18 month timeframe (and continued 211 Shell flag = Y) the security will not qualify for piggyback exemption and may lose proprietary quote eligibility.

211ShellDaysRemaining

integer

Blank

Number of days remaining on 18 month shell timeframe for piggyback exemption. If 18 month shell timeframe for piggyback exemption has expired, then value will be null.

FIGI IDENTIFIER

The Financial Instrument Global Identifier (FIGI) (formerly Bloomberg Global Identifier (BBGID)) is an open standard, unique identifier of financial instruments that can be assigned to instruments including common stock, options, derivatives, futures, corporate and government bonds, municipals, currencies, and mortgage products.

To get the available FIGIs for each OTC market securities, OpenFIGI API is used: OpenFIGI API

For the dataset, country-level FIGI (“compositeFIGI”) is used for the value of the “FIGI” field, and the global-level FIGI (“shareClassFIGI”) for the value of the “ShareClassFIGI”.

APPENDIX. Reason Code Mapping Table

Reason Code ID

Reason Code Description

Rule Section

1

211 Cleared by FINRA

(a)(1)

2

OTC Link Initial Information Review - SEC Reporting (Registration Statement)

(a)(2) - (b)(1)

3

OTC Link Initial Information Review - SEC Reporting (Reg A Offering)

(a)(2) - (b)(2)

4

OTC Link Initial Information Review - SEC Reporting

(a)(2) - (b)(3)(i)

5

OTC Link Initial Information Review - SEC Reporting (Reg A)

(a)(2) - (b)(3)(ii)

6

OTC Link Initial Information Review - SEC Reporting (Reg CF)

(a)(2) - (b)(3)(iii)

7

OTC Link Initial Information Review - SEC Reporting (Insurance Company)

(a)(2) - (b)(3)(iv)

8

OTC Link Initial Information Review - Insurance Company

(a)(2) - (b)(3)(v)

9

OTC Link Initial Information Review - 12g3-2(b)

(a)(2) - (b)(4)

10

OTC Link Initial Information Review - Catch-All

(a)(2) - (b)(5)

11

Exchange Delist

(f)(1)

12

Piggyback Qualified – SEC Reporting (Registration Statement)

(f)(3) - (b)(1)

13

Piggyback Qualified – SEC Reporting (Reg A Offering)

(f)(3) - (b)(2)

14

Piggyback Qualified – SEC Reporting

(f)(3) - (b)(3)(i)

15

Piggyback Qualified – SEC Reporting (Reg A)

(f)(3) - (b)(3)(ii)

16

Piggyback Qualified – SEC Reporting (Reg CF)

(f)(3) - (b)(3)(iii)

17

Piggyback Qualified – SEC Reporting (Insurance Company)

(f)(3) - (b)(3)(iv)

18

Piggyback Qualified – Insurance Company

(f)(3) - (b)(3)(v)

19

Piggyback Qualified – 12g3-2(b)

(f)(3) - (b)(4)

20

Piggyback Qualified – Catch-All

(f)(3) - (b)(5)

21

Municipal Security

(f)(4)

22

ADTV, Assets, Shareholder Equity

(f)(5)

23

Underwriter Quote

(f)(6)

24

Piggyback Qualified – Grace Period

(f)(3) - (ii)(c)