On this page
  • Score breakdown
  • Issues
    • Critical
    • High severity
    • Medium severity
    • Low severity
  • Strengths
  • Recommended actions

logo

Powered by Jupyter Book

Back to top

QuantEcon Style Audit — May 2026

QuantEcon

Changelog (full history)

  • 18716da Matt McKay 1 minute ago Defer program-level direction to the project-style-guide hub

navy_captain#

  • Series: lecture-python.myst

  • File: lectures/navy_captain.md

  • Audit date: 2026-05-28

  • Categories audited: writing, math, code, figures, references, links, admonitions

  • Overall score: 8.2 / 10

  • Priority: LOW

Score breakdown#

Category

Score

One-line note

Writing

7/10

Many section headings use Title Case rather than sentence case.

Math

9/10

Bare E[...] or \Pr(...) used instead of \mathbb{E}, \mathbb{P}.

Code

8.5/10

Spelled-out Greek (alpha/beta/etc.) used predominantly in code; mixed with unicode forms…

JAX

out of scope

not a JAX lecture

Figures

6.5/10

figsize= set in 6 places — usually unnecessary.

References

N/A

No citations.

Links

10/10

Link style follows conventions.

Admonitions

N/A

No admonitions.

Issues#

Critical#

None found.

High severity#

  • [qe-writing-006] — Many section headings use Title Case rather than sentence case. Examples: line 208, line 461, line 779. Count: 7.

  • [qe-fig-003] — ax.set_title() / fig.suptitle() used 13 times outside exercise blocks. Examples: line 193, line 326, line 400.

Medium severity#

  • [qe-math-010 (proposed)] — Bare E[...] or \Pr(...) used instead of \mathbb{E}, \mathbb{P}. Examples: line 248. Count: 4.

  • [qe-code-002] — Spelled-out Greek (alpha/beta/etc.) used predominantly in code; mixed with unicode forms (word=9, uni=4).

Low severity#

  • [qe-fig-001] — figsize= set in 6 places — usually unnecessary.

  • [qe-fig-005] — Figures lack descriptive name: fields for cross-referencing (20 plot calls, 0 named).

  • [qe-fig-008] — lw=2 parameter missing from 20 .plot() calls.

Strengths#

  • Uses “IID” or no IID terminology.

  • Transpose notation uses \top consistently (no prime/^T).

  • No bold vectors/matrices.

  • Normal distribution written as plain N.

  • aligned (not align) used in $$ math.

  • Axis labels lowercase.

Recommended actions#

  1. Address qe-writing-006: Many section headings use Title Case rather than sentence case.

  2. Address qe-fig-003: ax.set_title() / fig.suptitle() used 13 times outside exercise blocks.

  3. Address qe-math-010 (proposed): Bare E[...] or \Pr(...) used instead of \mathbb{E}, \mathbb{P}.

  4. Address qe-code-002: Spelled-out Greek (alpha/beta/etc.) used predominantly in code; mixed with unicode forms (word=9, uni=4).

  5. Address qe-fig-001: figsize= set in 6 places — usually unnecessary.

Creative Commons License – This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International.

A theme by QuantEcon

Contents

Overview

  • Charts
  • Full findings & remediation plan
  • QuantEcon Style Audit — Scoring Spec
  • Appendix — feedback to the style guide & action-style-guide

lecture-python-intro (51 lectures)

  • Summary
    • about
    • ar1_processes
    • business_cycle
    • cagan_adaptive
    • cagan_ree
    • cobweb
    • commod_price
    • complex_and_trig
    • cons_smooth
    • eigen_I
    • eigen_II
    • equalizing_difference
    • french_rev
    • geom_series
    • greek_square
    • heavy_tails
    • inequality
    • inflation_history
    • input_output
    • intro
    • intro_supply_demand
    • laffer_adaptive
    • lake_model
    • linear_equations
    • lln_clt
    • long_run_growth
    • lp_intro
    • markov_chains_I
    • markov_chains_II
    • mle
    • money_inflation
    • money_inflation_nonlinear
    • monte_carlo
    • networks
    • olg
    • prob_dist
    • pv
    • scalar_dynam
    • schelling
    • short_path
    • simple_linear_regression
    • solow
    • status
    • supply_demand_foundations_v2
    • supply_demand_heterogeneity
    • supply_demand_multiple_goods
    • tax_smooth
    • time_series_with_matrices
    • troubleshooting
    • unpleasant
    • zreferences

lecture-python-programming (26 lectures)

  • Summary
    • about_py
    • autodiff
    • debugging
    • functions
    • getting_started
    • intro
    • jax_intro
    • matplotlib
    • names
    • need_for_speed
    • numba
    • numpy
    • numpy_vs_numba_vs_jax
    • oop_intro
    • pandas
    • pandas_panel
    • python_advanced_features
    • python_by_example
    • python_essentials
    • python_oop
    • scipy
    • status
    • sympy
    • troubleshooting
    • workspace
    • writing_good_code

lecture-python.myst (110 lectures)

  • Summary
    • affine_risk_prices
    • aiyagari
    • ak2
    • ak_aiyagari
    • ar1_bayes
    • ar1_turningpts
    • back_prop
    • bayes_nonconj
    • blackwell_kihlstrom
    • career
    • cass_fiscal
    • cass_fiscal_2
    • cass_koopmans_1
    • cass_koopmans_2
    • chow_business_cycles
    • cross_product_trick
    • divergence_measures
    • eig_circulant
    • endogenous_lake
    • exchangeable
    • finite_markov
    • ge_arrow
    • hansen_singleton_1982
    • hansen_singleton_1983
    • harrison_kreps
    • hoist_failure
    • house_auction
    • ifp_advanced
    • ifp_discrete
    • ifp_egm
    • ifp_egm_transient_shocks
    • ifp_opi
    • imp_sample
    • information_market_equilibrium
    • intro
    • inventory_dynamics
    • inventory_q
    • jv
    • kalman
    • kalman_2
    • kesten_processes
    • lagrangian_lqdp
    • lake_model
    • likelihood_bayes
    • likelihood_ratio_process
    • likelihood_ratio_process_2
    • likelihood_var
    • linear_algebra
    • linear_models
    • lln_clt
    • lq_inventories
    • lqcontrol
    • markov_asset
    • markov_perf
    • mccall_fitted_vfi
    • mccall_model
    • mccall_model_with_sep_markov
    • mccall_model_with_separation
    • mccall_persist_trans
    • mccall_q
    • measurement_models
    • merging_of_opinions
    • misspecified_recovery
    • mix_model
    • mle
    • morris_learn
    • multi_hyper
    • multivariate_normal
    • navy_captain
    • newton_method
    • odu
    • ols
    • opt_transport
    • organization_capital
    • os
    • os_egm
    • os_egm_jax
    • os_numerical
    • os_stochastic
    • os_time_iter
    • pandas_panel
    • perm_income
    • perm_income_cons
    • prob_matrix
    • prob_meaning
    • qr_decomp
    • rand_resp
    • rational_expectations
    • re_with_feedback
    • ross_recovery
    • rs_inventory_q
    • samuelson
    • sir_model
    • stats_examples
    • status
    • survival_recursive_preferences
    • svd_intro
    • theil_1
    • theil_2
    • troubleshooting
    • two_auctions
    • two_computation
    • uncertainty_traps
    • util_rand_resp
    • var_dmd
    • von_neumann_model
    • wald_friedman
    • wald_friedman_2
    • wealth_dynamics
    • zreferences

lecture-python-advanced.myst (62 lectures)

  • Summary
    • BCG_complete_mkts
    • BCG_incomplete_mkts
    • additive_functionals
    • amss
    • amss2
    • amss3
    • arellano
    • arma
    • asset_pricing_lph
    • black_litterman
    • cagan_rational_expectations
    • calvo
    • calvo_abreu
    • calvo_machine_learn
    • cattle_cycles
    • chang_credible
    • chang_ramsey
    • classical_filtering
    • coase
    • cons_news
    • discrete_dp
    • doubts_or_variability
    • dovis_accounting_mf
    • dyn_stack
    • entropy
    • estspec
    • five_preferences
    • gorman_heterogeneous_households
    • growth_in_dles
    • hansen_jagannathan_1991
    • hansen_richard_1987
    • hs_invertibility_example
    • hs_recursive_models
    • info_projection
    • intro
    • irfs_in_hall_model
    • knowing_forecasts_of_others
    • lqramsey
    • lu_tricks
    • lucas_asset_pricing_dles
    • lucas_model
    • markov_jump_lq
    • match_transport
    • matsuyama
    • muth_kalman
    • opt_tax_recur
    • orth_proj
    • permanent_income_dles
    • risk_aversion_or_mistaken_beliefs
    • rob_markov_perf
    • robustness
    • rosen_schooling_model
    • smoothing
    • smoothing_tax
    • stationary_densities
    • status
    • tax_smoothing_1
    • tax_smoothing_2
    • tax_smoothing_3
    • troubleshooting
    • un_insure
    • zreferences

lecture-dp (50 lectures)

  • Summary
    • amss
    • amss2
    • amss3
    • calvo
    • calvo_abreu
    • calvo_machine_learn
    • career
    • chang_credible
    • chang_ramsey
    • cons_news
    • cross_product_trick
    • discrete_dp
    • dyn_stack
    • ifp_advanced
    • ifp_discrete
    • ifp_egm
    • ifp_egm_transient_shocks
    • ifp_opi
    • intro
    • jv
    • lagrangian_lqdp
    • lq_inventories
    • lqcontrol
    • lqramsey
    • markov_jump_lq
    • mccall_fitted_vfi
    • mccall_model
    • mccall_model_with_sep_markov
    • mccall_model_with_separation
    • mccall_persist_trans
    • mccall_q
    • odu
    • opt_tax_recur
    • os
    • os_egm
    • os_egm_jax
    • os_numerical
    • os_stochastic
    • os_time_iter
    • perm_income
    • perm_income_cons
    • short_path
    • smoothing
    • smoothing_tax
    • status
    • tax_smoothing_1
    • tax_smoothing_2
    • tax_smoothing_3
    • un_insure
    • zreferences
  • QuantEcon
  • Lecture (PDF)

  • Book (PDF)

Notebook Launcher

Choose public or private cloud service for "Launch" button.

Select a server

  • Public
  • Private

Launch Notebook