Skip to content
All library documents

Designing a Bloomberg-Based Fundamental Equity Scoring Model

Article Quant Q&A · Author: Friedrich

Summary

The document considers how to build a fundamental scoring model for a defined stock universe using metrics for size, growth, valuation, quality, and risk. It describes the practical challenge of collecting current, historical, and estimated Bloomberg fields, then organizing them so scores can be recalculated as stocks or metrics change. The proposed use is screening and prioritizing stocks for further research, with category scores combined into an overall ranking.

The response recommends consulting Bloomberg support and notes that BQL may support data retrieval, screening, and scoring within its own syntax. It also says that BQL is not available through R or other version 3 API based solutions, creating a choice between data access approaches. The response is brief: it does not prescribe a storage schema, scoring formula, or workflow for validating the resulting rankings, and points readers toward Bloomberg’s examples and tutorials.

Key ideas

  • A fundamental equity screen can organize metrics into growth, valuation, quality, and risk categories.
  • Historical and projected financial data complicate spreadsheet layout and scoring updates.
  • BQL may support retrieval, screening, and scoring within Bloomberg’s query syntax.
  • BQL is incompatible with R and other version 3 API based solutions, so data access choices matter.
  • The document does not specify a scoring formula or a suitable database design.

Tags

Full text
# Building a fundamental equity scoring model based on data from Bloomberg


# Building a fundamental equity scoring model based on data from Bloomberg












I have identified around 20 interesting statistics for a universe of stocks, regarding metrics of size, growth, valuation, quality, risk. Think market cap, free float, average daily volume. The universe encompasses around 200 stocks. I'd like to build a scoring model based on data from Bloomberg. This model is supposed to help target stocks from within the universe for further analysis.

For some of the statistics historical and projected values are also of interest, where I'd like to use the Bloomberg estimates. Some of the statistics will have annual values from 5 or 3 years historic up to 3 years projected. Think sales growth, EBIT, ev to sales, cashflow yield.

Ideally, I want to have an Excel sheet where I can edit the universe and run a macro to recalculate the scoring or just add an item and expand the calculations.

After considering several options, I'm stuck on how to get started. I want to keep things simple and right now my biggest problem is that the data will likely be unhandy to work with, once pulled into an Excel sheet. I have worked with the Bloomberg V3COM API wrapper before. Also, I have considered working with BQL or BDH. I have looked at some of the sheets in `XLTP <GO>` or considered pulling data out of Bloomberg using blpapi in Python.

I have following questions:

- How to obtain this data most conveniently? Is it more advisable to use BQL or BDH? The V3COM wrapper seems to work just fine for the fields which I tried, also for historical values.

- What is a good way to store suchlike data? An excel sheet seems obvious, but I have read a often that "Excel is not a data base".

- The obvious goal seems to have a sheet with one row per title, but then again for example EBIT (from 5y historic up to 3y estimated) alone takes up 8 columns in the sheet and I cannot imagine this being an easy to handle representation of the data. I have considered one sheet per stock, which could greatly increase clarity, but I am not even sure I Excel could handle that many sheets nor that it is easy to handle either for this many stocks.

- The goal is to set up some kind of scoring on the data, say for following aspects: growth, valuation, quality, risk. Maybe one sheet per category could be handled well. And then I could build a score for each and summarize it in one sheet for all.

Thanks to anyone willing to share their experiences.

## Answer by AKdemy (score 1)

https://quant.stackexchange.com/a/63577

I would say you might want to ask the help desk `F1 F1` or you sales representative at BBG.

If you use R - or any v3 API based solution `WAPI<GO>`, you cannot use BQL.

Yet, I am almost certain that BQL would allow you to do this pretty much all within BQL syntax. Massive benefit will be that you will not constantly hear from a help desk rep because you (b)reached your daily data limit again. `BQLX` has some good examples in the BQL for equities section. There are even specific video tutorials for screening and scoring.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.