Skip to content

Commit 88fb5f7

Browse files
fix: restore semantic models after rebase
1 parent a95d748 commit 88fb5f7

6 files changed

Lines changed: 478 additions & 3 deletions

File tree

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
version: 2
2+
3+
semantic_models:
4+
- name: commodity_daily_prices
5+
description: >
6+
Daily spot prices and rolling returns for industrial/input commodities
7+
(e.g. crude oil, natural gas, copper, aluminum).
8+
Grain: one row per commodity per unit per trading day.
9+
model: ref('input_commodities_analysis_return')
10+
defaults:
11+
agg_time_dimension: trade_date
12+
entities:
13+
- name: commodity
14+
type: primary
15+
expr: "commodity_name || '|' || commodity_unit"
16+
dimensions:
17+
- name: trade_date
18+
type: time
19+
type_params:
20+
time_granularity: day
21+
expr: date
22+
- name: commodity_name
23+
type: categorical
24+
- name: commodity_unit
25+
type: categorical
26+
measures:
27+
- name: spot_price
28+
agg: max
29+
expr: current_price
30+
description: Daily spot price in commodity_unit terms
31+
- name: commodity_return_1mo
32+
agg: average
33+
expr: pct_change_1mo
34+
- name: commodity_return_3mo
35+
agg: average
36+
expr: pct_change_3mo
37+
- name: commodity_return_6mo
38+
agg: average
39+
expr: pct_change_6mo
40+
- name: commodity_return_1yr
41+
agg: average
42+
expr: pct_change_1yr
43+
- name: commodity_price_std_1yr
44+
agg: average
45+
expr: std_diff_1yr
46+
description: 1-year standard deviation of daily price changes
47+
48+
- name: energy_commodity_prices
49+
description: >
50+
Daily spot prices and rolling returns for energy commodities
51+
(crude oil, natural gas, gasoline, heating oil).
52+
Grain: one row per commodity per unit per trading day.
53+
model: ref('energy_commodities_analysis_return')
54+
defaults:
55+
agg_time_dimension: trade_date
56+
entities:
57+
- name: energy_commodity
58+
type: primary
59+
expr: "commodity_name || '|' || commodity_unit"
60+
dimensions:
61+
- name: trade_date
62+
type: time
63+
type_params:
64+
time_granularity: day
65+
expr: date
66+
- name: commodity_name
67+
type: categorical
68+
- name: commodity_unit
69+
type: categorical
70+
measures:
71+
- name: energy_spot_price
72+
agg: max
73+
expr: current_price
74+
- name: energy_return_1mo
75+
agg: average
76+
expr: pct_change_1mo
77+
- name: energy_return_1yr
78+
agg: average
79+
expr: pct_change_1yr
80+
81+
- name: agriculture_commodity_prices
82+
description: >
83+
Daily spot prices and rolling returns for agricultural commodities
84+
(corn, wheat, soybeans, etc.).
85+
Grain: one row per commodity per unit per trading day.
86+
model: ref('agriculture_commodities_analysis_return')
87+
defaults:
88+
agg_time_dimension: trade_date
89+
entities:
90+
- name: agri_commodity
91+
type: primary
92+
expr: "commodity_name || '|' || commodity_unit"
93+
dimensions:
94+
- name: trade_date
95+
type: time
96+
type_params:
97+
time_granularity: day
98+
expr: date
99+
- name: commodity_name
100+
type: categorical
101+
- name: commodity_unit
102+
type: categorical
103+
measures:
104+
- name: agri_spot_price
105+
agg: max
106+
expr: current_price
107+
- name: agri_return_1mo
108+
agg: average
109+
expr: pct_change_1mo
110+
- name: agri_return_1yr
111+
agg: average
112+
expr: pct_change_1yr
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
version: 2
2+
3+
semantic_models:
4+
- name: economic_indicators
5+
description: >
6+
Monthly FRED economic indicator values with period-over-period change.
7+
Grain: one row per series_code per month.
8+
Covers: GDP, CPI, PCE, unemployment rate, Fed funds rate, housing starts,
9+
industrial production, and 100+ other macro series.
10+
model: ref('fred_monthly_diff')
11+
defaults:
12+
agg_time_dimension: observation_date
13+
entities:
14+
- name: fred_series
15+
type: primary
16+
expr: "series_code || '|' || CAST(date AS VARCHAR)"
17+
dimensions:
18+
- name: observation_date
19+
type: time
20+
type_params:
21+
time_granularity: month
22+
expr: date
23+
- name: series_code
24+
type: categorical
25+
description: FRED series identifier (e.g. UNRATE, FEDFUNDS, CPIAUCSL)
26+
- name: series_name
27+
type: categorical
28+
description: Human-readable series name
29+
- name: data_source
30+
type: categorical
31+
measures:
32+
- name: indicator_value
33+
agg: max
34+
expr: value
35+
description: Series value for the observation period
36+
- name: indicator_mom_change
37+
agg: max
38+
expr: period_diff
39+
description: Absolute month-over-month change in indicator value
40+
- name: series_count
41+
agg: count_distinct
42+
expr: series_code

dbt_project/models/markets/factor_sector_correlation.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ major_index_performance AS (
203203
major_indices.pct_change_3mo,
204204
major_indices.pct_change_1yr,
205205
major_indices.std_diff_1yr
206-
FROM {{ ref('major_indicies_analysis_return') }} AS major_indices
206+
FROM {{ ref('major_indices_analysis_return') }} AS major_indices
207207
INNER JOIN comparison_metadata
208208
ON major_indices.symbol = comparison_metadata.comparison_symbol
209209
WHERE comparison_metadata.comparison_universe != 'sector_etf'
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
version: 2
2+
3+
semantic_models:
4+
- name: market_daily_prices
5+
description: >
6+
Daily OHLCV price data and rolling returns for S&P 500 companies.
7+
Grain: one row per symbol per exchange per trading day.
8+
model: ref('sp500_companies_analysis_return')
9+
defaults:
10+
agg_time_dimension: trade_date
11+
entities:
12+
- name: stock
13+
type: primary
14+
expr: "symbol || '|' || exchange"
15+
dimensions:
16+
- name: trade_date
17+
type: time
18+
type_params:
19+
time_granularity: day
20+
expr: date
21+
- name: symbol
22+
type: categorical
23+
- name: exchange
24+
type: categorical
25+
measures:
26+
- name: close_price
27+
agg: max
28+
expr: current_price
29+
description: Daily closing price
30+
- name: high_price
31+
agg: max
32+
expr: current_high
33+
- name: low_price
34+
agg: min
35+
expr: current_low
36+
- name: share_volume
37+
agg: sum
38+
expr: current_volume
39+
- name: daily_price_change
40+
agg: average
41+
expr: daily_diff
42+
description: Dollar change from prior close
43+
- name: return_1mo
44+
agg: average
45+
expr: pct_change_1mo
46+
description: 1-month percent price return
47+
- name: return_3mo
48+
agg: average
49+
expr: pct_change_3mo
50+
- name: return_6mo
51+
agg: average
52+
expr: pct_change_6mo
53+
- name: return_9mo
54+
agg: average
55+
expr: pct_change_9mo
56+
- name: return_1yr
57+
agg: average
58+
expr: pct_change_1yr
59+
description: 1-year percent price return
60+
- name: price_std_1yr
61+
agg: average
62+
expr: std_diff_1yr
63+
description: >
64+
1-year standard deviation of daily dollar price changes.
65+
Divide by close_price to get a dimensionless volatility estimate.
66+
- name: symbol_count
67+
agg: count_distinct
68+
expr: symbol
69+
70+
- name: sector_daily_performance
71+
description: >
72+
Daily OHLCV price data and rolling returns for US sector ETFs.
73+
Grain: one row per sector symbol per exchange per trading day.
74+
model: ref('us_sector_analysis_return')
75+
defaults:
76+
agg_time_dimension: trade_date
77+
entities:
78+
- name: sector_etf
79+
type: primary
80+
expr: "symbol || '|' || exchange"
81+
dimensions:
82+
- name: trade_date
83+
type: time
84+
type_params:
85+
time_granularity: day
86+
expr: date
87+
- name: symbol
88+
type: categorical
89+
- name: exchange
90+
type: categorical
91+
measures:
92+
- name: sector_close_price
93+
agg: max
94+
expr: current_price
95+
- name: sector_volume
96+
agg: sum
97+
expr: current_volume
98+
- name: sector_return_1mo
99+
agg: average
100+
expr: pct_change_1mo
101+
- name: sector_return_3mo
102+
agg: average
103+
expr: pct_change_3mo
104+
- name: sector_return_1yr
105+
agg: average
106+
expr: pct_change_1yr
107+
- name: sector_price_std_1yr
108+
agg: average
109+
expr: std_diff_1yr
110+
111+
- name: currency_daily_rates
112+
description: >
113+
Daily forex exchange rates and rolling returns.
114+
Grain: one row per currency pair per trading day.
115+
model: ref('currency_analysis_return')
116+
defaults:
117+
agg_time_dimension: trade_date
118+
entities:
119+
- name: currency_pair
120+
type: primary
121+
expr: "symbol || '|' || exchange"
122+
dimensions:
123+
- name: trade_date
124+
type: time
125+
type_params:
126+
time_granularity: day
127+
expr: date
128+
- name: symbol
129+
type: categorical
130+
- name: exchange
131+
type: categorical
132+
measures:
133+
- name: fx_rate
134+
agg: max
135+
expr: current_price
136+
- name: fx_return_1mo
137+
agg: average
138+
expr: pct_change_1mo
139+
- name: fx_return_1yr
140+
agg: average
141+
expr: pct_change_1yr
142+
143+
- name: fixed_income_daily_prices
144+
description: >
145+
Daily price data and rolling returns for fixed income instruments (bonds, Treasuries).
146+
Grain: one row per symbol per exchange per trading day.
147+
model: ref('fixed_income_analysis_return')
148+
defaults:
149+
agg_time_dimension: trade_date
150+
entities:
151+
- name: bond_instrument
152+
type: primary
153+
expr: "symbol || '|' || exchange"
154+
dimensions:
155+
- name: trade_date
156+
type: time
157+
type_params:
158+
time_granularity: day
159+
expr: date
160+
- name: symbol
161+
type: categorical
162+
- name: exchange
163+
type: categorical
164+
measures:
165+
- name: bond_price
166+
agg: max
167+
expr: current_price
168+
- name: bond_return_1mo
169+
agg: average
170+
expr: pct_change_1mo
171+
- name: bond_return_1yr
172+
agg: average
173+
expr: pct_change_1yr
174+
- name: bond_price_std_1yr
175+
agg: average
176+
expr: std_diff_1yr

dbt_project/models/markets/technical/technical_price_universe.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
Normalizes adjusted OHLCV columns from existing market staging models
1111
into a single spine that downstream indicator/signal models consume.
1212
13-
- S&P 500 stocks use split-adjusted prices (split_adjusted_prices) so
13+
- S&P 500 stocks use split-adjusted prices (stg_split_adjusted_prices) so
1414
indicators are not distorted by splits.
1515
- ETF/index sources prefer MarketStack-adjusted fields, falling back
1616
to raw values when the adjusted column is NULL.
@@ -44,7 +44,7 @@ WITH unioned AS (
4444
split_adj_low AS low,
4545
split_adj_close AS close,
4646
split_adj_volume AS volume
47-
FROM {{ ref('split_adjusted_prices') }}
47+
FROM {{ ref('stg_split_adjusted_prices') }}
4848

4949
{% for entry in etf_universes %}
5050
UNION ALL

0 commit comments

Comments
 (0)