Starting from:

$30

Programming Financial Ratio Quantile Strategies Solved

1    Introduction
Here you will consider a few financial accounting ratios, as an approximation of “quantamental” models that typically take much more numerous and carefully defined financial accounting into consideration. You will then investigate profit opportunity of a quantile-based long-short scheme.

2   Understand Your Data
Read all documentation webpages for Zacks Fundamentals B. You will see they supply 6 related tables, FC, FR, MT, MKTV, SHRC and HDM [1]. The strategy coding for this assignment will be reasonably easy. The data assembly, deliberately, is the difficult part.

3    Define the Universe
Choose at least 200 tickers[2] of US equities such that[3] they satisfy the following:

•    end-of-day adjusted closing prices are available , over the entire period Jan 2014 through Jan 2021

•    debt/market  cap ratio is greater4 than 0.1 somewhere in the period Jan 2014 through Jan 2021 (preferably more than fleetingly)

•    not in the automotive, financial or insurance sector , over the entire period Jan 2014 through Jan 20215

•    has feasible calculation of the ratios specified below , over the entire period Jan 2014 through Jan 2021, including for at least one PER END  DATE no more than one year old. Debt ratio of zero is OK.

4    Select Financial Ratios
For this assignment, we will work with the following ratios:

•    debt to market cap[4].

•    return on investment[5]

•    price to earnings[6]

Note that these data items are reported (at best) quarterly. Use annual numbers only when quarterly ones do not exist. As the equity price changes day-to-day, each ratio changes accordingly[7], so ultimately the time series you have will be on daily data[8]. Recall that we did not know any of these numbers until the FC/FILING DATE .

 4This is about 1000-2000 companies, including ASH, VTOL, ISUN and VIVO.

5See the Quandl ZFB fields ZACKS SECTOR CODE, ZACKS X IND CODE, and the classification list

As an example, consider V , return on investment. Say that our entity had successive report dates of March 31 and June 30, V 3−31 and V 6−30 and those numbers were known on filing dates April 4 and July 7. Our equity price series, which we take (also a bit problematically) as adjusted close prices, will be Pt. We have a debt number D for each report date as well.

We can infer the “return” R for a given report date as the unknown element in

and we assume it doesn’t change day-to-day. Rather only the market value element M changes daily, and we estimate the corresponding V˜ values according to the filing dates. So for example our inferred values look like

but the next day is the filing date so we have
where and

5     Analysis
Study performance of weekly or monthly quantile trading strategies using each of these single ratios as well as your choice of least one nontrivial combination of them[9].

Set initial capital to be 10 times the gross notional of your first month’s set of positions. You may assume zero trading costs, that trading fractional shares and arbitrary positions sizes are possible, that all securities are easy to borrow with a repo rate equal to your funding rate minus 100bp[10], and that the portfolio capital is equal to the initial capital, adjusted for all realized and unrealized PL to date. Choose either a constant funding rate, or rolling 3-month LIBOR.

Analyze performance of a top-and-bottom decile trading strategy. Now rank based on changes in your ratios rather than the ratios themselves. Play with the effects of sizing positions by rank.


6     Data Example
Here is recent sample data for Eli Lilly (ticker LLY):

6.0.1      SEC Reports
 
6.0.2        Ratios On Key Dates
(Using  MKTV/MKT VAL, FC/NET LTERM DEBT to infer operating income)

            2019-10-25                               5.554480                        8.048674                            73.467766

            2019-10-28                               4.352354                        7.249701                            79.176659

            2019-12-31                               3.720165                        6.227653                            92.631604

            2020-01-02                               3.698217                        6.191987                            93.181347

            2020-02-19                               3.453830                        5.794008                            99.774689

            2020-02-20                               5.225211                        8.356740                            77.868328

            2020-03-31                               5.348760                        8.549034                            76.069679

            2020-04-01                               5.438939                        8.689238                            74.808431

            2020-05-01                               4.829656                        7.739485                            84.245853

2020-05-04 4.877282 7.671248 92.984654 2020-06-30 4.532301 7.127691 100.062297 2020-07-01 4.556724 7.166169 99.525966

            2020-07-31                               4.951182                        7.787704                            91.596800

            2020-08-03                               4.105682                        7.841469                            96.155810

            2020-09-30                               4.218627                        8.056110                            93.581421

            2020-10-01                               4.327682                        8.263302                            91.223235

            2020-10-28                               4.755473                        9.075546                            83.017001

2020-10-29 3.782411 6.317094 97.662767 2020-12-31 2.953930 4.948484 125.053966

            2021-01-04                               3.013544                        5.047243                          122.580143

2021-02-17 2.405588 4.038046 153.559427 2021-02-18 2.381655 7.910124 86.126239

            2021-03-31                               2.563957                        8.509632                            80.002505

            2021-04-01                               2.585826                        8.581494                            79.325897

2021-04-30 2.620772 8.696299 78.268161 2021-05-03 2.293549 5.842814 123.433215

            2021-06-30                               1.849797                        4.789536                          153.043896

            2021-07-01                               1.836912                        4.758436                          154.117443

            2021-08-03                               1.658523                        4.324818                          170.694087

            2021-08-04                               2.167266                        5.725783                          170.439396
 
[1] It is easiest to download your data through full-table downloads. Use URLs such as https://www.quandl.com/api/v3/datatables/ZACKS/MT?qopts.export=true
[2] You can find the full list of available tickers online
[3] We will not concern ourselves with selection bias in this exercise.
[4] FR/TOT DEBT TOT EQUITY in Quandl, we pretend that it is OK to treat market capitalization and book equity as equivalent, though they are not the same thing.
[5] Based       on FR/RET INVST, MKTV/MKT VAL, FC/NET LTERM DEBT,

FC/TOT LTERM  DEBT. Investment is defined here as market cap plus long term debt. Use net debt where available, total debt otherwise. Quandl will report debt as NaN if it was 0.0, but be careful about net versus tot debt.
[6] Compute this based on FC/EPS DILUTED  NET, BASIC NET  EPS, SHRS/SHARES OUT, MKTV/MKT VAL, use the basic version (GAAP) if no diluted number is available. Treat negative earnings per share as 0.001.
[7] In many cases PER END DATE is not a trading day, so go ahead and forward fill equity price from the previous trading day.
[8] If you have memory errors when joining data, you are probably mistakenly creating a combinatorial explosion in your merging code.
[9] That is to say, at least 4 types of scores.
[10] This number may sometimes become negative.

More products