{
  "scope": "Monthly, zero-lookahead research proxy; not strategy IDs 28-30 and not a profitability pass.",
  "source": "portfolio-sources\\verdelhan-monthly-fx-changes.xls",
  "source_sha256": "F939969335608C8B06B6287A5430D3E8A9B8C729C0645B2B84422388C18DD42E",
  "source_convention": "The primary paper and workbook define s as log foreign currency per USD; fx is monthly \u0394s and IR difference is a monthly log forward-discount/CIP approximation. Signal m uses IR[m] and FX[m-2:m]; realized log leg excess is IR[m]-FX[m+1], converted with exp(log_excess)-1 before value weighting.",
  "universe": [
    "AUD",
    "CAD",
    "CHF",
    "EUR",
    "GBP",
    "JPY",
    "NOK",
    "NZD",
    "SEK"
  ],
  "workbook_sheets_opened": {
    "ReadMe": {
      "rows": 19,
      "columns": 1
    },
    "Changes in Exchange Rates": {
      "rows": 439,
      "columns": 40
    },
    "Interest Rate Differences": {
      "rows": 439,
      "columns": 40
    },
    "Carry Factors": {
      "rows": 439,
      "columns": 41
    },
    "Dollar Factors": {
      "rows": 439,
      "columns": 41
    },
    "Example 1": {
      "rows": 327,
      "columns": 22
    },
    "Carry Loadings": {
      "rows": 439,
      "columns": 40
    },
    "Cond. Carry Loadings": {
      "rows": 439,
      "columns": 41
    },
    "Dollar Loadings": {
      "rows": 439,
      "columns": 41
    },
    "Example 2": {
      "rows": 327,
      "columns": 22
    },
    "SpotChge Dollar Port.": {
      "rows": 437,
      "columns": 7
    },
    "LogER Dollar Port.": {
      "rows": 437,
      "columns": 7
    },
    "CondLogER Dollar Port.": {
      "rows": 437,
      "columns": 14
    },
    "Avge Fwd Dscnt": {
      "rows": 439,
      "columns": 2
    },
    "DollarGlobal": {
      "rows": 437,
      "columns": 3
    },
    "Example 3": {
      "rows": 327,
      "columns": 22
    }
  },
  "data_quality": {
    "workbook_rows": 438,
    "first_row_date": "1983-11-30",
    "last_row_date": "2020-04-30",
    "per_currency": {
      "AUD": {
        "complete_months": 424,
        "first_complete": "1985-01-31",
        "last_complete": "2020-04-30",
        "missing_any": 14
      },
      "CAD": {
        "complete_months": 424,
        "first_complete": "1985-01-31",
        "last_complete": "2020-04-30",
        "missing_any": 14
      },
      "EUR": {
        "complete_months": 255,
        "first_complete": "1999-02-26",
        "last_complete": "2020-04-30",
        "missing_any": 183
      },
      "JPY": {
        "complete_months": 437,
        "first_complete": "1983-12-30",
        "last_complete": "2020-04-30",
        "missing_any": 1
      },
      "NZD": {
        "complete_months": 424,
        "first_complete": "1985-01-31",
        "last_complete": "2020-04-30",
        "missing_any": 14
      },
      "NOK": {
        "complete_months": 424,
        "first_complete": "1985-01-31",
        "last_complete": "2020-04-30",
        "missing_any": 14
      },
      "SEK": {
        "complete_months": 372,
        "first_complete": "1985-01-31",
        "last_complete": "2015-12-31",
        "missing_any": 66
      },
      "CHF": {
        "complete_months": 437,
        "first_complete": "1983-12-30",
        "last_complete": "2020-04-30",
        "missing_any": 1
      },
      "GBP": {
        "complete_months": 437,
        "first_complete": "1983-12-30",
        "last_complete": "2020-04-30",
        "missing_any": 1
      }
    }
  },
  "limitations": [
    "Monthly source; 3-month proxy replaces 60 daily bars.",
    "Interest differences proxy forward discounts under CIP; source has no raw S/F, maturity D, bid/ask or actual spreads.",
    "No daily stop, 6%/7% month-to-date loss trigger, R21 exit, 17:00 NY close, 08:00 London execution or roll fill.",
    "Cost scenarios are synthetic bp times weight turnover, not quoted transaction costs. Missing next-month leg observations fail that portfolio window; no forward-fill or invented return is used."
  ],
  "families": {
    "momentum": {
      "cost_scenarios_bp": {
        "5": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": -4.364756411993238e-05,
          "annualized_geometric": -0.0012023451566046672,
          "profit_factor": 0.9889212260603472,
          "max_drawdown": -0.2371609080397401,
          "following_half_observations": 217,
          "following_half_annualized": -0.010366672623125517,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": -0.0012770750199911551
        },
        "10": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": -0.00040861391198295557,
          "annualized_geometric": -0.005567493893005038,
          "profit_factor": 0.9009721672981872,
          "max_drawdown": -0.2976890056712639,
          "following_half_observations": 217,
          "following_half_annualized": -0.01510191385597115,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": -0.005748837795288056
        },
        "20": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": -0.0011385466077090019,
          "annualized_geometric": -0.014246692635355607,
          "profit_factor": 0.7485297964255018,
          "max_drawdown": -0.4582033128292755,
          "following_half_observations": 217,
          "following_half_annualized": -0.024511232343664036,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": -0.014637962253813063
        }
      },
      "average_turnover": 0.7299326957260464,
      "eligible_range": [
        3,
        9
      ]
    },
    "carry": {
      "cost_scenarios_bp": {
        "5": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": 0.001197021354254148,
          "annualized_geometric": 0.013684852751435939,
          "profit_factor": 1.3313848112032152,
          "max_drawdown": -0.1256246691281404,
          "following_half_observations": 217,
          "following_half_annualized": 0.00823859326834575,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": 0.01621425953678739
        },
        "10": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": 0.0010702532016141934,
          "annualized_geometric": 0.012145365392367546,
          "profit_factor": 1.292216393806153,
          "max_drawdown": -0.1279878678419215,
          "following_half_observations": 217,
          "following_half_annualized": 0.006645699177909581,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": 0.01465005381992443
        },
        "20": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": 0.0008167168963342833,
          "annualized_geometric": 0.009072346140282184,
          "profit_factor": 1.2166475506914896,
          "max_drawdown": -0.13502022545833947,
          "following_half_observations": 217,
          "following_half_annualized": 0.003466488692327019,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": 0.011528288326076995
        }
      },
      "average_turnover": 0.25353630527990995,
      "eligible_range": [
        3,
        9
      ]
    },
    "carry_trend": {
      "cost_scenarios_bp": {
        "5": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": 0.0013855219894432223,
          "annualized_geometric": 0.01619917396596482,
          "profit_factor": 1.4826233319679893,
          "max_drawdown": -0.12680851499920287,
          "following_half_observations": 217,
          "following_half_annualized": 0.01138227544489534,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": 0.017549224405384044
        },
        "10": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": 0.00123375718240203,
          "annualized_geometric": 0.014351377054016234,
          "profit_factor": 1.419358397275583,
          "max_drawdown": -0.14337611521253912,
          "following_half_observations": 217,
          "following_half_annualized": 0.009349376917220376,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": 0.015661740862139988
        },
        "20": {
          "calendar_months": 434,
          "evaluated_observations": 434,
          "missing_outcome_windows": 0,
          "missing_outcome_details": [],
          "start": "1984-03-30",
          "end": "2020-04-30",
          "mean_monthly": 0.0009302275683196454,
          "annualized_geometric": 0.010664512396340031,
          "profit_factor": 1.3008744306331927,
          "max_drawdown": -0.17558739544232838,
          "following_half_observations": 217,
          "following_half_annualized": 0.005294279317274775,
          "rolling_36m_windows": 399,
          "rolling_36m_annualized_mean": 0.011896176381791279
        }
      },
      "average_turnover": 0.30352961408238466,
      "eligible_range": [
        3,
        9
      ]
    }
  }
}