From e16fe18c11d957335333b66083a2f176c3092e36 Mon Sep 17 00:00:00 2001 From: Carlos Alfredo Vergara Rojas Date: Sat, 13 Jun 2026 23:44:36 -0500 Subject: [PATCH] Sync LP formulation and page-count docs --- paper/CRPTO_ijds.qmd | 34 ++++++++++++------- paper/submission/CRPTO_ijds_submission.tex | 8 ++--- .../IJDS_SUBMISSION_ROADMAP_2026-08-10.md | 2 +- paper/submission/README.md | 8 ++--- .../submission/SCHOLARONE_FINAL_CHECKLIST.md | 2 +- 5 files changed, 31 insertions(+), 23 deletions(-) diff --git a/paper/CRPTO_ijds.qmd b/paper/CRPTO_ijds.qmd index 0af0abc..c16c1a5 100644 --- a/paper/CRPTO_ijds.qmd +++ b/paper/CRPTO_ijds.qmd @@ -280,29 +280,37 @@ group coverage, width, alert, and Winkler checks. ## Robust Portfolio Layer -The decision variable is the funded amount or inclusion weight for each -eligible loan. The optimizer maximizes expected net economic return under a -`$1M` budget and policy constraints that cap portfolio risk after replacing -point PD estimates with conformal upper endpoints. The promoted policy has +The decision variable $x_i$ is the allocation fraction for each eligible loan; +$x_i a_i$ is the funded exposure. The optimizer maximizes expected net +economic return under a `$1M` budget and policy constraints that cap portfolio +risk after replacing point PD estimates with conformal upper endpoints. The +promoted policy has `risk_tolerance = 0.175`, `policy_mode = blended_uncertainty`, policy parameter `gamma = 0.45`, and `uncertainty_aversion = 0.1`. Schematically, the robust decision layer solves a budgeted allocation problem of the form -```text -maximize_x sum_i x_i a_i (c_i - p_tilde_i(alpha, gamma) * L) -subject to sum_i x_i a_i <= B, - sum_i x_i a_i p_tilde_i(alpha, gamma) - <= tau sum_i x_i a_i, - 0 <= x_i <= xbar_i, -``` +$$ +\begin{aligned} +\max_x\quad & \sum_i x_i a_i \left(c_i - \tilde p_i(\alpha,\gamma)\,L\right) \\ +\text{s.t.}\quad & \sum_i x_i a_i \le B,\\ +& \sum_i x_i a_i \tilde p_i(\alpha,\gamma) + \le \tau \sum_i x_i a_i,\\ +& 0 \le x_i \le \bar x_i, +\end{aligned} +$$ where `a_i` is exposure, `c_i` is the loan coupon (interest rate), `L` is the loss-given-default (`L = 0.45` in the frozen evaluation), $\tau$ is the risk-tolerance cap, and -`p_tilde_i(alpha, gamma) = p_hat_i + gamma (u_i(alpha) - p_hat_i)` on the PD -scale, clipped to the feasible probability range. The objective is the *expected* + +$$ +\tilde p_i(\alpha,\gamma) += \hat p_i + \gamma\left(u_i(\alpha)-\hat p_i\right) +$$ + +on the PD scale, clipped to the feasible probability range. The objective is the *expected* net return `c_i - p_tilde_i * L`; the headline `$170,464.54` is the *realized* return of the same funded set, scored post hoc on observed defaults (a funded loan earns `c_i * a_i` if it survives and loses `L * a_i` if it diff --git a/paper/submission/CRPTO_ijds_submission.tex b/paper/submission/CRPTO_ijds_submission.tex index 9e7ac78..5361b7e 100644 --- a/paper/submission/CRPTO_ijds_submission.tex +++ b/paper/submission/CRPTO_ijds_submission.tex @@ -307,10 +307,10 @@ \subsection{Mondrian Conformal Layer}\label{sec:method-cp} \subsection{Robust Portfolio Layer}\label{sec:method-lp} -The decision variable is the funded amount or inclusion weight for each eligible -loan. The optimizer maximizes expected net economic return under a \$1M budget and -policy constraints that cap portfolio risk after replacing point PD estimates with -conformal upper endpoints. The promoted policy has $\texttt{risk\_tolerance}=0.175$, +The decision variable $x_i$ is the allocation fraction for each eligible loan; +$x_i a_i$ is the funded exposure. The optimizer maximizes expected net economic +return under a \$1M budget and policy constraints that cap portfolio risk after +replacing point PD estimates with conformal upper endpoints. The promoted policy has $\texttt{risk\_tolerance}=0.175$, $\texttt{policy\_mode}=\texttt{blended\_uncertainty}$, policy parameter $\gamma=0.45$, and $\texttt{uncertainty\_aversion}=0.1$. diff --git a/paper/submission/IJDS_SUBMISSION_ROADMAP_2026-08-10.md b/paper/submission/IJDS_SUBMISSION_ROADMAP_2026-08-10.md index 5fefbe9..25531ff 100644 --- a/paper/submission/IJDS_SUBMISSION_ROADMAP_2026-08-10.md +++ b/paper/submission/IJDS_SUBMISSION_ROADMAP_2026-08-10.md @@ -34,7 +34,7 @@ CRPTO should be read as data science for decisions: | Jul 11-17 | External replication polish | Prosper/Freddie remain evidence of recipe transfer, not new exact certificates. | | Jul 18-24 | Figures and tables | Captions state takeaway; tables fit IJDS; figures remain readable in grayscale. | | Jul 25-31 | Reproducibility package | Data/code disclosure plan, commands, hashes, DVC pointers, and raw-data instructions are ready. | -| Aug 1-5 | Official template | Body compiles in `informs4` with `dblanonrev`; current local build is 23 pages including references, with final ScholarOne proof still pending. | +| Aug 1-5 | Official template | Body compiles in `informs4` with `dblanonrev`; current local build is 24 pages including references, with final ScholarOne proof still pending. | | Aug 6-8 | Double-anonymous QA | Metadata, URLs, acknowledgements, local paths, and author signals are removed from reviewer-facing PDFs. | | Aug 9-10 | Submission freeze | `just lint`, `just smoke`, `just validate-champion`, `just paper-submission-pdf`, and visual QA pass. | diff --git a/paper/submission/README.md b/paper/submission/README.md index dfbb39e..0cfa23d 100644 --- a/paper/submission/README.md +++ b/paper/submission/README.md @@ -73,9 +73,9 @@ PDF crop box cuts the right edge under `informs4`. > `informs4.cls`, `informs2014.bst`, template PDFs, `.sty` files, or generated > LaTeX build artifacts. -Current local build state (verified 2026-06-09): TinyTeX/TeX Live 2026, +Current local build state (verified 2026-06-14): TinyTeX/TeX Live 2026, Strawberry Perl 5.42.2.1, and the `listingsutf8` TeX package compile -`CRPTO_ijds_submission.tex` to a 23-page official-template PDF. The only LaTeX +`CRPTO_ijds_submission.tex` to a 24-page official-template PDF. The only LaTeX log warnings left are a small `\maketitle` overfull from the `informs4` anonymous title block and one float-only page, both visually acceptable. The body is comfortably inside the IJDS 25-page initial-submission budget even @@ -151,7 +151,7 @@ These protocols are compatible but not interchangeable. - Use `SCHOLARONE_FINAL_CHECKLIST.md` while uploading and reviewing the generated proof. - Recheck the official-template page budget if the body changes materially. The - current local official-template build is 23 pages. + current local official-template build is 24 pages. - Keep A3--A34 in the online supplement unless a reviewer-facing argument needs one compact table in the body. - Preserve CRPTO as the coverage/auditability method and SPO+ as the low-regret @@ -193,7 +193,7 @@ updates the template. 4. **Recount the official-template page budget** and demote body floats to the supplement only if it exceeds 25 pages. The local official-template build is - currently 23 pages; the Chrome-print body preview is only a verification + currently 24 pages; the Chrome-print body preview is only a verification proxy. 5. **Verify anonymity** against the checklist above, then upload the body PDF and submit the title page separately. diff --git a/paper/submission/SCHOLARONE_FINAL_CHECKLIST.md b/paper/submission/SCHOLARONE_FINAL_CHECKLIST.md index cf9090e..ddb9413 100644 --- a/paper/submission/SCHOLARONE_FINAL_CHECKLIST.md +++ b/paper/submission/SCHOLARONE_FINAL_CHECKLIST.md @@ -28,7 +28,7 @@ template files have been downloaded outside Git. ``` 4. Confirm body page count is at most 25 pages excluding references and - appendices. The local official-template build is currently 23 pages total. + appendices. The local official-template build is currently 24 pages total. ## Final Local Gates