US Equity Daily Cumulative Adjustment Factors Guide
US Equity Daily Cumulative Adjustment Factors Guide
version 1.2 (Jul 2021)
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
(+1) 646 583 1832
algoseek sales
(+1) 646 583 1832
DATA ORGANIZATION AND FILE FORMAT 4
HOW TO APPLY DAILY CUMULATIVE ADJUSTMENT FACTORS 7
APPENDIX A. FREQUENTLY ASKED QUESTIONS 11
The Daily Cumulative Adjustment Factors dataset provides cumulative adjustments for US equities calculated with the backward approach. The dataset also contains information about corporate event types affecting price and/or volume for historical backtesting.
algoseek uses a unique identifier called Security ID (SecId) for each equity, including stocks, ETFs, ETNs, ADRs, preferred stocks, and stock warrants among others. The SecId remains unchanged when a security’s ticker name changes.
For each SecId, this dataset provides cumulative adjustment factors and event types for the creation of backward adjusted pricing and/or volume for any date from 2007 to the present.
To find the SecId for a combination of exchange ticker and trade date, use the algoseek Lookup File. Please contact your account manager if you don’t have the access to Lookup File.
The dataset is continuous in terms of trade dates. It means that data files contain all trade dates and effective dates when a corporate event has happened and provide corresponding cumulative adjustment factors for price and volume. algoseek rebuilds data daily for each security when it has a new corporate event or adds a new trade date otherwise. Please refer to the “Daily Updates” section to find more details about updates.
algoseek provides Equity adjustment data in plain-text CSV files. Data files have fixed headers and rows of corresponding data (see Table 1). The data is SecId-based aggregated, for example, all adjustments for the security with an ID 33449 (AAPL) are stored in a single CSV file. Also, there is a possibility to get the data separated by year.
Table 1: Sample Daily Cumulative Adjustment Data
SecId | 33449 | 33449 | 33449 |
Ticker | AAPL | AAPL | AAPL |
TradeDate | 20140606 | 20140609 | 20140610 |
AdjustmentFactor | 0.142857142857143 | ||
CumulativeFactorPrice | 0.032233144343822 | 0.225632010406754 | 0.225632010406754 |
CumulativeFactorVolume | 0.0357142857142858 | 0.25 | 0.25 |
AdjustmentReason | BonusSame | ||
EventType | BON |
Table 2 below summarizes the name, brief description, and data type for each data field (column) in Equity Cumulative Backward Adjustment Factors CSV file.
Table 2: Daily Cumulative Adjustment Factor Fields and Descriptions
Field | Type (Format) | Description |
SecId | integer | Unique security identifier |
Ticker | string | Symbol name |
TradeDate | string (yyyymmdd) | Trade date or the date when the event becomes effective |
AdjustmentFactor | decimal | The value of the adjustment factor for the event. Available only for dates when the event happened |
CumulativeFactorPrice | decimal | Cumulative factor for equity price, calculated with a backward methodology |
CumulativeFactorVolume | decimal | Cumulative factor for equity trading volume, calculated with a backward methodology |
AdjustmentReason | string | The reason for the Corporate Event (e.g. CashDiv=Cash Dividend). See section “Adjustment Reason” below for a list of adjustment reasons. Available only for dates when the event happened |
EventType | string | Type of event (e.g. DIV=Dividend). See column “Adjustment Event Type” in Table 3 for a list of types. Available only for dates when the event happened |
Each adjustment event relates to an Event Type, and each Event Type may include different Adjustment Reasons. The table below describes the different adjustment types and reasons and whether it affects Price and/or Volume.
Table 3: Adjustment Reasons
Adjustment Event Type | Adjustment Reason | Description | Affects Price | Affects Volume |
BON | BonusSame | Bonus issue in the same class | Yes | Yes |
BonusDiff | Bonus issue in a different class | Yes | No | |
CAPRD | CapReduct | Capital Reduction | Yes | Yes |
CONSD | Cons | Consolidation | Yes | Yes |
DIST | Distrib | Distribution | Yes | No |
DIV | CashDiv | Cash Dividend | Yes | No |
ScriptDiv | Script dividend in the same class | Yes | Yes | |
ScriptDivDiff | Script dividend in a different class | Yes | No | |
DMRGR | DeMerg | De-merger | Yes | No |
ENT | EntSame | Entitlement in the same class | Yes | No |
EntDiff | Entitlement in a different class | Yes | No | |
RCAP | CapRet | Capital Return | Yes | No |
RTS | RightsSame | Rights in the same class | Yes | No |
RightsDiff | Rights in a different class | Yes | No | |
SCSWP | SecSwap | Security Swap | Yes | Yes |
SECRC | Reclass | Reclassification | Yes | Yes |
SD | Subdiv | Any subdivision (by any stock split, stock dividend, reclassification, recapitalization or otherwise) or combination (by the reverse stock split, reclassification, recapitalization, or otherwise) of the Class A Common Stock. | Yes | Yes |
Note: if SecId (Ticker) doesn’t have any corporate events, the TradeDate field will show the date when security was listed in algoseek’s records, all factors will be equal to 1 (one), and AdjustmentReason and EventType fields will have the value START (see Table 4).
Table 4: Sample Initial Row in Daily Cumulative Adjustment Data
SecId | 4533372 | 4533372 | 4533372 |
Ticker | MNST | MNST | MNST |
TradeDate | 20150615 | 20150616 | 20150617 |
AdjustmentFactor | 1 | ||
CumulativeFactorPrice | 1 | 1 | 1 |
CumulativeFactorVolume | 1 | 1 | 1 |
AdjustmentReason | START | ||
EventType | START |
When backtesting the historical “as-is” prices and volumes, they need to be adjusted in order to account for price events like a dividend and volume changes like a split. Use Table 3: Adjustment Reasons to determine if Price and/or Volume (a.k.a. Size) fields need to be adjusted.
The table below shows AAPL cumulative backward adjustments from 05/06/2014 to 12/06/2014.
Table 5: AAPL Corporate Events in 2012-2014
SecId | Ticker | TradeDate | AdjustmentFactor | CumulativeFactorPrice | CumulativeFactorVolume | AdjustmentReason | EventType | |
33449 | AAPL | 20140605 | 0.032233144343822 | 0.0357142857142858 | ||||
33449 | AAPL | 20140206 | 0.032233144343822 | 0.0357142857142858 | ||||
33449 | AAPL | 20140606 | 0.032233144343822 | 0.0357142857142858 | ||||
33449 | AAPL | 20140609 | 0.142857142857143 | 0.225632010406754 | 0.25 | BonusSame | BON | |
33449 | AAPL | 201400610 | 0.225632010406754 | 0.25 | ||||
33449 | AAPL | 20140611 | 0.225632010406754 | 0.25 | ||||
33449 | AAPL | 20140612 | 0.225632010406754 | 0.25 | ||||
Steps below describe creating backward adjusted (starting from the latest date) time series:
Note: When we have more than one corporate event for the same SecId and TradeDate, in the “AdjustmentFactor” column for that date value will be a cumulative factor for all events on that date. The “AdjustmentReason” and the “EventType” columns will be joined by “and” adjustment reasons and event types for all events on that date.
The dataset contains backward cumulative adjustment factors. Whenever a new corporate event (e.g. dividend, split, etc) is published for a SecId, all data for this SecId will be rebuilt, otherwise, a new trade date will be added. For both cases, you need to re-download the data.
If you have access to the full universe of SecIDs, you can update the data using AWS CLI SYNC command. This setup will download only updated files from S3 bucket. To sync your local directory and S3 bucket, please make sure to point the SYNC command to your local copy of the dataset. For more details, please refer to algoseek’s AWS Access Guide. For example,
aws s3 sync s3://us-equity-cumulative-backward-adjustment-secid-all your/local/folder --request-payer requester |
If you have access to a subset of SecIds, you can check files with daily changes and only re-download data for securities from your subscription. For example, if you only subscribed for the following SecIds: 33449 (AAPL), 1914754 (TSLA), 38497 (IBM), and 33127 (AMZN) and would like to know if something has changed for these on Jan 21, 2021, you should download the file with daily changes using the following command:
aws s3 cp |
and check if these SecIds are present in the file (see Table 6). The user then can download each individual data file with
aws s3 cp s3://us-equity-cumulative-backward-adjustment-secid-all/NN/NNNNN.csv local/folder/NN/NNNNN.csv --request-payer requester |
Where NNNNN: secid and NN: first two digits of secid.
Note: If the “Change” column in the file with daily changes contains “deleted” values, that SecIds should be deleted from the local copy.
Path to the file with daily changes has the following pattern:
s3://bucket_name/daily-changes/yyyymmdd-corp-changes.csv |
where bucket_name can be one of
yyyy - year.
Daily changes files are created by 2 am T+1 EST containing a list of SecIds that were updated.
Field “Change” in the “yyyymmdd-corp-changes.csv” files can be: “updated” - SecId was updated with a corporate event, “added” - new SecId was added, and “deleted” - SecId was deleted (see Table 6).
Table 6: Sample of Daily Changes File
SecId | Change |
33449 | updated |
300669 | updated |
550037 | updated |
6726866 | added |
6729160 | added |
37111 | deleted |
There is a couple of ways to keep the data updated:
Every file with the corporate events history for a SecId starts with the initial row that contains information on when the SecId was assigned to the security.