Repository navigation
Conversation
Places social_security_depletion immediately after two_computation. The lecture follows Sargent and Shi (2026). It sets out current law -- the trust fund ledger, the payable factor that clears the program's cash flow once reserves are gone, and the depletion date -- and treats the payable path as a fixed point of a decreasing operator, since the claiming, retirement and saving decisions that determine taxable payroll and the scheduled benefit bill are themselves made while looking at that path. The quantitative model is a stripped-down version of the paper's, built to run in about a minute rather than 22 hours on a GPU: a life cycle from 20 to 100 with improving mortality, permanent heterogeneity in earnings ability and in the taste for work, the statutory benefit formula and actuarial schedule, and retirement and claiming as separate irreversible choices, with prices fixed and a closed-form consumption plan. It reproduces the trustees' dates -- last reserves spent in 2032, fund empty in 2033 -- an early-claiming rush before the cut, later claiming and later retirement after it, and the long-run identity between the payable factor and the program's cost rate. Three exercises with dropdown solutions: the operator is decreasing and the undamped iteration locks into a two-cycle; raising the full retirement age to 69; and financing a guarantee of scheduled benefits with the payroll tax, which every entering cohort dislikes and workers near retirement in 2026 prefer. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… fourth exercise Corrections: * the earnings-test note claimed neutrality without qualification; the credit matches the withholding one for one only for a worker who leaves work by the full retirement age, and the restriction χ ≥ min(R, 70) rules out filing early and working past it * the two decision ages move together and reverse at the cut, not "in opposite directions on either side" of it * quantify the cut that the behavioral response prevents: the 2031 cost rate implies φ = 0.702 against the 0.755 that workers deliver The worker's problem now states the period utility function, defines the taste-for-work type, says the wage is normalized to one, explains why survival discounts the budget constraint under fair annuities, and shows which terms drop out on the way to the objective. New figures: the two statutory functions (PIA with its bend points, and the actuarial factor at full retirement ages 67 and 69); the demography that drives everything (the dependency ratio against the trustees' two points, and the age distribution in 2026 against 2085); who rushes (the retirement and claim ages chosen by each cohort alive in 2026, before the news and after, which shows irreversibility binding on the old and the payable-factor headwind pulling young workers' filing forward); and one worker's life cycle (income, consumption and assets), which also displays the saving response that general equilibrium would turn into a higher wage. Exercise 4 switches off the mortality improvement: holding the birth path fixed, longer lives account for about a quarter of the long-run benefit cut (φ_∞ of 0.603 against 0.482) while barely moving the depletion year, and the long-run claim age falls from 66.6 to 65.0, which tests the mechanism the lecture asserts for later claiming. Also adds a symbol table and parameter sources, and drops unused arguments and return values. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… the text and the code * the benefit scale the code applies now appears in the benefit formula, as ς, and in the symbol table * state that a worker already alive in 2026 solves the same objective from its current age, with truncated sums and its accumulated wealth, which is what j0, a0 and plan0 carry in the code * report the calibration honestly: the entering cohort retires at 64.8 against the median of 64.5 that the paper targets, the cost rate lands within about a tenth of a percentage point, and the untargeted claim age is a year and a half later than the paper's, a bias worth carrying into the transition * disclose that the retirement grid binds for the two extreme tastes for work, and report the check: widening it to 50-80 moves those two types and leaves the depletion year, both mean ages and the payable factor to four decimals unchanged * say in the comparison that the behavioral responses are smaller here, not merely centered differently -- retirement rises 0.9 years against 3.5 and claiming 1.9 against 4.2 -- and why * answer the question exercise 2 asks: seven years of delay against the paper's ten, and about a sixth of the long-run cut undone * print the payable factor beside the gap along the iteration, so the claim in the computation note can be checked from the output * the trustees' date is when the reserves run out during 2032; fix the stale reference to a printed table, the World docstring, the account of what the pre-2026 economy supplies, and add the missing symbols Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Caption and name the eight main-text figures (exercise figures stay uncaptioned for the PDF build), and cross-reference the benefit formula figure with numref - Precede every code cell with a sentence of prose - Drop a MyST role from a Python docstring, where it cannot render - Bib: type accented names in UTF-8, add DOIs, brace proper nouns in titles Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Style pass in 91be48c, kept deliberately light: no changes to content, code or figure sizes. Changes
Checks
For Tom (not changed)
|
📖 Netlify Preview Ready!Preview URL: https://pr-1091--sunny-cactus-210e3e.netlify.app Commit: 📚 Changed LecturesBuild Info
|
…sh the figure conventions Disclosures: * print the replacement rate, which nothing was fitted to: the cohort entering in 2026 collects 0.49 of its last year's earnings, against 0.43 under the statutory formula. The benefit scale that matches the program's aggregate cost puts the whole uplift on each worker's own benefit, where the program puts it on additional beneficiaries, so the incentives to retire and to file are a seventh stronger than the statute implies. Also noted in the list of omissions. * print the claim ages chosen: they pile up on one age and nobody files at 62, where the data and the paper have large spikes, because the forces behind that spike are the ones this version leaves out * say that neither the first shortfall year nor the depletion year was targeted: the calibration fixes one year's cost rate and takes the opening balance from the record Figures, following the conventions just introduced: * reference the eight named figures with numref rather than "below" and "the right panel", which do not survive a PDF build * captions now state the finding rather than label the axes * give the efficiency, flow-age and life-cycle figures their own cells, so that a captioned cell produces one figure and nothing else * replace two identical placeholder sentences Code: flows returns only what its callers use, income_path can work on a subset of rows so the life-cycle figure stops building 5,025 of them to use one, and the tiled type weights in aggregate carry a comment. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…y exercise Exercise 5 reproduces the paper's unanticipated scenario. The government says nothing, workers plan against the cut they expect, and in the year the reserves are spent the guarantee arrives with the tax that pays for it. The cut they expected never happens. solve_plans gains an at_year argument so that workers can re-plan in that year from the assets they have accumulated and the decisions they have already executed; the main text notes that nothing in its re-planning argument is special to 2026. Welfare is computed directly this time, by summing utility along each worker's consumption and work path, and the solution checks that against exercise 3's closed form before using it: the two agree to the digit. Everyone with working years left prefers the surprise -- 5.6 percent of lifetime consumption at age 45, and the age at which the guarantee stops being a loss falls from 53 to 46 -- because both economies pay every benefit in full and the surprise collects six fewer years of the higher tax. Workers in their seventies prefer the announcement, very slightly: they pay no payroll tax either way and spent six years consuming as though a cut were coming. The paper finds the same ranking, with a general equilibrium addition this model cannot produce, since here the assets accumulated against a cut that never comes do not raise a wage. Exercise 6 varies the two numbers everything rests on. Five points of the 2085 dependency ratio are worth about five points of the payable factor; the interest rate moves it by one or two while moving the average retirement age by six and a half years. The long-run identity explains it: demography pushes payroll and the benefit bill in opposite directions, while the interest rate pushes them in the same direction and by nearly the same proportion, since the career decision that sets what a worker contributes also sets what the worker is owed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Oct 16, 2026
mmcky
added a commit
to QuantEcon/lecture-python.zh-cn
that referenced
this pull request
Oct 22, 2026
QuantEcon/lecture-python.myst#1091 added social_security_depletion, but its sync failed the structural parity check (the model dropped the leading {raw} header block), filed as QuantEcon/lecture-python.myst#1092, so its sync PR (#296) opened with a _toc.yml change and no lecture. translate init -f social_security_depletion.md at engine v0.29.6 (@v0), claude-sonnet-5, from lecture-python.myst main (9ad04de; the file's last change is 97c5894). The first attempt failed parity the same way and wrote nothing; the second passed. Output as written by the CLI. Its font path is repaired in the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mmcky
added a commit
to QuantEcon/lecture-python.zh-cn
that referenced
this pull request
Oct 22, 2026
…closed #294 and #296) (#300) * Add gallant_tauchen, as the sync's rebase delivered it at v0.29.6 QuantEcon/lecture-python.myst#1087 added gallant_tauchen; its sync PR, #294, could not build until #286 landed. When #286 merged, the rebase automation re-translated the lecture at @v0 (v0.29.6) and force-pushed the branch, and GitHub shut that PR in the same second (the QuantEcon/action-translation#280 race). The lecture and its state file are taken unchanged from that branch (5d35ce7). Checked against the English source: identical directive sequence (43), math blocks, anchors, the 54 cross-references and citations, headings and code cells; all 23 code cells execute with numerical output identical to the English. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * gallant_tauchen: localise the two English figure captions Both mystnb figure captions arrived in English, the QuantEcon/action-translation#255 class. Each uses the lecture's own terms: 公共随机数 and 重新抽取扰动项 (the two curves' descriptions in the text above the figure), 准则函数, 随机波动率 and 收益率. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Seed social_security_depletion, the lecture its sync could not deliver QuantEcon/lecture-python.myst#1091 added social_security_depletion, but its sync failed the structural parity check (the model dropped the leading {raw} header block), filed as QuantEcon/lecture-python.myst#1092, so its sync PR (#296) opened with a _toc.yml change and no lecture. translate init -f social_security_depletion.md at engine v0.29.6 (@v0), claude-sonnet-5, from lecture-python.myst main (9ad04de; the file's last change is 97c5894). The first attempt failed parity the same way and wrote nothing; the second passed. Output as written by the CLI. Its font path is repaired in the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * social_security_depletion: font path The engine writes FONTPATH as _fonts/...; this edition keeps the font in lectures/fonts/, so the build would fail with FileNotFoundError. The block is already in the imports cell, and nothing after it resets font.family. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * bib: add the 21 entries the two lectures cite gallant_tauchen cites 17 keys and social_security_depletion 4 that this edition's bibliography lacks. Each is copied verbatim from the source bib and placed after the nearest preceding entry the two files share, keeping the source's order. Additions only; the same 21 keys the sync's rebase added on the two closed PRs' branches. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * _toc.yml: add gallant_tauchen and social_security_depletion At their source positions: gallant_tauchen after market_diffusion, and social_security_depletion after two_computation, before lq_mean_field_games. Built on main's _toc.yml, so the Chinese part captions are untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * gallant_tauchen state: record the file's last source commit The sync recorded source-sha as f8d7e33, the merge commit of QuantEcon/lecture-python.myst#1087, which was a true merge rather than a squash. translate status compares source-sha with the file's last commit, 648d138 (the PR's head), so it reported this lecture OUTDATED although the source blob is identical at both. Recorded as 648d138, the convention translate init and the other 138 state files in this edition follow; nothing else in the file changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
social_security_depletion.md, a lecture by Tom Sargent on the Social Security payable factor as an equilibrium fixed point, following Sargent and Shi (2026). It sits aftertwo_computationin the toc.Ready to merge and publish, per Tom.
🤖 Generated with Claude Code