US Equity Cumulative Adjustment Factors Guide                                                            


US Equity Cumulative Adjustment Factors Guide

version 1.3 (Jul 2021)

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

INTRODUCTION        4

DATA ORGANIZATION AND FILE FORMAT        4

HOW TO APPLY CUMULATIVE ADJUSTMENT FACTORS        7

DAILY UPDATES        9

APPENDIX A. FREQUENTLY ASKED QUESTIONS        11

INTRODUCTION

The Cumulative Adjustment Factors dataset provides cumulative adjustments for US equities calculated using two common approaches: forward and backward. 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 forward or backward adjusted pricing and/or volume for any trading 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 do not have the access to Lookup File.

The dataset is event-based. It means that files contain just trade dates that correspond to effective dates when a corporate event has happened. algoseek rebuilds data for each security when it has a new corporate event. Please refer to the “Daily Updates” section to find more details about updates.

DATA ORGANIZATION AND FILE FORMAT

There are two data aggregation options for these datasets:

tradedate: one CSV file with data for all symbols per effective date

SecId: one CSV file with data for all effective dates per Security ID - a unique security identifier used by algoseek that remains unchanged when the ticker changes

Both aggregation options provide the same data fields.

algoseek provides Equity adjustment data in plain-text CSV files. Data files have fixed headers and rows of data corresponding to individual daily bars (see Table 1). For each year, data is aggregated either by trading day or by SecId;  for example, all corporate events that occurred on Mar 3, 2020 are stored in a separate CSV file under a tradedate aggregation. In the case of SecId-based aggregation, all adjustment data for the security with an ID 33449 (AAPL) for a single year is stored in a single CSV file. Also, SecId-based aggregation provides the possibility to get all adjustment data from 2007 up to now for a specific security in a single CSV file.

Table 1:  Cumulative Adjustment Sample Data

SecId

33449

33449

33449

Ticker

AAPL

AAPL

AAPL

EffectiveDate

20140206

20140508

20140609

CumulativeFactorPriceBackward

0.127903617434669

0.128669221770296

0.128669221770296

CumulativeFactorPriceForward

0.961154487257303

0.955815912032214

0.136545130290316

CumulativeFactorVolumeBackward

0.142857142857143

0.142857142857143

0.142857142857143

CumulativeFactorVolumeForward

1

1

0.142857142857143

AdjustmentReason

CashDiv

CashDiv

BonusSame

EventType

DIV

DIV

BON

Table 2 below summarizes the name, brief description and data type for each data field (column)  in an Equity Cumulative Adjustment Factors CSV file.

Table 2: Cumulative Adjustment Factor Fields and Descriptions

Field

Type (Format)

Description

SecId

integer

Unique security identifier

Ticker

string

Ticker on Effective Date

EffectiveDate

string (YYYYMMDD)

Date that the event becomes effective

CumulativeFactorPriceBackward

decimal

Cumulative factor for equity price, calculated with backward methodology

CumulativeFactorPriceForward

decimal

Cumulative factor for equity price, calculated with forward methodology

CumulativeFactorVolumeBackward

decimal

Cumulative factor for equity trading volume, calculated with backward methodology

CumulativeFactorVolumeForward

decimal

Cumulative factor for equity trading volume, calculated with forward methodology

AdjustmentReason

string

The reason for the Corporate Event (e.g. CashDiv=Cash Dividend). See section “Adjustment Reason Table” below for a list of adjustment reasons

EventType

string

Type of event (e.g. DIV=Dividend). See subsection “Adjustment Reason” below for a list of types

Adjustment Reason

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 a SecId (Ticker) doesn’t have any corporate events, EffectiveDate field will show the date when security was listed, all factors will be equal 1 (one), and AdjustmentReason and EventType fields will have the value START (see Table 4).

Table 4: Sample Initial Row in Cumulative Adjustment Data

SecId

4533372

Ticker

MNST

EffectiveDate

20150615

CumulativeFactorPriceBackward

1

CumulativeFactorPriceForward

1

CumulativeFactorVolumeBackward

1

CumulativeFactorVolumeForward

1

AdjustmentReason

START

EventType

START

HOW TO APPLY CUMULATIVE ADJUSTMENT FACTORS

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 adjustments from 1/1/2012 to 1/1/2015.  To make data readable, the table does not include fields CumulativeFactorPriceForward and CumulativeFactorVolumeForward.

Table 5: AAPL Corporate Events in 2012-2014

SecId

Ticker

EffectiveDate

CumulativeFactor PriceBackward

CumulativeFactor VolumeBackward

AdjustmentReason

EventType

33449

AAPL

20120809

0.123670999876425

0.142857142857143

CashDiv

DIV

33449

AAPL

20121107

0.124201983090684

0.142857142857143

CashDiv

DIV

33449

AAPL

20130207

0.124769262544028

0.142857142857143

CashDiv

DIV

33449

AAPL

20130509

0.125496420111086

0.142857142857143

CashDiv

DIV

33449

AAPL

20130808

0.126327089355946

0.142857142857143

CashDiv

DIV

33449

AAPL

20131106

0.127161193273283

0.142857142857143

CashDiv

DIV

33449

AAPL

20140206

0.127903617434669

0.142857142857143

CashDiv

DIV

33449

AAPL

20140508

0.128669221770296

0.142857142857143

CashDiv

DIV

33449

AAPL

20140609

0.129387885595545

0.142857142857143

BonusSame

BON

33449

AAPL

20140807

0.905715199168812

1

CashDiv

DIV

33449

AAPL

20141106

0.910220291174414

1

CashDiv

DIV

The following steps describe creating backward adjusted (starting from the latest date) time series for AAPL from 1/1/2015 to 1/1/2007:

Note: When we have more than one corporate event for the same SecId and EffectiveDate, one should use the first record for backward adjustments and the last record for forward adjustments.

DAILY UPDATES

The dataset contains both backward and forward 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. In this case, 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.

aws s3 sync s3://us-equity-cumulative-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 s3://us-equity-cumulative-adjustment-secid-all/daily-changes/20210121.csv 20210121_changes.csv --request-payer requester

and check if these SecIds are present in the file (see Table 6).

Table 6: Daily Changes File Sample

SecId

33449

300669

550037

6726866

6729160

37111

You can download each individual data file with:

aws s3 cp s3://us-equity-cumulative-adjustment-secid-all/NN/NNNNN.csv local/folder/NN/NNNNN.csv --request-payer requester

where NNNNN is a SecId and NN corresponds to the first two digits of the SecId.

Note: The procedure described above works only for buckets aggregated by SecId. For a tradedate-based aggregation, a daily file contains the list of dates updated.

Path to the file with daily changes has the following pattern:

s3://bucket_name/daily-changes/yyyymmdd.csv

where bucket_name can be one of

  1. us-equity-cumulative-adjustment-secid-all;
  2. us-equity-cumulative-adjustment-secid-yyyy;
  3. us-equity-cumulative-adjustment-tradedate-yyyy;

yyyy - year, mm - month, and dd - day.

Daily Update Time

For data aggregated by SecId, the daily files are created by 2 am T+1 EST.

For data aggregated by tradedate, the daily files are created by 4 am T+1 EST.

Note: A daily changes file is only created when corporate event-related changes happen.


APPENDIX A. FREQUENTLY ASKED QUESTIONS

Why do I see a weird first row with AdjustmentReason = START and EventType = START in the data files?

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.

Do forward cumulative adjustment factors take into account adjustment events that happened before 2007?

No, the forward cumulative adjustment factors cover only events since 2007.