Skip to main content
Loading navigation
Back to prompt library

Build a Currency Exposure and Import Cost Stress Planner — Implementation planning and evidence-linked development

Linked challenge: Build a Currency Exposure and Import Cost Stress Planner

Prompt source

Implementation planning and evidence-linked development51 lines16 sectionsNo variables28 checklist items
## User
An emerging-market corporate treasury analyst.

## Build
Translate explicit exchange-rate and pass-through assumptions into debt-service and import-cost scenarios. Keep accounting exposure separate from a forecast of currency movements.

## Input Contract
- Key: exposure_id + scenario_id + payment_date.
- Fields: foreign_amount, quote_convention, spot_lcy_per_fcy, hedge_amount, hedge_rate, pass_through.
- Prevent duplicate exposure allocation between hedged and unhedged balances.

## Workflow
1. Normalize exchange-rate quotation conventions.
2. Allocate exposures between contracted hedges and open balances.
3. Apply supplied exchange-rate and pass-through scenarios.
4. Export dated cost bridges and unresolved contract assumptions.

## Interface
A currency exposure matrix, payment calendar, hedge coverage view, and scenario comparison report.

## Deliverables
- An exposure reconciliation engine.
- A treasury scenario packet with currency and timing assumptions.
- Runnable local application, setup commands, and a dependency lockfile.
- Versioned input data, data dictionary, acquisition instructions, and rights notes.
- Calculation traces, source references, assumption records, and exported review artifacts.
- A deterministic baseline and tests for normal, incomplete, contradictory, and failure-recovery cases.
- A recorded complete workflow with a reproducible manifest and explicit limitations.

## Acceptance Criteria
- Reversing a quote requires reciprocal conversion.
- Hedged and open amounts sum to the original exposure.
- Pass-through assumptions are not estimated causally from a simple correlation.
- The stress result never appears as a currency forecast.

## Contrast Case
Hold the foreign invoice constant and change only the local-currency quote. Local cost must move proportionately.

## Dataset Scope
The attached starter files are prototype inputs. Expected starter answers are visible. They are not independent holdouts.

Full target: Use public macro series for context and fictional currency-denominated debt, import invoices, hedge contracts, and reset dates for exposure calculations.

Complete target contracts and expert review remain pending. Public observations are not historical release vintages.

## Tools
NumPy, pandas, Plotly

Use an available model appropriate to the task. Record provider, model identifier, version or retrieval date, settings, cost, and latency. Use deterministic code for calculations. Models may extract, retrieve, or explain evidence. They must not invent missing records, override approval rules, or claim professional authority.

## Constraints
No trading instructions or automatic hedge execution.

- No fabricated records, source citations, professional endorsements, or expert-adjudication claims.
- No future-data leakage into dated decisions, model fitting, or historical valuation inputs.
- No unauthorized payments, account restrictions, regulatory filings, or production changes.
- No automated appraisal certification, tax-compliance determination, or unsupported fraud accusation.
- No concealed uncertainty or silently invented inputs required for a numerical conclusion.

## Scoring
- Correct domain calculations and justified methods with documented assumptions. Weight: 30.
- Source lineage, temporal integrity, rights checks, and explicit synthetic-data labels. Weight: 25.
- A working application with review, export, error handling, and reproducible state. Weight: 20.
- Adversarial cases, uncertainty, missing-data behavior, and sensitivity analysis. Weight: 15.
- Evidence-linked conclusions that distinguish facts, assumptions, and unresolved judgments. Weight: 10.
Score each dimension from zero to two. Weighted score = sum(weight * score / 2). A failed safety gate blocks acceptance.