Package: quandl-fund-xlsx
quandl_fund_xlsxA unofficial CLI tool which uses the Quandl API and the Sharadar Essential Fundamentals
Database to extract financial fundamentals, Sharadar provided ratios as
well as calculate additional ratios. Results are
written to an Excel Workbook with a separate worksheet per ticker analysed.Free software: Apache Software License 2.0Documentation:https://quandl_fund_xlsx.readthedocs.io.FeaturesFor a given ticker, fundamental data is obtained using the Quandl API and the
Sharadar Fundamentals database. This data is then used to calculate various
useful, financial ratios. The ratios  includeProfitability indicatorsFinancial leverage indicatorsFree and Operating Cash flow indicators.Some REIT specific ratios such as FFO are very roughly approximated.
These specific ratios are only roughly approximated since certain data, namely
Real estate sales data for the period does not appear to be available via the
API (It’s often buried in the footnotes of these companies filings).The output excel worksheet for each ticker processed is divided into three main areas:Sharadar statement indicators. This is data obtained from the three main
financial statements; the Income Statement, the Balance Sheet and the Cash Flow
Statement.Sharadar Metrics and Ratio Indicators. These are quandl provided financial ratios.Calculated Metrics and Ratios. These are calculated by the package from the
Sharadars data provided and tabulated by the statement indicators and the
‘Metrics and Ratio’ indicators.The python Quandl API provides the ability to return data within python pandas
dataframes. This makes calculating various ratios as simple as dividing two
variables by each other.The calculations support the data offered by the free sample
database (formerly referred to by Sharadar as the SF0 database), and the paid forSF1database. The coverage universe is the same for both the sample data and the
paid database. The key difference being, support as well as a much richer set
of so-called Dimensions (timeperiods). For example the sample data is taken from the annual
filings of companies, whereas the paid data allows for Trailing Twelve Month
as well as quarterly data.Note:  For quarterly data, many of the ratios using income and cash flow statement values in the
numerator will be inaccurate when using quarterly data e.g EBITDA/Intereset
expense or Total Debt/ Cash Flow from Operations.The generated Excel workbook with one sheet per ticker.Some bespoke metrics and ratios calculated based on Sharadar fundamentals.Installationpipinstallquandl_fund_xlsxConfigurationYou will need a Quandl API key. This maybe obtained by signing up, for free atQuandl Signup.
The key will then be available under “profile” when logging into Quandl. This
key allows for access to sample data for many of the datasets.If you have have a key for the free sample data set the  QUANDL_API_SF0_KEY
environment variable to the value of your key.If you have paid for access to the Sharadar
fundamentals data set, then set the QUANDL_API_SF1_KEY in the environment.exportQUANDL_API_SF0_KEY='YourQuandlAPIKey'orexportQUANDL_API_SF1_KEY='YourQuandlAPIKey'For windows the setx command is used to set environment variables..Usage of the quandl_fund_xlsx CLI commandquandl_fund_xlsx-hquandl_fund_xlsxUsage:quandl_fund_xlsx(-i<ticker-file>|-t<ticker>)[-o<output-file>][-y<years>][-d<sharadar-db>][--dimension<dimension>]quandl_fund_xlsx.py(-h|--help)quandl_fund_xlsx.py--versionOptions:-h--helpShowthisscreen.-i--input<file>Filecontainingonetickerperline-t--ticker<ticker>Tickersymbol-o--output<file>Outputfile[default:stocks.xlsx]-y--years<years>Howmanyyearsofresults(max7withSF0)[default:5]-d--database<database>SharadarFundamentalsdatabasetouse,SFOorSF1[default:SF0]--dimension<dimension>Sharadardatabasedimension,ARY,MRY,ART,MRT[default:MRY]--versionShowversion.quandl_fund_xlsx-tINTC-ointc-MRY.xlsx{'--database':'SF0','--input':None,'--output':'INTC-MRY.xlsx','--ticker':'INTC','--years':'5'}('Ticker =','INTC')2017-08-2206:08:59,751INFOProcessingthestockINTC2017-08-2206:09:06,012INFOProcessedthestockINTCls-lhexcel_filestotal12K-rw-rw-r--1testtest8.7KAug2206:09intc-MRY.xlsxLocal DevelopmentThis section is only of relevance if you wish to hack on the code yourself,
perhaps to add new ratios or display other Sharadar provided data values.It’s recommended to setup a virtual environment and perform the installation
within this. Use  pip to install the requirements but not the
package.pipinstall-rrequirements_dev.txt# Run the CLI by running as a modulepython-mquandl_fund_xlsx.cli-tMSFT# Run the testspytestIf you wish to install the package locally within either a virtualenv or
globally this can be done once again using pip.pipinstall-e.# Now the CLI is installed within our environment and should be on the
# pathquandl_fund_xlsx-tMSFTHow to get help contribute or provide feedbackSee thecontribution submission and feedback guidelines <ref-contributing>CreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.History0.1.1 (2017-08-31)First release on PyPI.0.1.2 (2017-08-31)Change logging to INFO from DEBUG0.1.3 (2017-08-31)Minor tweak to Return the correct version0.1.4 (2017-11-06)Removed the –dimension CLI keyword.
Now uses Most Recent Year (MRY) for SF0 database
and Most Recent Trailing 12 Months (MRT) for the SF1 databaseFix to avoid the Pandas future warning about decrementing
df.rename_axis and using df.rename0.1.6 (2018-01-26)Now uses the get_table methods from the quandl_api.0.1.7 (2018-05-10)Fix bug where the dataframe returned from quandl qas not being sortedAdded EPS and EPS diluted.0.1.8 ( 2018-05-24)Fix bug where the SF0 subscription data was not being returned.With the discontinuation of the Sharadar Time series API at the end of March
2018, the codes for the free fundamental subscription SF0 database changed.
Subscribers to the SF0 data now use the SHARADAR/SF1 code in the get_table
accesses.0.1.9 ( 2018-06-11)Added back support for the –dimension CLI option.0.1.10 (2018-10-29)Added some  new Cash Flow related ratios and corrected the LTDEBT ratiosChanged the default to be the paid SF1 Database as this is the one I’m using
and testing. Requires a separate free SF0 subscription to test SFO. All of
the API calls whether the user has an SFI paid membership or SF0 use the
SF1 codes.0.2.0 (2018-11-13)After learning that the sample data API now allows _all_ of the same
indicators as those available using the paid SF! aPI key I was able to
remove a lot of special case code for the Sample data KEY.
The paid KEY allows for many more dimensions to be queried.The CLI now defaults back to using the sample data SF0 API key.Added a number of Cash Flow from Operations  based metrics as well as some
Free Cash Flow based metrics.Added a development test which uses the API and a sample data or SF0 API key
to extract ratios for AAPL.Added Excess Cash Margin ratio.0.2.1 (2018-11-13)Minor security fix, requests version now >=2.20.0Minor documentation cleanup0.2.2 (2018-11-13)Add support for the MRQ and ARQ dimensions.Correct error in calculating CAGR when the data was given in quarterly increments.Correctly reference the Excel spreadsheet example figures in the README.0.2.3 (2018-12-29)Check for the presence of the QUANDL_API_SF0_KEY or the QUANDL_API_SF1_KEY
environment variable  depending on which database the user is requesting to use.0.3.0 (2019-09-12)Refactored by using and manipulating  the pandas dataframe as it’a returned from
quandl/Sharadar. The dates are rows and the columns are the “observations”
ie the revenue, income etc. The dataframe is transposed prior to writing to
excel so that the data is in the typically viewed format of dates as columns
and the observations as rows.0.3.1 (2019-11-11)Added some metrics favored by Kenneth J Marshall, author of
“Good Stocks Cheap: Value investing with confidence for a lifetime of
Stock Market Outperformance”0.3.2 (2020-03-31)Added the working capital value from the balance sheet
Note: For finance companies and REITS this is not provided by the API.0.4.0 (2020-04-21)Added a summary sheet as the first sheet of a workbook.
This is conditionally formatted to highlight the best and worst
values for each of the summarized metrics of each ticker in the
workbook.
The summary table is an excel table and thus each column can be sorted
to put best on top or worst on top.0.4.1 (2021-02-03)Added roic and roce to the summary sheet.