# SGG Research > Alternative data factors for US equity research. Data analytics and research, not financial advice. ## Read the source Public pages are server-rendered and readable without JavaScript, authentication or cookies. Text versions preserve the page's substantive content, tables and source links. They are not separate claims or a substitute for the methodology. - [SGG Research | ECPND alternative data for US equities](https://sggresearch.com/) - [Text](https://sggresearch.com/content/index.md) - [ECPND - Earnings call participation network & dynamics | SGG Research](https://sggresearch.com/whitepaper/ecpnd) - [Text](https://sggresearch.com/content/whitepaper/ecpnd.md) - [ECQDI - Earnings call quantitative dynamics & intensity | SGG Research](https://sggresearch.com/whitepaper/ecqdi) - [Text](https://sggresearch.com/content/whitepaper/ecqdi.md) - [ECPND & ECQDI - Combined factor research | SGG Research](https://sggresearch.com/whitepaper/combination) - [Text](https://sggresearch.com/content/whitepaper/combination.md) - [Press & media | SGG Research](https://sggresearch.com/press) - [Text](https://sggresearch.com/content/press.md) - [SGG Research launches ECPND early access for US equity research | SGG Research](https://sggresearch.com/press/earnings-call-factors-for-us-equity-research) - [Text](https://sggresearch.com/content/press/earnings-call-factors-for-us-equity-research.md) - [New study examines ECPND and ECQDI as complementary research inputs | SGG Research](https://sggresearch.com/press/combined-factors-whitepaper) - [Text](https://sggresearch.com/content/press/combined-factors-whitepaper.md) - [SGG Research publishes ECQDI study on quantitative patterns in earnings calls | SGG Research](https://sggresearch.com/press/ecqdi-whitepaper) - [Text](https://sggresearch.com/content/press/ecqdi-whitepaper.md) - [ECPND whitepaper documents the participation factor and its portfolio evidence | SGG Research](https://sggresearch.com/press/ecpnd-whitepaper) - [Text](https://sggresearch.com/content/press/ecpnd-whitepaper.md) - [SGG Research begins ECQDI research into quantitative patterns in earnings calls | SGG Research](https://sggresearch.com/press/ecqdi-research-begins) - [Text](https://sggresearch.com/content/press/ecqdi-research-begins.md) - [SGG Research begins research into earnings-call participation networks | SGG Research](https://sggresearch.com/press/ecpnd-research-begins) - [Text](https://sggresearch.com/content/press/ecpnd-research-begins.md) - [Investor relations | SGG Research](https://sggresearch.com/investor-relations) - [Text](https://sggresearch.com/content/investor-relations.md) - [Jobs | SGG Research](https://sggresearch.com/jobs) - [Text](https://sggresearch.com/content/jobs.md) - [Factor API documentation | SGG Research](https://sggresearch.com/api-docs) - [Text](https://sggresearch.com/content/api-docs.md) - [Backtest archive | SGG Research](https://sggresearch.com/research) - [Terms of Service | SGG Research](https://sggresearch.com/terms) - [Text](https://sggresearch.com/content/terms.md) - [Privacy Notice | SGG Research](https://sggresearch.com/privacy) - [Text](https://sggresearch.com/content/privacy.md) - [Refund Policy | SGG Research](https://sggresearch.com/refund-policy) - [Text](https://sggresearch.com/content/refund-policy.md) - [Public content and AI access | SGG Research](https://sggresearch.com/ai-access) - [Text](https://sggresearch.com/content/ai-access.md) ## Machine-readable access - [Complete public text](https://sggresearch.com/llms-full.txt): public website and research notes, excluding account and licensed datasets. - [Content index](https://sggresearch.com/content/index.json): page URLs, titles, text alternatives and known editorial update dates. - [Sitemap](https://sggresearch.com/sitemap.xml) - [API specification](https://sggresearch.com/api-docs/openapi.json) - [Press facts](https://sggresearch.com/press.json) - [Press text](https://sggresearch.com/press.txt) ## Attribution and scope [Public crawling and AI reuse permission](https://sggresearch.com/ai-access) permits indexing, retrieval, quotation and attributed summaries of public editorial material. [Press reuse](https://sggresearch.com/press#reuse) includes designated images. Scores, CSVs, paid API data and credentials remain licensed under the [terms](https://sggresearch.com/terms). Public accessibility does not transfer third-party rights. ECPND means Earnings Call Participation Network and Dynamics. ECQDI means Earnings Call Quantitative Dynamics and Intensity. They are distinct research inputs. Published historical return differences depend on the universe, baseline, costs and timing. They are not guaranteed returns, risk-adjusted alpha or live performance. Cite the holding horizon, baseline and paper's update date. Roadmaps are targets, not guaranteed outcomes. --- # SGG Research | ECPND alternative data for US equities Source: https://sggresearch.com/ # Earnings call participation network & dynamics (ECPND) A point-in-time factor capturing how informed attention shifts across companies and sectors, for quantitative research and data analytics. [Get the research pack](https://sggresearch.com/#validate-pricing)[Read the whitepaper](https://sggresearch.com/whitepaper/ecpnd) US EQUITIES ECPND - Historical backtest Incremental return versus the Qlib / LightGBM baseline 3 MONTHS +17 bp232 mature formations 6 MONTHS +54 bp219 mature formations 12 MONTHS +107 bp193 mature formations BUY & HOLD · 4 FIXED SEEDS · 10 BP COSTS · JAN 2022—SEP 2026 ## Interaction structure holds meaning. Participation and recurring connections may reveal informed attention. We translate these dynamics into a systematic factor for equity research. ## Designed for a fair comparison. Each weekly formation compares baseline and factor portfolios across four fixed seeds, with shared execution assumptions and internally reconciled records. ### Paired portfolios. 01 — FORMATION Weekly portfolios compare the Qlib / LightGBM baseline with our factor across four seeds, using buy & hold and weekly rebalancing. Weekly formation dates 245 Archived portfolio arms 3,920 ### Shared assumptions. 02 — EXECUTION Both arms use the same model predictions, portfolio rules and trading costs, with execution based on frozen historical prices. Stocks per portfolio 50 Costs per trade 10 bp ### Traceable records. 03 — VERIFICATION Trades, cash and daily values are recomputed for a portfolio sample. These internal accounting checks are not an external audit. Portfolios reconciled 80 Calls in source snapshot 78,941 First formation 10 Jan 2022 · Prices through 18 Sept 2026 [Read the whitepaper](https://sggresearch.com/whitepaper/ecpnd) ## Evidence against a defined baseline. Five years of weekly US equity portfolios, with and without our ECPND factor. Using identical Qlib / LightGBM predictions, execution rules and costs. Mean return difference, historical research results, not live performance, internal ledger checks, not an external audit Buy & hold Weekly rebalance Our in-depth ECPND backtest covers five calendar years, 245 weekly formations and 4 fixed model seeds, using identical baseline forecasts, prices and execution rules. Completed buy & hold cohorts averaged +54 bp above the baseline over six months after costs, with positive mean uplift in 60.7% of completed formations. Giving lower priority to the lowest 30% rather than 20% of scores raised that contribution to +89 bp in [exploratory tests](https://sggresearch.com/whitepaper/ecpnd#outlook) on the same data. The results suggest scope to refine stock selection and make ECPND a promising input to test in your own models. ECPND remains under active research, with further validation guiding refinements and versioned updates. Research notice. These materials are provided for data analytics and research only. They do not constitute financial or investment advice, or a recommendation to buy, sell or hold any security. Conduct your own research and independently assess the data, assumptions and risks before making investment decisions. Historical and simulated results do not guarantee future performance. ## Transparent research and pricing. Evaluate the factor with the research package, then access the ECPND score directly via API and integrate it into your workflows and models. ### Get research package Free 2 years of daily scores Delivery Public ZIP download Historical data Two years of daily scores · eight-week delay Score records Date, ticker & ECPND score Evidence Study results & cohort comparisons Application README & worked selection example Additional ECQDI research pack · new factor [Download now](https://sggresearch.com/assets/research-package.zip) ### Early access - ECPND Billed quarterly $1,850 USD / month Delivery Authenticated API access Updates Hourly checks · updates on change New calls Low-latency processing after transcript arrival Score records Timestamps & version identifiers Integration API documentation & integration support Historical data Full download of 5 years of historical scores Licence [One legal entity · up to USD 250m AUM](https://sggresearch.com/terms#licence) Limited seats No risk - cancel anytime. [Subscribe now](https://sggresearch.com/subscribe?plan=ecpnd) Payments processed by [Paddle.com](https://www.paddle.com/) · [Buyer Terms](https://www.paddle.com/legal/buyer-terms) · [Privacy](https://www.paddle.com/legal/privacy) · [Refunds](https://www.paddle.com/legal/refund-policy) ## Data & access FAQ Understand factor coverage, historical data and update timing, with practical guidance on API access, independent evaluation and subscriptions. What data is included in a subscription? Each subscription provides authenticated API access to your selected factor across its covered US equity universe. You receive scores with publication timestamps and version identifiers, historical downloads, API documentation and integration support. Current scores are available as JSON or CSV. See the [integration examples](https://sggresearch.com/api-docs#quickstart). How often are scores updated? The service checks for changes hourly and publishes an updated score set when relevant inputs change, including new or corrected calls and newly eligible history. Otherwise, the existing set remains available. Each response identifies when the data were checked and when the scores were published. See [timing and data status](https://sggresearch.com/api-docs#timestamps). What historical data is available? Subscribers can download a five-year historical score release for their licensed factor as compressed CSV. The free research packages contain two years of daily scores, ending eight weeks before the package release date. Each download states its exact dates and coverage; historical releases are separate from ongoing API updates. See [historical data delivery](https://sggresearch.com/api-docs#history). What does a missing score mean? No eligible value is available for that stock and date under the factor's coverage, history or freshness rules. Missing values appear as null in JSON and blank fields in CSV; zero is a valid score. A day without a new company call does not automatically mean a missing score. See the [score definitions](https://sggresearch.com/api-docs#scores). Can I evaluate the data before subscribing? Yes. The [free research package](https://sggresearch.com/#validate-pricing) includes historical scores, study results, cohort comparisons and a worked selection example. No account or payment is required. Use the supplied data to test the factor in your own models; the whitepapers explain the study design, application rules and limitations. Are ECPND and ECQDI licensed separately? Yes. Each factor requires its own active subscription. Both use the same API, and your account's API keys grant access to the factors you subscribe to. ECQDI material in the free research package is for evaluation and does not activate a paid subscription. Read the [ECPND](https://sggresearch.com/whitepaper/ecpnd) and [ECQDI](https://sggresearch.com/whitepaper/ecqdi) whitepapers. Who may use the data, and what is the AUM limit? The standard licence covers one legal entity with up to USD 250 million AUM. Internal use, copies and storage are permitted; data, scores and API access cannot be shared with another company, including an affiliate. Derived datasets, scores, models, reports and analytics may be used internally but may not be supplied as products or services to third parties, even if the original scores cannot be reconstructed. Each additional legal entity needs its own licence. If your AUM exceeds the limit, notify us promptly and within three calendar months at the latest, and agree an individual licence. We may request proportionate supporting evidence up to twice per rolling twelve months. See the [data licence and AUM definition](https://sggresearch.com/terms#licence). Will my early access terms change after the regular launch? Your agreed early access price and licence scope continue while the same subscription remains uninterrupted and within its licence limits, even after the factor enters regular sale. New early access admissions are limited by the licence allocation and USD 1 billion of aggregate Licence AUM, whichever is reached first. This admission limit does not remove existing subscribers' agreed terms. New products or an AUM upgrade require a separate agreement. The service may be discontinued; unused prepaid access is then addressed under the Terms. See [early access continuity](https://sggresearch.com/terms#early-access). How do quarterly billing and cancellation work? The monthly price is billed every three months, plus applicable taxes. Subscriptions renew quarterly unless cancelled before renewal. You can cancel through your account and retain access until the end of the paid period. Cancellation stops future renewals; refunds are handled separately under the [Refund Policy](https://sggresearch.com/refund-policy). See the [billing terms](https://sggresearch.com/terms#billing). --- # ECPND - Earnings call participation network & dynamics | SGG Research Source: https://sggresearch.com/whitepaper/ecpnd [Skip to abstract](https://sggresearch.com/whitepaper/ecpnd#abstract) Research note · ECPND · v0.2 · Updated 29 September 2026 # Earnings call participation network and dynamics as an alternative data factor for US equities. ## Abstract Does earnings call participation add information to a price-based equity model? We study Earnings Call Participation Network and Dynamics (ECPND), a factor derived from external participation and its history across companies. Each week, we compare US equity portfolios formed from the same Qlib / LightGBM predictions, with and without a participation overlay. The design holds the model forecasts, capital and execution rules constant, and evaluates both buy & hold and weekly rebalancing across four fixed model seeds. Over completed formations beginning in January 2022, the overlay adds an average 17 bp (3 months), 54 bp (6 months) and 107 bp (12 months) to buy & hold returns after the stated trading costs. Evidence is strongest at six months, where the 95% confidence interval for the return improvement lies entirely above zero (+13 to +99 bp). At three and twelve months, average gains are positive, but the uncertainty range also includes no improvement or underperformance. Results support further evaluation, but vary by period and model seed. The backtest admits call information from the next US trading session’s open; these are historical research results, not a live track record. Research notice. These materials are provided for data analytics and research only. They do not constitute financial or investment advice, or a recommendation to buy, sell or hold any security. Conduct your own research and independently assess the data, assumptions and risks before making investment decisions. Historical and simulated results do not guarantee future performance. Author · SGG Research Universe · US equities Price cut-off · 18 September 2026 ## 01 Participation as a source of information An earnings call records what a company reports and which external analysts ask questions. This study asks whether the history of that participation can improve stock selection beyond a model built from prices and trading volumes. External analysts participate in a professional research capacity. Their work brings sector knowledge, familiarity with company reporting and comparisons across businesses into the discussion. A question may reflect extensive analysis, expectations and unresolved concerns formed before the call. Analysts differ in experience, expertise and access, so the information associated with their participation need not be equivalent. When the same analysts recur across companies and reporting periods, their participation forms an observable network. Its changing connections provide a way to study how professional attention is distributed and how its focus shifts. ECPND converts this history into a daily research factor. Our hypothesis is that participation patterns contain information relevant to subsequent returns that is not fully captured by a model built from prices and trading volumes. ### What the research suggests Earlier work establishes two relevant connections. Mayew, Sharp and Venkatachalam (2013) find that analysts asking questions issue more accurate and timely annual earnings forecasts immediately after calls than nonparticipants [[1]](https://sggresearch.com/whitepaper/ecpnd#ref-1). Mayew (2008) finds that analysts with more favourable stock recommendations are more likely to obtain access to questioning [[2]](https://sggresearch.com/whitepaper/ecpnd#ref-2). Participation can therefore reflect both research activity and the opportunities management provides to engage. Research published in the 2020s extends this picture. Bradley, Gokkaya and Liu (2020) associate professional connections between analysts and executives with better forecast accuracy, more informative recommendations and greater participation in calls [[3]](https://sggresearch.com/whitepaper/ecpnd#ref-3). Rennekamp, Sethuraman and Steenhoven (2022) examine the interactions themselves: greater conversational engagement, measured through linguistic style matching, is associated with larger absolute price movements during the discussion [[4]](https://sggresearch.com/whitepaper/ecpnd#ref-4). This supports studying interaction quality alongside participant identity. Two studies published in 2026 address the significance of analyst expertise more directly. Awyong, Cho and Yang find that participation is associated with subsequent revisions to management forecasts, with stronger associations when the analysts are more experienced and have greater forecasting ability [[5]](https://sggresearch.com/whitepaper/ecpnd#ref-5). Holowczak, Jiu, Kyung and Yu link all-star analyst participation to abnormal returns during the Q&A session, with a stronger relationship for analysts whose forecasts are more accurate [[6]](https://sggresearch.com/whitepaper/ecpnd#ref-6). These findings give an empirical basis for considering who participates, as well as how many people participate. The studies examine different measures and outcomes from ECPND. They motivate its economic rationale; the score’s contribution to future portfolio returns requires its own test. Company size, sector conditions, coverage practices and access to management may also shape the observed network. Our paired experiment holds forecasts, capital, execution rules and costs constant, then measures what changes when ECPND is used in stock selection. Separating the economic mechanisms behind any contribution remains a further research question. Research question Does ECPND improve portfolio returns after costs relative to the same Qlib / LightGBM baseline, and how does its contribution depend on the selection threshold and the treatment of missing scores? The [primary comparison](https://sggresearch.com/whitepaper/ecpnd#selection-rule) gives lower selection priority to the lowest 20% of available scores. [Exploratory buy & hold tests](https://sggresearch.com/whitepaper/ecpnd#outlook) vary that share from 10% to 90% in ten-percentage-point steps and repeat the comparison with [both portfolios restricted to scored stocks](https://sggresearch.com/whitepaper/ecpnd#scored-only-control). Forecasts, execution rules and costs are shared within each comparison. ## 02 Data, universe and timing The analysis joins three inputs: structured call transcripts, frozen model predictions and adjusted equity prices. Each has a different role and coverage. The source snapshot contains 78,941 structured earnings-call transcripts. From these records, we identify the issuer, call date and any named external participants. Recurring identities connect observations across companies and reporting periods, forming the participation histories used by ECPND. The count refers to call records: successive quarterly calls from the same company are separate observations. Portfolio tests use the subset of US stocks for which the baseline model supplies eligible forecasts and the required execution and valuation prices are available. Both arms start from the same candidate universe on each decision date. Stocks without an available ECPND score remain eligible in the primary comparison, as specified in [Section 4.2](https://sggresearch.com/whitepaper/ecpnd#selection-rule). Table 1 summarizes source coverage, the forecast and price panels, and the weekly formation window. [Appendix A.1](https://sggresearch.com/whitepaper/ecpnd#appendix-primary) documents the frozen study records behind these results. Table 1Research inputs and evaluation scope Input: Call archive | Coverage: 78,941 calls | Role in the study: Structured transcripts identify issuers, call dates and external participants, linking recurring participation across companies and successive quarterly reporting periods. Input: Model forecasts | Coverage: 2,259,772 rows · 544 tickers | Role in the study: Stock-ranking predictions across dates and four fixed training seeds. Both portfolio arms use the same frozen forecasts for a matched comparison. Input: Price history | Coverage: 782,434 rows · 560 tickers | Role in the study: Adjusted USD prices provide opening trade prices and closing valuations. Both portfolio arms use the same frozen price series throughout the evaluation period. Input: Score availability | Coverage: 96.5% of forecast rows | Role in the study: Share of forecast rows with an eligible ECPND score at each decision date, including repeated rows for the four seeds; not coverage of all US stocks. Input: Weekly formations | Coverage: 245 starting dates | Role in the study: Weekly portfolio start dates from 10 Jan 2022 to 14 Sept 2026. Only completed 3-, 6- and 12-month horizons enter reported averages for each portfolio policy. Input: Price cut-off | Coverage: 18 Sept 2026 | Role in the study: Last available price session in the frozen study. Determines which portfolios have completed each evaluation horizon and enter the reported comparisons. ### The research universe The study evaluates ECPND within a defined US equity universe, using S&P 500 membership snapshots and the baseline model’s forecast and price-data requirements. The prediction history covers 544 distinct tickers, with stock eligibility determined for each observation date. Baseline and factor portfolios start from the same candidate pool, providing a consistent basis for comparison. We continue to expand the backtests and verify historical membership, delisted stocks and price coverage as part of our ongoing research. ### Two clocks: score availability and portfolio formation The historical convention makes a call’s participation information eligible at the first US market opening after its call date. The portfolio uses that information at its next scheduled formation or rebalance. A new call therefore does not automatically trigger an immediate trade in this weekly experiment. Call date Participation is recorded for the issuer on the date of its earnings call. Next session open Call information becomes eligible at the next US trading session’s open. Weekly decision Eligible scores are combined with model forecasts from the preceding close. Under this convention, a Friday call can inform the following Monday’s portfolio decision if Monday is a US trading session. A Tuesday call becomes eligible at Wednesday’s open if markets are open, and can inform the next scheduled weekly decision. Market holidays move eligibility and scheduled trades to the next US trading session. Historical returns used in peer comparisons enter the score only once their full measurement period has ended before the decision date. Daily use of the live service. The API checks for changes hourly and publishes a new score snapshot when relevant inputs change. For a daily workflow, retrieve the latest snapshot after the US market close to prepare selections for the next session’s open. Check its update timestamps and data status, and save the snapshot used for the decision. To include later transcript arrivals or corrections, retrieve an updated snapshot before finalizing the portfolio. This daily workflow is a separate application from the weekly strategies evaluated in this paper. The [API guide](https://sggresearch.com/api-docs) explains snapshot identifiers, update timestamps and data-status fields. Conservative timing convention. Source transcripts are available on the call date with a short processing delay. The study nevertheless delays eligibility until the next US trading session’s open, leaving a buffer before the information can influence portfolio selection. Actual execution follows the scheduled weekly formation or rebalance. Live snapshots record when each score set was published for forward evaluation. ## 03 From participation to ECPND The score summarizes eligible participation history as a daily measure, indexed by date and ticker for use alongside model forecasts in systematic equity research. ### From source observation to portfolio comparison 1. Observe. Read the issuer, call date and named external participants from structured transcript components. 2. Connect. Normalize recurring identities and connect eligible participation observations across companies. 3. Score. Evaluate the eligible history and publish a bounded daily value, retaining missing observations explicitly. 4. Evaluate. Use the score in a fixed selection overlay and compare the resulting portfolio with the unchanged baseline. Participation refers to named external analysts whose spoken contributions are recorded in the transcript. Management and issuer representatives are excluded. Recurring identities link participation across companies and over time. The score evaluates this history using outcomes from other companies, with return periods completed before the scoring date. The issuer’s own outcomes are excluded from these comparisons, and estimates based on limited histories receive less influence. - Field: ecpnd_score, a daily value between 0 and 1. - Direction: Higher values are more favourable; neither a probability nor a return forecast. - Persistence: Daily scores combine the latest eligible call with evolving network evidence. - Missing score: No eligible value for that stock and date: blank in CSV, null in the API. ### Daily scores and network evolution ECPND evaluates each company through its connections to the wider earnings-call participation network. The company’s latest eligible call identifies the participants relevant to its score, while their eligible history across other companies provides the broader context. New calls refresh participation records, and completed outcomes from earlier calls update the evidence associated with shared participants. These changes can affect several connected companies, allowing scores to evolve even when an individual company has no new call. The freshness limit applies to the company’s own latest eligible call record, which expires at an age of 126 US trading sessions, roughly six months. Age starts at zero on the first session after the call date; recalculation does not reset it. A newer eligible call replaces the earlier record, subject to the same participation and history requirements. If the current record expires, the daily score becomes missing. In the historical score file, date identifies the session to which the value applies; use the supplied score for each portfolio decision session. For live decisions, use a snapshot published before the decision and check its update times and data status. Buy & hold retains its initial positions despite later score changes or expiry. Weekly rebalancing uses the current scores and stated missing-score policy at each scheduled decision. ### What does “missing score” mean? A missing score describes the availability of a measurement. It means the inputs eligible under the declared timing convention do not support an ECPND value for that stock on that date. It is not a negative opinion about the company, a neutral score, or a forecast of poor returns. A numerical score of 0 is a valid value and is different from a blank. - No eligible prior call: No source call is eligible for that stock and date. - No usable participants: The latest eligible call has no identifiable external analysts. - Insufficient history: Eligible peer history does not meet the evidence requirements. - Outdated call record: The latest record has reached the 126-session expiry limit. Scores between calls. An eligible participation record can support daily scores between a company’s calls. The score uses the evidence available for each date, including newly completed historical outcomes linked through shared participants at other companies. It can therefore evolve without a new call from the company. For portfolio selection, use the score supplied for the decision date. Preserve missing values; substituting an earlier score or zero would change the stated selection rule. Treatment in the portfolio tests. In the primary study, stocks without an ECPND score remain eligible for selection based on the baseline model’s ranking. They receive no factor penalty and are excluded from the calculation of score percentiles. The [scored-only control](https://sggresearch.com/whitepaper/ecpnd#scored-only-control) removes these stocks from both portfolio arms before selection, allowing the overlay to be evaluated within a common universe of scored stocks. Scope of disclosure. This paper documents the factor’s economic rationale, data inputs, timing conventions, study design and results. The detailed methods for resolving participant identities and converting participation history into ECPND scores remain proprietary. [Section 4.2](https://sggresearch.com/whitepaper/ecpnd#selection-rule) specifies how the supplied scores are applied to portfolio selection, including percentile ranking, the selection threshold and the treatment of missing values. Researchers can use these rules to evaluate the delivered factor without reproducing its underlying calculation. ## 04 The paired portfolio design Every comparison begins with the same model forecasts. ECPND changes the stock-selection decision; the capital, execution convention and accounting rules are shared. ### 4.1 Baseline model and training chronology The baseline combines Microsoft’s Qlib research framework [[7]](https://sggresearch.com/whitepaper/ecpnd#ref-7) with LightGBM, a gradient-boosted decision-tree model [[8]](https://sggresearch.com/whitepaper/ecpnd#ref-8). It uses 157 price and volume features from the Alpha158 family [[9]](https://sggresearch.com/whitepaper/ecpnd#ref-9) to rank eligible stocks; the VWAP feature is omitted because that input is unavailable in the study data. The training target is the adjusted return over the next 42 trading sessions, measured from the first session’s open to the last session’s close. These returns are standardized across stocks on each training date. Models are fitted annually on expanding historical windows. Every training return must have ended before the test year begins. The run uses 200 boosting rounds and four fixed random seeds - 19, 41, 73 and 101 - to expose variation from randomized training choices. The seeds share the same underlying market history. Both portfolio arms reuse the frozen predictions; the baseline is not retrained with ECPND. Role of the published software. Qlib and LightGBM provide the modelling foundation. Our US data preparation and weekly portfolio simulator are custom implementations, rather than an unchanged official Qlib benchmark or its daily TopkDropout strategy. ECPND has no implied endorsement from the software authors. ### 4.2 Which score changes the selection? The factor input is the daily ecpnd_score available for each stock at the portfolio decision. It has a different job from the Qlib / LightGBM prediction: the model prediction ranks stocks, while ECPND adjusts their selection priority. The primary study gives lower selection priority to the lowest 20% of available scores in the eligible universe on each decision date. This is a relative rank threshold, not a raw ECPND value of 0.20. The application is specified as follows. 1. Use the score for the execution date. Join by ticker and CSV date, using the same eligible universe and prior-close model predictions for both arms. The CSV date already reflects score eligibility at that session’s open; do not add another day of delay, use later observations or fill unavailable rows with older scores. 2. Rank the available scores before selecting holdings. Sort scores from lowest to highest across the entire eligible universe for that date. Divide each stock’s average ordinal rank by the number of scored stocks, N. Ties receive the average of their occupied rank positions. Deprioritize percentile ranks ≤ 0.20 when N ≥ 30. With fewer scored stocks, keep the baseline ranking. Missing scores are excluded from this calculation and receive no penalty; a numerical zero remains a valid score. 3. Select 50 stocks with a deterministic order. The baseline sorts model predictions from highest to lowest, breaking ties alphabetically by ticker. The factor arm puts unpenalized stocks first, then penalized stocks, using the same model-prediction and ticker order within each group. Take the first 50. Penalized stocks can fill remaining places when fewer than 50 unpenalized candidates exist. With fewer than 50 eligible stocks, no portfolio is formed. 4. Apply the rule at the scheduled decision. Buy & hold uses it at entry and retains the share quantities. Weekly rebalance repeats it at each weekly decision with current eligible scores and predictions, and resets target weights under the shared allocation and cost rules in Section 4.3. Example. Among 100 scored eligible stocks without ties, ranks 1–20 receive lower priority. The corresponding raw-score boundary changes with the date and universe. Ties may change the penalized share. A high score alone does not guarantee selection: the model ranking still determines which stocks fill the 50 places. - Baseline: Select the 50 highest-ranked eligible stocks using the unchanged Qlib / LightGBM forecasts. - With ECPND: Adjust the same model ranking using ECPND, then select 50 stocks. The baseline starts with price and volume information available at the preceding market close. Qlib computes the features, and the annually trained LightGBM model produces forecasts that rank eligible stocks. Both portfolios use these same forecasts; ECPND adjusts selection priority under the rule above. Capital, weighting, execution and trading costs follow the same rules in both arms. Their return difference measures the overlay’s contribution within this specific model and portfolio design. ### 4.3 Portfolio and execution assumptions - Formation: Each week, a new baseline/factor pair starts at the first eligible US trading session, normally Monday. Every account begins with $1 million and is tracked separately from earlier weekly formations. - Allocation: Allocate 95% of pre-trade equity equally across 50 positions at entry or rebalance. Fractional adjusted shares permit exact allocations; fees reduce the cash reserve, which earns no interest. - Buy & hold: Retain the initial share quantities throughout each evaluation horizon. Later score changes or expiry do not trigger trades, so weights can drift as prices change and no scheduled rebalancing takes place. - Weekly rebalance: Reapply each arm’s selection rule at the first US trading session of every week. Reset equal target weights using current account equity, including adjustments to retained positions as well as stock replacements. - Trading costs: Charge 10 bp (0.10%) of every executed buy or sell notional, including trades that resize retained positions. Both arms use the same fee rule; spread, market impact and capacity are not separately modelled. - Prices: Execute trades at frozen adjusted opening prices and value each account daily at adjusted closing prices plus cash. Corporate actions are reflected in the adjusted series, with no additional dividend cash flow. - Evaluation: Evaluate returns after 3, 6 and 12 calendar months, using the last session close on or before each anniversary. Positions remain open at the valuation date, so no forced liquidation or terminal sale fee is applied. Each formation produces 16 accounts: four seeds × two portfolio policies × two arms. The study therefore comprises 3,920 portfolio records across 245 formation weeks. Stored horizon records cover 3 and 6 months; a separate revalidation extends the analysis to 12 months. ### 4.4 Return difference and uncertainty For each matched portfolio pair, we subtract the baseline return from the return with ECPND, after the stated trading costs. We average the four seed differences within each starting week, then average those weekly results across all completed formations. Each starting week carries the same weight. The calculation is repeated separately for buy & hold and weekly rebalancing at each holding horizon. One basis point is 0.01 percentage points. A six-month difference of +54 bp means that the factor portfolio returned 0.54 percentage points more over that holding period. It is a net return difference under the stated costs, without annualization or adjustment for other equity-factor exposures. Overlapping weekly portfolios share much of their holding period. Treating them as independent tests would overstate the amount of evidence. We therefore resample contiguous weekly blocks, with circular wrapping, to estimate uncertainty in the mean [[10]](https://sggresearch.com/whitepaper/ecpnd#ref-10). - Resamples: 5,000. - Block lengths: 13 / 26 / 52 weeks. - Reported interval: 2.5th to 97.5th percentiles. Block lengths follow the 3-, 6- and 12-month horizons. The resulting intervals describe uncertainty under this resampling design. They do not account for every prior research choice, and long blocks leave relatively few distinct historical periods to resample. ## 05 Incremental portfolio returns The mean difference is positive in all six primary comparisons. Evidence is strongest for the six-month buy & hold result, while the remaining primary intervals include zero. For buy & hold, mean uplift is +17, +54 and +107 bp at 3, 6 and 12 months. Weekly rebalancing produces +28, +52 and +97 bp. These are averages of completed, matched formations after the primary trading-cost assumption (see [Appendix A.1](https://sggresearch.com/whitepaper/ecpnd#appendix-primary)). Figure 1 Mean uplift and its uncertainty [Mean uplift and 95% intervals at 3, 6 and 12 months. Filled points: buy and hold, +17, +54 and +107 bp. Open points: weekly rebalance, +28, +52 and +97 bp. Only the six-month buy-and-hold interval lies entirely above zero.](https://sggresearch.com/assets/whitepaper/paired-uplift.svg) Mean uplift (bp) · 95% block-bootstrap intervals Buy & hold Weekly rebalance Table 2Net returns and paired differences by holding horizon **Buy & hold** Horizon: 3M | Baseline: 3.22% | With ECPND: 3.39% | Difference: +17 bp | 95% interval, bp: [-13, +47] | Formations: 232 | Positive: 51.3% Horizon: 6M | Baseline: 6.05% | With ECPND: 6.59% | Difference: +54 bp | 95% interval, bp: [+13, +99] | Formations: 219 | Positive: 60.7% Horizon: 12M | Baseline: 14.53% | With ECPND: 15.60% | Difference: +107 bp | 95% interval, bp: [-5, +218] | Formations: 193 | Positive: 63.2% **Weekly rebalance** Horizon: 3M | Baseline: 2.46% | With ECPND: 2.74% | Difference: +28 bp | 95% interval, bp: [-15, +70] | Formations: 232 | Positive: 63.8% Horizon: 6M | Baseline: 5.34% | With ECPND: 5.86% | Difference: +52 bp | 95% interval, bp: [-29, +123] | Formations: 219 | Positive: 65.8% Horizon: 12M | Baseline: 11.39% | With ECPND: 12.36% | Difference: +97 bp | 95% interval, bp: [-3, +185] | Formations: 193 | Positive: 73.1% Reading the table. Baseline and factor returns are means at the stated horizon. “Positive” is the share of formation weeks with a positive difference after averaging seeds. Formation counts are starting dates, not independent market histories; maturity determines which dates enter each horizon. ### 5.1 Variation across formation years The year groups show six-month portfolio outcomes by starting year, rather than calendar-year strategy returns. Both policies underperform for portfolios formed in 2023. Other years contribute positive differences, while 2026 is mixed and includes only 11 completed formations. The factor’s historical contribution is therefore sensitive to the period being evaluated. Figure 2 Six-month uplift by formation year [Six-month mean uplift by formation year. Thin stems connect zero to filled points for buy and hold and open points for weekly rebalance. Both policies are negative in 2023. The 2026 sample contains 11 completed formations; sample sizes appear below each year.](https://sggresearch.com/assets/whitepaper/formation-years.svg) Six-month uplift (bp) · n = completed formations Buy & hold Weekly rebalance ### 5.2 Outlook: improving consistency across configurations Further research examines how selection strength and complementary information affect the size and consistency of the contribution. The [threshold experiments](https://sggresearch.com/whitepaper/ecpnd#outlook) show that these need separate consideration. Deprioritizing the lowest 30% rather than 20% of ECPND scores raises mean six-month buy & hold uplift from +54 to +89 bp. The 95% interval is +13 to +99 bp under the 20% rule and +33 to +151 bp under the 30% rule. The estimated contribution increases, while the uncertainty range becomes wider. The [combined-factor study](https://sggresearch.com/whitepaper/combination#weighting) examines ECQDI (Earnings Call Quantitative Dynamics and Intensity) as a complementary input. Weighting ECPND ranks at 75% and ECQDI ranks at 25%, while retaining the 20% lower-priority threshold, produces +69 bp of six-month buy & hold uplift versus Qlib. Its 95% interval of +41 to +99 bp is narrower than ECPND's primary interval. The two scores have a low average cross-sectional rank correlation of +0.076, giving a concrete reason to investigate their complementary use. The narrower interval concerns uncertainty in the historical mean; it does not establish lower portfolio risk. These findings identify promising configurations for further evaluation. The combination's incremental interval versus ECPND alone still includes zero; later-period and continuous-account checks do not establish a consistent advantage. The intervals are not adjusted for comparing multiple settings on this previously researched history. The next stage is to fix a small set of thresholds and weights before evaluating new observations, alongside controls for sector, size, momentum and execution costs. The objective is a contribution that remains useful across market conditions and independently chosen portfolios. ## 06 Testing the assumptions Does the result depend on our chosen costs, selection threshold or stock coverage? We change one assumption at a time and repeat the six-month comparison, keeping the same model forecasts. ### 6.1 What happens when trading costs rise? Every buy and sell incurs a cost. We test 0, 10, 25 and 50 bp of the amount traded, charging both portfolios at the same rate. Buy & hold: The factor adds +54 bp at all four cost levels. Both portfolios invest the same amount at entry and make no subsequent trades. Higher fees therefore reduce their returns equally. Weekly rebalance: Costs accumulate with repeated trading. At 10 bp, mean returns are 5.34% for the baseline and 5.86% with ECPND. At 50 bp, those returns are -7.18% and -6.35%. The factor portfolio trades less on average, which reduces the impact of fees, but both portfolios lose money on average at the highest tested cost. This check applies fixed trading costs. Stock-specific spreads, market impact and trading capacity require separate evaluation. View all four trading-cost comparisons Table 3Six-month returns under alternative trading costs **Buy & hold** Cost per buy or sell: 0 bp | Baseline return: 6.14% | With ECPND: 6.68% | Added return: +54 bp Cost per buy or sell: 10 bp | Baseline return: 6.05% | With ECPND: 6.59% | Added return: +54 bp Cost per buy or sell: 25 bp | Baseline return: 5.90% | With ECPND: 6.44% | Added return: +54 bp Cost per buy or sell: 50 bp | Baseline return: 5.67% | With ECPND: 6.21% | Added return: +54 bp **Weekly rebalance** Cost per buy or sell: 0 bp | Baseline return: 8.71% | With ECPND: 9.13% | Added return: +43 bp Cost per buy or sell: 10 bp | Baseline return: 5.34% | With ECPND: 5.86% | Added return: +52 bp Cost per buy or sell: 25 bp | Baseline return: 0.47% | With ECPND: 1.11% | Added return: +64 bp Cost per buy or sell: 50 bp | Baseline return: -7.18% | With ECPND: -6.35% | Added return: +83 bp ### 6.2 Does a different score threshold help? We give lower priority to the lowest 10%, 20% or 30% of available scores. At the standard 10 bp trading cost, moving from 20% to 30% raises buy & hold uplift from +54 to +89 bp, while weekly-rebalance uplift falls from +52 to +38 bp. A stronger score filter can help one portfolio approach and weaken another. The primary study retains the 20% rule; the [wider threshold study](https://sggresearch.com/whitepaper/ecpnd#outlook) examines further settings. ### 6.3 Does the stock coverage explain the gain? Two further checks keep the primary selection and cost rules, but change which stocks can enter either portfolio. - Only stocks with scores: Remove unscored stocks from both portfolios before selection. ECPND still adds +63 bp for buy & hold and +50 bp for weekly rebalance. The positive mean contribution therefore does not require holding unscored stocks. - Check unusual price moves: Remove 15 tickers associated with 88 extreme overnight gaps. The remaining stocks produce +61 bp and +50 bp, respectively. The mean contribution remains positive after these tickers are removed. The price check identifies unusual moves using the full historical record, including later dates. It helps assess the influence of those tickers; it is not a stock-selection rule available in advance. View selection and coverage results with uncertainty intervals Table 4Six-month differences under alternative specifications **Buy & hold** Check: Lowest 10% given lower priority | Added return: +43 bp | 95% interval, bp: [+19, +68] Check: Lowest 20% (primary) | Added return: +54 bp | 95% interval, bp: [+13, +99] Check: Lowest 30% given lower priority | Added return: +89 bp | 95% interval, bp: [+33, +151] Check: Only stocks with scores | Added return: +63 bp | 95% interval, bp: [+19, +110] Check: Exclude extreme-gap tickers (in hindsight) | Added return: +61 bp | 95% interval, bp: [+22, +104] **Weekly rebalance** Check: Lowest 10% given lower priority | Added return: +30 bp | 95% interval, bp: [-34, +94] Check: Lowest 20% (primary) | Added return: +52 bp | 95% interval, bp: [-29, +123] Check: Lowest 30% given lower priority | Added return: +38 bp | 95% interval, bp: [-47, +115] Check: Only stocks with scores | Added return: +50 bp | 95% interval, bp: [-34, +125] Check: Exclude extreme-gap tickers (in hindsight) | Added return: +50 bp | 95% interval, bp: [-25, +120] An extreme overnight gap means an opening price at least 50% above or one third below the preceding close. All 15 associated tickers are removed from both portfolios for this diagnostic. These checks reuse the same historical period. They show how the result changes under alternative assumptions; new observations are still needed to test whether it persists. ## 07 Continuously invested accounts A series of overlapping portfolio cohorts answers a different question from the experience of a single account carried through time. We report both. For each seed and arm, one account starts on 10 January 2022 and is rebalanced weekly through 18 September 2026, with the primary 10 bp cost assumption. No fresh capital is introduced for subsequent formation weeks. Figure 3 Annualized growth across the four model seeds [Annualized growth for four separately funded, continuously rebalanced account pairs. Open points show the Qlib / LightGBM baseline; filled points show the portfolio with ECPND. Seeds 19, 41 and 73 improve; seed 101 slightly declines.](https://sggresearch.com/assets/whitepaper/continuous-seeds.svg) CAGR (%) · weekly rebalance · 10 bp trading costs Qlib / LightGBM With ECPND The chart follows the same starting capital through repeated weekly decisions. For seed 19, the simulated account grows at an annualized 6.40% under the baseline and 8.65% with ECPND, after the stated trading costs. Each week’s gains or losses carry into the next allocation. The comparison therefore captures the cumulative effect of stock selection, rebalancing and compounding over the full period. Table 5Continuous weekly accounts, January 2022–September 2026 **Seed 19** Account: Baseline | Total return: 33.75% | CAGR: 6.40% | Max drawdown: -25.66% | Sharpe: 0.40 | Info. ratio: - Account: With ECPND | Total return: 47.52% | CAGR: 8.65% | Max drawdown: -23.83% | Sharpe: 0.50 | Info. ratio: 0.66 **Seed 41** Account: Baseline | Total return: 35.93% | CAGR: 6.77% | Max drawdown: -27.92% | Sharpe: 0.42 | Info. ratio: - Account: With ECPND | Total return: 47.15% | CAGR: 8.59% | Max drawdown: -26.73% | Sharpe: 0.50 | Info. ratio: 0.52 **Seed 73** Account: Baseline | Total return: 46.69% | CAGR: 8.52% | Max drawdown: -29.32% | Sharpe: 0.49 | Info. ratio: - Account: With ECPND | Total return: 49.37% | CAGR: 8.94% | Max drawdown: -25.80% | Sharpe: 0.52 | Info. ratio: 0.10 **Seed 101** Account: Baseline | Total return: 39.04% | CAGR: 7.28% | Max drawdown: -27.51% | Sharpe: 0.44 | Info. ratio: - Account: With ECPND | Total return: 38.16% | CAGR: 7.14% | Max drawdown: -25.54% | Sharpe: 0.44 | Info. ratio: -0.07 The factor improves three of the four seeds and slightly trails the baseline in seed 101. The mean of the four paired CAGR differences is +1.09 percentage points per year. This is an average across model runs, rather than the CAGR of a simulated blended portfolio. The differences range from slightly negative to materially positive, showing that the factor’s contribution depends in part on the baseline ranking. - CAGR: Annual growth rate equivalent to the account’s total return. - Maximum drawdown: Largest peak-to-trough decline in daily account value. - Sharpe ratio: Daily mean return / volatility, annualized over 252 sessions; no risk-free adjustment. - Information ratio: Mean / volatility of daily excess returns vs. baseline, annualized (252 sessions). ## 08 What the evidence supports ECPND improves average returns in the tested Qlib / LightGBM portfolios. These results support evaluating participation history as an additional input to US equity selection. The clearest primary evidence comes from six-month buy & hold, where the 95% interval lies above zero. In the other five primary comparisons, average gains are positive but the intervals also allow for no improvement or underperformance. Results vary across starting years and model seeds. The practical question is therefore how consistently ECPND adds value across portfolio rules, market conditions and trading costs. Five areas define the next stage of validation: - Information timing: The next-session rule leaves a buffer after same-day transcript delivery. Live snapshots record publication times; historical transcript versions and later revisions require separate verification. - Universe coverage: Both arms share the same eligible universe. Historical membership, delisted stocks and adjusted-price coverage need fuller verification to assess their effect on the comparison. - Research selection: Training uses completed historical outcomes. Comparing thresholds and variants on the same history adds selection uncertainty that the reported intervals do not account for. - Portfolio exposures: Sector, size, momentum and liquidity are not fully controlled. Some uplift may reflect these exposures, so the return difference is not an estimate of unexplained, risk-adjusted alpha. - Live execution: Fixed fees do not fully represent spreads, market impact or trading at a given order size. Publication latency and performance on newly arriving data require strategy-specific evaluation. Forward evaluation should fix the score version and portfolio rules before new outcomes arrive, save each delivered snapshot with its publication time, and retain corrections as separate records. Paired portfolios can then track the factor’s contribution under shared execution and cost assumptions. Tests in independently chosen models, with portfolio exposures controlled, would help establish how broadly the historical result carries into practice. ## 09 Verification and research access The research records link the reported averages to portfolio accounts, trading assumptions and downloadable score observations. ### 9.1 Internal consistency checks Internal checks address two questions: whether the reported return differences can be reproduced from the frozen study inputs, and whether recorded trades reconcile to daily portfolio values. [Appendix A](https://sggresearch.com/whitepaper/ecpnd#appendix-evidence) documents the dated runs, their scope and their results. These checks assess computational consistency; they do not constitute an external audit or verify historical transcript publication times. ### 9.2 The evaluation procedure The evaluation uses supplied ECPND scores. Follow points 1-8 for each eligible weekly formation and each of the four fixed model seeds, then summarize the paired results in points 9-10. Keep each policy and horizon separate. 1. Load inputs. Join frozen forecasts and eligible scores for the decision date. 2. Select the baseline. Take the top 50 eligible stocks by unchanged model rank. 3. Rank scores. Deprioritize the lowest 20% when at least 30 stocks are scored. 4. Select with ECPND. Take 50 stocks using the priority, tie and missing-score rules in [4.2](https://sggresearch.com/whitepaper/ecpnd#selection-rule). 5. Match assumptions. Use identical capital, allocation, execution and trading costs. 6. Run both policies. Simulate buy & hold and weekly rebalance separately. 7. Value each horizon. Use the last close on or before each completed 3-, 6- or 12-month horizon. 8. Calculate the difference. Subtract baseline return from factor return. 9. Average seeds. Average the four paired differences within each formation. 10. Summarize formations. Average completed weeks equally; resample week blocks for uncertainty. ### 9.3 Data for your own evaluation The public package starts with five numbered ECPND files: 00_README_ecpnd.md, the daily score CSV, study results, study cohorts and a worked selection example. The score sample covers 1 August 2024–31 July 2026, a two-year window with an eight-week delay. It contains 244,757 observations across 523 tickers and 501 market sessions, including missing scores. The folder 05_additional_research_ecqdi introduces ECQDI - Earnings Call Quantitative Dynamics & Intensity, a separate text factor derived from external analysts’ questions. It applies a fixed, deterministic measurement to their quantitative content and ranks each call against earlier calls in the same sector. The rationale is that quantitative questioning may reflect the estimates, assumptions and financial considerations analysts bring to the discussion. ECPND studies participation history and network relationships; ECQDI examines the quantitative character of the questions being asked. The supplied field, ecqdi_score, ranges from 0 to 1, with higher values indicating greater quantitative intensity relative to its historical sector reference. The companion pack follows the same five-file format: a short README, two years of daily scores, study results, cohort comparisons and a worked selection example. Both score samples cover the same dates and eligible tickers, allowing evaluation of ECQDI on its own or alongside ECPND. Its score interpretation, eligibility rules and results are explained in the [ECQDI research note](https://sggresearch.com/whitepaper/ecqdi). It is provided as additional research, with separate files and results from the ECPND product. - date: Session date with score eligibility at the open under the study’s next-session rule. - ticker: Stock identifier in the eligible research universe. - ecpnd_score: Value from 0 to 1; blank means [no eligible score](https://sggresearch.com/whitepaper/ecpnd#missing-scores) for that stock and date. The selection example follows one historical formation through the primary 20% rule. Each row shows the stock, baseline prediction and rank, ECPND score and percentile, selection priority, final rank and candidate = yes/no. All eligible stocks are shown, so a reader can see both stocks leaving the baseline selection and replacements entering from below its original cutoff. The README explains the column order and the decision reasons. The sample supports a new evaluation over its own dates. The full study begins earlier, in 2022; its earlier scores, full baseline forecast history and market prices are outside the download. One day of seed-19 forecasts is supplied for the worked example. The selection rule is disclosed, but an exact replay of the whole study also requires the remaining inputs. Use your own forecasts and prices to evaluate ECPND in a new, explicitly defined experiment. [Download research pack](https://sggresearch.com/assets/research-package.zip) ## 10 Outlook and further research The follow-up asks how strongly ECPND should influence stock selection, and whether its positive mean contribution remains when both portfolios hold only stocks with available scores. Two completed extensions address these questions. The first varies the share of scores receiving lower selection priority. The second repeats that comparison after removing stocks without a score from both portfolios. Together, they examine the application of ECPND while keeping its calculation unchanged. ### 10.1 Giving the score more influence We test nine buy & hold settings, giving lower priority to the lowest 10% through 90% of available scores in ten-percentage-point steps. Each uses the same frozen forecasts, scores and prices, four model seeds, 50-stock allocation, weekly formation dates and 10 bp trading costs. Timing and holding periods follow Section 4; [Appendix A.3](https://sggresearch.com/whitepaper/ecpnd#appendix-thresholds) documents the extension. A 50% setting moves the lower half of scored candidates behind the remaining candidates. Model predictions still determine the order within each group. The threshold refers to a percentile rank, rather than a raw score of 0.50. The minimum score count, tie handling and missing-score treatment remain those in [Section 4.2](https://sggresearch.com/whitepaper/ecpnd#selection-rule): unscored stocks receive no penalty, and lower-priority stocks can fill places if needed. Table 6Buy & hold: varying the lower-priority score share Lower-priority share: 10% | 3M, bp: +15 | 6M, bp: +43 | 12M, bp: +51 | 6M 95% interval, bp: [+19, +68] | No score / 50: 1.7 Lower-priority share: 20% · primary | 3M, bp: +17 | 6M, bp: +54 | 12M, bp: +107 | 6M 95% interval, bp: [+13, +99] | No score / 50: 2.0 Lower-priority share: 30% | 3M, bp: +36 | 6M, bp: +89 | 12M, bp: +135 | 6M 95% interval, bp: [+33, +151] | No score / 50: 2.3 Lower-priority share: 40% | 3M, bp: +34 | 6M, bp: +86 | 12M, bp: +142 | 6M 95% interval, bp: [+10, +168] | No score / 50: 2.7 Lower-priority share: 50% | 3M, bp: +41 | 6M, bp: +105 | 12M, bp: +202 | 6M 95% interval, bp: [-5, +226] | No score / 50: 3.3 Lower-priority share: 60% | 3M, bp: +40 | 6M, bp: +121 | 12M, bp: +212 | 6M 95% interval, bp: [-25, +284] | No score / 50: 4.2 Lower-priority share: 70% | 3M, bp: +53 | 6M, bp: +176 | 12M, bp: +277 | 6M 95% interval, bp: [-12, +386] | No score / 50: 5.5 Lower-priority share: 80% | 3M, bp: +78 | 6M, bp: +232 | 12M, bp: +329 | 6M 95% interval, bp: [+1, +495] | No score / 50: 7.9 Lower-priority share: 90% | 3M, bp: +75 | 6M, bp: +239 | 12M, bp: +306 | 6M 95% interval, bp: [-107, +630] | No score / 50: 13.7 Completed formations: 232 at 3 months, 219 at 6 months, 193 at 12 months. Each formation averages four seeds. Returns are after 10 bp trading costs, without annualization. Intervals and the average number of entry holdings without a score refer to the six-month sample. ### 10.2 Higher averages, different portfolios The six-month mean difference rises from +54 bp at the primary 20% setting to +89 bp at 30% and +105 bp at 50%. The 80% and 90% settings reach +232 and +239 bp. The average generally increases as ECPND receives more influence, although the progression is not uniform. Higher averages come with less precise estimates. The six-month 95% interval widens from [+13, +99] bp at 20% to [-107, +630] bp at 90%. The latter includes both underperformance and a large positive contribution. It therefore supports further investigation of that setting, without establishing it as the most reliable choice. The holdings also change substantially. At 20%, the factor replaces an average of 9.9 of the baseline’s 50 stocks; at 80%, it replaces 37.9. Model forecasts still rank stocks within each priority group, so these results measure their interaction with ECPND. Unscored holdings rise from 2.0 at 20% to 7.9 at 80% and 13.7 at 90%. All counts refer to entry holdings in the six-month sample. The next control examines whether positive means remain when those unscored stocks are unavailable to either portfolio. Results also depend on the starting period. The 90% setting produces a six-month mean difference of -212 bp for 2024 formations and +916 bp for 2025 formations. A higher full-period average can therefore coexist with weak results in particular periods. These groups describe portfolio starting years, rather than calendar-year strategy returns. ### 10.3 Does the pattern depend on missing scores? The first comparison leaves [unscored stocks](https://sggresearch.com/whitepaper/ecpnd#missing-scores) eligible without a penalty. As more scored stocks move into the lower-priority group, unscored candidates can take more portfolio places. The control tests this directly by removing missing scores before either portfolio is selected. Both arms then use the same scored-only universe. A numerical zero remains a valid score, and all other selection and execution rules are retained. Table 7Buy & hold: both portfolios restricted to scored stocks Lower-priority share: 10% | 3M, bp: +14 | 6M, bp: +44 | 12M, bp: +60 | 6M 95% interval, bp: [+19, +71] | Fallback / 50: 0.0 Lower-priority share: 20% | 3M, bp: +20 | 6M, bp: +63 | 12M, bp: +124 | 6M 95% interval, bp: [+19, +110] | Fallback / 50: 0.0 Lower-priority share: 30% | 3M, bp: +37 | 6M, bp: +91 | 12M, bp: +143 | 6M 95% interval, bp: [+33, +156] | Fallback / 50: 0.0 Lower-priority share: 40% | 3M, bp: +35 | 6M, bp: +95 | 12M, bp: +164 | 6M 95% interval, bp: [+15, +185] | Fallback / 50: 0.0 Lower-priority share: 50% | 3M, bp: +47 | 6M, bp: +118 | 12M, bp: +224 | 6M 95% interval, bp: [+1, +247] | Fallback / 50: 0.0 Lower-priority share: 60% | 3M, bp: +46 | 6M, bp: +142 | 12M, bp: +256 | 6M 95% interval, bp: [-11, +315] | Fallback / 50: 0.0 Lower-priority share: 70% | 3M, bp: +76 | 6M, bp: +217 | 12M, bp: +345 | 6M 95% interval, bp: [+4, +461] | Fallback / 50: 0.0 Lower-priority share: 80% | 3M, bp: +101 | 6M, bp: +293 | 12M, bp: +415 | 6M 95% interval, bp: [+15, +615] | Fallback / 50: 0.0 Lower-priority share: 90% | 3M, bp: +190 | 6M, bp: +478 | 12M, bp: +630 | 6M 95% interval, bp: [-53, +1122] | Fallback / 50: 3.6 The same 232, 219 and 193 completed formations enter the three horizons, with four seeds each. Every holding has a score at entry. The final column counts lower-priority stocks used to fill the 50 places, averaged over the six-month sample. These are scored holdings, not missing values. Positive mean differences remain at every tested threshold and horizon. At six months, the paired uplift is +63 bp at 20%, +118 bp at 50%, +293 bp at 80% and +478 bp at 90%. The positive pattern therefore also appears when every holding has a score at entry. Eligibility of unscored stocks is not required for positive mean uplift in this sample. The reference portfolio changes too: its mean six-month return is 6.22% in the scored-only test, compared with 6.05% in the original universe. Each reported uplift belongs to its own matched comparison. Comparing the two uplifts does not isolate the return contribution of the excluded stocks. The 90% setting needs an additional distinction. When fewer than 50 higher-priority stocks remain, the rule fills the available places from the lower-priority group: 3.6 holdings on average in the six-month sample. All have valid scores, but the portfolio is not restricted to the highest-scoring tenth. Its 95% interval, [-53, +1122] bp, also leaves substantial uncertainty around the larger mean. Figure 4 Selection strength and uncertainty [Two line charts connect six-month mean buy-and-hold return differences across nine selection thresholds. Thin vertical error bars show 95 percent intervals. Both panels share the same scale; each uses its own matched baseline.](https://sggresearch.com/assets/whitepaper/threshold-outlook.svg) Lines: mean six-month uplift (bp) · Error bars: 95% intervals Dashed vertical line: primary 20% rule Left panel - stocks with and without scores. Both portfolios start from the full model-eligible universe. A stock can be selected even when no eligible ECPND value is available for the decision date. Unscored stocks are excluded from the score-percentile calculation and receive no factor penalty. As the threshold rises, more scored stocks move into the lower-priority group, allowing unscored candidates to occupy more places under the model ranking. Right panel - scored stocks only. Stocks without an eligible ECPND value are removed before either portfolio is formed. The baseline selects the highest model-ranked stocks from this restricted set; the factor portfolio applies the ECPND priority rule to the same set. Every holding has a score at entry, with numerical zero still treated as a valid value. This tests whether positive mean uplift remains when no unscored stock can be held. Reading the two lines. Each point shows the mean six-month factor-minus-baseline return at the indicated threshold. The left comparison uses the full-universe baseline; the right uses a scored-only baseline. The shared scale helps compare their results and uncertainty. The gap between the lines cannot be read as the return contribution of removing unscored stocks, because both the baseline and factor portfolios change. ### 10.4 What to test next The next stage connects broader configuration tests with forward evaluation and research on a second earnings-call factor. The aim is to identify applications whose contribution persists across model choices, portfolio rules and newly observed periods. #### Configuration and portfolio rules The threshold results show that the way ECPND enters a portfolio matters. Further comparisons should use a predefined set of configurations, with the primary 20% rule retained as a reference. Three dimensions are particularly useful: - Selection strength and coverage: Compare score thresholds in both the full and scored-only universes. Test lower-priority selection alongside strict exclusion, declaring how to handle fewer than 50 eligible stocks. - Portfolio construction: Vary portfolio size, holding period and rebalancing frequency. Track return differences together with drawdown, turnover and costs, including continuous accounts that carry the same capital through time. - Baseline and exposure controls: Repeat selected rules with independently chosen stock-ranking models. Match sector, size, momentum, volatility and liquidity exposures to assess what contribution remains. Configuration choices should use only outcomes that have matured before the selection date, then remain fixed for the next evaluation period. All predefined settings should be retained in the record. Changing the score calculation itself requires a separate version, allowing application changes and measurement changes to be evaluated separately. #### Forward live testing Forward testing records a decision before its subsequent market outcome is known. The implemented ECPND protocol fixes the model and score version, uses the published end-of-day score snapshot and commits portfolio selections before the next eligible market opening. It retains the 20% rule, four model seeds and paired baseline/factor accounts, with both weekly cohorts and continuous accounts. Decisions, trades and valuations are stored as append-only records; missed decision dates are not filled retrospectively. This is prospective paper evaluation. The internal ledger applies declared execution and cost rules; broker paper fills provide a separate execution record. Monitoring should cover snapshot availability, skipped decisions, return differences, drawdowns, turnover and execution costs. Three-, six- and twelve-month results enter the horizon comparisons as they mature. New thresholds, score versions or combined-factor rules should start separately identified forward tests, preserving the original ECPND reference and its history. #### ECQDI as a complementary research input [ECQDI - Earnings Call Quantitative Dynamics & Intensity](https://sggresearch.com/whitepaper/ecqdi) measures the quantitative character of external analysts’ questions relative to earlier calls in the same sector. It adds a text-based perspective to ECPND’s participation history. Their mean cross-sectional rank correlation is +0.076 in the combined study, indicating that they often rank stocks differently. This gives a reason to test complementary use; it does not establish statistical independence or improved portfolio returns. The standalone ECQDI study finds positive mean buy & hold contributions, while continuous weekly results are weaker. Further work should therefore examine when its information is useful, how long to retain it and how frequently to act on it. Each factor’s own availability and expiry rules must be respected when joining the two inputs at a portfolio decision. #### Combining participation and quantitative questioning The [completed combination study](https://sggresearch.com/whitepaper/combination#weighting) already tests 60 selection rules: different weights on the two score ranks, lower priority when either factor is weak, and lower priority only when both are weak. It also includes 52 ECPND-only controls that flag the same number of candidates as the corresponding combined rule. These controls help distinguish the second factor’s contribution from the effect of making selection more restrictive. For example, a 75/25 combination gives 75% weight to ECPND’s current percentile rank and 25% to ECQDI’s rank. These are score weights, not capital allocations. At the 20% selection threshold, this rule produces +69 bp of six-month buy & hold uplift versus Qlib, compared with +54 bp for ECPND alone. Its incremental interval includes zero, its advantage weakens in later formations, and its continuous annualized growth remains below ECPND alone. The result identifies a configuration worth examining further, without establishing a dependable combined improvement. The next combined evaluations should retain four references: the unchanged price-based model, ECPND alone, ECQDI alone and the combined rule. Coverage, costs and selection-strength controls should remain comparable. A small set of fixed combinations can then be evaluated prospectively, alongside independently chosen models, to test whether the second input adds value beyond the stronger single-factor alternative. Research status. The completed threshold and combination experiments reuse previously studied historical data. Their intervals describe individual comparisons and do not adjust for selecting among configurations. The primary results in this note remain based on ECPND’s 20% rule. Forward results require their own start dates, protocol versions and maturity counts; the historical improvements reported here do not constitute a forward performance record. ## - References 1. Mayew, W. J., Sharp, N. Y. & Venkatachalam, M. (2013). [Using earnings conference calls to identify analysts with superior private information.](https://scholars.duke.edu/publication/803849) Review of Accounting Studies, 18(2), 386–413. [doi:10.1007/s11142-012-9210-y.](https://doi.org/10.1007/s11142-012-9210-y) 2. Mayew, W. J. (2008). [Evidence of Management Discrimination Among Analysts during Earnings Conference Calls.](https://onlinelibrary.wiley.com/doi/10.1111/j.1475-679X.2008.00285.x) Journal of Accounting Research, 46(3), 627–659. 3. Bradley, D., Gokkaya, S. & Liu, X. (2020). [Ties That Bind: The Value of Professional Connections to Sell-Side Analysts.](https://doi.org/10.1287/mnsc.2019.3391) Management Science, 66(9), 4118-4151. 4. Rennekamp, K. M., Sethuraman, M. & Steenhoven, B. A. (2022). [Engagement in earnings conference calls.](https://doi.org/10.1016/j.jacceco.2022.101498) Journal of Accounting and Economics, 74(1), 101498. 5. Awyong, A., Cho, Y. J. & Yang, H. (2026). [Conference calls and information spillover: the role of analyst participation.](https://doi.org/10.1007/s11142-026-09937-4) Review of Accounting Studies, 31, 1131-1164. Published 17 March 2026. 6. Holowczak, R. D., Jiu, L., Kyung, H. & Yu, P.-H. (2026). [Do prestigious analysts convey more information during earnings conference calls?](https://doi.org/10.1007/s11156-026-01552-3) Review of Quantitative Finance and Accounting. Published online 24 August 2026. 7. Yang, X., Liu, W., Zhou, D., Bian, J. & Liu, T.-Y. (2020). [Qlib: An AI-oriented Quantitative Investment Platform.](https://arxiv.org/abs/2009.11189) arXiv:2009.11189. [Official Microsoft repository.](https://github.com/microsoft/qlib) 8. Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q. & Liu, T.-Y. (2017). [LightGBM: A Highly Efficient Gradient Boosting Decision Tree.](https://papers.neurips.cc/paper_files/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html) Advances in Neural Information Processing Systems 30. 9. Microsoft Qlib documentation. [Data Layer: Data Framework & Usage.](https://qlib.readthedocs.io/en/stable/component/data.html) Alpha158 data handler and feature-processing framework. Accessed 22 September 2026. 10. Politis, D. N. & Romano, J. P. (1991). [A Circular Block-Resampling Procedure for Stationary Data.](https://statistics.stanford.edu/technical-reports/circular-block-resampling-procedure-stationary-data) Stanford Department of Statistics, technical report EFS NSF 370. Reference for circular block resampling; our block lengths and reported intervals are implementation choices. ## A Appendix: Study evidence and verification The evidence for this note consists of three sets of records: a recomputation of the portfolio study, a separate reconciliation of portfolio accounting, and two extensions of the selection-threshold tests. This appendix explains what each examination covers, how the reported results were checked and which evidence versions support this edition. ### A.1 Frozen portfolio revalidation - 21 September 2026 The revalidation rebuilds the portfolio comparisons from the saved model forecasts, ECPND scores and adjusted opening and closing prices. These inputs are held fixed, so the exercise tests whether the stated portfolio rules reproduce the recorded results. The same evidence file supplies Figures 1-3 and Tables 2-5, including the primary comparisons, results by formation year, cost and eligibility checks, and continuous accounts. All four previously stored mean return differences are reproduced within 10^−11 in return units: buy & hold and weekly rebalance, each at three and six months. This agreement checks the consistency of the calculations; it does not imply that future returns can be estimated to that precision. The revalidation also extends the study to twelve months, applying the same account rules and admitting only formations whose full holding period has elapsed. The cohort run comprises 25,984 portfolio scenarios across the tested policies, seeds, costs and selection rules. A scenario is one simulated account path for a particular formation and configuration; that path can supply more than one completed horizon. These are repeated applications to the same market history, rather than independent market observations. The simulator records no incomplete scenarios, and the date-ordering check finds no model forecasts dated on or after execution. Transcript eligibility follows the separate timing convention in [Section 2](https://sggresearch.com/whitepaper/ecpnd#data). ### A.2 Internal ledger reconciliation - 20 September 2026 The ledger check approaches verification from the individual transactions. Its structured sample contains 80 portfolios, covering both portfolio policies, both comparison arms and all four seeds in each of the five formation years. Across that sample, 84,295 trades and 9,952 daily valuations are reconciled. Starting with each account’s initial capital, the check rebuilds cash and share quantities from recorded purchases, sales and fees. It verifies trade notionals and trading costs, then values the resulting holdings at the frozen closing prices. Reconstructed net asset value is compared with the stored daily value. Horizon returns, maximum account values, drawdowns and their recorded dates are also checked against the daily series. The largest absolute difference in daily net asset value is below $7 × 10^−10, consistent with floating-point rounding. A separate completeness check confirms 16 portfolio records for every formation: four seeds, two policies and two arms. The transaction-level reconciliation covers the 80-account sample; it is not a claim that every stored account received that check. This is internal verification of accounting against the study inputs, not an external audit of market data, universe coverage or transcript publication records. ### A.3 Threshold sensitivity and scored-only control - 22 September 2026 Two buy & hold sweeps vary the lower-priority score share from 10% to 90% in ten-percentage-point steps. The first retains stocks with missing scores under the primary rule. The second removes them before either portfolio is selected, creating a scored-only baseline and its matched factor portfolio. Forecasts, score definitions, prices, allocation and costs remain those of the primary study. Each sweep simulates one baseline and nine factor variants for each of four seeds across the 232 formations with at least a completed three-month horizon: 9,280 account paths. Longer-horizon comparisons use only the subset that has matured. Neither sweep records incomplete scenarios, and every entry holding in the scored-only control has an eligible score. Before extending the comparison, the first sweep reproduces the earlier 10%, 20% and 30% results at all three horizons. The control reproduces the earlier scored-only 20% result at those horizons. The checks compare mean baseline and factor returns, paired differences, interval endpoints and formation counts. Figure 4 and Tables 6-7 are generated from these extension records. They provide evidence about application choices within the studied period; the primary specification remains 20%, and the wider search is not a new out-of-sample test. ### A.4 Published data and evidence versions The [research package](https://sggresearch.com/assets/research-package.zip) separates observations from study outputs. The daily score CSV supports independent testing; the study-result and cohort files report our completed comparisons. A worked selection example shows how the model ranking and ECPND priority rule lead to candidate decisions. A short README explains the files and their use. Coverage and field definitions are described in [Section 9](https://sggresearch.com/whitepaper/ecpnd#reproduction). The two-year score sample supports research over its supplied dates. Reproducing the full 2022-2026 study additionally requires the earlier score history, frozen forecasts, historical eligibility panel and price inputs used in the original run. The ECQDI companion folder contains separate evidence for that factor; the combination results discussed in the outlook are documented in the [combined-factor note](https://sggresearch.com/whitepaper/combination). The numerical tables and charts are generated from the recorded result files. The SHA-256 checksums below identify the exact primary, reconciliation and exploratory evidence versions used here. A matching checksum confirms identical file contents, making it possible to distinguish this edition from a later recomputation. It identifies a record; the calculations and checks described above establish what that record contains. Evidence versions and SHA-256 checksums Primary revalidation - 21 September 2026 Figures 1-3 and Tables 2-5 974a290b2e1e9c8c6f7e7697a26e58d1fdb4646a9d723e4be012705650af9466 Internal ledger reconciliation - 20 September 2026 Accounting checks in Appendix A.2 f023efec8cc158e8b75fb66199c558a2740b6389a7e7571e2c5b80ec51f298a1 Exploratory threshold sweep - 22 September 2026 Figure 4, full-universe panel, and Table 6 5d18c6d2a8b3d749ac1e7968d2f946baf19ec36ddc0e865c5e876f83ef8d51a3 Scored-only control - 22 September 2026 Figure 4, scored-only panel, and Table 7 7b9f8dfdfb4d34cb9b7123686d699abdb69b0f56fbbbb98efb99cb2a09051569 --- # ECQDI - Earnings call quantitative dynamics & intensity | SGG Research Source: https://sggresearch.com/whitepaper/ecqdi [Skip to abstract](https://sggresearch.com/whitepaper/ecqdi#abstract) Research note · ECQDI · v0.1 · Updated 29 September 2026 # Earnings call quantitative dynamics and intensity as an alternative data factor for US equities. ## Abstract Does the quantitative character of earnings-call questioning add information to a price-based equity model? We study Earnings Call Quantitative Dynamics and Intensity (ECQDI), a deterministic text factor that places external analysts’ contributions in the context of earlier calls in the same sector. Weekly US equity portfolios compare the same Qlib / LightGBM predictions with and without a fixed selection rule. Capital, prices, execution and trading costs are shared across both arms and four model seeds. Over completed formations beginning in January 2022, ECQDI adds an average 17 bp (3 months), 30 bp (6 months) and 65 bp (12 months) to buy & hold returns after the stated costs. The twelve-month interval lies above zero; the shorter-horizon intervals also allow for no improvement. Weekly rebalancing gives mixed results, and mean continuous-account annualized growth falls from 7.24% to 6.90%. The evidence supports a modest historical selection effect whose usefulness depends on portfolio construction. The study uses next-session opening prices and previously researched data; it is not a live performance record. Research notice. These materials are provided for data analytics and research only. They do not constitute financial or investment advice, or a recommendation to buy, sell or hold any security. Conduct your own research and independently assess the data, assumptions and risks before making investment decisions. Historical and simulated results do not guarantee future performance. Author · SGG Research Universe · US equities Score version · 2.0.0 Price cut-off · 18 September 2026 ## 01 Quantitative questioning as a source of information An analyst’s question can connect reported results with the assumptions behind an investment view. ECQDI examines the quantitative character of those questions. External analysts bring company knowledge, sector expertise and financial models to the call. A question about an operating measure, a forecast assumption or the relationship between reported figures may reflect work completed before the conversation begins. These contributions provide an observable record of the issues that informed participants choose to examine. The research rationale is that this record may contain information beyond historical prices and trading volumes. Quantitative questioning could indicate close scrutiny of a company’s operating outlook or an effort to resolve uncertainty in an existing model. It can also accompany concern, disagreement or unusually complex reporting. The interpretation therefore needs to be tested against subsequent outcomes. Related research supports examining analyst contributions. Mayew, Sharp and Venkatachalam find that participating analysts issue more accurate and timely forecasts immediately after calls than nonparticipants [[1]](https://sggresearch.com/whitepaper/ecqdi#ref-1). Rennekamp, Sethuraman and Steenhoven study conversational engagement between managers and analysts as an informative characteristic of the interaction [[2]](https://sggresearch.com/whitepaper/ecqdi#ref-2). These findings motivate attention to questioning and conversation; they do not establish the return contribution of ECQDI. Quantitative dynamics and intensity describes the factor’s perspective. Intensity concerns the quantitative character of external analyst contributions. Dynamics concerns how successive observations differ within an evolving historical reference. The current score is a deterministic call measurement expressed relative to earlier sector peers. It does not separately estimate sentiment, research quality or the speed of change between calls. Research question Does giving lower selection priority to the lowest 20% of eligible ECQDI scores improve the same model’s subsequent long-only returns after costs? We compare buy & hold with weekly rebalancing, then examine alternative thresholds, stock coverage and trading frequency under matched portfolio assumptions. ## 02 Data, universe and timing The analysis joins structured call transcripts, frozen model forecasts and adjusted equity prices. The source archive and the investable research panel serve different roles. The ECQDI source snapshot contains 78,851 calls from 3,722 tickers. It supports the text measurement and historical sector comparisons. Portfolio tests use the smaller US universe with eligible Qlib forecasts and the required prices. Table 1 distinguishes these inputs from the weekly portfolio sample; a call count is not a count of independent investment tests. An internal replay reproduces all 48,701 stored version-2 scores. For the portfolio study, the historical reference excludes every call on the observation’s own date, leaving 48,689 eligible scored calls. This stricter ordering removes dependence on the processing order of calls held on the same day. The replay and timing checks are documented in [Appendix A.1](https://sggresearch.com/whitepaper/ecqdi#appendix-replay). Table 1Research inputs and evaluation scope Input: Call archive | Coverage: 78,851 calls · 3,722 tickers | Role in the study: Structured transcripts supply external analyst contributions and the historical sector reference. This archive extends beyond the model-eligible portfolio universe. Input: Call scores | Coverage: 48,701 replayed; 48,689 strict-date | Role in the study: The first count reproduces stored version-2 observations. The second applies the portfolio rule excluding all same-day calls from each historical reference. Input: Model forecasts | Coverage: 2,259,772 rows · 544 tickers | Role in the study: Frozen stock-ranking predictions across dates and four model seeds. Both arms use the same forecasts; ECQDI is not a model-training feature. Input: Adjusted prices | Coverage: 782,434 rows · 560 tickers | Role in the study: Frozen adjusted USD prices supply opening trade prices and closing valuations. The same series supports both portfolio arms throughout the study. Input: Score availability | Coverage: 90.41% of forecast rows | Role in the study: Forecast rows with an eligible prior-call score within the 90-calendar-day limit. Repeated seed rows are included; this is not coverage of all US equities. Input: Weekly formations | Coverage: 245 starting dates | Role in the study: Portfolio start dates from 10 Jan 2022 to 14 Sept 2026. Only completed holding periods enter the three-, six- and twelve-month return comparisons. Input: Price cut-off | Coverage: 18 Sept 2026 | Role in the study: Last price session in the frozen evaluation. It determines which horizons have matured and the end date for each continuously invested account. ### The eligible US equity universe The model panel uses S&P 500 membership snapshots as its reference and applies the baseline’s data requirements. Across the forecast history, it contains 544 distinct tickers; membership and eligibility vary by date. Both arms draw from the same model-eligible US equity universe. Historical membership, delisted stocks and adjusted-price coverage remain part of the data-verification work described in [Section 8](https://sggresearch.com/whitepaper/ecqdi#interpretation). At the call date, score eligibility requires at least $5 million in median daily dollar volume across the latest 60 earlier stock bars, with at least 30 positive observations. The sector reference includes calls with a usable measurement even if their issuer does not meet that trading-liquidity condition. The condition governs whether a score is supplied for the issuer; it does not reduce the historical reference to the same investable stocks. ### From call date to portfolio decision Call observation Measure external questioning against calls from strictly earlier dates in the same sector. Next session open The call score first becomes eligible at the next US trading session’s opening. Weekly decision Join the eligible score to the preceding close’s model prediction at the scheduled decision. A Friday call can enter Monday’s selection if Monday is a trading day. A Tuesday call becomes eligible on Wednesday, while the weekly strategy normally waits until its next scheduled decision. US market sessions determine the execution date. A new call therefore does not automatically produce an immediate trade. Information timing. The source’s same-day transcript delivery leaves a buffer before the next-session execution used here. The historical study applies that date convention to stored transcript versions. Verification of later revisions is separate from checking call dates; prospective evaluation should retain the score and publication time actually available when the decision was made. ## 03 From a call to ECQDI ECQDI expresses a call’s quantitative questioning relative to its sector history, in a form that can be joined to an equity panel by date and ticker. 1. Observe: Identify external analysts’ contributions in the structured question-and-answer record. 2. Measure: Apply the same deterministic text measurement to each eligible call. 3. Contextualize: Compare the observation with earlier calls in its historical sector reference. 4. Evaluate: Apply the supplied score to a fixed selection rule and compare matched portfolios. The measurement uses external analyst contributions. Management’s prepared remarks and answers are excluded. Fixed extraction rules make the calculation repeatable without fitting a language model, retraining predictive text weights or assigning a sentiment label to each new call. The reference covers the preceding 365 calendar days and requires at least eight usable calls in the same sector. A score of 0.80 means that 80% of those reference observations have a strictly lower measurement. Equal measurements are not counted as lower. This expresses the call’s relative position; it is neither an 80% probability of a price rise nor a forecast of the company’s earnings. - Field: ecqdi_score, a supplied value between 0 and 1. - Direction: Higher values indicate greater relative quantitative intensity. - Persistence: A call’s score is carried forward unchanged while it remains eligible. - Expiry: The study accepts call ages of 1-90 calendar days at the decision date. - Missing score: No eligible value for that stock and date; zero remains a valid score. ### Daily availability and expiry The date in the daily sample identifies the decision session for which the supplied value is eligible. Its underlying call can be older: a call from three weeks earlier may still support today’s value. ECQDI retains the sector context from the call date. It does not re-rank that same call every morning as other companies report. The portfolio uses the latest eligible scored call before its decision date. A newer scored call replaces it. A later call that has no eligible score does not itself replace the earlier scored observation. The prior value remains usable only through day 90 after its own call date; day 91 is outside the study’s freshness window. Carrying the value into another daily row does not reset its age. Use the value supplied for the decision date. The score CSV already applies the call-date ordering and expiry rules, so an additional day of delay is unnecessary. A blank should remain missing. In buy & hold, subsequent score expiry alone does not trigger a sale; weekly rebalancing uses the eligible observations at each new decision. ### What a missing score means - No earlier scored call: No eligible scored observation precedes the decision date. - Unusable input: The call lacks the required analyst text or sector information. - Insufficient peers: Fewer than eight usable sector calls are available in the reference window. - Liquidity eligibility: Earlier price observations are insufficient or the liquidity floor is unmet. - Expired observation: The latest eligible scored call is more than 90 calendar days old. These conditions explain why a current value may be unavailable. An ineligible new call can coexist with an older, still-valid score. The primary portfolio keeps stocks with missing values eligible under the model ranking and gives them no score penalty. The scored-only control removes them from both arms before selection. Missingness is an eligibility state, not a positive or negative investment view. Scope of disclosure. This note documents the rationale, inputs, reference window, timing and portfolio application. The exact extraction rules, normalization and raw measurement remain proprietary. The supplied score and the rule in [Section 4.2](https://sggresearch.com/whitepaper/ecqdi#selection-rule) allow researchers to test its usefulness without reconstructing the text-measurement engine. ## 04 The paired portfolio design Every comparison begins with the same model forecasts. ECQDI changes selection priority; capital, execution and accounting remain shared. ### 4.1 Baseline model and training chronology The baseline combines Microsoft’s Qlib research framework [[3]](https://sggresearch.com/whitepaper/ecqdi#ref-3), 157 available price and volume features from the Alpha158 family [[4]](https://sggresearch.com/whitepaper/ecqdi#ref-4), and LightGBM, a gradient-boosted decision-tree model [[5]](https://sggresearch.com/whitepaper/ecqdi#ref-5). It learns relationships between historical market features and later returns, then ranks eligible stocks. The training target is the adjusted return from the next session’s open to the 42nd session’s close, standardized across stocks on each training date. Annual expanding windows admit only training returns that have ended before the test year. Models use 200 boosting rounds and four fixed seeds: 19, 41, 73 and 101. These identify different randomized training runs on the same market history. All 20 year/seed training records satisfy the recorded date-ordering checks. Both arms reuse the frozen forecasts; the baseline is not retrained with ECQDI. Role of the published software. Qlib and LightGBM provide the modelling foundation. Our US data preparation and weekly simulator are custom implementations, rather than an unchanged official Qlib benchmark. Their authors have not validated or endorsed ECQDI. ### 4.2 Which score changes the selection? The factor input is the eligible daily ecqdi_score. The model prediction ranks investment candidates, while ECQDI adjusts their selection priority. The primary study gives lower priority to the lowest 20% of available scores across the eligible stock universe at each decision. 1. Use the decision-date score. Join by ticker and date to the same prior-close forecasts for both arms. For a call-level history, use the latest eligible scored call from an earlier date, at most 90 calendar days old. The daily CSV has already applied these rules. 2. Rank available scores before selecting holdings. Sort all available scores from low to high and divide each average ordinal rank by the number of scored candidates, N. Ties receive their average rank. Deprioritize percentiles at or below 0.20 when N is at least 30; otherwise retain the model ranking. Missing scores do not enter this calculation and receive no penalty. 3. Select 50 stocks deterministically. The baseline sorts forecasts from highest to lowest, breaking ties alphabetically by ticker. The factor arm places unpenalized candidates first, then penalized candidates, with the same model and ticker order within each group. Take the first 50. Penalized stocks can fill remaining places; fewer than 50 eligible candidates prevent a portfolio from being formed. 4. Apply the rule at the scheduled decision. Buy & hold selects once at entry. Weekly rebalance repeats the rule using the current eligible scores and forecasts, and resets target weights under the shared account assumptions. Example. With 100 scored candidates and no ties, score ranks 1-20 receive lower priority. The raw score at the boundary changes with the date and universe. A score of 0.20 is therefore not a universal sell threshold, and a high score alone does not secure a place among the 50 holdings. - Baseline: Select the 50 highest-ranked eligible stocks from the frozen model forecasts. - With ECQDI: Adjust selection priority using the score, then select 50 stocks. Two rankings have different roles. The ECQDI value locates the call within its earlier sector history. The portfolio rule then ranks those supplied values across today’s eligible candidates. Model predictions determine the order within each priority group. This tests ECQDI as an addition to the existing selection process, rather than as a standalone portfolio ranking. ### 4.3 Capital, execution and valuation - Formation: A new pair starts at the first eligible US trading session of each week, normally Monday. Each account begins with $1 million and is evaluated separately from earlier formations. - Allocation: Fifty positions share 95% of pre-trade equity equally. Fractional adjusted share units are allowed; fees reduce the residual cash balance, and cash earns no interest. - Buy & hold: Keep the initial share quantities through the evaluation horizon. There is no scheduled rebalancing, and a later score change or expiry alone does not cause a trade. - Weekly rebalance: Reapply selection and equal target weights at the first session of each week. This includes resizing retained positions, with costs charged on their executed trade amounts. - Trading costs: Charge 10 bp, or 0.10%, of every executed buy and sell notional. The primary comparison does not separately model spreads, market impact or trading capacity. - Prices: Execute at frozen adjusted opens and value holdings at adjusted closes plus cash. Corporate actions are represented in the price series; no additional dividend cash flow is added. - Evaluation: Use 3, 6 and 12 calendar months, marked at the last session close on or before the anniversary. Remaining holdings are not liquidated, so there is no terminal sale fee. ### 4.4 Measuring the contribution and its uncertainty For each formation, seed and horizon, subtract the baseline return from the ECQDI return. Average the four seed differences within the formation, then give every completed formation equal weight. A positive difference means the factor portfolio earned more after the stated costs. The result is a holding-period return difference, without annualization or adjustment for other equity-factor exposures. Weekly portfolios share much of their holding period. To reflect that dependence, we repeatedly draw contiguous blocks of weekly differences and recompute the mean, wrapping from the end of the series to its beginning when necessary [[6]](https://sggresearch.com/whitepaper/ecqdi#ref-6). The spread of those recomputed means provides the reported uncertainty interval. - Resamples: Recompute the average on 5,000 block-based redraws of the same weekly history. - Block lengths: Use 13, 26 and 52 weeks for the 3-, 6- and 12-month comparisons. - Reported interval: The 2.5th to 97.5th percentiles of the resampled mean differences. An interval spanning zero permits both no improvement and a positive contribution under this procedure. These are estimates for the specified historical comparison. They do not account for every model or threshold explored during the wider research process. ## 05 What the factor added Buy & hold improves on average at all three horizons. Weekly rebalancing produces a smaller and less consistent contribution. Figure 1 Mean uplift and its uncertainty [Mean paired ECQDI return differences at three, six and twelve months. Filled points represent buy and hold; open points represent weekly rebalancing. Only the twelve-month buy-and-hold interval lies entirely above zero.](https://sggresearch.com/assets/whitepaper/ecqdi/paired-uplift.svg) Mean return difference (bp) · 95% block-bootstrap intervals Buy & hold Weekly rebalance The points show the average return difference; the horizontal lines show its uncertainty interval. At six months, buy & hold adds +29.7 bp with a range from -5.7 to +66.3 bp. At twelve months, the mean is +65.0 bp and the range is +2.6 to +143.8 bp. The latter is the only primary interval entirely above zero. Table 2Long-only paired returns after 10 bp trading costs **Buy & hold** Horizon: 3M | Baseline: 3.22% | With ECQDI: 3.39% | Difference: +16.7 bp | 95% interval, bp: [-1.4, +37.9] | Formations: 232 Horizon: 6M | Baseline: 6.05% | With ECQDI: 6.34% | Difference: +29.7 bp | 95% interval, bp: [-5.7, +66.3] | Formations: 219 Horizon: 12M | Baseline: 14.53% | With ECQDI: 15.18% | Difference: +65.0 bp | 95% interval, bp: [+2.6, +143.8] | Formations: 193 **Weekly rebalance** Horizon: 3M | Baseline: 2.46% | With ECQDI: 2.39% | Difference: -7.6 bp | 95% interval, bp: [-53.2, +32.9] | Formations: 232 Horizon: 6M | Baseline: 5.34% | With ECQDI: 5.36% | Difference: +2.4 bp | 95% interval, bp: [-84.5, +83.8] | Formations: 219 Horizon: 12M | Baseline: 11.39% | With ECQDI: 11.85% | Difference: +45.1 bp | 95% interval, bp: [-139.0, +217.4] | Formations: 193 In the six-month buy & hold comparison, mean returns are 6.05% for the model baseline and 6.34% with ECQDI. The overlay changes an average of 8.8 of the 50 entry holdings across all weekly formations. Its measured contribution comes from adjusting a model-ranked portfolio; the table does not describe the return of buying every high-scoring stock. The three horizons include 232, 219 and 193 completed formations respectively. A longer horizon requires more subsequent prices, so its set of starting dates is smaller. Recent incomplete accounts are excluded from the horizon averages. The four seeds are averaged within each formation and share the same underlying market history. ### Selection at entry and repeated rebalancing answer different questions Buy & hold asks whether the initial choice of stocks improves the later account value. Weekly rebalancing also reflects new selections, changing target weights and repeated trading. A useful entry observation need not improve every subsequent rebalance. The near-zero six-month weekly contribution and the weaker continuous accounts make this distinction central to interpreting ECQDI. ## 06 Testing the assumptions We change costs, selection strength and stock coverage while keeping the model forecasts fixed. These checks identify which implementation choices affect the result. ### 6.1 What changes when trading costs or frequency change? The follow-up applies 0, 10 and 25 bp to every executed buy or sell. Both arms are recomputed at each rate. For buy & hold, the opening trade amount is the same in both arms, so higher costs reduce their returns equally and leave the six-month difference near +30 bp. Repeated trading has a larger effect on continuously invested accounts. At 10 bp, weekly rebalancing produces mean CAGR of 7.24% for the baseline and 6.90% with ECQDI. The factor’s shortfall remains when fees are removed. Trading costs therefore do not fully explain the weaker weekly result. Monthly rebalancing changes the outcome: at 10 bp, mean CAGR is 6.82% for the baseline and 6.95% with ECQDI, with two of the four seeds improving. Here the account trades at entry and then at the first session of each subsequent calendar month. The small gain makes slower implementation worth examining, but does not establish an optimal trading schedule. View trading-frequency and cost comparisons Table 3Trading cadence and cost sensitivity in continuous accounts **Weekly rebalance** Cost per side: 0 bp | Baseline CAGR: 13.89% | ECQDI CAGR: 13.37% | Difference, pp/year: -0.51 Cost per side: 10 bp | Baseline CAGR: 7.24% | ECQDI CAGR: 6.90% | Difference, pp/year: -0.35 Cost per side: 25 bp | Baseline CAGR: -2.03% | ECQDI CAGR: -2.16% | Difference, pp/year: -0.13 **Monthly rebalance** Cost per side: 0 bp | Baseline CAGR: 8.85% | ECQDI CAGR: 8.96% | Difference, pp/year: +0.11 Cost per side: 10 bp | Baseline CAGR: 6.82% | ECQDI CAGR: 6.95% | Difference, pp/year: +0.13 Cost per side: 25 bp | Baseline CAGR: 3.83% | ECQDI CAGR: 4.00% | Difference, pp/year: +0.17 Each number is the mean CAGR of four separate continuous accounts. Fixed fees do not measure stock-specific spreads, order-size effects or available trading capacity. ### 6.2 Does a stronger score rule help? Giving lower priority to the weakest 10%, 20%, 30% or 50% of scores produces six-month buy & hold differences of +9.2, +29.7, +3.4 and +26.3 bp. The progression is not steadily increasing. All four intervals include zero, and all four rules reduce mean continuous weekly CAGR at the primary cost assumption. The later 2024-2026 formations have negative six-month buy & hold differences at the 30% and 50% settings. More influence for the score therefore does not consistently improve selection in this study. [Section 10](https://sggresearch.com/whitepaper/ecqdi#outlook) plots the threshold results and sets out how to test a small set of configurations prospectively. ### 6.3 Does stock coverage or sector allocation explain the result? - Only stocks with scores: Remove unscored candidates from both arms. The six-month buy & hold difference remains positive at +33.3 bp, while the continuous weekly comparison remains weaker than its own baseline. - Match sector allocation: Preserve the baseline’s stock count in every sector when selecting the factor portfolio. Six-month buy & hold adds +34.6 bp, with a 95% interval of +1.4 to +70.4 bp. - Inspect concentration: The largest positive stock contribution is approximately 6.0 bp. Subtracting the five largest positive contributions leaves +12.6 bp of the original +29.7 bp mean difference. The scored-only comparison changes the universe for both portfolios. Its baseline continuous CAGR rises to 8.68%, and adding ECQDI within that restricted universe lowers it to 8.37%. The higher baseline return belongs to the eligibility screen, rather than to the score’s ordering. Sector matching limits one source of exposure differences, while size, momentum and liquidity need further controls. View selection and coverage results with uncertainty intervals Table 4Exploratory selection rules at the primary 10 bp cost Selection rule: Lowest 10% | 6M B&H, bp: +9.2 | 95% interval, bp: [-15.3, +39.4] | Weekly CAGR change, pp/year: -0.35 | Seeds improved: 1/4 Selection rule: Lowest 20% · reference | 6M B&H, bp: +29.7 | 95% interval, bp: [-5.7, +66.3] | Weekly CAGR change, pp/year: -0.35 | Seeds improved: 1/4 Selection rule: Lowest 30% | 6M B&H, bp: +3.4 | 95% interval, bp: [-35.6, +39.4] | Weekly CAGR change, pp/year: -0.95 | Seeds improved: 1/4 Selection rule: Lowest 50% | 6M B&H, bp: +26.3 | 95% interval, bp: [-30.8, +69.0] | Weekly CAGR change, pp/year: -1.60 | Seeds improved: 0/4 Selection rule: Scored-only · 20% | 6M B&H, bp: +33.3 | 95% interval, bp: [-1.3, +71.9] | Weekly CAGR change, pp/year: -0.31 | Seeds improved: 1/4 Selection rule: Sector-matched · 20% | 6M B&H, bp: +34.6 | 95% interval, bp: [+1.4, +70.4] | Weekly CAGR change, pp/year: -0.79 | Seeds improved: 0/4 The six-month column measures completed buy & hold cohorts. The annualized column measures continuous weekly accounts. These are separate performance measures, each compared with its own matched baseline. The concentration calculation uses the realized stock contributions after the outcome is known. It is an attribution check, not a portfolio that could have excluded those winners in advance. All checks in this section reuse the same studied period. ## 07 Continuously invested accounts Overlapping portfolio cohorts describe repeated entry decisions. A continuously invested account follows the experience of carrying the same capital through time. For each seed and arm, one account starts on 10 January 2022 and is rebalanced weekly through 18 September 2026. The primary allocation and 10 bp trading costs apply throughout. No fresh capital is introduced at later formation dates. Figure 2 Annualized growth across the four model seeds [Annualized growth for four paired continuous accounts. Open points show the baseline and filled points show ECQDI. Only seed 73 improves; seed 41 is nearly unchanged.](https://sggresearch.com/assets/whitepaper/ecqdi/continuous-seeds.svg) CAGR (%) · weekly rebalance · 10 bp trading costs Qlib / LightGBM With ECQDI The seed numbers identify fixed randomized model fits. All four use the same market history, but their predictions can differ and therefore select different stocks. For seed 19, annualized growth is 6.40% under the baseline and 5.78% with ECQDI. For seed 73, it rises from 8.52% to 8.63%. Seed 41 is almost unchanged; seed 101 declines. Table 5Continuous weekly accounts; each seed is a separate funded comparison **Seed 19** Account: Baseline | Total return: 33.75% | CAGR: 6.40% | Max drawdown: -25.66% | Sharpe: 0.40 Account: With ECQDI | Total return: 30.14% | CAGR: 5.78% | Max drawdown: -26.32% | Sharpe: 0.37 **Seed 41** Account: Baseline | Total return: 35.93% | CAGR: 6.77% | Max drawdown: -27.92% | Sharpe: 0.42 Account: With ECQDI | Total return: 35.90% | CAGR: 6.76% | Max drawdown: -27.24% | Sharpe: 0.42 **Seed 73** Account: Baseline | Total return: 46.69% | CAGR: 8.52% | Max drawdown: -29.32% | Sharpe: 0.49 Account: With ECQDI | Total return: 47.41% | CAGR: 8.63% | Max drawdown: -27.63% | Sharpe: 0.50 **Seed 101** Account: Baseline | Total return: 39.04% | CAGR: 7.28% | Max drawdown: -27.51% | Sharpe: 0.44 Account: With ECQDI | Total return: 33.79% | CAGR: 6.41% | Max drawdown: -26.21% | Sharpe: 0.40 Across the four accounts, mean CAGR is 7.24% for the baseline and 6.90% with ECQDI, a paired difference of -0.35 percentage points per year. This is an average of individual account growth rates, not the CAGR of a blended portfolio. The weekly implementation does not reproduce the positive average contribution seen in buy & hold. Figure 3 Contribution across calendar periods [Lollipop chart of mean factor-minus-baseline account returns in each calendar period. Differences are negative in 2022 and 2023, positive in 2024 and 2025, and minus 4.46 percentage points in the partial 2026 period.](https://sggresearch.com/assets/whitepaper/ecqdi/calendar-contribution.svg) ECQDI minus baseline · percentage points * Partial calendar period These are returns within calendar periods, averaged across seeds. They differ from grouping cohorts by their starting year. The 2022 period begins on 10 January, and 2026 ends at the 18 September price cut-off. In that latest partial period, ECQDI returns 14.12% versus 18.59% for the baseline. Recent outcomes therefore contribute to the continuous account even when the corresponding six- or twelve-month cohorts have not yet matured. - CAGR: Annual growth rate equivalent to the account’s total return. - Maximum drawdown: Largest peak-to-trough decline in daily account value. - Sharpe ratio: Daily mean return / volatility, annualized over 252 sessions; no risk-free adjustment. - Paired difference: Factor return minus the matched baseline return, under shared assumptions. ## 08 What the evidence supports ECQDI shows a modest historical relationship with subsequent returns and a positive average contribution to initial stock selection. Its value depends on how the score is used. ### 8.1 The relationship between scores and later returns The earlier database study measures rank information coefficient, or IC: how closely the ordering of scores corresponds to the ordering of subsequent returns across calls. A positive value means higher-scoring observations tend to rank higher in later relative returns. It is neither a stock-picking hit rate nor a portfolio return. The replay reproduces a mean monthly IC of approximately +0.032 at 63 subsequent stock bars, with a Newey-West t-statistic of 3.50 across 78 months. The Newey-West calculation allows for dependence between consecutive observations [[7]](https://sggresearch.com/whitepaper/ecqdi#ref-7). A separate timing check, excluding same-day reference calls and entering at the next available close, retains a positive 63-bar IC of +0.0321 and a t-statistic of 3.39. View the original association estimates and their timing convention Table 6Historical database-score association; original third-close entry convention Forward stock bars: 21 | Mean rank IC: +0.0173 | NW t: 1.81 | Months: 80 | Positive months: 58.8% Forward stock bars: 42 | Mean rank IC: +0.0304 | NW t: 2.93 | Months: 79 | Positive months: 64.6% Forward stock bars: 63 | Mean rank IC: +0.0320 | NW t: 3.50 | Months: 78 | Positive months: 65.4% Forward stock bars: 126 | Mean rank IC: +0.0408 | NW t: 3.47 | Months: 75 | Positive months: 62.7% This original validator enters at the third available stock close after the call. Horizons count subsequent stock bars, rather than calendar months. Monthly ICs require at least 30 calls; Newey-West lags are 1, 2, 3 and 6 months. The benchmark is the panel’s equal-weight daily return with individual daily changes clipped at ±50%. It is a research reference, not a verified investable index. The Qlib experiment uses next-session opens, a different eligible panel and calendar-month portfolio horizons. Its returns should therefore be interpreted on their own terms. The rank association provides complementary evidence about the measurement; it does not convert directly into the paired portfolio uplift. ### 8.2 What remains after controlling for existing information? Within the weekly model universe, we remove the contribution of the model’s prediction rank, prior 12-minus-1-month momentum rank and sector indicators from both score ranks and future-return ranks. The remaining rank relationship is still positive at 63 sessions. This asks whether those specified variables fully explain the association, rather than whether ECQDI is independent of every existing factor. Table 7Conditional association in the weekly Qlib universe Holding sessions: 63 | Raw IC: +0.0160 | Partial IC: +0.0214 | Partial NW t: 2.04 | Weeks: 233 Holding sessions: 126 | Raw IC: +0.0223 | Partial IC: +0.0243 | Partial NW t: 1.65 | Weeks: 219 Seed correlations are averaged within each date before inference. The Newey-West calculation uses 13- and 26-week lags for the two horizons. The early-period relationship is weak, and the later segment has already been inspected during research. It should not be presented as a fresh holdout for subsequent configuration choices. ### 8.3 Interpreting the overall result The strongest primary interval is the twelve-month buy & hold comparison. Shorter-horizon and weekly-rebalance estimates remain consistent with no mean improvement. The continuous weekly accounts underperform on average. Taken together, the evidence supports testing ECQDI as a selective input to portfolio construction, with particular attention to decision frequency and the baseline model. - Information timing: The next-session rule provides a buffer after same-day transcript delivery. Historical revisions require separate verification; forward records should preserve actual publication times. - Universe coverage: Both arms share the same candidate panel. Historical membership, delisted stocks, sector assignments and adjusted-price coverage require further verification. - Research selection: Discovery and follow-up tests reuse the same history. The single-horizon permutation and portfolio intervals do not adjust for the entire search, as explained in [Appendix A.4](https://sggresearch.com/whitepaper/ecqdi#appendix-corrections). - Portfolio exposures: Sector and momentum checks address specific explanations. Size, liquidity, value and other exposures need fuller controls before the contribution can be described as unexplained alpha. - Live execution: Fixed fees and adjusted opening fills are study assumptions. Spreads, market impact, realistic order sizes and performance on newly arriving observations need separate evaluation. The evidence is specific to the stated US panels. The originating international test did not establish replication. Further evaluation should fix the score definition and selection rules before new outcomes are known, and retain both improving and underperforming configurations in the research record. ## 09 Verification and research access The research records connect supplied score observations, portfolio decisions and reported results. They allow calculation checks to be distinguished from investment conclusions. ### 9.1 What was checked The verification covers score replay, extraction against a saved call reference, baseline reproduction and consistency between portfolio calculations. [Appendix A](https://sggresearch.com/whitepaper/ecqdi#appendix-evidence) describes each dated run, its sample and its numerical agreement. These are internal checks against frozen inputs, rather than an external audit or a prospective performance record. ### 9.2 The evaluation procedure Follow points 1-8 for each eligible weekly formation and each fixed model seed. Then summarize the paired differences, keeping policies and horizons separate. 1. Load inputs. Join frozen model forecasts and eligible decision-date ECQDI scores. 2. Select the baseline. Take the 50 highest-ranked eligible stocks from the model. 3. Rank scores. Deprioritize the lowest 20% when at least 30 candidates have a score. 4. Select with ECQDI. Take 50 stocks using the priority and tie rules in [Section 4.2](https://sggresearch.com/whitepaper/ecqdi#selection-rule). 5. Match assumptions. Use identical capital, allocation, prices and trading costs. 6. Run both policies. Simulate buy & hold and weekly rebalance separately. 7. Measure each horizon. Value completed 3-, 6- and 12-month accounts. 8. Calculate the difference. Subtract the matched baseline return from the ECQDI return. 9. Average seeds. Average the four paired differences within each formation. 10. Summarize formations. Weight completed weeks equally and resample weekly blocks. Continuous accounts are evaluated separately from these cohorts. Each carries its own capital through repeated decisions; its performance is not calculated by compounding the average cohort returns. ### 9.3 A worked stock-selection example Table 8 shows actual candidate decisions from 10 January 2022, seed 19. Score percentiles were calculated across the full candidate set before the displayed rows were extracted. The final two columns indicate membership in the two 50-stock portfolios. Table 8Actual selection extract: 10 January 2022, seed 19 Ticker: MSCI | Model prediction: 0.9982 | ECQDI: 0.0549 | Lower priority: Yes | Baseline: Yes | With ECQDI: No Ticker: TFX | Model prediction: 0.9163 | ECQDI: 0.0678 | Lower priority: Yes | Baseline: Yes | With ECQDI: No Ticker: TPR | Model prediction: 0.3190 | ECQDI: 0.4064 | Lower priority: No | Baseline: No | With ECQDI: Yes Ticker: UAL | Model prediction: 0.3103 | ECQDI: 0.7815 | Lower priority: No | Baseline: No | With ECQDI: Yes Ticker: ALB | Model prediction: 1.9026 | ECQDI: 0.7058 | Lower priority: No | Baseline: Yes | With ECQDI: Yes Ticker: DXCM | Model prediction: 1.4849 | ECQDI: 0.8398 | Lower priority: No | Baseline: Yes | With ECQDI: Yes Ticker: UA | Model prediction: 0.6536 | ECQDI: Missing | Lower priority: No | Baseline: Yes | With ECQDI: Yes A lower-priority stock can leave the baseline’s top 50 and be replaced by a candidate further down the model ranking. A missing score receives no penalty. The downloadable example includes every candidate, its source call date, score age, selection percentile and both selection decisions, so the complete ordering can be inspected. ### 9.4 Data for independent evaluation The research pack includes a two-year daily ECQDI score sample in 05_additional_research_ecqdi. It uses the same dates and eligible tickers as the ECPND sample, ending eight weeks before the package release. The folder has the same five-file structure: a short README, daily scores, standalone study results, cohort comparisons and a worked selection example. - date: Decision session with score eligibility under the study’s next-session rule. - ticker: Stock identifier in the eligible research universe. - ecqdi_score: Value from 0 to 1; blank means no eligible value for that stock and date. The daily file carries eligible call scores forward under the 90-calendar-day limit. It supports testing over its supplied window. Reproducing the whole 2022-2026 portfolio study also requires the earlier score history, frozen forecasts, eligibility panel and adjusted prices. Raw transcripts, the proprietary measurement and trained models are not included in the public pack. [Download research pack](https://sggresearch.com/assets/research-package.zip) The study files in the package contain result summaries and paired cohort returns; the example shows the full candidate-selection sequence. Return columns in the cohort CSV are decimal fractions. These records support inspection of the published averages and application rule without access to the score engine. ## 10 Outlook and further research The next stage is to determine where ECQDI contributes consistently: at which decisions, in which models and alongside which other information. ### 10.1 Configurations to carry into the next evaluation The completed threshold tests give the score progressively more influence over selection. A 50% rule places the lower half of scored candidates in the lower-priority group; it does not require buying raw scores above 0.50. Figure 4 keeps the same score definition, baseline and 10 bp costs across the four tested settings. Figure 4 Selection strength across the two portfolio policies [Two line charts show six-month mean ECQDI return differences at ten, twenty, thirty and fifty percent selection thresholds. Thin vertical lines show uncertainty intervals on a shared scale. Buy-and-hold means stay positive without a steady increase; stronger weekly rules become negative.](https://sggresearch.com/assets/whitepaper/ecqdi/threshold-sensitivity.svg) Lines: mean six-month difference (bp) · Error bars: 95% intervals Dashed vertical line: primary 20% rule The left panel evaluates selection at entry followed by buy & hold. The right repeats selection through weekly rebalancing. Both use the full model-eligible universe, with unscored stocks remaining eligible. Each point is compared with the baseline for that policy; the common scale makes their different response to stronger selection visible. The four buy & hold means remain positive, while the weekly mean turns negative at the stronger settings. None of these six-month intervals excludes zero. The evidence does not select a universally better threshold. Further tests should predeclare a limited set of rules and assess return, drawdown and turnover together. - Decision frequency: Compare entry-only use with monthly and weekly decisions. The positive monthly mean is a reason to investigate slower implementation, not an established advantage. - Score age and portfolio rules: Test shorter freshness windows, different holding periods and portfolio sizes. Keep the current 90-day limit and 20% threshold as fixed references. - Coverage and exposures: Compare the full and scored-only universes, retain matched baselines and extend controls for sector, size, momentum, liquidity and volatility. - Other models: Apply a small set of declared rules to independently chosen rankings. Separate changes to the portfolio application from changes to the text-score definition. ### 10.2 Prospective evaluation A forward ECQDI test should record each score before its subsequent return is known. It should fix the measurement version, eligible universe, score-age rule and portfolio configuration in advance, and preserve the actual observation and publication times. Later corrections should create new records while leaving the original decision snapshot inspectable. Matched baseline and ECQDI accounts can then record selections, trades, costs and daily values as new data arrive. Missed decisions should remain documented rather than filled retrospectively. Three-, six- and twelve-month cohorts should enter horizon summaries only after completion. A broker paper account, if used, should retain its fills separately from the internal simulation and from real-money results. This note reports historical ECQDI evidence. It does not present a verified ECQDI forward track record or establish that the live ECPND service already delivers this second factor. A prospective ECQDI evaluation needs its own start date, protocol and maturity counts. ### 10.3 Combining quantitative questioning with participation history [ECPND - Earnings Call Participation Network and Dynamics](https://sggresearch.com/whitepaper/ecpnd) examines who participates and the eligible history connecting those participants across companies. ECQDI adds a text-based view of quantitative questioning. Their mean cross-sectional rank correlation is +0.076 in the combined study: they frequently order stocks differently, providing a concrete reason to examine complementary use. The [combined-factor paper](https://sggresearch.com/whitepaper/combination) compares the price model, each factor alone and joint selection rules on the same forecasts and prices. Its initial 50/50 combination averages the factors’ current percentile ranks before applying a 20% lower-priority threshold. A missing component receives a neutral rank of 0.5; two missing components produce no penalty. View the initial single-factor and combined comparisons Table 9Separate combination experiment on the same full universe Selection: Qlib baseline | 6M B&H return: 6.05% | Mean weekly CAGR: 7.24% Selection: With ECPND | 6M B&H return: 6.59% | Mean weekly CAGR: 8.33% Selection: With ECQDI | 6M B&H return: 6.34% | Mean weekly CAGR: 6.90% Selection: Both · 50/50 ranks | 6M B&H return: 6.43% | Mean weekly CAGR: 7.85% Selection: Both · simultaneous filters | 6M B&H return: 6.78% | Mean weekly CAGR: 7.55% These are results from a separate matched experiment. The six-month column reports buy & hold returns; the annualized column reports mean growth across continuous weekly accounts. The equal-rank combination improves on the price baseline but trails ECPND alone in mean continuous CAGR: 7.85% versus 8.33%. An alternative rule that deprioritizes a stock when either score falls in its lowest fifth raises six-month buy & hold uplift to approximately +74 bp versus Qlib. However, it trails an equally restrictive ECPND-only control by 11.2 bp. A broader filter and a more informative second input are different explanations for an improved result. The [weight-and-threshold extension](https://sggresearch.com/whitepaper/combination#weighting) evaluates 60 rules and 52 controls matched to the number of lower-priority candidates. One example, 75% ECPND and 25% ECQDI rank weight at the 20% threshold, adds about +69 bp versus Qlib over six months, compared with +54 bp for ECPND alone. Its incremental interval versus ECPND includes zero, and its later-period advantage narrows to 2.2 bp. The weights apply to score ranks, not portfolio capital. The next combined test should retain all four references: the unchanged price model, ECPND alone, ECQDI alone and a fixed combination. Low correlation is useful motivation, but value comes from improving a matched portfolio after costs and exposure controls. The individual uplifts cannot simply be added. Research status. Configuration and combination tests reuse previously studied history. Their intervals describe individual comparisons and do not correct for selecting among all tested alternatives. The primary ECQDI results in this note remain based on the 20% rule; future versions and forward tests should be reported separately. ## - References 1. Mayew, W. J., Sharp, N. Y. & Venkatachalam, M. (2013). [Using earnings conference calls to identify analysts with superior private information.](https://scholars.duke.edu/publication/803849) Review of Accounting Studies, 18(2), 386-413. [doi:10.1007/s11142-012-9210-y.](https://doi.org/10.1007/s11142-012-9210-y) 2. Rennekamp, K. M., Sethuraman, M. & Steenhoven, B. A. (2022). [Engagement in earnings conference calls.](https://www.sciencedirect.com/science/article/pii/S0165410122000210) Journal of Accounting and Economics, 74(1), 101498. [doi:10.1016/j.jacceco.2022.101498.](https://doi.org/10.1016/j.jacceco.2022.101498) 3. Yang, X., Liu, W., Zhou, D., Bian, J. & Liu, T.-Y. (2020). [Qlib: An AI-oriented Quantitative Investment Platform.](https://arxiv.org/abs/2009.11189) arXiv:2009.11189. [Official Microsoft repository.](https://github.com/microsoft/qlib) 4. Microsoft Qlib. [Alpha158 data handler.](https://github.com/microsoft/qlib/blob/main/qlib/contrib/data/handler.py) Official implementation and feature-processing interface. Accessed 25 September 2026. The study uses 157 available features from this family. 5. Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q. & Liu, T.-Y. (2017). [LightGBM: A Highly Efficient Gradient Boosting Decision Tree.](https://papers.neurips.cc/paper_files/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html) Advances in Neural Information Processing Systems 30. 6. Politis, D. N. & Romano, J. P. (1991). [A Circular Block-Resampling Procedure for Stationary Data.](https://statistics.stanford.edu/technical-reports/circular-block-resampling-procedure-stationary-data) Stanford Department of Statistics, technical report EFS NSF 370. The block lengths and resampling counts are this study’s implementation choices. 7. Newey, W. K. & West, K. D. (1987). [A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix.](https://doi.org/10.2307/1913610) Econometrica, 55(3), 703-708. [NBER working-paper version.](https://www.nber.org/papers/t0055) ## A Appendix: Study evidence and verification This appendix records the score replay, the long-only portfolio comparison and the follow-up checks behind this edition. It separates reproduction of an earlier calculation from evidence about its investment usefulness. ### A.1 Extraction and score replay - 24 September 2026 The recovered ECQDI snapshot contains 78,851 calls and 48,701 stored version-2 scores. Replaying the stored score definition reproduces all 48,701 values exactly. A separate extraction check matches the saved reference for 630 calls. These checks establish agreement with the recorded implementation and reference data; they do not establish future return predictability. The portfolio study applies a stricter historical ordering rule: the sector reference contains only calls from earlier dates. It excludes other calls held on the observation’s own date, regardless of their processing order. Under this convention, 48,689 call scores remain eligible. Reversing the order of same-day records leaves the strict-date calculation unchanged. The daily portfolio join then accepts only prior-call observations whose age does not exceed 90 calendar days. ### A.2 Long-only Qlib comparison - 24 September 2026 The primary run combines those scores with the frozen Qlib forecasts and adjusted prices, through 18 September 2026. It evaluates both arms under buy & hold and weekly rebalancing for four model seeds. The 232 formations with at least one completed horizon produce 3,712 account paths. A path can supply three-, six- and twelve-month outcomes as those horizons mature. No incomplete portfolio scenarios are recorded. All six baseline horizon means and all four continuous baseline accounts agree with their earlier recorded results within 3 × 10^-15 in return units. Twenty year/seed training records satisfy the chronology checks, and no model forecast is dated on or after its execution. These are checks of model and portfolio timing; transcript publication and revision records are a separate source-data question. Figures 1-3 and Tables 1, 2 and 5 draw on the reviewed source, primary portfolio and calendar-account records. The tiny reproduction differences reflect numerical agreement between calculations, rather than that level of precision in expected returns. ### A.3 Selection, cost and attribution checks - 24 September 2026 The follow-up holds the underlying score definition and forecast history fixed while examining thresholds, scored-only eligibility, sector matching, costs and rebalancing frequency. It records 27,840 cohort account scenarios with no data gaps. These simulations reuse the same historical observations; their count describes computational scope rather than independent evidence. The primary results are reproduced before the extended comparisons are interpreted, with a maximum difference below 3 × 10^-16. A separate accounting comparison checks returns, drawdowns, turnover and stock contributions against the reference simulator at two formation dates for seed 19, across both arms and portfolio policies. Its 4,787 scalar comparisons have a maximum absolute discrepancy below 4 × 10^-13. This is an internal consistency check of the sampled calculations. Tables 3-4 and Figure 4 use these follow-up results. Table 7 reports the conditional rank-association checks, while Table 8 extracts actual candidate decisions from the first primary formation. The combination aggregates in Table 9 come from the separate experiment dated 25 September 2026; the wider weighting study is documented in the [combined-factor note](https://sggresearch.com/whitepaper/combination). ### A.4 Discovery checks and corrections to the earlier study The originating search examined 131 features at four horizons, or 524 combinations. A replicated permutation check shuffles returns within months and repeats the qualifying-feature search at the 63-bar horizon. Thirteen of 300 shuffled maxima reach the observed statistic. The original fraction is 0.0433; including the observed sample under the finite-simulation plus-one convention gives 0.0465. This procedure tests selection among features at that horizon. It does not repeat the maximum across all four horizons or every previous research branch. Eight features meet the implemented 63-bar qualification conditions; ECQDI’s measurement is the highest qualifying result, rather than the only one. No test survives the original 10% Benjamini-Hochberg procedure over all 524 combinations. These procedures answer different questions, so the single-horizon permutation is not a correction for the whole research history. The earlier standalone long/short study also required correction. It used current-month thresholds for trades earlier in the month and incomplete capital and turnover accounting. A corrected funded account uses prior-month thresholds, next-session-close entry, daily cash and share accounting, and borrowing charges. It produces 1.20% CAGR at 10 bp execution costs with an illustrative 2% annual borrow rate, and -1.94% at 20 bp. These belong to a separate long/short experiment and are not the long-only uplift in this note. The originating technical-model blend and its placebo result are likewise not transferred to this Qlib comparison. Table 6 retains the original association validator’s third-close entry, while the main portfolio study uses next-session opens. Keeping the protocols distinct prevents a successful check under one design from being presented as validation of another. ### A.5 Published records and evidence versions The study downloads provide primary results, paired cohort returns and candidate decisions. The research pack adds the delayed two-year daily score sample described in [Section 9](https://sggresearch.com/whitepaper/ecqdi#reproduction). Together they support inspection of the reported averages and independent score evaluation, without publishing the proprietary text measurement. Tables and charts are generated from the reviewed evidence snapshot, which records the hashes of its underlying reports and public-data inputs. The study-results JSON includes the snapshot digest. Matching SHA-256 values identify identical file contents and distinguish this edition from a later recomputation; they identify evidence versions rather than certify an investment result. Evidence versions and SHA-256 checksums Reviewed ECQDI evidence - 25 September 2026 7a0d9091d96b98e8a5b49e01cb3447d55fbf3de76af1c6263865e0d3bc121f09 Primary long-only comparison - 24 September 2026 be6f089918d79e6a4cdc0594edaa4ef3d2fb255f959a902d36057a3c280f2d83 Selection, cost and attribution follow-up - 24 September 2026 7552863cb8cb7b2f3f31ec4bd14dc4cd12fd6d0f4a3f8f23388e2a4d3ca3d644 Extraction reference verification - 24 September 2026 67a9bb5f16b7483a03f34afcfaf4419595cdd927804241dd1a2b657bfca41716 --- # ECPND & ECQDI - Combined factor research | SGG Research Source: https://sggresearch.com/whitepaper/combination [Skip to abstract](https://sggresearch.com/whitepaper/combination#abstract) Research note · ECPND + ECQDI · v0.1 · Updated 29 September 2026 # ECPND and ECQDI as complementary research inputs for US equities. ## Abstract Can two different observations from an earnings call improve the same equity-selection process together? Earnings call participation network and dynamics (ECPND) measures external participation history. Earnings call quantitative dynamics and intensity (ECQDI) measures quantitative patterns in external analyst contributions. Across 245 weekly formations, their mean stock-ranking correlation is +0.076. Their lower-fifth groups overlap on 4.34% of candidates with both scores, supporting their use as distinct research inputs. Distinct rankings do not automatically produce a better portfolio. The original 50/50 rank combination adds 39 bp to six-month buy & hold returns over the Qlib / LightGBM baseline, compared with 54 bp for ECPND alone. A rule that lowers priority when either score is in its bottom fifth adds 74 bp over Qlib. However, it trails an ECPND-only rule flagging the same number of candidates by 11 bp. Part of the apparent gain therefore reflects a stronger selection rule. A wider comparison tests 60 rules and 52 matched ECPND controls. A 75/25 rank blend adds 69 bp over Qlib at six months, but its advantage over the original ECPND rule falls to 2 bp in later formations. The largest full-history combined mean is 131 bp over Qlib and 14 bp over its matched ECPND control; the latter uncertainty interval includes zero. The evidence establishes different rankings and some promising applications, while a reliable incremental return from combining the factors remains to be demonstrated. These are historical, long-only comparisons after the stated costs. Research notice. These materials are provided for data analytics and research only. They do not constitute financial or investment advice, or a recommendation to buy, sell or hold any security. Conduct your own research and independently assess the data, assumptions and risks before making investment decisions. Historical and simulated results do not guarantee future performance. Author · SGG Research Universe · US equities Design · paired long-only portfolios Price cut-off · 18 September 2026 ## 01 Two perspectives on the same event An earnings call records who participates and how the discussion develops. The two factors turn these observations into separate inputs for equity research. - ECPND: Earnings call participation network and dynamics, measured through external participation and eligible historical connections across companies. - ECQDI: Earnings call quantitative dynamics and intensity, measured from external analyst contributions relative to earlier calls in the same sector. External analysts bring company knowledge, financial models and sector experience to the discussion. Their participation can reflect where they allocate research effort; their questions can reflect the expectations and concerns formed through that work. ECPND studies the participation record. ECQDI studies a quantitative property of the recorded contributions. The same people can raise different issues across calls, while different groups can produce similar discussion patterns. This gives the combination a plausible rationale: one input describes the structure of observed attention, while the other describes an aspect of its expression. The rationale is a hypothesis about why the measurements might be useful. It does not establish that either score measures expertise, information quality or a causal driver of returns. The individual [ECPND](https://sggresearch.com/whitepaper/ecpnd) and [ECQDI](https://sggresearch.com/whitepaper/ecqdi) notes explain the separate factors. This study asks whether their differences matter in a shared portfolio process. It distinguishes three questions: do the scores rank stocks differently, do they change the selected holdings, and do those changes improve subsequent returns? The question tested Does adding ECQDI to ECPND improve a fixed Qlib / LightGBM stock-selection process after costs, once the comparison controls for how many candidates receive lower priority? ## 02 A common test environment Both factors are evaluated on the same stock candidates, forecasts, prices and trading dates. This makes the selection rule the deliberate difference between portfolios. The study reuses the frozen inputs from the individual-factor tests. The model-eligible US equity universe uses S&P 500 membership snapshots as a reference and contains 544 distinct forecast tickers over the period. Membership and eligibility vary by date. This is the research panel used by the model; verification of historical membership, delisted stocks and price coverage remains part of the data-review programme. Table 1Common research inputs and score availability Input: Frozen model forecasts | Coverage: 2,259,772 rows · 544 tickers | Interpretation: Saved stock-ranking predictions reused by every arm, with repeated observations across decision dates and the four fixed model seeds. Input: Adjusted prices | Coverage: 782,434 rows · 560 tickers | Interpretation: Frozen USD opening prices for execution and closing prices for daily valuation, with corporate actions represented by the adjusted series. Input: ECPND availability | Coverage: 96.45% | Interpretation: A valid daily participation value is available on this share of forecast rows, under the score eligibility and 126-session freshness rules. Input: ECQDI availability | Coverage: 90.41% | Interpretation: A valid call-level text score is available on this share of forecast rows, carried from the latest eligible scored call within 90 calendar days. Input: Both scores available | Coverage: 90.35% | Interpretation: The intersection of the two coverage sets. The shared-score control requires both values for every candidate, including baseline candidates. Input: Weekly formations | Coverage: 245 dates | Interpretation: New matched accounts start from 10 January 2022 to 14 September 2026. Prices end on 18 September; only completed horizons enter their means. The coverage percentages count forecast rows, including repeated dates and model seeds. They describe the availability of the two scores within this panel, rather than the proportion of all US-listed stocks covered. The main comparison allows eligible stocks without a score. A separate control restricts every arm, including the baseline, to stocks with both scores. ### 2.1 Baseline model and training chronology Microsoft Qlib provides the research framework [[1]](https://sggresearch.com/whitepaper/combination#ref-1). The model uses 157 available price and volume features from its Alpha158 family [[2]](https://sggresearch.com/whitepaper/combination#ref-2), with LightGBM generating stock-ranking predictions [[3]](https://sggresearch.com/whitepaper/combination#ref-3). The training target is the adjusted return from the next session's open to the 42nd session's close, standardized across stocks on each training date. Models are fitted annually on expanding windows, using only training returns that ended before the test year. Each fit uses 200 boosting rounds and four fixed random seeds - 19, 41, 73 and 101. The seeds vary randomized model choices while sharing the same market history. Both factors are applied to the saved predictions; neither is added to the model's training features in this study. Role of the published software. Qlib and LightGBM provide the modelling foundation. The US data preparation and weekly portfolio simulator are our implementations. The experiment is not an unchanged official Qlib benchmark, and the software authors have not validated these factor results. ### 2.2 Score timing and persistence - ECPND: Use the archived daily value for the decision date. Eligible participation history can evolve without a new issuer call; the latest eligible call expires at age 126 US sessions. - ECQDI: Use the latest eligible scored call from an earlier date, up to age 90 calendar days. Its call-level value is carried forward until replaced or expired. - Portfolio decision: Join the scores eligible at execution with the preceding close's model predictions. A call cannot affect a trade on its own date in this experiment. For example, a Friday call can be used at Monday's decision if Monday is a US trading session. A Tuesday call becomes eligible at Wednesday's opening, while the weekly strategy normally waits until its next scheduled decision. ECQDI's sector reference uses strictly earlier call dates. ECPND's historical outcome evidence is eligible only after its measurement period has ended. A newer call without an eligible ECQDI value does not automatically remove an older, still-valid scored call. ECPND follows its own daily eligibility rules. The two fields therefore need not have the same coverage or change on the same dates. Missing values remain missing rather than being replaced with zero. Historical timing. The next-session convention leaves a buffer after same-day transcript delivery. The study uses stored transcript versions and saved scores. Source-call checks verify ordering; historical revisions and the exact first-release version require separate verification. Recording the publication time of both live score inputs is necessary for a prospective combined test. ## 03 Different rankings, different decisions The measured scores are weakly related in the cross-section. That observation is more precise than calling them “uncorrelated” or “independent”. ### 3.1 How similarly do the factors rank stocks? At each formation and seed, we calculate Spearman correlation across the stocks with both scores. We average the seed coefficients within each date and then give the 245 weekly dates equal weight. The resulting mean is +0.076, with a median of +0.070. Weekly values range from -0.055 to +0.180; their fifth and ninety-fifth percentiles are approximately −0.006 and +0.155. Figure 1 How closely do the factors rank the same stocks? [Weekly Spearman correlation across 245 formations; mean +0.076.](https://sggresearch.com/assets/whitepaper/combination/score-correlation.svg) Score-rank correlation · stocks with both scores Solid: weekly mean · dashed: full-window mean A low coefficient means the scores are not close substitutes as stock rankings in this sample. It does not exclude nonlinear dependence, common sector influences or shared sensitivity to source quality. The average is also not zero, and it should not be converted into a claim that the factors contain entirely independent information. ### 3.2 Which stocks receive lower priority? Figure 2 Different score positions and different lower-priority groups [First-formation score percentiles beside four mutually exclusive lower-priority groups across the shared-score universe.](https://sggresearch.com/assets/whitepaper/combination/different-selections.svg) Left: 10 Jan 2022 · seed 19 · 433 stocks Right: mean shares of all common-score candidates The left panel shows the first chronological formation, not an example selected for attractive returns. Its 433 stocks have both scores; dotted lines mark the lower-fifth boundaries. The right panel summarizes all formations after recomputing ranks in the shared-score universe. Within the shared-score universe, the lower-fifth groups overlap on 4.34% of all candidates. ECPND alone flags 15.57%, ECQDI alone flags 15.57%, and neither flags 64.53%. The mean intersection divided by the union of flagged groups is 12.28%. Thus the two rules often lower the priority of different stocks, even though both are derived from earnings calls. The denominator matters: 4.34% is a share of all common-score candidates, not a share of the already flagged stocks. Percentages are means of formation-level fractions with the four seeds equally weighted. Ties mean a lower-fifth rule need not flag exactly 20% of stocks. ### 3.3 Different scores can still produce similar account returns Table 2Three different correlation questions Measurement: Scores | Coefficient: +0.076 | What is compared: Cross-sectional Spearman; weekly mean Measurement: Accounts | Coefficient: +0.989 | What is compared: Pearson of daily account returns; seed mean Measurement: Active | Coefficient: +0.383 | What is compared: Pearson after subtracting Qlib; seed mean The individual-factor portfolios’ daily returns correlate at approximately +0.989. They share a long-only market exposure, a Qlib ranking and many holdings. Their active daily returns - each factor account’s return minus its matching baseline account’s return - correlate at approximately +0.383. A rank correlation concerns stock ordering; a return correlation concerns account movements. These return coefficients are calculated separately for each seed over the same 1,177 sessions, then averaged. The first session’s return includes entry relative to the original $1 million. Both active series subtract the same baseline; they are not residuals from a comprehensive risk-factor model. Weak score correlation therefore provides evidence of different inputs, while the portfolios remain strongly exposed to common market movements. ## 04 The paired portfolio design The model ranks the candidates. Each factor rule changes their selection priority while leaving capital, execution and accounting the same. ### 4.1 The original comparison - Qlib baseline: Select the 50 highest model predictions, breaking ties alphabetically by ticker. - With ECPND: Lower the priority of the weakest 20% of available ECPND scores, then select 50 stocks. - With ECQDI: Apply the same priority rule using ECQDI alone, then select 50 stocks. - Both, 50/50 ranks: Combine the two current percentile ranks and lower the priority of the weakest 20% of that composite. The model still decides which stocks fill the portfolio within each priority group. A low-priority stock is not permanently excluded, and a high factor score does not guarantee a place. The comparison tests the contribution of a supplied score to this selection process, rather than a portfolio ranked solely by either factor. ### 4.2 How to apply the 50/50 combination 1. Join the inputs. Use each stock's scores eligible for the execution date and the common prior-close model prediction. Do not add another delay to an already eligible daily score or use a later observation. 2. Rank each score. Sort nonmissing values from lowest to highest across the complete eligible universe. Divide average ordinal rank by the number of scored stocks. Ties share their average rank, and each component requires at least 30 observations. 3. Combine the ranks. Give the two component percentiles equal weight. An unavailable or unsupported component contributes a neutral 0.5; if neither is supported for a stock, its composite is missing. 4. Rank the composite. Round it to 12 decimal places to preserve numerical ties, then apply the same average-rank method. With at least 30 valid composites, values at or below the 20th percentile receive lower priority. 5. Select the holdings. Put unpenalized candidates first and penalized candidates second. Within each group, sort predictions from highest to lowest, then tickers alphabetically. Take the first 50; with fewer than 50 eligible stocks, form no portfolio. Example. A stock at the 10th ECPND percentile and the 80th ECQDI percentile has a composite value of 0.45. Its selection flag then depends on where 0.45 ranks among all valid composites that day. It is not tested against a fixed raw-score threshold of 0.20. The weights combine score ranks, not portfolio capital or the Qlib prediction. Missing composites do not enter the percentile calculation and receive no penalty. A numerical zero remains a valid score. When fewer than 30 composite observations exist, the composite rule leaves the model ranking unchanged. If fewer than 50 unpenalized candidates exist, lower-priority candidates fill the remaining places in model order. ### 4.3 A separate rule: either score is weak The simultaneous-filter check gives a stock lower priority when either score is in its own bottom fifth. Both ranks are calculated in the original candidate universe before any selection. The second score is not reranked after applying the first. A missing component creates no weak-score flag. The distinction matters: a strong component can offset a weak one in the 50/50 average, while the either-score rule still flags the stock. The latter usually changes more candidates' priority. It is reported as a separate application, followed by a control for its greater selection strength in Section 9. ### 4.4 Execution and evaluation - Formation: Start a new matched group at the first eligible US session of each week, normally Monday. Every account begins with $1 million and uses the same decision date. - Allocation: Select 50 long positions with equal target weights across 95% of pre-trade equity. Fractional adjusted share units are allowed; fees reduce cash, which earns no interest. - Buy & hold: Apply selection at entry and retain the initial share quantities through the holding period. Subsequent score changes or expiry do not trigger scheduled trades. - Weekly rebalance: Repeat selection and reset equal target weights at each week's first eligible session. This includes resizing stocks that remain in the account. - Prices and costs: Trade at adjusted opens and value at adjusted closes plus cash. Charge 10 bp on each executed buy or sell; corporate actions are represented in the adjusted prices. - Horizons: Measure 3, 6 and 12 calendar months at the last session close on or before the anniversary. Do not force a terminal sale or add a separate dividend cash flow. ### 4.5 What the reported difference means For a given date, seed, policy and horizon, subtract the reference account's return from the candidate account's return. Average the four seed differences within each formation, then give each completed formation equal weight. The three horizons contain 232, 219 and 193 completed dates. Differences in basis points describe that holding period; they are not annualized or adjusted for other equity exposures. Weekly formations share much of their holding period. To estimate uncertainty without treating all weeks as independent, the calculation repeatedly samples consecutive blocks of weekly differences, wrapping from the end of the series to its beginning where needed [[4]](https://sggresearch.com/whitepaper/combination#ref-4). - Resamples: Recalculate the mean for 5,000 block-resampled versions of the formation history. - Block lengths: Use 13, 26 and 52 weeks for the 3-, 6- and 12-month comparisons. - Reported interval: Use the 2.5th and 97.5th percentiles of the resampled means. The intervals describe uncertainty under this resampling design. They do not correct for every earlier research choice or for selecting among many configurations on the same history. The original combination rules were fixed before their portfolio outcomes were calculated, but the period and individual factors had already been studied. ## 05 The primary combination against both references The 50/50 composite improves on Qlib in all six mean horizon comparisons. It does not consistently improve on ECPND alone. Figure 3 Individual and combined contributions to the same baseline [Mean return contributions over Qlib for ECPND, ECQDI and their 50/50 combination under each portfolio policy.](https://sggresearch.com/assets/whitepaper/combination/primary-uplift.svg) Mean return difference versus Qlib (bp) ECPND ECQDI 50/50 ranks Table 3All primary long-only horizon returns after 10 bp costs **Buy & hold** Horizon: 3M | Qlib: 3.22% | ECPND: 3.39% | ECQDI: 3.39% | Both 50/50: 3.41% | Both − Qlib, bp: +18.9 Horizon: 6M | Qlib: 6.05% | ECPND: 6.59% | ECQDI: 6.34% | Both 50/50: 6.43% | Both − Qlib, bp: +38.8 Horizon: 12M | Qlib: 14.53% | ECPND: 15.60% | ECQDI: 15.18% | Both 50/50: 15.29% | Both − Qlib, bp: +75.6 **Weekly rebalance** Horizon: 3M | Qlib: 2.46% | ECPND: 2.74% | ECQDI: 2.39% | Both 50/50: 2.60% | Both − Qlib, bp: +13.9 Horizon: 6M | Qlib: 5.34% | ECPND: 5.86% | ECQDI: 5.36% | Both 50/50: 5.70% | Both − Qlib, bp: +36.2 Horizon: 12M | Qlib: 11.39% | ECPND: 12.36% | ECQDI: 11.85% | Both 50/50: 12.46% | Both − Qlib, bp: +106.5 For six-month buy & hold, the composite earns 6.43% versus 6.05% for Qlib: a +38.8 bp difference, with a 95% interval from +10.6 to +66.8 bp. ECPND alone earns 6.59%. Adding ECQDI through this particular equal-rank rule therefore lowers the mean result by 15.5 bp relative to ECPND. Figure 4 Improving the baseline is a different test from improving ECPND [The same 50/50 portfolio compared with Qlib and ECPND across three horizons, with 95 percent block-bootstrap intervals.](https://sggresearch.com/assets/whitepaper/combination/incremental-evidence.svg) 50/50 return difference (bp) · 95% intervals Versus Qlib Versus ECPND View all differences against ECPND and their intervals Table 4What does the primary combination add to ECPND alone? **Buy & hold** Horizon: 3M | Difference, bp: +1.9 | 95% interval, bp: [-21.9, +26.1] | Positive weeks: 50.9% | Formations: 232 Horizon: 6M | Difference, bp: -15.5 | 95% interval, bp: [-50.1, +15.2] | Positive weeks: 47.0% | Formations: 219 Horizon: 12M | Difference, bp: -31.1 | 95% interval, bp: [-109.3, +44.0] | Positive weeks: 44.0% | Formations: 193 **Weekly rebalance** Horizon: 3M | Difference, bp: -13.7 | 95% interval, bp: [-50.3, +21.4] | Positive weeks: 42.7% | Formations: 232 Horizon: 6M | Difference, bp: -15.7 | 95% interval, bp: [-95.0, +62.9] | Positive weeks: 42.9% | Formations: 219 Horizon: 12M | Difference, bp: +10.0 | 95% interval, bp: [-169.3, +166.0] | Positive weeks: 59.6% | Formations: 193 The two panels separate buy & hold from weekly rebalancing. Filled markers compare the combination with Qlib; open markers compare that same combination with ECPND alone. All six intervals against ECPND include zero. The composite slightly exceeds ECPND at three-month buy & hold and twelve-month weekly rebalancing, while trailing it in the other four mean comparisons. The positive cases remain part of the record, but their intervals also include zero. This mixed pattern is consistent with different information whose usefulness depends on how the portfolio rule uses it. ## 06 A stronger selection check The original simultaneous filters improve the buy & hold mean relative to ECPND20. A stricter single-factor control changes the interpretation of that comparison. The simultaneous-filter rule raises six-month buy & hold return to 6.78%, or +73.9 bp versus Qlib and +19.7 bp versus ECPND alone at its original 20% threshold. At twelve months the corresponding differences are +158.1 and +51.4 bp. These are measured gains over those specific references; they do not yet isolate the information supplied by ECQDI. View all horizons for the either-score rule Table 5Simultaneous filters: a separately specified stronger rule **Buy & hold** Horizon: 3M | Return: 3.48% | Δ Qlib, bp: +25.4 | Δ ECPND, bp: +8.3 | 95% interval vs ECPND: [-12.5, +33.8] Horizon: 6M | Return: 6.78% | Δ Qlib, bp: +73.9 | Δ ECPND, bp: +19.7 | 95% interval vs ECPND: [-11.6, +57.9] Horizon: 12M | Return: 16.12% | Δ Qlib, bp: +158.1 | Δ ECPND, bp: +51.4 | 95% interval vs ECPND: [-15.2, +133.4] **Weekly rebalance** Horizon: 3M | Return: 2.58% | Δ Qlib, bp: +11.2 | Δ ECPND, bp: -16.4 | 95% interval vs ECPND: [-52.7, +14.9] Horizon: 6M | Return: 5.68% | Δ Qlib, bp: +33.8 | Δ ECPND, bp: -18.1 | 95% interval vs ECPND: [-76.5, +36.3] Horizon: 12M | Return: 12.21% | Δ Qlib, bp: +81.7 | Δ ECPND, bp: -14.9 | 95% interval vs ECPND: [-146.3, +88.6] The incremental six-month interval versus ECPND is −11.6 to +57.9 bp; at twelve months it is −15.2 to +133.4 bp. Both include zero. The weekly-rebalanced comparisons against ECPND are negative at all three horizons. These limits prevent the buy & hold means from establishing a reliable improvement across implementations. ### Different information, but also a stronger rule The simultaneous filters lower the priority of approximately 33.46% of all candidates in the full universe, compared with 19.22% under the primary composite. They change an average of 16.42 holdings relative to the baseline; the composite changes 9.24. The two tests therefore differ in both the information used and the breadth of the selection intervention. The original five-arm experiment did not include an ECPND-only filter calibrated to flag exactly the same number of stocks on every date. The completed extension in [Section 9](https://sggresearch.com/whitepaper/combination#weighting) now provides that control. It changes the interpretation of the original positive mean: the 20% / 20% simultaneous rule trails an equally broad ECPND-only screen. Its gain over the original ECPND20 reference cannot by itself establish an additional text-factor contribution. ## 07 Continuous portfolios and time variation The same capital is also carried through the full period. This keeps the combination claim tied to an actual funded account path. Each continuous account starts on 10 January 2022 and rebalances weekly through 18 September 2026. The mean of the four seed CAGRs is 7.24% for Qlib, 8.33% with ECPND, 6.90% with ECQDI and 7.85% with the equal-rank composite. The simultaneous-filter mean is 7.55%. Table 6Continuous weekly accounts; arithmetic means across four seeds Selection rule: Qlib baseline | CAGR: 7.24% | Total return: 38.85% | Max drawdown: -27.60% | Sharpe: 0.44 Selection rule: With ECPND | CAGR: 8.33% | Total return: 45.55% | Max drawdown: -25.48% | Sharpe: 0.49 Selection rule: With ECQDI | CAGR: 6.90% | Total return: 36.81% | Max drawdown: -26.85% | Sharpe: 0.42 Selection rule: Both · 50/50 ranks | CAGR: 7.85% | Total return: 42.56% | Max drawdown: -27.16% | Sharpe: 0.47 Selection rule: Both · simultaneous filters | CAGR: 7.55% | Total return: 40.69% | Max drawdown: -26.08% | Sharpe: 0.46 Each figure is the arithmetic mean of four separately simulated account metrics. CAGR uses elapsed calendar days divided by 365.2425. Sharpe uses daily returns, sample standard deviation and 252 sessions per year, with no risk-free rate subtracted. Maximum drawdown is measured from each account’s daily value path. Figure 5 Combination contribution by model seed [CAGR differences versus Qlib for ECPND, 50/50 ranks and the either-score rule across four model seeds.](https://sggresearch.com/assets/whitepaper/combination/continuous-seeds.svg) CAGR difference versus Qlib (percentage points/year) ECPND 50/50 ranks Either score View the four continuous account pairs Table 7Each continuous account comparison at 10 bp Seed: 19 | Qlib CAGR: 6.40% | ECPND CAGR: 8.65% | ECQDI CAGR: 5.78% | Both CAGR: 8.19% | Both − ECPND, pp: -0.46 Seed: 41 | Qlib CAGR: 6.77% | ECPND CAGR: 8.59% | ECQDI CAGR: 6.76% | Both CAGR: 7.43% | Both − ECPND, pp: -1.16 Seed: 73 | Qlib CAGR: 8.52% | ECPND CAGR: 8.94% | ECQDI CAGR: 8.63% | Both CAGR: 8.88% | Both − ECPND, pp: -0.05 Seed: 101 | Qlib CAGR: 7.28% | ECPND CAGR: 7.14% | ECQDI CAGR: 6.41% | Both CAGR: 6.90% | Both − ECPND, pp: -0.24 The primary composite improves on Qlib in three seeds, but its mean CAGR is 0.48 percentage points per year below ECPND. Its mean maximum drawdown is also worse: −27.16% versus −25.48%. Low score correlation therefore does not deliver an observed continuous-account risk or growth advantage under this rule. What the seeds change. Seeds 19, 41, 73 and 101 identify four randomized fits of the same baseline model. They can produce different stock rankings and therefore different holdings. Within each seed, all arms reuse the identical forecasts. The comparisons reveal sensitivity to the baseline fit; the seeds do not represent four independent market histories. ### Where the combination helped during the period Figure 6 Calendar-period difference between the composite and ECPND [Lollipop chart of the 50/50 composite minus ECPND calendar-period return; 2022 and 2026 are partial years.](https://sggresearch.com/assets/whitepaper/combination/calendar-complement.svg) 50/50 minus ECPND return (percentage points) * Partial calendar year These are calendar-period differences between continuous accounts, not returns grouped by portfolio formation year. Asterisks mark partial years: 2022 starts on 10 January and 2026 ends on 18 September. This variation gives the complementarity hypothesis a specific form: ECQDI may be useful in some environments or portfolio applications even when a permanent equal-weight mix is weaker over the full history. The chart does not identify a tradable regime rule. Selecting only the favourable years after observing them would turn a descriptive result into hindsight. - Score correlation: How similarly the factors rank the stocks available on the same date. - Return correlation: How similarly account returns move, including their shared market exposure. - Incremental contribution: The combination's return minus the return of its stated reference. - CAGR: The constant annual growth rate equivalent to a continuous account's total return. ## 08 Coverage and trading-cost controls A useful combination must be distinguished from changes in which stocks can be scored and how much it costs to trade them. ### The same both-scored universe We repeat all five arms using only stocks with both scores. Every arm, including Qlib, uses this smaller candidate set; component ranks are recomputed within it. The comparison therefore controls for the different score coverage rather than counting a universe change as a factor improvement. View results when every candidate has both scores Table 8Both scores required in every arm: matched-universe control Selection rule: Qlib baseline | 6M B&H return: 6.26% | 6M weekly return: 5.77% | Mean weekly CAGR: 8.71% Selection rule: With ECPND | 6M B&H return: 6.78% | 6M weekly return: 6.11% | Mean weekly CAGR: 9.39% Selection rule: With ECQDI | 6M B&H return: 6.59% | 6M weekly return: 5.67% | Mean weekly CAGR: 8.36% Selection rule: Both · 50/50 ranks | 6M B&H return: 6.67% | 6M weekly return: 6.13% | Mean weekly CAGR: 9.32% Selection rule: Both · simultaneous filters | 6M B&H return: 6.99% | 6M weekly return: 5.73% | Mean weekly CAGR: 8.38% In this common-score universe, mean continuous CAGR is 9.32% for the composite and 9.39% for ECPND. The gap is much smaller than in the unrestricted run, and two of four composite accounts improve on ECPND. The mean remains slightly lower. The restricted baseline itself earns 8.71%, so these absolute results cannot be compared with the unrestricted 7.24% baseline as if only a score weight had changed. ### Fee sensitivity View continuous-account trading-cost sensitivity Table 9Continuous weekly cost sensitivity in the full universe Cost per side: 0 bp | Qlib CAGR: 13.89% | ECPND CAGR: 14.83% | Both CAGR: 14.33% | Both − ECPND, pp: -0.50 Cost per side: 10 bp | Qlib CAGR: 7.24% | ECPND CAGR: 8.33% | Both CAGR: 7.85% | Both − ECPND, pp: -0.48 Cost per side: 25 bp | Qlib CAGR: -2.03% | ECPND CAGR: -0.76% | Both CAGR: -1.22% | Both − ECPND, pp: -0.46 The composite trails ECPND at zero, ten and twenty-five basis points per executed side. Its shortfall is approximately 0.50, 0.48 and 0.46 percentage points of mean annualized growth respectively. Removing the modelled fee does not reverse the comparison. At 25 bp, all displayed continuous growth rates are negative. These are flat-cost sensitivities, not estimates of spread, stock-specific liquidity, market impact or capacity. The experiment cannot establish that a particular investor can capture the historical differences after its own execution costs. ## 09 Weighting, thresholds and stronger controls The completed extension tests how the factors are used, and whether a second score adds more than a stricter single-factor screen. The additional experiment fixes seven ECPND weights - 0%, 25%, 40%, 50%, 60%, 75% and 100% - with ECQDI receiving the balance. Each rank composite is tested at a lower-priority fraction of 10%, 20%, 30% or 50%. A second family tests every pair of those thresholds, flagging either one weak score (OR) or two weak scores together (AND). These are score-rank weights and selection conditions, not allocations of capital between portfolios. - Ranks 75/25: Combine 75% of the ECPND percentile with 25% of the ECQDI percentile, then apply the stated composite threshold. - OR 50% / 20%: Lower priority when ECPND is in its bottom half or ECQDI is in its bottom fifth. These are two thresholds, not weights. - AND 50% / 20%: Lower priority only when both conditions are met. A stock weak on just one factor is not flagged. - ECPND20 or ECPND50: Use ECPND alone, lowering priority for its weakest 20% or 50% of available scores. There are 60 selection rules, 52 count-matched ECPND controls and the baseline: 113 arms in each universe. The study completes 419,456 funded cohort simulations and 1,808 continuous accounts, using the unchanged four seeds, prices, costs and timing conventions. The full and both-scored universes each retain their own matching baseline. Rules were fixed before this extension ran; the underlying history had already been researched; verification records are described in Appendix A. The 60 rules comprise 28 weight/threshold settings, 16 OR pairs and 16 AND pairs. At an interior weight, missing components receive the neutral percentile described in Section 4. At the 0% and 100% endpoints, the selected component’s original percentile is used directly; the unused component cannot make a missing score eligible. OR and AND flags use the two ranks calculated before filtering. A missing component creates no weak-score flag. A flag changes priority, not eligibility: flagged names can still fill vacancies. ### Changing the relative weights View all seven weights at the 20% threshold Table 10Weights at a 20% priority threshold; full universe, 10 bp costs ECPND / ECQDI: 0 / 100 | 6M B&H Δ Qlib, bp: +29.7 | 6M B&H Δ ECPND20, bp: -24.5 | 6M weekly Δ ECPND20, bp: -49.5 | Weekly CAGR: 6.90% ECPND / ECQDI: 25 / 75 | 6M B&H Δ Qlib, bp: +35.8 | 6M B&H Δ ECPND20, bp: -18.4 | 6M weekly Δ ECPND20, bp: -36.2 | Weekly CAGR: 7.32% ECPND / ECQDI: 40 / 60 | 6M B&H Δ Qlib, bp: +37.9 | 6M B&H Δ ECPND20, bp: -16.3 | 6M weekly Δ ECPND20, bp: -34.4 | Weekly CAGR: 7.48% ECPND / ECQDI: 50 / 50 | 6M B&H Δ Qlib, bp: +38.8 | 6M B&H Δ ECPND20, bp: -15.5 | 6M weekly Δ ECPND20, bp: -15.7 | Weekly CAGR: 7.85% ECPND / ECQDI: 60 / 40 | 6M B&H Δ Qlib, bp: +40.1 | 6M B&H Δ ECPND20, bp: -14.1 | 6M weekly Δ ECPND20, bp: -11.7 | Weekly CAGR: 7.97% ECPND / ECQDI: 75 / 25 | 6M B&H Δ Qlib, bp: +69.2 | 6M B&H Δ ECPND20, bp: +15.0 | 6M weekly Δ ECPND20, bp: -11.9 | Weekly CAGR: 7.81% ECPND / ECQDI: 100 / 0 | 6M B&H Δ Qlib, bp: +54.2 | 6M B&H Δ ECPND20, bp: +0.0 | 6M weekly Δ ECPND20, bp: +0.0 | Weekly CAGR: 8.33% At the original 20% selection threshold, the 75/25 blend produces +69.2 bp over Qlib in six-month buy & hold, or +15.0 bp over ECPND20. The equal-weight blend produces +38.8 bp over Qlib. More weight on the participation factor helps this particular comparison, but the 75/25 blend’s continuous CAGR remains below ECPND20: 7.81% versus 8.33%. Figure 7 The complete weight and threshold grid [Six-month differences over ECPND20 across seven ECPND weights and four composite thresholds, with separate panels for buy and hold and weekly rebalance.](https://sggresearch.com/assets/whitepaper/combination/weight-thresholds.svg) 6M difference versus ECPND20 (bp) Lines: weakest 10% · 20% · 30% · 50% In the weight chart, the horizontal axis is the share of ECPND in the score blend; ECQDI receives the balance. Each line fixes a selection threshold. The 0% and 100% endpoints are single-factor rules. Both panels use the same return unit and scale, so differences between the management policies remain visible. These curves show means, not uncertainty bands. ### Match the strength of the screen A combination may look better simply because it changes more candidates' priority. The matched control asks a narrower question: if ECPND alone acts on the same number of stocks, does the combination still help? 1. Count the flags. On each date and seed, count how many candidates the combination gives lower priority. 2. Match that number. Flag exactly that many of the lowest available ECPND scores, breaking a boundary tie by ticker. 3. Keep selection identical. Apply the same model ordering, 50-stock allocation, execution rules and costs to both accounts. Unlike the ordinary percentile rule, the exact-count control may split a tied score group at the boundary. The calculation stops if too few ECPND scores are available; this did not occur. All 101,920 checked candidate counts match. The control equalizes the number of flags, rather than sector exposures or the number of holdings ultimately replaced. Table 11Six-month buy & hold: compare the same number of lower-priority candidates Combination: Ranks 50/50 | Δ Qlib, bp: +38.8 | Δ ECPND20, bp: -15.5 | Δ matched, bp: -15.2 | 95% interval, bp: [-50.0, +15.4] Combination: Ranks 75/25 | Δ Qlib, bp: +69.2 | Δ ECPND20, bp: +15.0 | Δ matched, bp: +15.2 | 95% interval, bp: [-3.8, +31.8] Combination: OR 20% / 20% | Δ Qlib, bp: +73.9 | Δ ECPND20, bp: +19.7 | Δ matched, bp: -11.2 | 95% interval, bp: [-38.9, +17.5] Combination: OR 50% / 20% | Δ Qlib, bp: +131.3 | Δ ECPND20, bp: +77.1 | Δ matched, bp: +14.1 | 95% interval, bp: [-19.0, +52.8] Combination: AND 50% / 50% | Δ Qlib, bp: +46.5 | Δ ECPND20, bp: -7.7 | Δ matched, bp: -18.1 | 95% interval, bp: [-70.5, +26.5] The original OR 20% / 20% rule’s +73.9 bp versus Qlib is lower than the matched ECPND-only control’s +85.1 bp. The incremental text comparison is therefore −11.2 bp, with an interval of −38.9 to +17.5 bp. The positive original result can be explained without establishing a benefit from the second score. The largest six-month buy & hold combination mean in this grid comes from OR 50% / 20%: +131.3 bp versus Qlib. Its difference shrinks to +14.1 bp against the equally broad ECPND control, with an interval of −19.0 to +52.8 bp. This is a historical grid maximum, not a validated optimum. The 75/25 blend also retains a positive matched-control mean, +15.2 bp, but its interval includes zero. Figure 8 Separate filters after matching candidate counts [Either-score rules: six-month differences versus equally broad ECPND controls at all sixteen threshold pairs.](https://sggresearch.com/assets/whitepaper/combination/matched-or.svg) 6M OR rule minus count-matched ECPND (bp) Lines: ECPND 10% · 20% · 30% · 50% For the OR curves, the horizontal axis sets the ECQDI threshold and each line fixes the ECPND threshold. Every point has its own control with the same number of flagged candidates. The comparison is therefore with equally broad ECPND selection, rather than the fixed ECPND20 rule. The complete intervals remain in the study records. ### Requiring agreement between the factors AND rules act only where both scores are weak, so they flag a smaller part of the universe. AND 20% / 20% flags approximately 3.9% of candidates. Even AND 50% / 50% flags only 23.5%; it adds +46.5 bp versus Qlib in six-month buy & hold, but trails its count-matched ECPND control by 18.1 bp. Its weekly-rebalanced mean is +41.4 bp above that control. Requiring agreement changes the intervention and can change the preferred management policy; it is not uniformly better than taking the union. Figure 9 Act only when both scores are weak [Both-scores-weak rules: six-month differences versus equally broad ECPND controls at all sixteen threshold pairs.](https://sggresearch.com/assets/whitepaper/combination/matched-and.svg) 6M AND rule minus count-matched ECPND (bp) Lines: ECPND 10% · 20% · 30% · 50% The AND chart uses the same axis conventions but flags a stock only when both components are weak. Its narrower intervention changes which candidates are affected and how the control is constructed. The two panels again separate entry-only selection from repeated weekly use. ### Other horizons and shared score coverage View all horizons against the matched ECPND controls Table 12Selected combinations minus their own count-matched ECPND control; bp [95% interval] **Buy & hold** Horizon: 3M | Ranks 75/25: +14.1 [+4.3, +23.8] | OR 20% / 20%: -8.3 [-33.7, +19.5] | OR 50% / 20%: +8.4 [-14.3, +31.4] | Formations: 232 Horizon: 6M | Ranks 75/25: +15.2 [-3.8, +31.8] | OR 20% / 20%: -11.2 [-38.9, +17.5] | OR 50% / 20%: +14.1 [-19.0, +52.8] | Formations: 219 Horizon: 12M | Ranks 75/25: +11.5 [-43.0, +50.7] | OR 20% / 20%: +10.3 [-45.5, +73.1] | OR 50% / 20%: +47.5 [-15.2, +106.6] | Formations: 193 **Weekly rebalance** Horizon: 3M | Ranks 75/25: -10.5 [-41.8, +16.3] | OR 20% / 20%: -15.9 [-54.7, +23.1] | OR 50% / 20%: -4.4 [-44.9, +37.4] | Formations: 232 Horizon: 6M | Ranks 75/25: -10.5 [-82.4, +49.2] | OR 20% / 20%: -34.6 [-96.6, +18.4] | OR 50% / 20%: -7.0 [-86.7, +70.1] | Formations: 219 Horizon: 12M | Ranks 75/25: +15.9 [-79.1, +103.9] | OR 20% / 20%: -70.3 [-166.4, +36.2] | OR 50% / 20%: +5.8 [-121.9, +116.1] | Formations: 193 The table keeps all three horizons and both management policies for the original OR rule, the 75/25 blend and the strongest full-period OR rule. Each is compared with its own exact-count control. Different reference portfolios matter: a positive difference versus ECPND20 can coexist with a negative difference versus count-matched ECPND. Requiring both scores in every arm does not resolve that distinction. At six-month buy & hold, the 75/25 blend adds +17.9 bp and OR 50% / 20% adds +8.8 bp versus their matched controls; both intervals include zero. OR 20% / 20% remains negative at −11.6 bp. The corresponding weekly-rebalanced differences are −7.7, +4.7 and −43.3 bp. All rules are reranked in this smaller universe, with its own baseline. The full set of coverage comparisons is retained in the download. ### Choose earlier, evaluate later Two historical selection exercises use only 77 six-month formations whose outcomes matured before 1 January 2024. One selects among the seven weights at the 20% threshold; the other selects among all 60 grid rules. The criterion is the earlier mean difference over ECPND20. The chosen rule is then fixed for later formations. Holdings crossing the split are excluded from these comparisons. Table 13Six-month buy & hold: choose on 77 earlier formations, evaluate on 116 later formations Earlier-period choice: Ranks 75/25 | Early Δ ECPND20, bp: +26.6 | Later Δ ECPND20, bp: +2.2 | Later 95% interval, bp: [-23.6, +28.5] Earlier-period choice: OR 10% / 50% | Early Δ ECPND20, bp: +74.6 | Later Δ ECPND20, bp: -66.0 | Later 95% interval, bp: [-165.9, +14.4] The earlier data choose 75/25 within the weight-only set. Its six-month advantage falls from +26.6 bp early to +2.2 bp across 116 later formations. Searching the entire grid selects OR 10% / 50%; its early +74.6 bp becomes −66.0 bp later. Selection maximizes the earlier six-month buy & hold mean difference over ECPND20, with rule identifiers breaking ties. Count-matched controls are not candidates in the 60-rule selection. View all later horizons for the two earlier-period choices Table 14Every later horizon for the two earlier-period choices; Δ ECPND20, bp [95% interval] **Buy & hold** Horizon: 3M | Ranks 75/25: +8.4 [-2.3, +18.5] | OR 10% / 50%: -71.1 [-169.1, +11.7] | Formations: 129 Horizon: 6M | Ranks 75/25: +2.2 [-23.6, +28.5] | OR 10% / 50%: -66.0 [-165.9, +14.4] | Formations: 116 Horizon: 12M | Ranks 75/25: -7.4 [-66.2, +50.7] | OR 10% / 50%: +154.9 [+63.4, +246.7] | Formations: 90 **Weekly rebalance** Horizon: 3M | Ranks 75/25: -18.0 [-69.8, +25.8] | OR 10% / 50%: -39.4 [-168.6, +72.7] | Formations: 129 Horizon: 6M | Ranks 75/25: -22.4 [-138.1, +77.9] | OR 10% / 50%: -40.5 [-168.3, +72.3] | Formations: 116 Horizon: 12M | Ranks 75/25: +15.6 [-126.9, +159.6] | OR 10% / 50%: -26.1 [-180.1, +124.5] | Formations: 90 The later twelve-month buy & hold result for the selected OR 10% / 50% rule is positive: +154.9 bp, with a pointwise interval of +63.4 to +246.7 bp. It remains part of the record alongside weaker three- and six-month results and negative weekly-rebalanced means. Different horizons cover different completed cohorts. These mixed outcomes do not validate a horizon selected after seeing the results. The split respects outcome maturity, but remains a re-examination of previously inspected history rather than a new prospective holdout. ### Continuous accounts keep the result in perspective Table 15Continuous weekly accounts: mean metrics across four seeds at 10 bp Selection rule: Qlib baseline | Full CAGR: 7.24% | Both-scored CAGR: 8.71% | Full max drawdown: -27.60% Selection rule: ECPND · weakest 20% | Full CAGR: 8.33% | Both-scored CAGR: 9.39% | Full max drawdown: -25.48% Selection rule: ECPND · weakest 50% | Full CAGR: 9.34% | Both-scored CAGR: 11.45% | Full max drawdown: -27.46% Selection rule: Ranks 75/25 · weakest 20% | Full CAGR: 7.81% | Both-scored CAGR: 8.97% | Full max drawdown: -26.02% Selection rule: OR 50% / 20% | Full CAGR: 9.33% | Both-scored CAGR: 11.17% | Full max drawdown: -26.80% Selection rule: ECPND · matched to 50% / 20% | Full CAGR: 9.61% | Both-scored CAGR: 11.05% | Full max drawdown: -27.69% Figure 10 Weighting and continuous account growth [Continuous weekly account growth across seven ECPND weights and four selection thresholds, showing both single-factor endpoints.](https://sggresearch.com/assets/whitepaper/combination/weight-growth.svg) Mean continuous CAGR (%) · weekly rebalance · 10 bp Lines: weakest 10% · 20% · 30% · 50% OR 50% / 20% has the highest continuous CAGR among the tested two-factor rules, 9.33%. ECPND alone at a 50% threshold earns 9.34%, while the combination’s count-matched ECPND control earns 9.61%. The continuous evidence therefore does not justify presenting the strongest combined mean as something a single-factor application could not achieve. View the extended trading-cost comparison Table 16Fee sensitivity of continuous accounts; full-universe mean CAGR Cost per side: 0 bp | Qlib: 13.89% | ECPND20: 14.83% | ECPND50: 15.25% | OR 50% / 20%: 14.98% | Matched ECPND: 15.21% Cost per side: 10 bp | Qlib: 7.24% | ECPND20: 8.33% | ECPND50: 9.34% | OR 50% / 20%: 9.33% | Matched ECPND: 9.61% Cost per side: 25 bp | Qlib: -2.03% | ECPND20: -0.76% | ECPND50: 1.03% | OR 50% / 20%: 1.34% | Matched ECPND: 1.68% The same comparison is recomputed at each fee level. OR 50% / 20% falls from 14.98% CAGR at zero costs to 9.33% at 10 bp and 1.34% at 25 bp. Its matched ECPND control remains ahead at all three levels. This measures sensitivity to flat trading fees; it does not estimate actual spreads, market impact or capacity. View the extended comparison by model seed Table 17Separate seed accounts; full-universe CAGR at 10 bp Seed: 19 | ECPND20: 8.65% | ECPND50: 9.09% | Ranks 75/25: 8.67% | OR 50% / 20%: 9.12% | Matched ECPND: 8.61% Seed: 41 | ECPND20: 8.59% | ECPND50: 9.88% | Ranks 75/25: 7.64% | OR 50% / 20%: 9.85% | Matched ECPND: 10.03% Seed: 73 | ECPND20: 8.94% | ECPND50: 9.41% | Ranks 75/25: 8.52% | OR 50% / 20%: 8.86% | Matched ECPND: 10.28% Seed: 101 | ECPND20: 7.14% | ECPND50: 8.99% | Ranks 75/25: 6.43% | OR 50% / 20%: 9.48% | Matched ECPND: 9.51% The strongest full-period OR rule improves on ECPND20 in three of four seed accounts, while the 75/25 blend does so in only one. Against the stronger matched control, OR 50% / 20% also improves in only one of four seeds. These are different randomized model fits on the same market history, not four independent investment experiments. Formation-year and per-seed breakdowns, together with continuous calendar-year returns, are supplied for every rule. Interpretation of the extension. Different inputs remain plausible complements, but a substantial part of the apparent improvement comes from how strongly selection is filtered. Some buy & hold applications retain a positive conditional mean. Their incremental uncertainty, weaker later results and continuous-account comparisons prevent a claim of dependable combined outperformance. Intervals are pointwise and do not correct for this grid or the earlier research process. ## 10 Interpretation and further research The factors provide different rankings. The remaining question is how to turn that difference into a contribution that survives stronger controls and new observations. The descriptive evidence is clear within this panel: mean score correlation is +0.076, the weak-score groups overlap only partially, and the primary combination replaces an average of 6.35 of the 50 ECPND-only entry holdings. The second factor changes actual decisions. That is a reason to study it as a separate input, rather than treating it as another name for the same ranking. The performance conclusion is more conditional. Some combined buy & hold rules retain positive mean differences over equally broad ECPND controls. Their intervals include zero, and the original either-score rule has a negative matched difference. Continuous accounts and later formations also weaken the case for a fixed combined rule. Low score correlation creates an opportunity for complementary information; it does not, by itself, establish a more accurate forecast or a more profitable portfolio. ### 10.1 Refine the application - Weights and thresholds: Carry a small, declared set of combinations into the next test. Keep score weights separate from selection strength and retain equally broad single-factor controls. - Holding policy: Compare entry-only use, weekly decisions and slower refresh schedules. Measure the resulting turnover and costs alongside any change in portfolio returns. - Conditional information: Test ECQDI after controlling for ECPND and the model prediction. Include sector, size, momentum and liquidity to identify what the second input adds. - Independent portfolios: Apply the supplied scores to separately chosen stock-ranking models and universes. An application should be judged within the investment process that would use it. The completed count-matched controls address one important confounder: the strength of selection. They do not neutralize common exposures or explain the economic mechanism. Further configuration work should preserve that distinction and avoid promoting whichever setting happens to have the highest historical mean. ### 10.2 Forward testing of a fixed combination A prospective combined study requires its own declared protocol. Before new returns are observed, specify the two score versions, availability cut-off, eligible universe, weights, thresholds, missing-score treatment and trading policy. Record each delivered score snapshot and retain later corrections as separate records. This makes the decision reproducible from information actually available at that time. The forward comparison should retain Qlib, each individual factor, the chosen combination and an equally broad ECPND control. Record holdings, trades, costs and daily values for every arm, then evaluate completed horizons under the same rules. Changes to the factor engine or selection rule should start a separately labelled version. The historical grid presented here is not a live combined track record, and a promising grid setting is not automatically substituted into the existing service. ### 10.3 Scope of the evidence - Shared source material: Both factors depend on the call records. Different score rankings do not eliminate common errors in transcript versions, participant identities or observation dates. - Research reuse: The market history has supported several factor and configuration tests. Reported intervals describe individual comparisons without correcting for that full search. - Universe and exposures: Historical membership, delistings, sector records and prices need continuing checks. The return differences are not fully exposure-neutral estimates of alpha. - Implementation: Flat trading fees do not establish spreads, market impact or capacity at a particular capital level. Those depend on the strategy and execution process. Keeping the two score fields separate is useful for this next stage. A researcher can test whether each adds information inside its own model, choose an appropriate influence for each, and compare the result with the relevant single-factor alternative. The present evidence supports that evaluation without claiming that one permanent mixture is best for every portfolio. ## 11 Research records and independent evaluation A useful comparison connects the supplied scores to a selection decision, then connects that decision to a fully specified account return. ### 11.1 An actual formation example Table 18First formation, seed 19: agreement and disagreement in the actual decisions Ticker: NRG | ECPND rank: 0.039 | ECQDI rank: 0.646 | ECPND flag: Yes | ECQDI flag: No | Composite flag: No | 50/50 selected: Yes Ticker: DVA | ECPND rank: 0.158 | ECQDI rank: 0.991 | ECPND flag: Yes | ECQDI flag: No | Composite flag: No | 50/50 selected: Yes Ticker: MSCI | ECPND rank: 0.252 | ECQDI rank: 0.016 | ECPND flag: No | ECQDI flag: Yes | Composite flag: Yes | 50/50 selected: No Ticker: TFX | ECPND rank: 0.392 | ECQDI rank: 0.035 | ECPND flag: No | ECQDI flag: Yes | Composite flag: Yes | 50/50 selected: No Ticker: VTR | ECPND rank: 0.101 | ECQDI rank: 0.005 | ECPND flag: Yes | ECQDI flag: Yes | Composite flag: Yes | 50/50 selected: No Ticker: MNST | ECPND rank: 0.078 | ECQDI rank: 0.023 | ECPND flag: Yes | ECQDI flag: Yes | Composite flag: Yes | 50/50 selected: No Ticker: ALB | ECPND rank: 0.876 | ECQDI rank: 0.675 | ECPND flag: No | ECQDI flag: No | Composite flag: No | 50/50 selected: Yes Ticker: DXCM | ECPND rank: 0.541 | ECQDI rank: 0.850 | ECPND flag: No | ECQDI flag: No | Composite flag: No | 50/50 selected: Yes The rows show agreement and disagreement cases from 10 January 2022, seed 19, the first chronological formation. All ranks are calculated in the full candidate set before these examples are chosen. A flag means lower selection priority, not an automatic exclusion. The final column shows whether the stock is selected after applying the composite rule and the common model ranking. The full example contains both score values, source-call dates, component and composite ranks, priority flags and selection decisions. It makes the distinction between a measurement, a rule and a holding explicit: knowing one component's score alone is insufficient to reconstruct the final portfolio. ### 11.2 Reproduce the comparison sequence 1. Load forecasts: Use the frozen prior-close predictions for each formation and model seed. 2. Join the scores: Attach ECPND and ECQDI values eligible under their respective timing rules. 3. Rank the inputs: Calculate component percentiles in the complete eligible candidate universe. 4. Apply each rule: Construct the stated composite or separate flags before selecting holdings. 5. Build the controls: Keep the baseline, individual factors and relevant exact-count ECPND reference. 6. Select 50 stocks: Apply priority groups, model order and the disclosed tie and missing-score rules. 7. Match execution: Start every arm with identical capital, allocation, trading dates and costs. 8. Measure the outcomes: Evaluate both policies and each completed holding horizon separately. 9. Compare the returns: Subtract each stated reference and average seeds within formation dates. 10. Summarize the evidence: Average completed formations and resample consecutive week blocks. Run continuous accounts separately, carrying the same capital through time. Their returns must be calculated from their own daily paths; they cannot be reconstructed by compounding the overlapping formation averages. ### 11.3 Read the records consistently - Universe: full includes all model-eligible candidates; both_scored requires both scores in every arm. - Difference: delta is the candidate return minus its named reference; multiply by 10,000 for basis points. - Rule identifier: w denotes rank weights, or and and separate conditions, and match_ the exact-count control. - Time grouping: Formation years describe starting dates; account calendar years describe returns within that year. The public research pack contains separate ECPND and ECQDI score samples and their individual study records. It provides two years of daily scores ending eight weeks before the package date, rather than the full 2022-2026 history of this combined experiment. The combination's own summaries, cohorts, diagnostics and configuration records are identified in Appendix A. [Download research pack](https://sggresearch.com/assets/research-package.zip) The published combination records support inspection of the displayed averages, score overlap and application rules. Exact replay of every trade also requires the full score histories, saved model predictions, eligible universe and adjusted prices. The proprietary score measurements and trained baseline model are not supplied in the public download. ## - References 1. Yang, X., Liu, W., Zhou, D., Bian, J. & Liu, T.-Y. (2020). [Qlib: An AI-oriented Quantitative Investment Platform.](https://arxiv.org/abs/2009.11189) arXiv:2009.11189. [Official Microsoft repository.](https://github.com/microsoft/qlib) 2. Microsoft Qlib. [Alpha158 data handler and feature-processing implementation.](https://github.com/microsoft/qlib/blob/main/qlib/contrib/data/handler.py) Source documentation for the price and volume feature family used by the baseline. 3. Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q. & Liu, T.-Y. (2017). [LightGBM: A Highly Efficient Gradient Boosting Decision Tree.](https://papers.nips.cc/paper_files/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html) Advances in Neural Information Processing Systems 30. 4. Politis, D. N. & Romano, J. P. (1991). [A Circular Block-Resampling Procedure for Stationary Data.](https://statistics.stanford.edu/technical-reports/circular-block-resampling-procedure-stationary-data) Stanford Department of Statistics, technical report EFS NSF 370. The block lengths and resampling count in this study are implementation choices. ## A Appendix: Study evidence and verification Two frozen experiments support this note: the original five-arm comparison and the wider configuration study. Their records are kept separate, with common inputs and reproduced reference results. ### A.1 Original combination experiment - 25 September 2026 The original run compares Qlib, ECPND, ECQDI, the equal-rank composite and the either-score rule. It contains 18,560 cohort simulations, 82,432 paired horizon rows and 80 continuous accounts across the stated coverage and cost checks. No portfolio data gaps are recorded. These are counts of simulations and comparisons over shared history, rather than independent investment experiments. Fifty-two numerical checks reproduce previous Qlib and individual-factor results, with a maximum absolute difference of 3.11 × 10^-15 in return units. Source-call checks examine 549,030 ECPND rows, recording no same-day or future-call violations and no issuer mismatches. These checks establish consistency with the saved inputs and timing rule; they do not independently verify every historical input. Figures 1-6, Tables 1-9 and the selection example in Table 18 use this experiment. The correlation and overlap diagnostics are descriptive calculations from its saved candidates and account paths. They add no new fitted models or independently observed returns. ### A.2 Weighting and selection-strength extension - 25 September 2026 The extension adds 60 declared selection rules and 52 exact-count ECPND controls to the baseline, producing 113 arms in each universe. It retains 419,456 funded cohort simulations, 1,164,352 completed horizon records and 1,808 continuous account paths. Figures 7-10 and Tables 10-17 use these records. Before interpreting the wider grid, the extension reproduces all 51,520 original cohort horizon records and all 80 original continuous accounts. The largest cohort-return difference is below 2 × 10^-15; continuous total-return and CAGR differences are below 3 × 10^-15. The different horizon and comparison counts reflect different record types, not missing cases. Separate aggregation checks reproduce 1,356 arm means. All 101,920 candidate-count checks match, and both chronological selection exercises record zero outcome-maturity violations. These are internal engineering checks. They support the arithmetic and declared comparisons, without establishing source-data accuracy or future performance. ### A.3 Chronological selection and uncertainty The two selection exercises choose a rule using 77 six-month formations whose outcomes end before 1 January 2024. One considers seven weights at the 20% threshold; the other considers all 60 grid rules. The criterion is the early mean difference over ECPND20, with identifiers breaking ties. The selected rule is then fixed for 116 later six-month formations. Cohorts crossing the split are excluded. This ordering prevents later outcomes from choosing the rule within the exercise. It does not make the later period untouched: both factors and this historical window had already supported research. The reported intervals are per-comparison block-bootstrap intervals, with no adjustment for the full configuration search. The largest grid mean should therefore be read as an exploratory result requiring a new test. ### A.4 Study records and replication scope The original study results and cohort records contain the five full-universe arms at the primary cost for the cohort export. Score diagnostics cover both universes; the selection example retains the complete first formation. Account summaries include the fixed coverage and cost checks, while daily account values contain the full-universe 10 bp paths used for return correlations. The extension records include summary results, all rule definitions, paired comparisons and earlier/later period results. Continuous accounts, seed comparisons, formation-year results, account calendar years and the verification record retain the broader checks, including unfavourable outcomes. Returns, drawdowns and interval endpoints are decimal fractions; NAV is in USD. The extension records contain summaries and paired comparisons. The complete compressed grid cohort records and daily paths remain in the internal frozen archive. Summary records alone do not reproduce every trade or permit resampling the original paths. No transcript text, proprietary score recipe or trained model is disclosed. ### A.5 Evidence versions The checksums identify the reviewed evidence used for this edition. Imported research exports retain their original checksums. Charts are presentation assets generated from the same numerical records; changing their typography or layout does not change a score, holding or return. Rebuilding this paper does not rerun the backtests or update either factor's definition. Evidence checksums Original reviewed evidence SHA-256 3cc17b92f7650ff611613767c34a2939f12d8de62abbb7188e60bab73c6190b6 Follow-up reviewed evidence SHA-256 9ea0ba8f3da32b75e1d15d13e6b9857e5061b2bf0f869001db9cced44c56dec9 --- # Press & media | SGG Research Source: https://sggresearch.com/press SGG Research / Newsroom # Press & media. Ready-to-use texts and network images for news stories, articles and editorial coverage of SGG Research. Free to use with attribution. [Download press kit](https://sggresearch.com/assets/press/sgg-research_press-kit.zip?v=3f0a7887d237)[Reuse permission](https://sggresearch.com/press#reuse) ZIP · 2.9 MB · Updated 29 September 2026 ## Press releases. Product announcements, research milestones and whitepaper publications from SGG Research. 29 September 2026Early access ### [SGG Research launches ECPND early access for US equity research](https://sggresearch.com/press/earnings-call-factors-for-us-equity-research) The earnings-call participation factor is now available through an authenticated API, alongside a free historical research package and a documented comparison with a Qlib / LightGBM baseline. [Read the press release](https://sggresearch.com/press/earnings-call-factors-for-us-equity-research) 29 September 2026First whitepaper publication ### [New study examines ECPND and ECQDI as complementary research inputs](https://sggresearch.com/press/combined-factors-whitepaper) The combined-factor paper separates a useful question from an easy assumption: different rankings can broaden the information set, but do they improve the same portfolio together? [Read the press release](https://sggresearch.com/press/combined-factors-whitepaper) 29 July 2026First whitepaper publication ### [SGG Research publishes ECQDI study on quantitative patterns in earnings calls](https://sggresearch.com/press/ecqdi-whitepaper) The first ECQDI paper introduces a deterministic text factor focused on quantitative patterns in external analyst contributions, providing a second perspective on earnings-call research. [Read the press release](https://sggresearch.com/press/ecqdi-whitepaper) 29 March 2026First whitepaper publication ### [ECPND whitepaper documents the participation factor and its portfolio evidence](https://sggresearch.com/press/ecpnd-whitepaper) The first ECPND paper introduces earnings-call participation history as a structured research input and sets out how to examine its contribution to a price-based equity model. [Read the press release](https://sggresearch.com/press/ecpnd-whitepaper) March 2026Research milestone ### [SGG Research begins ECQDI research into quantitative patterns in earnings calls](https://sggresearch.com/press/ecqdi-research-begins) A second research programme examines the quantitative character of external analyst contributions, extending the focus from participation history to a different observable within the same conversation. [Read the press release](https://sggresearch.com/press/ecqdi-research-begins) March 2025Research milestone ### [SGG Research begins research into earnings-call participation networks](https://sggresearch.com/press/ecpnd-research-begins) The ECPND programme starts from a question beyond the transcript text: can the changing pattern of professional participation add information to US equity research? [Read the press release](https://sggresearch.com/press/ecpnd-research-begins) ## Inside the press kit. One ZIP with the source material for your story: - Company fact sheet. A short introduction to SGG Research, its factors and the research behind them. - 6 press releases. Product announcements, research milestones and short whitepaper updates, each with dates, context and source links. - Whitepaper links. Direct links to the ECPND, ECQDI and combined-factor papers, collected in the README and a separate reference file. - Two network images. An overview and a close-up , supplied as 3,200 × 2,000 px PNGs and scalable SVGs. - Captions and context. Image descriptions, snapshot dates, credits and the context needed to report the research accurately. - Reuse permission and quick guide. Clear usage terms and a short README to help you get started. ## Free to use in your coverage. You may publish, quote, translate and adapt the supplied texts and use the images in news stories, articles, newsletters and other editorial coverage, including commercial publications. No fee or prior approval is required. Credit SGG Research and link to this page wherever possible. Automated crawling, indexing and AI-assisted summaries are also permitted. Keep dates, captions and research context accurate, and do not imply endorsement by SGG Research or anyone shown in the network. This permission covers the designated press materials; factor datasets and API data have separate licence terms. [Full reuse terms](https://sggresearch.com/assets/press/04_reuse_permission.txt?v=3f0a7887d237)[Press material · plain text](https://sggresearch.com/press.txt)[Structured facts · JSON](https://sggresearch.com/press.json) Suggested credit: “Source: SGG Research”. Press materials are research content, not financial or investment advice. ## Media enquiries. For interviews, factual checks or additional image formats, contact our team and include your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # SGG Research launches ECPND early access for US equity research | SGG Research Source: https://sggresearch.com/press/earnings-call-factors-for-us-equity-research [Press & media](https://sggresearch.com/press) Early access · 29 September 2026 # SGG Research launches ECPND early access for US equity research The earnings-call participation factor is now available through an authenticated API, alongside a free historical research package and a documented comparison with a Qlib / LightGBM baseline. SGG Research has opened early access to Earnings Call Participation Network and Dynamics (ECPND), an alternative data factor for US equity research. The service delivers timestamped, versioned scores through an authenticated API, allowing quantitative researchers and investment teams to evaluate participation information within their own models and portfolio processes. The launch connects three parts of the research programme: a daily factor dataset, a public study of its historical contribution and a delivery service for ongoing use. Researchers can begin with a free sample of two years of daily historical scores, ending eight weeks before the package date, before deciding whether to subscribe to current data. ## A different observation from the earnings call Earnings calls record both what a company says and which external professionals choose to engage with it. Analysts bring sector knowledge, company coverage and research priorities to those discussions. Their participation can reflect work and expectations formed before the call. Recurring participants also connect companies, creating a history of attention that extends beyond a single quarterly event. ECPND turns that participation history into a bounded research score. The underlying network evolves as further eligible observations become available, so a company can have a current score even on a day when it has no new call. The score is designed to complement an existing equity-research process; it is not a probability of a price increase or a predicted return. ## A published comparison with the baseline held constant The ECPND whitepaper evaluates weekly US equity portfolios formed from the same Qlib / LightGBM predictions, with and without the participation factor. Capital, execution rules and trading costs are shared. The study covers 245 weekly starting dates from January 2022 to September 2026, four fixed model seeds, and both buy & hold and weekly rebalancing. Each reported holding period includes only completed formations. For buy & hold, the primary comparison records mean paired return differences of +17 basis points over three months, +54 over six months and +107 over twelve months, after the stated cost of 10 basis points per executed trade. The six-month 95% block-bootstrap interval is +13 to +99 basis points; the three- and twelve-month intervals include zero. Weekly portfolios overlap, and these are SGG Research's historical calculations under the disclosed assumptions, not an independently audited result or a live investment track record. The paper sets out the baseline, timing convention, portfolio rules and sensitivity checks so readers can assess what the comparison does and does not establish. The free research package includes historical scores, study results, cohort comparisons and a worked selection example. Its two-year score sample supports evaluation over those supplied dates; it does not reproduce the entire study window by itself. ## Ongoing data for existing research workflows The API provides a current score set with observation and publication information and version identifiers. Hourly checks look for relevant changes and publish updated data when required. The checking frequency describes data maintenance; it does not prescribe an hourly trading strategy. Customers can retrieve the dataset on a schedule suited to their own decision process. ECPND early access is priced at USD 1,850 per month, billed quarterly at USD 5,550 plus applicable taxes. Coverage, permitted use and subscription terms are set out on the product and terms pages. The service supplies factor data and analytics for internal research, with API documentation and integration support. ## Continuing the research beyond the historical study SGG Research is also recording prospective ECPND portfolio decisions and subsequent outcomes through its forward-testing process. That record is at an early stage and is kept separate from the historical results. Further work examines selection strength, portfolio exposures and implementation assumptions, alongside the separate ECQDI text factor and research into combining the two inputs. The aim of early access is to make a documented research input available for testing in other models and workflows. The published history provides a reason to investigate the factor; the customer's own universe, costs and portfolio design determine how it should be evaluated. ## About SGG Research SGG Research develops alternative data factors for US equity research. Its work examines who participates in earnings calls, how connections evolve across companies, and the quantitative content of external analyst contributions. SGG Research delivers versioned factor scores, historical datasets and documented studies for independent evaluation in customers' own models and workflows. Its products are data analytics and research services, not financial advice. [ECPND whitepaper](https://sggresearch.com/whitepaper/ecpnd)[Research package and early access](https://sggresearch.com/#validate-pricing)[API documentation](https://sggresearch.com/api-docs) This release is available for editorial and automated reuse under our [press material reuse permission](https://sggresearch.com/press#reuse). Credit SGG Research and retain the dates and research context when quoting. [Download release](https://sggresearch.com/assets/press/sgg-research_earnings-call-factors-for-us-equity-research.txt?v=3f0a7887d237) ## Media enquiries. For interviews, fact checks or image requests, tell us your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # New study examines ECPND and ECQDI as complementary research inputs | SGG Research Source: https://sggresearch.com/press/combined-factors-whitepaper [Press & media](https://sggresearch.com/press) First whitepaper publication · 29 September 2026 # New study examines ECPND and ECQDI as complementary research inputs The combined-factor paper separates a useful question from an easy assumption: different rankings can broaden the information set, but do they improve the same portfolio together? SGG Research has published a study of Earnings Call Participation Network and Dynamics (ECPND) alongside Earnings Call Quantitative Dynamics and Intensity (ECQDI). First published on 29 September 2026, the note examines how participation history and quantitative patterns in external analyst contributions interact within the same US equity-selection process. Across 245 weekly formations, the factors have a mean stock-ranking correlation of +0.076. Their lowest-fifth groups overlap on 4.34% of candidates with both scores. These observations show that the two inputs produce different rankings in the studied panel; they do not establish statistical independence or guarantee a better combined portfolio. The original equal-weight rank combination adds 39 basis points to mean six-month buy & hold returns over the Qlib / LightGBM baseline, compared with 54 basis points for ECPND alone. A wider comparison examines 60 rules and 52 matched ECPND controls, including different weights and selection strengths. Some configurations are promising, but reliable incremental performance over a suitably matched ECPND-only rule remains to be demonstrated. The paper presents correlation and overlap diagnostics alongside paired portfolio results, continuous accounts and sensitivity checks. It retains unfavourable outcomes and explains why a stronger selection rule can account for part of an apparent improvement. The results are historical, long-only research after the stated costs. The note is publicly readable and intended to support independent evaluation of whether the factors complement each other in a researcher's own models. ## About SGG Research SGG Research develops alternative data factors for US equity research. Its work examines who participates in earnings calls, how connections evolve across companies, and the quantitative content of external analyst contributions. SGG Research delivers versioned factor scores, historical datasets and documented studies for independent evaluation in customers' own models and workflows. Its products are data analytics and research services, not financial advice. [Read the combined-factor whitepaper](https://sggresearch.com/whitepaper/combination)[ECPND whitepaper](https://sggresearch.com/whitepaper/ecpnd)[ECQDI whitepaper](https://sggresearch.com/whitepaper/ecqdi) This release is available for editorial and automated reuse under our [press material reuse permission](https://sggresearch.com/press#reuse). Credit SGG Research and retain the dates and research context when quoting. [Download release](https://sggresearch.com/assets/press/sgg-research_combined-factors-whitepaper.txt?v=3f0a7887d237) ## Media enquiries. For interviews, fact checks or image requests, tell us your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # SGG Research publishes ECQDI study on quantitative patterns in earnings calls | SGG Research Source: https://sggresearch.com/press/ecqdi-whitepaper [Press & media](https://sggresearch.com/press) First whitepaper publication · 29 July 2026 # SGG Research publishes ECQDI study on quantitative patterns in earnings calls The first ECQDI paper introduces a deterministic text factor focused on quantitative patterns in external analyst contributions, providing a second perspective on earnings-call research. SGG Research's first ECQDI whitepaper introduces Earnings Call Quantitative Dynamics and Intensity as a separate research input for US equities. The project examines the quantitative character of external analysts' contributions to earnings calls, with earlier calls from the same sector providing context for the measurement. The rationale is that questions can reflect how analysts test assumptions, interpret reported performance and examine the scale of a company's activities. Those observations differ from the participation history captured by ECPND. They may help a researcher describe an earnings-call discussion in another way, but a plausible interpretation alone does not establish investment usefulness. The paper frames that usefulness as a portfolio question: what changes when a fixed ECQDI application is added to an otherwise unchanged stock-ranking process? Consistent timing, a common candidate universe and shared costs are essential to that comparison. Different selection strengths and portfolio policies may produce different outcomes, making the application rule part of the research rather than an incidental choice. The paper gives researchers a framework for examining quantitative discussion alongside other equity inputs, including participation history. It keeps the measurement separate from the investment process in which it may be used. ECQDI is a research factor to be evaluated in the user's own models and workflows, not a recommendation to buy or sell securities. ## About SGG Research SGG Research develops alternative data factors for US equity research. Its work examines who participates in earnings calls, how connections evolve across companies, and the quantitative content of external analyst contributions. SGG Research delivers versioned factor scores, historical datasets and documented studies for independent evaluation in customers' own models and workflows. Its products are data analytics and research services, not financial advice. [Read the ECQDI whitepaper](https://sggresearch.com/whitepaper/ecqdi)[Get the research package](https://sggresearch.com/#validate-pricing) This release is available for editorial and automated reuse under our [press material reuse permission](https://sggresearch.com/press#reuse). Credit SGG Research and retain the dates and research context when quoting. [Download release](https://sggresearch.com/assets/press/sgg-research_ecqdi-whitepaper.txt?v=3f0a7887d237) ## Media enquiries. For interviews, fact checks or image requests, tell us your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # ECPND whitepaper documents the participation factor and its portfolio evidence | SGG Research Source: https://sggresearch.com/press/ecpnd-whitepaper [Press & media](https://sggresearch.com/press) First whitepaper publication · 29 March 2026 # ECPND whitepaper documents the participation factor and its portfolio evidence The first ECPND paper introduces earnings-call participation history as a structured research input and sets out how to examine its contribution to a price-based equity model. The first publication of SGG Research's ECPND whitepaper marks a step from the research question to a documented framework for evaluation. Earnings Call Participation Network and Dynamics examines who participates in earnings calls, how recurring participants connect companies and whether that history offers information useful to US equity research. The paper explains the rationale for studying professional participation and the role of a supplied daily score. A company's latest eligible call is part of a wider history; the value for a decision date must be interpreted with the information eligible at that time. A missing score remains distinct from a low score, and a high score is not a forecast of a particular return. The evaluation question is whether the factor adds value to an existing stock-selection process. Paired portfolios provide a way to ask that question while holding the underlying model forecasts, capital, execution assumptions and costs constant. Researchers can examine the score's application without needing access to the proprietary calculation. The openly readable paper provides a common reference for researchers assessing participation data within their own models and workflows. Its purpose is to make the research question and portfolio application understandable, while distinguishing a supplied factor from an investment recommendation. ECPND is a data analytics and research product, not financial or investment advice. ## About SGG Research SGG Research develops alternative data factors for US equity research. Its work examines who participates in earnings calls, how connections evolve across companies, and the quantitative content of external analyst contributions. SGG Research delivers versioned factor scores, historical datasets and documented studies for independent evaluation in customers' own models and workflows. Its products are data analytics and research services, not financial advice. [Read the ECPND whitepaper](https://sggresearch.com/whitepaper/ecpnd)[Get the research package](https://sggresearch.com/#validate-pricing) This release is available for editorial and automated reuse under our [press material reuse permission](https://sggresearch.com/press#reuse). Credit SGG Research and retain the dates and research context when quoting. [Download release](https://sggresearch.com/assets/press/sgg-research_ecpnd-whitepaper.txt?v=3f0a7887d237) ## Media enquiries. For interviews, fact checks or image requests, tell us your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # SGG Research begins ECQDI research into quantitative patterns in earnings calls | SGG Research Source: https://sggresearch.com/press/ecqdi-research-begins [Press & media](https://sggresearch.com/press) Research milestone · March 2026 # SGG Research begins ECQDI research into quantitative patterns in earnings calls A second research programme examines the quantitative character of external analyst contributions, extending the focus from participation history to a different observable within the same conversation. In March 2026, SGG Research began work on the programme now known as Earnings Call Quantitative Dynamics and Intensity (ECQDI). The project asks whether the quantitative character of external analysts' contributions to an earnings call contains information that can help an equity researcher distinguish between companies. The programme complements an existing research effort into participation networks. ECPND examines who takes part and how participation history evolves across companies. ECQDI turns attention to the contributions themselves: the use of quantitative content within the discussion. Keeping the two questions separate makes it possible to evaluate whether they describe distinct information rather than two versions of the same factor. ## Why quantitative discussion is worth studying An earnings call gives analysts an opportunity to test their understanding of a company directly with management. Questions may connect reported performance with expectations, assumptions or operational constraints. A request to clarify the scale of a change can have a different character from a broad request for management's outlook. Those differences make the structure of quantitative discussion a potential research input. The hypothesis does not assume that more numerical language is always better. The relevance of a quantitative contribution depends on its context, and industries differ in what they routinely discuss. Research therefore needs to distinguish a recurring company or sector convention from variation that could be useful across investment decisions. ## A measurement that can be examined and repeated The ECQDI approach is a deterministic text measurement. Given the same structured input and definition, the calculation should produce the same result. External analyst contributions are separated from management's statements, and the measurement is interpreted against earlier calls from the same sector. This provides a consistent basis for comparisons without requiring a reader to adopt a discretionary interpretation of each transcript. Reproducibility also depends on timing. An older call can provide context only if its information was available before the observation being evaluated. A historical test needs to preserve that ordering and separate the measurement of the call from the subsequent stock return used to assess it. Source coverage, missing observations and revisions belong in the evaluation rather than being treated as incidental details. ## Testing contribution within an existing model The central portfolio question is whether adding ECQDI changes an existing stock-selection process in a useful way. A paired design starts with a common universe and model ranking, then compares the selection with and without the additional factor. Shared prices, allocation rules and costs help distinguish the effect of the factor's application from a change in the surrounding strategy. Different portfolio policies can produce different answers. An observation that helps select a buy & hold portfolio need not improve a frequently rebalanced account. Selection strength, turnover and the treatment of stocks without a score are therefore part of the research question. The programme is intended to document those differences, including settings in which the factor does not help. ## A separate line of research with a possible joint application ECQDI also creates a way to study whether two observations from the same event complement each other. Participation history and quantitative discussion may lead to different stock rankings. That difference is a starting point for combined-factor research, not evidence on its own that a blended portfolio will perform better. Any combination needs a comparison with each factor individually and with a matched selection rule. The programme broadens SGG Research's work on earnings calls by treating quantitative discussion as an observation in its own right. Its usefulness as an individual factor and as a complement to participation history requires separate comparisons, with the same attention to timing, coverage and portfolio assumptions. ## About SGG Research SGG Research develops alternative data factors for US equity research. Its work examines who participates in earnings calls, how connections evolve across companies, and the quantitative content of external analyst contributions. SGG Research delivers versioned factor scores, historical datasets and documented studies for independent evaluation in customers' own models and workflows. Its products are data analytics and research services, not financial advice. [Subsequent ECQDI whitepaper](https://sggresearch.com/whitepaper/ecqdi)[Subsequent combined-factor study](https://sggresearch.com/whitepaper/combination)[ECPND research background](https://sggresearch.com/whitepaper/ecpnd) This release is available for editorial and automated reuse under our [press material reuse permission](https://sggresearch.com/press#reuse). Credit SGG Research and retain the dates and research context when quoting. [Download release](https://sggresearch.com/assets/press/sgg-research_ecqdi-research-begins.txt?v=3f0a7887d237) ## Media enquiries. For interviews, fact checks or image requests, tell us your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # SGG Research begins research into earnings-call participation networks | SGG Research Source: https://sggresearch.com/press/ecpnd-research-begins [Press & media](https://sggresearch.com/press) Research milestone · March 2025 # SGG Research begins research into earnings-call participation networks The ECPND programme starts from a question beyond the transcript text: can the changing pattern of professional participation add information to US equity research? In March 2025, SGG Research began the research programme that became Earnings Call Participation Network and Dynamics (ECPND). Its starting point was that an earnings call leaves a structured record of professional participation as well as a record of management's statements. The programme asks whether that participation history can provide a useful additional input for US equity models. The distinction matters because participation is a choice made by people with research responsibilities and limited time. External analysts often follow companies or sectors over multiple reporting periods. Their presence and questions may reflect expertise, expectations and investment considerations developed before a call. These characteristics make participation worth studying, while also requiring care about what attendance can actually tell a researcher. ## Following connections across companies and time A single participant list describes one event. Repeated observations create a richer record: an analyst returns to a company, appears across several issuers or changes the pattern of participation over time. Connecting those observations forms a network of companies and named external participants. Its evolution offers a way to examine how professional attention is distributed and how that distribution changes. The research focuses on named external speakers recorded in structured call transcripts. Management representatives are a different part of the conversation, while people who only listen may not appear in the record at all. The resulting network is therefore an observable part of the earnings-call process, rather than a census of everyone paying attention to a company. ## From an observation to a usable research factor A dataset becomes useful to a quantitative researcher when the same definition can be applied consistently across stocks and dates. The programme seeks to turn eligible participation history into a structured factor that can be joined to an equity panel, with a clear distinction between an available value and missing evidence. That requires consistent participant identities, an explicit observation date and a disciplined treatment of historical information. Timing is central to the question. A portfolio decision must use the information eligible at that decision, not a later transcript or a stock outcome that had not yet occurred. Daily factor records also need to distinguish the age of a company's latest call from changes in the surrounding participation history. A day without a new call need not be a day without relevant information. ## Asking whether the extra information helps The investment-research question is incremental: does this observation contribute something useful when added to an existing model? Comparing a factor portfolio with an unrelated strategy would make that difficult to judge. A more informative test holds the underlying stock-ranking model and portfolio assumptions constant, then measures what changes when participation information is allowed to influence selection. A credible evaluation also needs to examine alternatives. Company size, sector, analyst coverage and existing price patterns can affect both participation and returns. Costs, portfolio turnover and missing data may alter the practical result. The programme's purpose is to test the factor against such considerations, rather than assume that a plausible account of professional attention establishes predictive value. ## Building a record that other researchers can question The intended output is a research input with documented use, not an instruction to trade a particular stock. A published study and supplied score history can allow other teams to test whether the observation is useful within their own universes and workflows. Keeping the proprietary calculation separate from the disclosed portfolio application makes it possible to explain the test without distributing the score engine. The programme connects a measurable observation with a question that other researchers can examine: whether participation history improves decisions made with an existing equity model. Documenting the input, its timing and its portfolio application gives that question a consistent basis for further work. ## About SGG Research SGG Research develops alternative data factors for US equity research. Its work examines who participates in earnings calls, how connections evolve across companies, and the quantitative content of external analyst contributions. SGG Research delivers versioned factor scores, historical datasets and documented studies for independent evaluation in customers' own models and workflows. Its products are data analytics and research services, not financial advice. [Subsequent ECPND whitepaper](https://sggresearch.com/whitepaper/ecpnd)[ECPND early access announcement](https://sggresearch.com/press/earnings-call-factors-for-us-equity-research) This release is available for editorial and automated reuse under our [press material reuse permission](https://sggresearch.com/press#reuse). Credit SGG Research and retain the dates and research context when quoting. [Download release](https://sggresearch.com/assets/press/sgg-research_ecpnd-research-begins.txt?v=3f0a7887d237) ## Media enquiries. For interviews, fact checks or image requests, tell us your publication and deadline. [Contact the team](mailto:contact@sggresearch.com?subject=SGG%20Research%20media%20enquiry) --- # Investor relations | SGG Research Source: https://sggresearch.com/investor-relations SGG Research / Investor relations # Investor relations. Building a research-led data business for US equities. Our company profile, evaluation roadmap and opportunities for investment and collaboration. [Discuss a partnership](https://sggresearch.com/investor-relations#contact)[Explore the roadmap](https://sggresearch.com/investor-relations#roadmap) Development outlook · September 2026 ## SGG Research. SGG Research develops alternative data factors for US equity research. ECPND - Earnings Call Participation Network and Dynamics - studies recurring external participation across companies. ECQDI - Earnings Call Quantitative Dynamics and Intensity - studies quantitative patterns in external analyst contributions. They offer two perspectives on the same source material, with separate research records and a published study of their combination. Our work connects structured earnings-call observations, systematic measurement and documented portfolio evaluation. We supply factor scores for integration into customers' own research workflows, supported by historical datasets, methodology notes and API documentation. Our commercial model is recurring access to structured factor data through an authenticated API and historical datasets. ECPND is available in early access. The next stage brings research, reliable delivery and independent customer evaluation together. If the factors continue to add value in new observations and customers' own models, that evidence could support broader institutional adoption and larger licensing relationships. [ECPND whitepaper](https://sggresearch.com/whitepaper/ecpnd)[ECQDI whitepaper](https://sggresearch.com/whitepaper/ecqdi)[Combined-factor research](https://sggresearch.com/whitepaper/combination) ## From historical evidence to live evaluation. Our published studies already provide a substantial foundation of historical testing, documenting positive contributions from ECPND and ECQDI under the portfolio designs examined. We are now building on that foundation with prospective evaluation, independent research partnerships and institutional customer adoption. By the end of 2028, our aim is to turn this research progress into a stronger forward record and establish commercially adopted factors that support profitable applications after costs. We invite investors and partners to help shape that next stage now. Our current plan is to close the initial investor and partner entry window when this development phase is complete; participation on the same basis may no longer be available afterwards. The roadmap below sets out the work and milestones behind that ambition. Roadmap Development milestones Planned research and commercial development through 2028 Planned activity windows · 2026-2028 Planned milestone Milestones and planned work Timing: 2026-2027 | Milestone: Establish the forward record | Planned work: Establish comparable forward runs for both factors. Preserve timestamped scores and fixed rules; test separate and combined portfolios against matched baselines. Timing: By Q3 2027 | Milestone: Over ten additional institutional customers | Planned work: Target over ten additional institutional customers through research-led marketing and direct outreach. Support data evaluation, API integration and conversion to subscriptions. Timing: 2027-2028 | Milestone: Broaden independent evaluation | Planned work: Test other models, exposures and costs with research partners. Evaluate both factors and their combination while preserving the original forward specifications. Timing: By end-2028 | Milestone: Complete the evidence review | Planned work: Review forward and historical evidence for both factors and their combination. Assess persistence, uncertainty and net usefulness to guide institutional expansion. ## A stronger record takes more than time. We plan to complete the evidence review by the end of 2028. This is a milestone for evaluating the accumulated forward record; statistical significance is an outcome to assess, not a result guaranteed by the timetable. The strength of the evidence will depend on the observed contribution, its variability, the amount of genuinely new information and the consistency of results across market conditions. Overlapping portfolios and repeated model seeds do not create independent market histories. We intend to judge progress against evaluation rules declared before future returns are observed, including net contribution, uncertainty, drawdowns, exposures and implementation costs. Independent replication and customer testing can strengthen the assessment. Results may support further investment, require changes or fail to confirm the historical findings. Sustained evidence could materially improve the commercial case; it does not guarantee investment returns or business growth. ## Join the next stage. We welcome conversations with investors, strategic partners and quantitative research teams who want to help develop the business while its prospective record is being built. Potential collaborations include independent validation, access to institutional research environments, data engineering, distribution and commercial development. Joining at this stage offers an opportunity to help shape the research and operating platform before a longer forward record is available. Capital and expertise could accelerate evaluation, delivery and customer integration. Contact us with your background and the kind of partnership you have in mind; investment structures and terms would be discussed individually. [Contact investor relations](mailto:contact@sggresearch.com?subject=SGG%20Research%20Investor%20Relations) This page outlines our current development plans and invites discussions with prospective investors and partners. It is not an offer of securities or financial advice. Roadmap dates and customer milestones are planning targets, subject to research findings and operating progress. Future research results, commercial adoption and investment outcomes remain uncertain. --- # Jobs | SGG Research Source: https://sggresearch.com/jobs SGG Research / Careers # Work with SGG Research. Help build reliable research data and make complex ideas clear. Explore opportunities across data engineering and marketing. 2 open roles Data & Engineering · Open role ## Data Engineer Location to be agreed · Remote / hybrid working Help turn structured earnings-call observations into reliable research datasets. You will work across ingestion, participant networks, factor delivery and the operational systems that make historical and live evaluation reproducible. ### Location and working arrangements - Location to be agreed, with a remote / hybrid way of working. Location options include London, Hamburg (Germany) and Canggu (Bali), with office use arranged with the team. - In-person meetings, workshops and events are arranged according to project needs. Location, timing and any travel requirements are agreed with the team. ### What you will work on - Build and maintain Python pipelines for structured transcripts, market data and daily factor datasets, including incremental updates, corrections and historical backfills. - Model participant and company relationships; implement graph algorithms for traversal, connectivity, centrality and network evolution across observation windows. - Design PostgreSQL schemas, migrations, indexes and efficient queries. Work with graph databases and choose appropriate graph and relational representations for each workload. - Implement identity resolution, provenance, versioning and point-in-time joins so research uses only information available at the relevant decision time. - Operate authenticated data APIs and scheduled jobs with monitoring, retries, idempotency, rate limits and clear failure handling. - Develop validation checks and automated tests for data quality, historical reconstruction and reproducible portfolio evaluation. ### What you should bring - Strong Python and SQL skills, including practical experience with data processing libraries such as pandas or Polars and working with large tabular datasets. - Hands-on PostgreSQL experience: data modelling, query planning, indexing, transactions and performance troubleshooting. - Experience with graph algorithms and a graph database such as Neo4j, including the ability to explain when a graph database is useful and when relational storage is sufficient. - Experience building API integrations and production data pipelines, with careful handling of timestamps, missing values, duplicate records and changing source data. - Confidence with Git, Linux, Docker, automated testing and deployment workflows; an understanding of access control and secure handling of credentials. - Clear technical communication and the ability to turn a research requirement into maintainable, documented software. ### Useful additional experience - Financial market data, corporate actions, trading calendars, quantitative research or backtesting. - Text processing, NLP, speaker attribution or entity resolution for structured transcripts. - Node.js, cloud operations, data observability or browser-based graph visualisation. ### Apply for this role Send a short introduction, your CV or profile, and examples of relevant engineering work. Public repositories are welcome, but a concise description of non-public work is equally useful. Include your location, availability and preferred working arrangement. [Apply by email](mailto:contact@sggresearch.com?subject=SGG%20Research%20application%20-%20Data%20Engineer) Please share only material you are permitted to disclose. We use your details to review and respond to your enquiry. We aim to respond to every application, but may not be able to reply individually. If you do not receive a response, please consider your application unsuccessful. [Privacy Notice](https://sggresearch.com/privacy). --- # Factor API documentation | SGG Research Source: https://sggresearch.com/api-docs [Skip to documentation](https://sggresearch.com/api-docs#api-content) Developer documentation / API v1 # Factor data. Ready to integrate. Retrieve ECPND and ECQDI through one consistent interface. Each request delivers a complete score universe with its calculation version, publication time and data status. [Download OpenAPI](https://sggresearch.com/api-docs/openapi.json)[Manage API keys](https://sggresearch.com/account)OpenAPI 3.1 · contract 1.2.0 Base URL https://sggresearch.com 01 ## Your first request Create a key in [your account](https://sggresearch.com/account) after activating a factor subscription. Set the base URL and keep the key in an environment variable or secret manager. Use the same environment for the website, key and API. Environment ``` export SGG_BASE_URL="https://sggresearch.com" # Set SGG_API_KEY to the key created in your account. ``` GET /v1/scores?factor=ecpnd ``` curl --fail-with-body --silent --show-error --max-time 20 \ "$SGG_BASE_URL/v1/scores?factor=ecpnd" \ --header "Authorization: Bearer $SGG_API_KEY" ``` These examples make one request and do not retry automatically. The Python and Node.js examples use a strict current-only policy; choose a data-status policy appropriate to your research. 1. Retrieve the full snapshot for each licensed factor you need. 2. Check its status, cutoff and version before using the data. 3. Save the original response, join by ticker and apply your own model. Customer data endpoints Method & path: [GET /v1/factors](https://sggresearch.com/api-docs#authentication) | Purpose: List the factors your key can access. Method & path: [GET /v1/scores](https://sggresearch.com/api-docs#scores) | Purpose: Retrieve a complete published score set. Method & path: [GET /v1/scores/history](https://sggresearch.com/api-docs#history) | Purpose: Read historical coverage and the file checksum. Method & path: [GET /v1/scores/history.csv.gz](https://sggresearch.com/api-docs#history-file) | Purpose: Download historical scores; HEAD checks file headers. 02 ## Authentication and factor access Every data endpoint requires Authorization: Bearer . Production keys begin with sgg_live_; sandbox keys begin with sgg_test_. Keep keys in a server or research environment. Do not put them in URLs, notebooks you share publicly or browser-side application code. A key inherits the active factor subscriptions on its account. ECPND and ECQDI are licensed separately. If you subscribe to both, use the same key for two requests and set factor explicitly. Omitting it always selects ECPND, including on an ECQDI-only account. Factor: ecpnd | Delivered field: ecpnd_score | Research definition: Earnings call participation network and dynamics. [Read the paper](https://sggresearch.com/whitepaper/ecpnd). Factor: ecqdi | Delivered field: ecqdi_score | Research definition: Earnings call quantitative dynamics and intensity. [Read the paper](https://sggresearch.com/whitepaper/ecqdi). ### GET /v1/factors No query parameters. Returns only the currently licensed factors, together with their score and history URLs. No active subscription returns 403 subscription_required; an unlicensed factor request returns 403 factor_subscription_required. Discover access ``` curl --fail-with-body --silent --show-error --max-time 20 \ "$SGG_BASE_URL/v1/factors" \ --header "Authorization: Bearer $SGG_API_KEY" ``` Example response - account with both factors ``` { "factors": [ { "factor": "ecpnd", "score_name": "ecpnd_score", "factor_version": "ecpnd-v1", "scores": "/v1/scores?factor=ecpnd", "history": "/v1/scores/history?factor=ecpnd" }, { "factor": "ecqdi", "score_name": "ecqdi_score", "factor_version": "ecqdi-v1", "scores": "/v1/scores?factor=ecqdi", "history": "/v1/scores/history?factor=ecqdi" } ] } ``` Use a separate key for each integration. A key is shown once, stored as a hash and can be revoked in your account. Up to 10 active keys are supported. All keys share account limits. Website sessions and Google sign-in tokens do not authenticate the data API. 03 ## Current scores ### GET /v1/scores Without filters, the response includes every ticker in that factor’s published research universe, sorted alphabetically. There is no pagination or separate call feed to merge. Coverage can differ by factor and over time; join the returned tickers to your own investment universe. All query parameters are optional Parameter: factor | Format / default: ecpnd or ecqdi Default: ecpnd | Behaviour: Selects the licensed factor and score field. Parameter: ticker | Format / default: Uppercase, up to 16 characters | Behaviour: Returns one ticker. Letters, digits, dots and hyphens are accepted. Unknown tickers return 404. Parameter: format | Format / default: json or csv Default: json | Behaviour: Selects the representation. The Accept header does not override it. Parameter: at | Format / default: RFC 3339 timestamp | Behaviour: Selects the latest check recorded by that time. Cannot be future-dated or combined with snapshot_id. Parameter: snapshot_id | Format / default: UUID from an earlier response | Behaviour: Retrieves that factor’s saved score set and original publication metadata. Parameter names and values are case-sensitive. Unknown query fields and repeated scalar parameters are rejected. Do not send a request body. For reconstructed daily history, use the historical download rather than a date parameter. 200 / application/json / illustrative three-row universe ``` { "factor": "ecpnd", "score_name": "ecpnd_score", "universe": "US research universe", "factor_version": "ecpnd-v1", "snapshot_id": "d5c7355c-2b9f-4421-8a13-538e70c2f6cd", "calculated_at": "2026-09-28T11:00:08.000Z", "last_checked_at": "2026-09-28T12:00:06.000Z", "data_through": "2026-09-28T12:00:00.000Z", "status": "current", "prices_through": "2026-09-25", "coverage": { "tickers": 3, "price_tickers_current": 3, "price_tickers_tracked": 3, "pending_calls": 0, "failed_calls": 0 }, "scores": [ { "ticker": "AAPL", "ecpnd_score": 0.64 }, { "ticker": "MSFT", "ecpnd_score": null }, { "ticker": "NVDA", "ecpnd_score": 0.51 } ] } ``` ### Reading the score Each row has exactly two fields: ticker and the chosen score name. Values range from 0 to 1; higher values are more favourable under the factor definition. They are research measurements, not probabilities or return forecasts. null means no eligible value is available. Preserve it: a numerical zero is valid. ECPND can change as eligible participation history evolves, even without another call from the company. Its current participation record expires at 126 US market sessions. ECQDI carries the latest qualified call value for at most 90 calendar days; a later unusable call does not extend that expiry. A day without a call is therefore not automatically a missing-score day. ### CSV and coverage format=csv returns ticker,ecpnd_score or ticker,ecqdi_score, with missing scores left blank. Publication, check, cutoff and status remain available in the X-Factor-* headers. Current CSV files have no daily date column; preserve the headers alongside the file. One ECQDI ticker as CSV ``` curl --fail-with-body --silent --show-error --max-time 20 --get \ "$SGG_BASE_URL/v1/scores" \ --header "Authorization: Bearer $SGG_API_KEY" \ --data-urlencode "factor=ecqdi" \ --data-urlencode "ticker=AAPL" \ --data-urlencode "format=csv" ``` Coverage fields and their scope Field: tickers | Meaning: Rows in the complete snapshot. A ticker filter does not reduce this count. Field: price_tickers_current price_tickers_tracked | Meaning: Market-data coverage at the check. This tracked panel can differ from the score universe. Null means unavailable. Field: pending_calls failed_calls | Meaning: Source-update queue counts. These are not counts of missing scores. Field: scored_tickers | Meaning: ECQDI only: non-null values in the full set. For ECPND, count non-null values in the unfiltered response. Field: pending_factor_calls | Meaning: ECQDI only: call records awaiting factor processing. 04 ## Timing and data status The service checks for changes hourly. It publishes a new score set when relevant inputs change; otherwise it reuses the existing set and records another check. New or corrected calls, newly eligible historical evidence and expiry can affect the result. Processing begins after transcript arrival; publication at the end of a call is not guaranteed. Field: calculated_at | Meaning: UTC publication time of the numerical score set. It stays unchanged when a later check reuses that set. Field: last_checked_at | Meaning: Recorded completion time of the selected check. With snapshot_id, this is the set’s original publication time. Field: data_through | Meaning: Observation cutoff examined by that check. It does not certify that all expected inputs arrived. Field: prices_through | Meaning: Latest stored benchmark price session. Check status and coverage for gaps elsewhere in the tracked panel. In the example above, a set published at 11:00 is reused by the 12:00 check. A newer last_checked_at does not mean the numerical scores changed. All API timestamps are UTC; score dates in historical files are US market sessions. ### HTTP success and data freshness are separate HTTP 200 means a published set was retrieved. Before using it, inspect status and data_through. The status reports one condition in the priority order below; inspect coverage for additional gaps. Status: stale | What it means: For a latest request, the saved information cutoff is more than 75 minutes old. Status: call_source_delayed | What it means: The source reconciliation was not current at the selected check. Status: call_updates_pending | What it means: Call updates were pending or failed, including factor processing where reported. Status: partial_market_data | What it means: The benchmark or tracked price panel was not fully current. Status: current | What it means: The check and tracked inputs were current. Individual scores may still be missing. During a delay, the last complete published set remains available with its recorded metadata. If no first set exists, the API returns 503 score_snapshot_preparing. Explicit historical requests retain their recorded input status; age alone does not mark them stale. ### A daily research workflow Retrieve after the US reporting day, save the response and use only data published before your decision. Retrieve again if you need later arrivals before the next opening. Hourly checks do not require hourly portfolio changes. The published portfolio studies use their stated next-session eligibility and scheduled decisions; they are not tests of hourly execution. See the [ECPND](https://sggresearch.com/whitepaper/ecpnd) and [ECQDI](https://sggresearch.com/whitepaper/ecqdi) papers for each study’s rules. 05 ## Retrieve the observation you used Save the full JSON response for each research decision, including the factor, version, snapshot ID and timestamps. Numerical snapshots are immutable; new data and corrections produce later publications. Your active subscription is still required to retrieve a saved set. - Latest: omit at and snapshot_id to retrieve the most recent completed check. - As of a time: use at to select the latest completed check recorded no later than that timestamp. - Exact score set: use snapshot_id to retrieve those numerical values and the set’s original publication metadata. A snapshot ID belongs to one factor. It cannot retrieve another factor’s data. A set can be reused by many checks, so looking it up by ID will not reproduce the later check time you originally received. Keep the original response if that full decision record matters. Recorded publication history ``` # Replace this example timestamp with your actual decision cutoff. curl --fail-with-body --silent --show-error --max-time 20 --get \ "$SGG_BASE_URL/v1/scores" \ --header "Authorization: Bearer $SGG_API_KEY" \ --data-urlencode "factor=ecpnd" \ --data-urlencode "at=2026-09-28T12:15:00Z" ``` Use UTC timestamps ending in Z, or URL-encode timezone offsets. Do not combine at and snapshot_id. A future time returns 400; no stored publication by the requested time returns 404. Historical CSV dates are not live publication dates. 06 ## Historical data, with a verifiable release ### GET /v1/scores/history Read the metadata before downloading. It specifies the factor version, exact date range, row counts, missing values and SHA-256 checksum. Each factor has its own historical release; its end date does not advance with hourly live updates. Historical release metadata ``` curl --fail-with-body --silent --show-error --max-time 20 \ "$SGG_BASE_URL/v1/scores/history?factor=ecpnd" \ --header "Authorization: Bearer $SGG_API_KEY" ``` Metadata: first_session / last_session | Use: Actual included dates. The nominal window is described by window_years, window_start and window_end. Metadata: sessions / tickers / rows | Use: Distinct dates, distinct identifiers and total records. Coverage need not form a rectangular panel. Metadata: scored_rows / missing_rows | Use: Available values and explicit missing observations. Metadata: availability / universe | Use: Reconstruction convention and coverage definition for this release. Metadata: download | Use: Authenticated relative URL. Retain its query parameters and use the same API origin. Metadata: download_sha256 | Use: Checksum of the compressed file. source_sha256 is separate provenance, not the download checksum. ### GET / HEAD /v1/scores/history.csv.gz The decompressed CSV contains date,ticker,ecpnd_score or date,ticker,ecqdi_score. Dates identify historical decision sessions under the release’s reconstruction convention. Scores are bounded from 0 to 1; missing fields are blank. These are reconstructed historical data, separate from prospectively published live snapshots. 1. Retrieve metadata for the required factor. 2. Download to a temporary file using the returned URL and your Bearer key. 3. Verify the compressed bytes against download_sha256. 4. Only then keep or decompress the file. Save the metadata with it. Python example - stream, verify and save Python 3.9+ / standard library ``` import hashlib import json import os import time from pathlib import Path from urllib.parse import urlsplit from urllib.request import Request, urlopen base = os.environ["SGG_BASE_URL"].rstrip("/") headers = {"Authorization": f"Bearer {os.environ['SGG_API_KEY']}"} factor = "ecpnd" # Or "ecqdi", with that subscription. request = Request(f"{base}/v1/scores/history?factor={factor}", headers=headers) with urlopen(request, timeout=20) as response: release = json.load(response) download = release["download"] parts = urlsplit(download) if parts.scheme or parts.netloc or not download.startswith("/v1/scores/"): raise ValueError("Unexpected download location") target = Path(f"sgg-research_{factor}_history.csv.gz") temporary = target.with_suffix(".gz.part") digest = hashlib.sha256() deadline = time.monotonic() + 150 try: request = Request(base + download, headers=headers) with urlopen(request, timeout=35) as response, temporary.open("wb") as output: if response.headers.get_content_type() != "application/gzip": raise ValueError("Expected a gzip download") while chunk := response.read(1024 * 1024): if time.monotonic() > deadline: raise TimeoutError("Download deadline exceeded") digest.update(chunk) output.write(chunk) if digest.hexdigest() != release["download_sha256"]: raise ValueError("Checksum mismatch; retrieve metadata and retry") temporary.replace(target) target.with_suffix(".json").write_text(json.dumps(release), encoding="utf-8") finally: temporary.unlink(missing_ok=True) ``` Transfers are limited to 120 seconds in total and 30 seconds without socket activity. Discard interrupted files; byte-range resume is not supported. If a release changes between metadata retrieval and download, the checksum will differ. Retrieve fresh metadata and repeat the download. Check size and ETag without spending a download allowance HEAD / file headers only ``` curl --head --silent --show-error --max-time 20 \ "$SGG_BASE_URL/v1/scores/history.csv.gz?factor=ecpnd" \ --header "Authorization: Bearer $SGG_API_KEY" ``` HEAD uses the ordinary request budget but no download allowance. It never returns a response body, including for errors. Inspect status, Retry-After and X-Request-Id. 07 ## Predictable limits and conditional requests Allowances are shared across your account’s keys, factors and historical website downloads. One full-universe request is preferable to one request per stock. The limits below are rendered from this environment’s service configuration. Allowance: Data API requests | Configured limit: 120 per minute · 10,000 per UTC day Allowance: Concurrent requests | Configured limit: 5 per account Allowance: Historical-file downloads | Configured limit: 10 per UTC day · 1 at a time Allowance: Ordinary request deadline | Configured limit: 15 seconds of server processing Allowance: Historical transfer deadline | Configured limit: 120 seconds total · 30 seconds idle Allowance: Request size | Configured limit: 2,048-byte URL · 16 KiB headers · 64 KiB body limit; no GET/HEAD body Minute windows follow UTC clock minutes; daily windows reset at 00:00 UTC. Limits persist across restarts. Authenticated requests admitted to the data handler consume the request allowance, including conditional requests and subsequent errors. Rejected quota checks do not consume an additional allowance. Started file GETs also consume a download allowance, including 304 responses and interrupted transfers. Response headers: X-RateLimit-* | Interpretation: Minute request budget. Response headers: X-DailyLimit-* | Interpretation: UTC daily request budget. Response headers: X-DownloadLimit-* | Interpretation: Daily file-download budget, where a download quota is checked. Response headers: Retry-After | Interpretation: Minimum delay in seconds before retrying a limited or temporarily unavailable request. Each budget family has Limit, Remaining and Reset suffixes. Reset is a Unix timestamp in seconds. Headers may be absent if the request was rejected before the relevant quota check. Account management and authentication also have separate protective limits. ### ETag and HTTP 304 Save the ETag from a successful score or file response. Send it in If-None-Match on the next GET to the same URL with the same account. A 304 response has no body: keep your cached data and read the returned metadata. Authentication, subscription access and request limits are still checked. Score ETags include check metadata and freshness status, so a new ETag does not necessarily mean different score values. Use snapshot_id to identify the numerical set. An ETag is not a historical-file checksum. Score-response headers - X-Factor-Name: selected factor. - X-Factor-Snapshot: numerical score-set ID. - X-Factor-Calculated-At: score-set publication time. - X-Factor-Last-Checked-At: selected check time. - X-Factor-Data-Through: examined input cutoff. - X-Factor-Status: data status. The selected factor’s X-ECPND-* or X-ECQDI-* aliases are also present. Prefer the generic names for integrations supporting both products. These headers describe score responses, not historical-file downloads. 08 ## Errors you can handle explicitly Application errors return a machine-readable error, a readable message, a service-generated request_id and a retryable flag. The request ID also appears in X-Request-Id. Branch on codes or HTTP status, not message wording. 429 / illustrative application error ``` { "error": "rate_limit_exceeded", "message": "The request limit has been reached. Wait before retrying.", "request_id": "21c8a620-6710-48c0-a814-743a8eac8f7b", "retryable": true, "retry_after_seconds": 23 } ``` Status: 400 | Typical codes: invalid_request invalid_factor use_at_or_snapshot_id future_observation_requested | Next action: Correct the parameters. Validation errors can include details with the field and failed rule. Status: 401 | Typical codes: unauthorized | Next action: Check the key, environment and Bearer header. Do not retry unchanged. Status: 403 | Typical codes: factor_subscription_required subscription_required insufficient_scope | Next action: Check the selected factor and account access. Status: 404 | Typical codes: ticker_not_found score_snapshot_not_available | Next action: Check the ticker, factor, saved ID or requested time. Status: 405 | Typical codes: method_not_allowed | Next action: Use a method listed in the Allow header. Status: 429 | Typical codes: rate_limit_exceeded daily_limit_exceeded download_limit_exceeded concurrent_request_limit | Next action: Wait at least Retry-After. Reduce concurrency or wait for the budget reset. Status: 500 | Typical codes: internal_error | Next action: Preserve the request ID. Investigate persistent failures with support. Status: 503 | Typical codes: service_unavailable request_timeout score_snapshot_preparing historical_export_preparing | Next action: Retry safe reads after the indicated delay, within your workflow deadline. Transport limits may also produce 408, 413, 414, 415 or 431. Proxies and network failures can return non-JSON responses. Check status and Content-Type before parsing; HEAD responses have no body. ### A bounded retry policy 1. For normal GET requests, use a client timeout slightly longer than the 15-second server deadline; 20 seconds is suitable for the default configuration. 2. Retry transient connection failures and safe 429/503 reads with exponential backoff and random jitter. Never retry sooner than Retry-After. 3. Bound attempts, for example to five, and stop at your workflow deadline. A daily budget reset may be hours away. 4. Preserve the last accepted dataset separately. A failed request or partial download must never become an empty or zero-filled score set. 09 ## Contract, reproducibility and support The [OpenAPI 3.1 document](https://sggresearch.com/api-docs/openapi.json) defines request parameters, factor-specific response schemas, examples, headers and errors. It is public and can be imported into compatible API tools or client generators. Its server entry targets this environment; use development credentials only with the development API. - API path version: /v1 identifies the interface. - Contract version: 1.2.0 identifies this documentation edition. - Factor version: factor_version identifies the calculation definition. - Snapshot ID: snapshot_id identifies a saved numerical result. Parse the fields your integration needs and tolerate additional metadata. Treat an unknown status conservatively until reviewed. Preserve missing values, source responses and historical-release checksums with your own model inputs. For [integration support](https://sggresearch.com/terms#contact), include the environment, endpoint, approximate UTC time, HTTP status and request ID. Never send an API key or password. Your [dashboard](https://sggresearch.com/account) provides key management, recent request activity, subscriptions and authorized historical downloads. This API provides data analytics and research inputs. This product and service are not financial or investment advice. Independently verify data consistency and suitability before using it in your models or decisions. [Service terms](https://sggresearch.com/terms#research-use). --- # Terms of Service | SGG Research Source: https://sggresearch.com/terms [Skip to content](https://sggresearch.com/terms#legal-content) SGG Research / Legal # Terms of Service Terms for our data analytics and research service, factor datasets and API subscriptions. Effective 30 September 2026 · Version 2026-09-30.2 Need help? [Contact our support team](https://sggresearch.com/terms#contact) ## 1. Who provides the service SGG Research is a brand of DREAVERR Digital Solutions LLP, 1103 - 11871 Horseshoe Way, Richmond, British Columbia, Canada V7A 5H5 ("SGG Research", "we", "us"). These Terms govern our data analytics and research service, including the website, factor datasets, research downloads and factor API. They apply to the person or organisation using the service ("you"). If you act for an organisation, you must be authorised to accept them on its behalf. Our service is intended for professional research and business use by adults. Review these Terms before downloading data or subscribing. Any order-specific licence we agree in writing forms part of your agreement. Mandatory rights under applicable law remain unaffected. ## 2. Data analytics and research service SGG Research provides standardised factor datasets and quantitative research based on earnings-call observations. ECPND measures participation-network patterns and their evolution across companies. The scores are analytical inputs that customers can examine, backtest and combine with their own data and models. The ECPND early access subscription delivers company-level factor scores through an authenticated API, with score dates, calculation and publication metadata, version identifiers, historical score downloads, API documentation and integration support. Coverage and missing values are explained in the [API documentation](https://sggresearch.com/api-docs) and the [ECPND whitepaper](https://sggresearch.com/whitepaper/ecpnd). The service checks for source changes hourly. A check does not necessarily produce a new score set. Arrival of source data, eligible prices and processing completion determine when updated values become available. This is not an exchange feed or a promise of a particular delivery delay, uninterrupted availability or a score for every security on every date. Integration support concerns use of our API; bespoke model development or consulting is not included. The free research package contains the published historical score sample, study results, cohort comparisons and a worked selection example. Its two-year sample ends eight weeks before the package release date. ECQDI material included as additional research is separate from the ECPND subscription. Access to ECQDI or a combined product is included only if expressly stated in your order. ### 2.1 Data sources and preparation Our research draws on our own observations and research records, publicly accessible earnings-call materials and structured source datasets. Materials may be obtained directly or through data providers and can include company investor-relations publications, call recordings, transcripts and related corporate disclosures. Collection and preparation may be manual, semi-automated or automated, depending on the source and processing task. We identify the company and call date, extract professional names, affiliations and speaker roles, and organise the observations into participant lists and attributed contributions. This includes linking relevant quotations or excerpts to the speaker and call recorded in the source, normalising recurring identities and connecting observations across companies and dates. These structured records support our participation networks, quantitative analysis and derived factor datasets. A participant list describes identifiable speakers or participants recorded in the available material; it is not a register of everyone who listened to a call. Attribution reflects the source and our processing and can require correction. A transcript excerpt is not a guarantee of the exact words spoken in the audio. Where precise wording or identity matters, verify it against the original recording or an authoritative source before further use. ### 2.2 Source rights, quotations and attribution Use of source material is subject to the rights applicable to that material, including our own rights, any relevant permission or licence, and statutory exceptions where their conditions are met. These may include quotation rights and fair dealing for research, criticism or review under applicable law. Any reliance on an exception must be justified by the particular purpose, extent and manner of use; describing a service as research does not itself establish that an exception applies. Where we reproduce quotations, the extent used must be appropriate to the supporting research or analytical purpose, with source and author acknowledgements as required by applicable law. Public availability does not by itself put material in the public domain or permit unrestricted copying or redistribution. Copyright, database rights and other rights in source materials remain with their respective holders. Your subscription provides the factor data and analytical outputs specified in your order. It does not transfer ownership of underlying recordings, transcripts or publications, or grant additional rights to republish them. Naming a company or professional, or attributing a contribution, does not imply their endorsement of our service. For a rights or attribution concern, [contact us](https://sggresearch.com/terms#contact) with the affected record, source and details of the concern. Our [Privacy Notice](https://sggresearch.com/privacy#information) separately explains the handling of identifiable professional information. ## 3. Data licence and permitted use ### 3.1 One legal entity per licence The data, factor scores, API responses and historical downloads are licensed, not sold. Subject to payment and these Terms, we grant a non-exclusive, non-transferable, non-sublicensable licence for the factor identified in your order to one legal entity (the "Licensee"). The Licensee must be identified by its full legal name in the order, billing information or our written licence confirmation before organisational use begins. An account holder acts as its authorised representative; an email domain or a payment on another organisation's behalf does not extend the licence. "Internal use" means use within that single legal entity. Its employees and officers may use the data for its internal work, subject to access controls and confidentiality. A branch of the same legal entity is covered. Parent companies, subsidiaries, sister companies, affiliates, joint ventures and other separately constituted entities are not covered, even if they share ownership, staff, offices or IT systems. Each additional legal entity that accesses or uses the data requires its own licence. Any wider arrangement must be expressly agreed with us in writing. ### 3.2 Internal use, copying and storage The Licensee may retrieve, download, duplicate, cache, store and back up the licensed data in its controlled systems. Use is permitted solely for the Licensee's own internal business purposes within the licensed legal entity, including internal research, backtesting, model development, portfolio analysis and investment decision-making. The Licensee may calculate derived values and develop models for those internal purposes, but may not turn the licensed data or scores into products or services for third parties as described in Section 3.3. Internal copies do not require another licence, and the standard licence does not charge per employee; API request and technical limits still apply. An investment manager may use the data internally when managing client accounts or funds within its licensed AUM limit. That does not give a client, fund, adviser or other entity access to our data or credentials. This permits the Licensee's own internal decision-making in managing those accounts; it is not permission to supply data, analytics or model services to clients. Necessary execution instructions to brokers and ordinary account statements reporting actual holdings, transactions and account performance are permitted, provided they do not disclose licensed data, scores or derived analytical outputs. This narrow operational permission does not authorise a separately supplied research product, model portfolio, index, benchmark or scoring service. Cloud hosting, backup and other technical processors may handle the data solely on the Licensee's instructions, under confidentiality and security obligations, without independent analytical, training, distribution or commercial-use rights. They must not retain the material for their own purposes or use it to train shared or third-party models. This is a limited infrastructure permission, not an additional user licence. External researchers, consultants or organisations performing their own analysis with the data require separate permission and licensing. ### 3.3 No redistribution, derived products or external services - No onward supply: do not sell, resell, publish, distribute, sublicense, lend or otherwise make the data, scores or API responses available to third parties, including another group company. This applies to files, feeds, dashboards, shared repositories and access through an intermediary or proxy. - No derived products or services: do not create, offer, sell, license, publish or otherwise provide any product or service for third parties that incorporates, is calculated from, is trained on, or materially relies on the licensed data or scores. This includes derived datasets, adjusted or combined scores, rankings, ratings, indices, benchmarks, model portfolios, research reports, newsletters, dashboards, APIs, analytics services and models or model outputs supplied to others. The restriction applies whether supplied for payment or free of charge, and whether or not the original records can be recovered or the output competes with our service. - No avoidance through transformation: aggregation, anonymisation, rescaling, blending with other inputs, model training or removal of source labels does not grant external-use rights. Internal derived values, trained models and their analytical outputs must remain within the licensed entity. Do not upload the material to tools that obtain independent rights to reuse, redistribute or train on it. - No external research distribution: the standard licence does not permit publication or external delivery of customer-generated backtests, evaluation summaries or other research outputs derived from the licensed data, including aggregated results. You may link to our public papers and downloads. Any additional publication, redistribution or derived-product permission requires a separate written agreement with SGG Research before the activity begins. - Protect credentials: API keys belong to the licensed account and may be used only by its authorised internal users and integrations. Do not transfer or disclose keys outside the Licensee, publish them, or let another legal entity use them. Keep personal login credentials private, use separate keys for integrations where practical, and promptly revoke exposed keys. - Respect access controls: do not bypass authentication, request limits or factor entitlements, interfere with the service, or access another customer's information. The licence does not grant access to our source code or proprietary score-construction method. These restrictions concern use of our licensed inputs and outputs derived from them; they do not claim ownership of independently developed materials created without using those inputs. The limited account-management and technical-processing permissions in Section 3.2 remain applicable. Our separate permission for designated press materials also remains applicable, but does not extend to score files, API responses or customer-created derived products. Disclosure strictly required by applicable law or a binding regulatory or court order is permitted to the required extent, with notice to us where lawful and reasonable efforts to preserve confidentiality. Mandatory legal rights remain unaffected. ### 3.4 Standard licence: up to USD 250 million AUM The standard early access subscription covers a Licensee with Licence AUM of no more than USD 250,000,000. Above that limit, a separately agreed enterprise licence and individual quotation are required before subscribing or using the paid data. Contact us for a [custom licence offer](mailto:contact@sggresearch.com?subject=SGG%20Research%20enterprise%20licence). For this agreement, "Licence AUM" is the combined net asset value, including cash, of all investment portfolios and mandates the Licensee manages, sub-advises or provides ongoing investment advice for, plus its proprietary investment capital. It includes all its strategies and accounts, not just those using our factor. Count the same underlying assets once and use portfolio net asset values rather than leveraged gross exposure or derivative notional amounts. This is a contractual pricing measure, not a regulatory AUM definition. Assess eligibility using the most recent normal month-end valuations and review it at least monthly, converting other currencies to USD on a consistent month-end basis. A material new mandate or acquisition must also be considered when it takes effect. A research-only business with no managed, advised or proprietary investment assets may report zero; that does not authorise an external data, model or research-distribution service. If Licence AUM exceeds the limit stated in your licence, notify us in writing without undue delay and in any event within three calendar months of the date the limit is first exceeded. Monthly review remains your responsibility. State the licensed entity, valuation date, reported AUM and date of the exceedance. This obligation applies to the standard USD 250 million limit and any individually agreed limit. For an existing standard subscriber, exceeding USD 250 million requires a mutually agreed individual licence. The existing terms permit a temporary transition of up to three calendar months from the first exceedance, during which you must notify us and seek agreement on the revised scope and price. This is not a permanent extension of the early access allowance. Continued use above the limit after that period requires a signed or otherwise expressly accepted written licence, or a written transition extension. If no agreement is reached, use beyond the licensed scope must cease and we may end ongoing delivery under Section 7. There is no automatic upgrade, retrospective AUM surcharge or obligation on either party to accept proposed enterprise terms. Any prepaid service period we end early without a separate material breach is handled under Section 7. ### 3.5 AUM reporting and proportionate verification Provide accurate entity and Licence AUM information on application and with any required update. Report AUM in USD, rounded to the nearest USD 1 million, together with the valuation date and the basis of calculation, including the exchange-rate source for non-USD assets. Licence eligibility is determined by the underlying unrounded amount: rounding must not conceal a limit exceedance. Buying several subscriptions does not combine their limits into a larger allowance. We may request confirmation of the licensed entity, Licence AUM and compliance with the entity and AUM scope no more than twice in any rolling twelve-month period. Requests must be reasonable, proportionate and specific. You must provide sufficient information and supporting evidence to make the declaration understandable and verifiable, normally within 30 calendar days of a written request, or another reasonable period agreed with us. Clarifications concerning the same records form part of that request; a new valuation period or materially expanded scope counts as a new request. This limit does not remove your duty to notify us of an exceedance. Suitable evidence may include a confirmation from an authorised finance or compliance officer, relevant management-account extracts, published regulatory filings, or an administrator's or auditor's confirmation. Redacted or aggregated documents are acceptable where they allow the relevant totals and entity scope to be checked. We do not routinely require client identities, individual holdings, trading strategies, credentials or access to your systems. Where disclosure would breach a legal or confidentiality obligation, tell us and agree a reasonable alternative form of evidence. We treat non-public verification material as confidential and use it only for licence administration, compliance and related disputes. Access is limited to personnel and professional advisers who need it and are bound by confidentiality, except where disclosure is required by law. Personal information is handled under our Privacy Notice. If requested verification remains unavailable, we will explain the deficiency and allow a reasonable opportunity to remedy it before considering suspension or termination under Section 7. ### 3.6 Retained data and free evaluation You may retain lawfully received datasets, copies and snapshots after ordinary cancellation for internal historical research, backtesting, reproducibility and record keeping. Internal analytical use remains subject to the same entity scope, applicable AUM limit and redistribution restrictions. Retention alone does not entitle you to new data, updates, API access or a transfer to another entity. Confidentiality, internal-use, non-redistribution and derived-product restrictions survive the end of the subscription and continue to apply to retained copies and outputs derived from them. The free research package may be downloaded and used for internal evaluation and backtesting, including by organisations above the standard AUM limit considering an enterprise licence. It is not a subscription or a licence to an ongoing production feed, external distribution or third-party data service. The same internal-evaluation, non-redistribution and derived-product restrictions apply to the free score sample and other research-package datasets; a free download does not grant external-use rights. SGG Research and its licensors retain ownership of the service, documentation and proprietary methodology. You retain ownership of your own models, code and analysis, but ownership does not grant a right to distribute, license or commercialise material derived from our licensed inputs outside the permitted internal use. A written enterprise licence may expressly agree a different scope. ## 4. Price, billing and renewal The advertised ECPND subscription is USD 1,850 per month, billed as USD 5,550 every three months. The monthly figure is a price equivalent, not a monthly billing option. Applicable taxes are shown before payment. Unless your order states otherwise, the subscription renews automatically for successive three-month periods until cancelled. Access arrangements and the product being purchased are confirmed before billing. Where you purchase through Paddle, Paddle is the authorised reseller and merchant of record for that transaction. Its [Buyer Terms](https://www.paddle.com/legal/buyer-terms) govern the payment relationship; these Terms govern our product licence and service. We do not collect your full payment-card number or card security code. Failed payments may interrupt access. We do not impose automatic overage charges for exceeding API request limits or automatically move you to a higher AUM tier. A change of product, licensed scope or price requires the applicable order or express agreement before billing. ### 4.1 Limited early access admission Early access is a limited allocation of licences, not an unlimited offer. The allocation is managed internally and availability is shown at the point of subscription. Admission of new early access subscribers pauses when either the available licence allocation is exhausted or aggregate Licence AUM reaches USD 1,000,000,000, whichever occurs first. An order that would exceed the remaining AUM capacity cannot be admitted on the standard early access offer. An enquiry, account registration or incomplete checkout does not reserve a licence. For the aggregate AUM threshold, we use the latest declared and, where requested, verified Licence AUM of admitted early access Licensees, counting the same legal entity once even if it subscribes to more than one factor. This is actual declared Licence AUM, not the sum of the maximum allowances attached to licences. The threshold is an admission limit, not a statement that this amount is invested using our factors. Closing admissions does not terminate or reprice an existing compliant subscription. Later cancellations or reductions in AUM do not automatically reopen the offer. ### 4.2 Existing early access terms continue For a subscription purchased as early access, the agreed early access price, quarterly billing arrangement and licensed factor scope continue for as long as that same subscription remains uninterrupted and within its agreed licence limits. For the standard licence, continued eligibility means Licence AUM remains at or below USD 250 million, subject to the temporary transition in Section 3.4. Closure of new admissions, moving the factor into regular commercial availability, changing its marketing label or raising the price for new customers does not by itself change those terms for your existing subscription. The protected price excludes applicable taxes and any additional product, expanded AUM allowance or other change you expressly agree to purchase. It does not include all future factors, a perpetual API entitlement, a fixed score methodology or an obligation to operate the service indefinitely. Ordinary data, score-version and API updates remain subject to Section 7. The early access arrangement ends when the subscription actually ends: after cancellation takes effect, after a lapse for non-payment following any applicable payment-recovery period, or upon termination under these Terms. A cancellation request does not remove the agreed terms during the remaining paid period. A later new subscription is subject to the then-available offer unless we agree otherwise in writing. Transfer to a different legal entity or an AUM upgrade requires its own agreed licensing arrangement. ## 5. Cancellation and refunds You can cancel future renewals at any time before the next renewal. Access continues until the end of the paid billing period unless the subscription is refunded or otherwise lawfully ended under these Terms. Cancellation alone does not create a right to a refund of the current quarter. Our separate obligations if we discontinue prepaid service are stated in Section 7. For a Paddle purchase, use the manage-subscription link in your receipt or [Paddle's customer support](https://paddle.net/). For an account arranged directly with us, use the cancellation control in [your account](https://sggresearch.com/account) or contact us. Our [Refund Policy](https://sggresearch.com/refund-policy) explains the applicable refund process. It does not limit statutory withdrawal, cancellation or refund rights. ## 6. Research purpose and no financial advice This product and service are provided for data analytics and research purposes and do not constitute financial or investment advice. Factor scores, datasets, visualisations, documentation and studies are general analytical information. They are not recommendations or instructions to buy, sell or hold any security, and they do not assess whether an investment is suitable for you. The service does not consider your financial circumstances, objectives or risk tolerance. It does not establish an advisory or fiduciary relationship. We do not execute customer orders, hold investment funds or manage customer portfolios through this subscription. A factor score is neither a probability of a price increase nor a predicted percentage return. The published portfolio rules and selection examples describe research experiments and ways to evaluate the supplied data. Backtests reflect the data, timing rules and assumptions disclosed in each study; historical return differences are not a live track record or a guarantee of future results. You independently assess the data and its suitability for your research, determine any use in your own models and remain responsible for your investment decisions, execution and risk controls. Any investment decisions should take account of your own analysis and, where appropriate, advice from an appropriately qualified professional. ## 7. Service operation and changes We may correct source observations, publish new score versions and maintain the API. Use the timestamps and version fields to identify the records used in your research. We aim to give reasonable notice of material API or product changes; urgent security measures and corrections may require immediate action. Early access does not include a contractual uptime or response-time guarantee. Computer systems and automated data processing can fail. Source records, calculations, storage, transmission and integrations may contain errors, omissions, duplicates, incorrect identifiers or timestamps, stale values or corrupted records. Software defects, infrastructure failures and third-party outages can also delay updates or interrupt access. Such problems may occur despite validation and monitoring, and may not be detected immediately. A successful API response or a valid file format does not establish that every underlying value is correct or suitable for your intended use. We may restrict access where reasonably necessary to address security incidents, unlawful use, non-payment or a material breach, including unauthorised redistribution or credential sharing. Where practical, we will explain the issue and allow it to be resolved. Urgent legal or security circumstances may require immediate action. ### 7.1 Discontinuation and prepaid access We may discontinue a factor or the service for commercial, technical or legal reasons. For a planned permanent discontinuation, we will give at least 30 days' notice where reasonably possible. Immediate or shorter-notice action may be necessary where continued operation would be unlawful or create a material security risk. The continuation of early access terms does not guarantee that a product will remain available indefinitely. We will stop future renewal charges for the discontinued service. If we end paid access before the prepaid period expires for reasons other than your material breach, we will arrange a proportionate refund for the unused service period through the merchant of record, including Paddle where applicable. This does not reduce any greater refund or other rights required by law or the applicable purchase terms. Permitted retention of previously delivered data is governed by Section 3.5. ## 8. Data validation, warranty exclusions and liability ### 8.1 No guarantee of accuracy or uninterrupted operation Except for an express commitment in your written agreement and to the extent permitted by law, the service, API, datasets, scores, downloads and research materials are provided "as is" and "as available". We disclaim express and implied warranties of accuracy, completeness, currency, reliability, merchantability and fitness for a particular purpose. We do not guarantee uninterrupted or error-free operation, compatibility with your systems, detection or correction of every defect, or any analytical, commercial or investment outcome. Quality checks, historical verification and published research results do not constitute a guarantee that an individual record, future delivery or downstream result is correct. This clause remains subject to the rights and obligations preserved in Section 8.5. ### 8.2 Your obligation to check the data Before using the data in further processing, analysis, models, reports or decisions, you must perform your own checks for consistency, plausibility, completeness and suitability for the intended use. The depth of those checks should reflect the consequences of an error. In particular, you must: - Check identifiers, coverage, dates, timestamps, data age, version information, value ranges, missing observations and any reported delivery limitations against the documentation and your expected inputs. - Investigate material anomalies and compare critical inputs with appropriate independent records or other checks before relying on them. Do not assume that a successful request, a well-formed response or a previous valid delivery establishes correctness. - Test your integrations and downstream calculations, and maintain appropriate controls for missing, stale, inconsistent or unexpectedly changed data. Keep the snapshots and versions needed to reproduce your own work. - Suspend reliance on affected records when you identify a material inconsistency or receive a correction notice, investigate the issue and contact support where clarification is needed. You are responsible for your own processing, model assumptions, interpretation and decisions. Our checks do not replace yours. Failure to validate does not waive a mandatory legal right, but we are not responsible, to the extent permitted by law, for losses caused by your failure to apply these controls or by continued use of data you know to be materially defective. ### 8.3 Excluded losses and claims Subject to Section 8.5 and to the fullest extent permitted by law, we exclude liability, and claims against us, for: - Investment or trading losses, lost profits, revenue, anticipated savings, business opportunities or goodwill arising from use of or reliance on the data, scores or research. - Indirect, incidental, special or consequential loss, including downstream disruption, loss or corruption of data, and the cost of replacement data or services. - Loss caused by your own modifications, incorrect integration, unauthorised use, or models, systems and decisions outside our control, including claims brought against you by your customers or other third parties as a result of those activities. These exclusions apply whether a claim arises in contract, tort, negligence or otherwise, and whether the alleged loss follows a data error, omission, delay, correction, service interruption or other failure. They apply only to the extent permitted by applicable law and do not remove the delivery or refund obligations preserved below. ### 8.4 Limit on remaining liability Where liability is not excluded above, and to the extent legally permitted, our total aggregate liability for damages and all other claims arising from or relating to the service shall not exceed the full amount of the payments you made for that service during the twelve (12) months immediately preceding the event giving rise to the claim. This includes payments made through an authorised reseller such as Paddle. The maximum compensation is therefore limited to an amount equal to reimbursement of those twelve months of payments. This is one combined ceiling for all claims, not a separate allowance for each claim, incident, record or API request. It does not create an automatic right to a refund or compensation and remains subject to the exceptions and mandatory rights in Section 8.5. ### 8.5 Rights and obligations that remain protected Nothing in these Terms excludes or limits liability for fraud, fraudulent misrepresentation, wilful misconduct or gross negligence, or liability for death, personal injury or any other matter where exclusion or limitation would be unlawful. Mandatory statutory warranties, consumer protections and other non-excludable rights remain unaffected. These provisions do not release us from an express written commitment, the obligation to provide the purchased service, or any applicable remedy for non-delivery, including refunds required by law or the applicable purchase terms. They do not alter Paddle's obligations or your rights under its Buyer Terms and Refund Policy. ## 9. Privacy, updates and governing law Our [Privacy Notice](https://sggresearch.com/privacy) explains how we handle account, usage and research-source information. The version stated on this page identifies these Terms. New orders accepted under this version use its licensing conditions; it does not retrospectively remove rights under an earlier accepted agreement or a separate written licence. We may update these Terms as the service changes. We will give active customers at least 30 days' notice of material changes where reasonably possible, unless an earlier change is required by law or necessary to address an urgent security issue. Any consent required by law will be obtained. General updates do not override the protected early access price and licence arrangement in Section 4.2 without your express agreement. These product Terms are governed by the laws of British Columbia and the applicable federal laws of Canada. This choice does not remove protections or rights to bring proceedings that apply mandatorily in your place of residence. If a provision is unenforceable, the remaining provisions continue to apply. ## 10. Contact For product access, licences, account help or legal questions, contact our shared support team and include "SGG Research" in your message. DREAVERR Digital Solutions LLP Trading as SGG Research 1103 - 11871 Horseshoe Way Richmond, British Columbia, Canada V7A 5H5 [contact@sggresearch.com](mailto:contact@sggresearch.com?subject=SGG%20Research%20support) --- # Privacy Notice | SGG Research Source: https://sggresearch.com/privacy [Skip to content](https://sggresearch.com/privacy#legal-content) SGG Research / Legal # Privacy Notice How SGG Research handles account, technical and research-source information. Effective 30 September 2026 Need help? [Contact our support team](https://sggresearch.com/terms#contact) ## 1. Who is responsible DREAVERR Digital Solutions LLP, trading as SGG Research, is responsible for personal information processed to operate this website, data analytics and research service, and customer accounts. Our address is 1103 - 11871 Horseshoe Way, Richmond, British Columbia, Canada V7A 5H5. For privacy questions or requests, write to [contact@sggresearch.com](mailto:contact@sggresearch.com?subject=SGG%20Research%20privacy), marked for the privacy contact. This notice covers visitors, customer representatives, people contacting us and professionals whose publicly recorded earnings-call participation appears in our research inputs. Payment providers describe their own processing separately. ## 2. Information we handle - Account and contact information: name, business email, organisation information you provide, support correspondence and subscription status. - Access and security information: password hashes, hashed session and API-key credentials, key labels and prefixes, expiry and revocation dates, and account-access events. Passwords are not stored in plain text; newly created API keys are displayed once. - Optional Google sign-in: your Google account identifier, verified email address and profile name, when you choose this login method. We do not request access to your Google email, files or contacts. - Technical information: IP addresses used to deliver requests and prevent abuse, request identifiers, requested routes, response status, timing, quota counters and operational error records. Infrastructure providers may keep additional connection logs. - Purchase information: the product, billing period, price, payment or cancellation status, and transaction references supplied by a payment provider or through correspondence. Full card numbers and card security codes are handled by the payment provider, not our factor API. - Licensing information: the licensed entity's legal name, the accepted terms version, declared AUM to the nearest USD 1 million, valuation dates, calculation basis and proportionate supporting evidence you provide for licence eligibility. We do not require client-level holdings for routine licence confirmation. - Research-source information: professional names, affiliations, speaker roles, company identifiers, call dates, participation records and contributions, including relevant quotations or excerpts and their source attribution. These observations support company-level research factors and the network visualisations on our site. Information comes from you, your organisation, use of our service, service providers and earnings-call source records. The public research package can be downloaded without providing an email address or creating an account. A download still involves the ordinary technical information needed to serve and secure a web request. Research-source information comes from our own observations and research records, publicly accessible company disclosures and earnings-call materials, and structured datasets supplied by data providers. Collection and preparation may involve manual review, semi-automated extraction or automated ingestion and processing. The professionals concerned may not have supplied their information directly to SGG Research. ## 3. Why we use it We use account, subscription and licensing information to provide access, authenticate customers, verify licence eligibility, deliver data and answer support requests. We use technical and security information to enforce request limits, investigate errors and protect the service. Purchase records support billing, accounting and the handling of cancellations or disputes. Professional participation information is used to create participant lists, attribute relevant contributions and quotations to their recorded speakers and calls, normalise recurring identities and analyse earnings-call patterns. It supports research datasets and displays of connections between companies and external speakers. We do not use the service to make employment, credit or other legally significant decisions about those individuals. Where the GDPR or UK GDPR applies, our bases are performance of a contract or steps requested before a contract; legitimate interests in operating a business research service, communicating with business representatives and maintaining security; and compliance with legal obligations. Research on publicly recorded professional activity relies on our legitimate interest in producing and explaining company-level financial research, subject to the rights and interests of the people concerned. Where consent is required, we obtain it and allow it to be withdrawn. Under other applicable privacy laws, we rely on the consent or exceptions those laws require. ## 4. Who receives information Hosting, database and communications providers process information needed to operate the service. Our application and database infrastructure uses Railway. Personnel and service providers receive access according to their operational responsibilities. Professional names and participation links shown in a public network view are visible to visitors to that view. Where our public research includes attributed excerpts, the associated professional names, roles and source references may also be visible. For purchases made through Paddle, Paddle acts as merchant of record and handles transaction, tax, fraud-prevention and payment-support information under its own [Privacy Notice](https://www.paddle.com/legal/privacy). We receive the information needed to provide and administer your access. Contact Paddle directly about the payment information it controls. We may also disclose relevant information to professional advisers or authorities where necessary for legal obligations or claims, or in a business transfer subject to appropriate protections. We do not sell customer contact information or share it with advertising networks for targeted advertising. ## 5. Cookies and browser storage The customer area uses a first-party cookie named sgg_session to keep you signed in. It is set after a successful login, expires after 12 hours and is cleared when you log out. It is used for authentication, not advertising. Blocking it prevents account login, but does not prevent access to the public papers and legal pages. Checkout uses an essential sgg_checkout cookie for up to two hours. Google sign-in uses sgg_oauth for up to ten minutes and sgg_registration for up to twenty minutes while registration awaits payment. These cookies protect the login and checkout flow and are not used for advertising. The current SGG Research site does not load advertising trackers or visitor-analytics cookies. Its wordmark fonts are hosted locally. If you follow an external link or open a payment provider's checkout or portal, that provider's privacy and cookie information applies to its service. We will update this notice and seek consent where required before introducing optional tracking. ## 6. How long information is kept Account information is retained while access is active and afterwards only as needed for support, security, legal claims or required business records. Cancelling a subscription does not itself delete the account or records needed to document the transaction. You can request account deletion through our privacy contact. Session credentials stop working after 12 hours; unused activation links expire after 48 hours. Expiry prevents use and is not a statement that every associated database record has already been deleted. Temporary rate-limit records are periodically removed after their expiry. Account-access records, support messages and infrastructure logs have retention periods determined by their operational, security and legal purpose. Customer-visible API request details are retained for 180 days and then removed by scheduled maintenance. An unpaid registration is provisional: its contact details and credential hash are removed after confirmed checkout cancellation, or following the two-hour expiry once the payment provider confirms that no payment completed. Provider outages can delay that check. Payment providers retain their own transaction records under their own policies. Historical research observations and publication records may be retained to reproduce a study, identify corrections and verify data versions. Requests concerning identifiable professional information are assessed individually, including whether correction, removal or a restriction is appropriate. Information subject to legal retention or a dispute may need to be preserved for longer; deletion from backups follows their retention cycle. ## 7. Security and international processing We use access controls, credential hashing, encrypted connections on the hosted service and request limits to protect information. Credentials are excluded from normal application logging. No system can eliminate every security risk; notify us promptly if you believe an account or API key is compromised. We operate from Canada and use infrastructure and payment providers that may process information in other countries. Applicable safeguards can include an adequacy decision or contractual safeguards for international transfers. Contact us for information about the providers and safeguards relevant to your account. We do not represent that all information remains exclusively in the EU or in one country. ## 8. Your choices and rights Depending on applicable law, you may request access to your information, correction, deletion, restriction or portability; object to processing based on legitimate interests; or withdraw consent for processing that relies on it. These rights may be subject to legal exceptions. Withdrawing consent does not change the lawfulness of earlier processing. Send requests to [contact@sggresearch.com](mailto:contact@sggresearch.com?subject=SGG%20Research%20privacy%20request). Please identify the account or professional participation record concerned, without sending a password, API key or full card number. We may request proportionate information to verify your identity. We respond within the period required by applicable law and explain any permitted extension. You may complain to the privacy authority responsible for your jurisdiction, including the Office of the Information and Privacy Commissioner for British Columbia, the Office of the Privacy Commissioner of Canada, or your local EEA or UK authority where applicable. Contacting us first is helpful but not a condition of that right. ## 9. Changes and contact We update this notice when our processing changes. The effective date identifies this edition. We will communicate material changes to affected account holders where required. The service is designed for professional users and is not directed at children. Privacy contact: [contact@sggresearch.com](mailto:contact@sggresearch.com?subject=SGG%20Research%20privacy), DREAVERR Digital Solutions LLP, trading as SGG Research, 1103 - 11871 Horseshoe Way, Richmond, British Columbia, Canada V7A 5H5. --- # Refund Policy | SGG Research Source: https://sggresearch.com/refund-policy [Skip to content](https://sggresearch.com/refund-policy#legal-content) SGG Research / Legal # Refund Policy How to request a refund, resolve a billing issue or cancel future renewals. Effective 28 September 2026 Need help? [Contact our support team](https://sggresearch.com/terms#contact) ## 1. Which purchases this covers This policy covers paid SGG Research factor subscriptions supplied by DREAVERR Digital Solutions LLP. The public research package is free and creates no subscription or charge. The ECPND subscription is advertised at USD 1,850 per month and billed as USD 5,550 every three months, plus applicable taxes shown before payment. Review the sample, product description and [Terms of Service](https://sggresearch.com/terms) before purchasing. ## 2. Purchases through Paddle For a transaction processed by Paddle, refunds and applicable withdrawal rights are governed by [Paddle's Refund Policy](https://www.paddle.com/legal/refund-policy). We impose no additional eligibility conditions that reduce those rights. Paddle distinguishes statutory rights from discretionary refund requests. Its policy permits consideration of discretionary requests made within 14 days of a transaction; making a request within that period does not guarantee approval. Any mandatory rights that apply to your purchase remain in force. ## 3. How to request help or a refund 1. For a Paddle purchase, use the support link in your receipt or visit [paddle.net](https://paddle.net/) and choose the refund option. 2. Identify the purchase using your order reference and purchase email, and explain the issue. Do not send a password, API key or full card number. 3. For delivery problems or help locating your purchase, email [our support team](mailto:contact@sggresearch.com?subject=SGG%20Research%20billing%20support). We can investigate the service issue and coordinate with the payment provider. Paddle determines and processes refunds for its transactions under its policy. Approved refunds normally return through the original payment method where possible; processing times depend on the provider and your bank. A refund may end the access associated with the refunded purchase. If an order was invoiced directly by DREAVERR Digital Solutions LLP rather than Paddle, contact us using the invoice reference. We will review the order and any failure to deliver the agreed service, apply the rights and remedies required by law and arrange any refund due. Paddle cannot refund a transaction it did not process. ## 4. Cancel future renewals You can cancel at any time before your next renewal. Use [your account](https://sggresearch.com/account) to cancel future renewals. For a Paddle subscription, you can also use the manage-subscription link in your receipt or [paddle.net](https://paddle.net/). Contact support if you need help accessing your account. Cancellation takes effect at the end of the current paid period. It prevents future renewal charges, and access continues until that period ends unless a refund or other valid termination ends it earlier. Cancelling does not by itself refund or prorate the current quarter. Refund requests and statutory withdrawal rights are handled separately. ### If we discontinue paid access If SGG Research discontinues a factor or otherwise ends prepaid access for reasons other than your material breach, future renewals stop and we will arrange a proportionate refund for the unused service period. For a Paddle purchase, we coordinate that refund through Paddle. Any greater rights under applicable law or Paddle's terms remain unaffected. See [service discontinuation](https://sggresearch.com/terms#discontinuation) in the Terms of Service. A move from early access to regular sale does not itself end an uninterrupted early access subscription or change its agreed price. Cancelling ends that continuing arrangement when the paid subscription expires; a later new subscription is subject to the then-available offer. ## 5. Problems and statutory rights Contact us promptly if paid access is not delivered or the service materially differs from the agreed product. We will investigate and work with you and, where applicable, Paddle on the appropriate remedy. Historical research outcomes are not a promise of future investment returns. Nothing in this policy excludes mandatory rights concerning withdrawal, non-delivery, defective service or billing disputes. You may contact the payment provider about a charge; contacting us first can help resolve an issue but does not remove your lawful dispute rights. ## 6. Contact DREAVERR Digital Solutions LLP Trading as SGG Research 1103 - 11871 Horseshoe Way Richmond, British Columbia, Canada V7A 5H5 [contact@sggresearch.com](mailto:contact@sggresearch.com?subject=SGG%20Research%20refund%20request) --- # Public content and AI access | SGG Research Source: https://sggresearch.com/ai-access # Public content and AI access. Our public research is available to readers, search engines and AI systems without an account. ## Read, index and cite SGG Research permits automated crawling, indexing, text and data mining, retrieval, quotation and attributed summaries of its original public website text and whitepapers. This includes search results, AI-generated answers and research discovery. No separate approval is required for these uses. Link to the original page, credit SGG Research and preserve the context of numerical claims. For historical performance, retain the holding period, comparison baseline, costs and relevant qualifications. Do not present research findings as guaranteed returns, investment advice or live results. Roadmap dates describe plans, not assured outcomes. ## Readable formats The same public information is available as server-rendered HTML and text, without executing JavaScript. - [XML sitemap](https://sggresearch.com/sitemap.xml) - [AI content index](https://sggresearch.com/llms.txt) - [Complete public text](https://sggresearch.com/llms-full.txt) - [Structured content index](https://sggresearch.com/content/index.json) - [OpenAPI specification](https://sggresearch.com/api-docs/openapi.json) ## Permission and data licences This permission covers public editorial text and research explanations. Designated press images and press material have [separate editorial reuse permission](https://sggresearch.com/press#reuse). It does not authorize redistribution of score datasets, research-package CSV files, customer API responses, credentials, transcript databases or proprietary calculation code. Those remain governed by the [service terms and data licence](https://sggresearch.com/terms). Third-party works, references and trademarks retain their own rights. Do not imply endorsement by SGG Research or any company or participant mentioned in the research. Public accessibility is not a waiver of these distinctions. Account pages and licensed data endpoints continue to require authorization.