Import('*')

# =============================================================================
# Empirical code
# =============================================================================

# Code paths
EMPIRICS_CODE = '#source/derived/empirics'

# Data paths
EMPIRICS_DATA = '#datastore/derived/empirics'
FRED_DATA = '#datastore/raw/fred/data'   # refreshed by source/raw/fred, not here
SPF_ORIG = '#datastore/raw/spf/orig'
FROM_PAPERS_ORIG = '#datastore/raw/from_papers/orig'
WRDS_ORIG = '#datastore/raw/wrds/orig'
JST_ORIG = '#datastore/raw/jst/orig'
MODEL_DATA = '#datastore/derived/model'

# 01: Consumption data
target = [f'{EMPIRICS_DATA}/consumption_data.dta']
source = [f'{EMPIRICS_CODE}/01_get_consumption_data.do',
          f'{SPF_ORIG}/Individual_RCONSUM.xlsx',
          f'{FRED_DATA}/fred_gdp_consumption.dta']
env.Stata(target, source)

# 02: Earnings data
target = [f'{EMPIRICS_DATA}/earnings_data.dta']
source = [f'{EMPIRICS_CODE}/02_get_earnings_data.do',
          f'{FROM_PAPERS_ORIG}/ie_data.xls',
          f'{FROM_PAPERS_ORIG}/bgps.dta',
          f'{WRDS_ORIG}/ibes_global_aggregates.csv']
env.Stata(target, source)

# 03: Inflation data
target = [f'{EMPIRICS_DATA}/inflation_data.dta']
source = [f'{EMPIRICS_CODE}/03_get_inflation_data.do',
          f'{SPF_ORIG}/Individual_CPI.xlsx',
          f'{SPF_ORIG}/Individual_PGDP.xlsx',
          f'{FRED_DATA}/fred_inflation.dta']
env.Stata(target, source)

# 04: Interest rate data
target = [f'{EMPIRICS_DATA}/interest_rate_data.dta']
source = [f'{EMPIRICS_CODE}/04_get_interest_rate_data.do',
          f'{FRED_DATA}/fred_interest_rates.dta',
          f'{EMPIRICS_DATA}/inflation_data.dta']
env.Stata(target, source)

# 05: Valuation ratios data
target = [f'{EMPIRICS_DATA}/valuation_ratios_data.dta']
source = [f'{EMPIRICS_CODE}/05_get_valuation_ratio_data.do',
          f'{FROM_PAPERS_ORIG}/ie_data.xls',
          f'{WRDS_ORIG}/crsp_returns.dta']
env.Stata(target, source)

# 06: Combine all calibration data
target = [f'{EMPIRICS_DATA}/all_data.dta']
source = [f'{EMPIRICS_CODE}/06_combine_calibration_data.do',
          f'{EMPIRICS_DATA}/valuation_ratios_data.dta',
          f'{EMPIRICS_DATA}/interest_rate_data.dta',
          f'{EMPIRICS_DATA}/inflation_data.dta',
          f'{EMPIRICS_DATA}/earnings_data.dta',
          f'{EMPIRICS_DATA}/consumption_data.dta']
env.Stata(target, source)

# 07: Empirical inflation risk premium
target = [f'{EMPIRICS_DATA}/irp_data.dta']
source = [f'{EMPIRICS_CODE}/07_empirical_inflation_risk_premium.do',
          f'{SPF_ORIG}/Individual_CPI5YR.xlsx',
          f'{SPF_ORIG}/Individual_CPI10.xlsx',
          f'{EMPIRICS_DATA}/interest_rate_data.dta']
env.Stata(target, source)

# 08: Clean international data
target = [f'{EMPIRICS_DATA}/all_jst_data.dta']
source = [f'{EMPIRICS_CODE}/08_clean_international_data.do',
          f'{JST_ORIG}/JSTdatasetR6.dta']
env.Stata(target, source)
