Level 2 — 1 Acquire and derive reference data

FedInvest daily price list market quotes auction results daily Ref CPI fund holdings GSW curve parameters tentative auction schedule auction results TIPS reference data market yields monthly CPI-U Data Stores FedInvest (E1) Market quotes source (E6) TreasuryDirect (E15) FiscalData (E3) Treasury Tentative Auction Schedule (E14) CNBC (E5) BLS (E4) TreasuryDirect SecIndex (E2) Fund providers (E7-E12) Federal Reserve FEDS 2008-05 (E13) 1.1 Download FedInvest prices and calculate yields 1.2 Download market quotes 1.3 Calculate yield curve data sets 1.4 Fetch auction results 1.5 Fetch tentative auction schedule 1.6 Fetch TIPS reference data 1.7 Update yield history 1.8 Archive intraday yields 1.9 Fetch monthly CPI 1.10 Interpolate daily Ref CPI NSA and SA 1.12 Fetch CPI history 1.13 Fetch daily Ref CPI 1.14 Enrich fund holdings 1.15 Fetch GSW curve parameters

One process per scheduled job, with the external entity it reads (if any). The Data Stores shape stands for every data store: a job that writes one has an arrow to it, a job that reads one has an arrow from it, and a job that does both has both. 1.3 and 1.10 read no external source: they calculate from what the retrieving jobs have stored. 1.1, 1.2, 1.4, 1.6, 1.7, 1.13 and 1.14 read both an external source and one or more stores. An entity feeding two jobs (FiscalData, BLS, CNBC) is drawn once, with a separately labelled flow to each — the same source, not two sources. FiscalData's two flows here match its two flows in the Data Dictionary; BLS's and CNBC's two jobs each read the same flow independently. 1.4 reads two entities, FiscalData and TreasuryDirect, for the one flow auction results. E7 through E12 are drawn as one box: the six fund-holdings providers, each with its own entry in the Data Dictionary, are otherwise identical in shape from this diagram's point of view — one job reads all six. Each job explodes at Level 3, which draws the data stores that job reads and writes and the shared modules it calls. 1.1 decomposes into three processes; every other job is one process there, and its bubble opens the job's process spec, which names the script that implements it and the script that registers its schedule.