├── CNAME ├── Gemfile ├── assets ├── main.scss ├── img │ ├── qe-squares.png │ ├── search-icon.png │ ├── lectures-logo.png │ ├── alfred-p-sloan-logo.png │ └── schmidtfutures-logo.png └── sass │ ├── _boilerplate.scss │ └── _main.scss ├── favicon.ico ├── robots.txt ├── .gitignore ├── index.md ├── pages ├── search.md └── about.md ├── README.md ├── _config.yml ├── _includes └── quantecon-menubar.html ├── _layouts ├── default.html └── home.html ├── Gemfile.lock └── 404.md /CNAME: -------------------------------------------------------------------------------- 1 | python.quantecon.org -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'github-pages', group: :jekyll_plugins -------------------------------------------------------------------------------- /assets/main.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | @import 'boilerplate'; 5 | @import 'main'; 6 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantEcon/lecture-python-website/master/favicon.ico -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | Sitemap: https://python.quantecon.org/sitemap.xml 2 | User-agent:* 3 | Disallow: -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .prettierignore 2 | _site/ 3 | _site/* 4 | .DS_Store 5 | .jekyll-cache/ 6 | .jekyll-cache/* -------------------------------------------------------------------------------- /assets/img/qe-squares.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantEcon/lecture-python-website/master/assets/img/qe-squares.png -------------------------------------------------------------------------------- /assets/img/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantEcon/lecture-python-website/master/assets/img/search-icon.png -------------------------------------------------------------------------------- /assets/img/lectures-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantEcon/lecture-python-website/master/assets/img/lectures-logo.png -------------------------------------------------------------------------------- /assets/img/alfred-p-sloan-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantEcon/lecture-python-website/master/assets/img/alfred-p-sloan-logo.png -------------------------------------------------------------------------------- /assets/img/schmidtfutures-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantEcon/lecture-python-website/master/assets/img/schmidtfutures-logo.png -------------------------------------------------------------------------------- /index.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: / 3 | layout: home 4 | --- 5 | 6 | This project provides a series of online textbooks on Python programming and quantitative economic modeling, designed and written by Thomas J. Sargent and John Stachurski. [Read more...](/about) -------------------------------------------------------------------------------- /pages/search.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Search 3 | permalink: /search/ 4 | --- 5 | 6 | # Search 7 | 8 | 9 |
-------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lecture-python-website 2 | 3 | The group website for: 4 | 5 | 1. [lecture-python-intro](https://github.com/QuantEcon/lecture-python-intro), 6 | 1. [lecture-python-advanced](https://github.com/QuantEcon/lecture-python-advanced), and 7 | 1. [lecture-python-programming](https://github.com/QuantEcon/lecture-python-programming) 8 | 9 | 10 | This repo provides: 11 | 12 | 1. Landing Page hosted at https://python.quantecon.org 13 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Quantitative Economics with Python 2 | description: A set of lectures on quantitative economic modeling, designed and written by Thomas J. Sargent and John Stachurski. 3 | keywords: Python, QuantEcon, Quantitative Economics, Economics, Sloan, Alfred P. Sloan Foundation, Tom J. Sargent, John Stachurski 4 | 5 | timezone: Australia/Sydney 6 | google_analytics: UA-54984338-7 7 | 8 | baseurl: / 9 | 10 | sass: 11 | sass_dir: /assets/sass 12 | style: :compressed 13 | 14 | repository: 15 | 16 | exclude: 17 | - Gemfile 18 | - Gemfile.lock 19 | - vendor/bundle 20 | 21 | # Increment to force users' browser to download new assets 22 | build_version: 1.2 23 | stylesheet_version: 1.4 24 | javascript_version: 1.2 25 | 26 | plugins: 27 | - jekyll-sitemap 28 | -------------------------------------------------------------------------------- /_includes/quantecon-menubar.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 | 40 | 41 | 46 | 47 |
48 | 49 |
-------------------------------------------------------------------------------- /assets/sass/_boilerplate.scss: -------------------------------------------------------------------------------- 1 | /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} 2 | /*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/ */html{color:#222;font-size:1em;line-height:1.4}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.browserupgrade{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.hidden{display:none!important}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only.focusable:active,.sr-only.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.invisible{visibility:hidden}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}} 3 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | {% if page.title %} {% assign page_title = page.title | append: " – " | 2 | append: site.title %} {% else %} {% assign page_title = site.title %} {% endif 3 | %} 4 | 5 | 6 | 10 | 19 | 20 | 21 | 22 | {{ page_title }} 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 37 | 38 | 39 | 40 | 44 | 45 | 46 | 47 | 51 | 55 | 60 | 61 | 62 | 63 | {% include quantecon-menubar.html %} 64 | 65 |
66 |
67 |
68 |

69 | Quantitative Economics with Python 70 |

71 | 72 | 76 |
77 | 78 |
79 | 95 | 96 | 103 |
104 |
105 | 106 |
107 | {{ content }} 108 |
109 | 110 | 142 |
143 | 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /_layouts/home.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | 5 |

Quantitative Economics with Python

6 | 7 |
8 | {{ content }} 9 |
10 | 11 | 127 | 128 | 143 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | activesupport (6.0.3.1) 5 | concurrent-ruby (~> 1.0, >= 1.0.2) 6 | i18n (>= 0.7, < 2) 7 | minitest (~> 5.1) 8 | tzinfo (~> 1.1) 9 | zeitwerk (~> 2.2, >= 2.2.2) 10 | addressable (2.7.0) 11 | public_suffix (>= 2.0.2, < 5.0) 12 | coffee-script (2.4.1) 13 | coffee-script-source 14 | execjs 15 | coffee-script-source (1.11.1) 16 | colorator (1.1.0) 17 | commonmarker (0.17.13) 18 | ruby-enum (~> 0.5) 19 | concurrent-ruby (1.1.6) 20 | dnsruby (1.61.3) 21 | addressable (~> 2.5) 22 | em-websocket (0.5.1) 23 | eventmachine (>= 0.12.9) 24 | http_parser.rb (~> 0.6.0) 25 | ethon (0.12.0) 26 | ffi (>= 1.3.0) 27 | eventmachine (1.2.7) 28 | execjs (2.7.0) 29 | faraday (1.0.1) 30 | multipart-post (>= 1.2, < 3) 31 | ffi (1.12.2) 32 | forwardable-extended (2.6.0) 33 | gemoji (3.0.1) 34 | github-pages (204) 35 | github-pages-health-check (= 1.16.1) 36 | jekyll (= 3.8.5) 37 | jekyll-avatar (= 0.7.0) 38 | jekyll-coffeescript (= 1.1.1) 39 | jekyll-commonmark-ghpages (= 0.1.6) 40 | jekyll-default-layout (= 0.1.4) 41 | jekyll-feed (= 0.13.0) 42 | jekyll-gist (= 1.5.0) 43 | jekyll-github-metadata (= 2.13.0) 44 | jekyll-mentions (= 1.5.1) 45 | jekyll-optional-front-matter (= 0.3.2) 46 | jekyll-paginate (= 1.1.0) 47 | jekyll-readme-index (= 0.3.0) 48 | jekyll-redirect-from (= 0.15.0) 49 | jekyll-relative-links (= 0.6.1) 50 | jekyll-remote-theme (= 0.4.1) 51 | jekyll-sass-converter (= 1.5.2) 52 | jekyll-seo-tag (= 2.6.1) 53 | jekyll-sitemap (= 1.4.0) 54 | jekyll-swiss (= 1.0.0) 55 | jekyll-theme-architect (= 0.1.1) 56 | jekyll-theme-cayman (= 0.1.1) 57 | jekyll-theme-dinky (= 0.1.1) 58 | jekyll-theme-hacker (= 0.1.1) 59 | jekyll-theme-leap-day (= 0.1.1) 60 | jekyll-theme-merlot (= 0.1.1) 61 | jekyll-theme-midnight (= 0.1.1) 62 | jekyll-theme-minimal (= 0.1.1) 63 | jekyll-theme-modernist (= 0.1.1) 64 | jekyll-theme-primer (= 0.5.4) 65 | jekyll-theme-slate (= 0.1.1) 66 | jekyll-theme-tactile (= 0.1.1) 67 | jekyll-theme-time-machine (= 0.1.1) 68 | jekyll-titles-from-headings (= 0.5.3) 69 | jemoji (= 0.11.1) 70 | kramdown (= 1.17.0) 71 | liquid (= 4.0.3) 72 | mercenary (~> 0.3) 73 | minima (= 2.5.1) 74 | nokogiri (>= 1.10.4, < 2.0) 75 | rouge (= 3.13.0) 76 | terminal-table (~> 1.4) 77 | github-pages-health-check (1.16.1) 78 | addressable (~> 2.3) 79 | dnsruby (~> 1.60) 80 | octokit (~> 4.0) 81 | public_suffix (~> 3.0) 82 | typhoeus (~> 1.3) 83 | html-pipeline (2.12.3) 84 | activesupport (>= 2) 85 | nokogiri (>= 1.4) 86 | http_parser.rb (0.6.0) 87 | i18n (0.9.5) 88 | concurrent-ruby (~> 1.0) 89 | jekyll (3.8.5) 90 | addressable (~> 2.4) 91 | colorator (~> 1.0) 92 | em-websocket (~> 0.5) 93 | i18n (~> 0.7) 94 | jekyll-sass-converter (~> 1.0) 95 | jekyll-watch (~> 2.0) 96 | kramdown (~> 1.14) 97 | liquid (~> 4.0) 98 | mercenary (~> 0.3.3) 99 | pathutil (~> 0.9) 100 | rouge (>= 1.7, < 4) 101 | safe_yaml (~> 1.0) 102 | jekyll-avatar (0.7.0) 103 | jekyll (>= 3.0, < 5.0) 104 | jekyll-coffeescript (1.1.1) 105 | coffee-script (~> 2.2) 106 | coffee-script-source (~> 1.11.1) 107 | jekyll-commonmark (1.3.1) 108 | commonmarker (~> 0.14) 109 | jekyll (>= 3.7, < 5.0) 110 | jekyll-commonmark-ghpages (0.1.6) 111 | commonmarker (~> 0.17.6) 112 | jekyll-commonmark (~> 1.2) 113 | rouge (>= 2.0, < 4.0) 114 | jekyll-default-layout (0.1.4) 115 | jekyll (~> 3.0) 116 | jekyll-feed (0.13.0) 117 | jekyll (>= 3.7, < 5.0) 118 | jekyll-gist (1.5.0) 119 | octokit (~> 4.2) 120 | jekyll-github-metadata (2.13.0) 121 | jekyll (>= 3.4, < 5.0) 122 | octokit (~> 4.0, != 4.4.0) 123 | jekyll-mentions (1.5.1) 124 | html-pipeline (~> 2.3) 125 | jekyll (>= 3.7, < 5.0) 126 | jekyll-optional-front-matter (0.3.2) 127 | jekyll (>= 3.0, < 5.0) 128 | jekyll-paginate (1.1.0) 129 | jekyll-readme-index (0.3.0) 130 | jekyll (>= 3.0, < 5.0) 131 | jekyll-redirect-from (0.15.0) 132 | jekyll (>= 3.3, < 5.0) 133 | jekyll-relative-links (0.6.1) 134 | jekyll (>= 3.3, < 5.0) 135 | jekyll-remote-theme (0.4.1) 136 | addressable (~> 2.0) 137 | jekyll (>= 3.5, < 5.0) 138 | rubyzip (>= 1.3.0) 139 | jekyll-sass-converter (1.5.2) 140 | sass (~> 3.4) 141 | jekyll-seo-tag (2.6.1) 142 | jekyll (>= 3.3, < 5.0) 143 | jekyll-sitemap (1.4.0) 144 | jekyll (>= 3.7, < 5.0) 145 | jekyll-swiss (1.0.0) 146 | jekyll-theme-architect (0.1.1) 147 | jekyll (~> 3.5) 148 | jekyll-seo-tag (~> 2.0) 149 | jekyll-theme-cayman (0.1.1) 150 | jekyll (~> 3.5) 151 | jekyll-seo-tag (~> 2.0) 152 | jekyll-theme-dinky (0.1.1) 153 | jekyll (~> 3.5) 154 | jekyll-seo-tag (~> 2.0) 155 | jekyll-theme-hacker (0.1.1) 156 | jekyll (~> 3.5) 157 | jekyll-seo-tag (~> 2.0) 158 | jekyll-theme-leap-day (0.1.1) 159 | jekyll (~> 3.5) 160 | jekyll-seo-tag (~> 2.0) 161 | jekyll-theme-merlot (0.1.1) 162 | jekyll (~> 3.5) 163 | jekyll-seo-tag (~> 2.0) 164 | jekyll-theme-midnight (0.1.1) 165 | jekyll (~> 3.5) 166 | jekyll-seo-tag (~> 2.0) 167 | jekyll-theme-minimal (0.1.1) 168 | jekyll (~> 3.5) 169 | jekyll-seo-tag (~> 2.0) 170 | jekyll-theme-modernist (0.1.1) 171 | jekyll (~> 3.5) 172 | jekyll-seo-tag (~> 2.0) 173 | jekyll-theme-primer (0.5.4) 174 | jekyll (> 3.5, < 5.0) 175 | jekyll-github-metadata (~> 2.9) 176 | jekyll-seo-tag (~> 2.0) 177 | jekyll-theme-slate (0.1.1) 178 | jekyll (~> 3.5) 179 | jekyll-seo-tag (~> 2.0) 180 | jekyll-theme-tactile (0.1.1) 181 | jekyll (~> 3.5) 182 | jekyll-seo-tag (~> 2.0) 183 | jekyll-theme-time-machine (0.1.1) 184 | jekyll (~> 3.5) 185 | jekyll-seo-tag (~> 2.0) 186 | jekyll-titles-from-headings (0.5.3) 187 | jekyll (>= 3.3, < 5.0) 188 | jekyll-watch (2.2.1) 189 | listen (~> 3.0) 190 | jemoji (0.11.1) 191 | gemoji (~> 3.0) 192 | html-pipeline (~> 2.2) 193 | jekyll (>= 3.0, < 5.0) 194 | kramdown (1.17.0) 195 | liquid (4.0.3) 196 | listen (3.2.1) 197 | rb-fsevent (~> 0.10, >= 0.10.3) 198 | rb-inotify (~> 0.9, >= 0.9.10) 199 | mercenary (0.3.6) 200 | mini_portile2 (2.4.0) 201 | minima (2.5.1) 202 | jekyll (>= 3.5, < 5.0) 203 | jekyll-feed (~> 0.9) 204 | jekyll-seo-tag (~> 2.1) 205 | minitest (5.14.1) 206 | multipart-post (2.1.1) 207 | nokogiri (1.10.9) 208 | mini_portile2 (~> 2.4.0) 209 | octokit (4.18.0) 210 | faraday (>= 0.9) 211 | sawyer (~> 0.8.0, >= 0.5.3) 212 | pathutil (0.16.2) 213 | forwardable-extended (~> 2.6) 214 | public_suffix (3.1.1) 215 | rb-fsevent (0.10.3) 216 | rb-inotify (0.10.1) 217 | ffi (~> 1.0) 218 | rouge (3.13.0) 219 | ruby-enum (0.7.2) 220 | i18n 221 | rubyzip (2.3.0) 222 | safe_yaml (1.0.5) 223 | sass (3.7.4) 224 | sass-listen (~> 4.0.0) 225 | sass-listen (4.0.0) 226 | rb-fsevent (~> 0.9, >= 0.9.4) 227 | rb-inotify (~> 0.9, >= 0.9.7) 228 | sawyer (0.8.2) 229 | addressable (>= 2.3.5) 230 | faraday (> 0.8, < 2.0) 231 | terminal-table (1.8.0) 232 | unicode-display_width (~> 1.1, >= 1.1.1) 233 | thread_safe (0.3.6) 234 | typhoeus (1.3.1) 235 | ethon (>= 0.9.0) 236 | tzinfo (1.2.7) 237 | thread_safe (~> 0.1) 238 | unicode-display_width (1.7.0) 239 | zeitwerk (2.3.0) 240 | 241 | PLATFORMS 242 | ruby 243 | 244 | DEPENDENCIES 245 | github-pages 246 | 247 | BUNDLED WITH 248 | 2.1.3 249 | -------------------------------------------------------------------------------- /assets/sass/_main.scss: -------------------------------------------------------------------------------- 1 | /* landing.css v1.0 */ 2 | 3 | @import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600&display=swap'); 4 | 5 | body { 6 | color: #444; 7 | background: #b8bac3; 8 | font-family: 'Source Sans Pro', sans-serif; 9 | font-size: 1.2rem; 10 | line-height: 1.4; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | } 15 | 16 | h1, 17 | h2, 18 | h3, 19 | h4, 20 | h5 { 21 | font-weight: 400; 22 | } 23 | h1 { 24 | font-size: 2em; 25 | } 26 | h2 { 27 | font-size: 1.7em; 28 | } 29 | h3 { 30 | font-size: 1.4em; 31 | } 32 | h4 { 33 | font-size: 1.2em; 34 | } 35 | 36 | strong, 37 | b { 38 | font-weight: 600; 39 | } 40 | 41 | li { 42 | margin: 0.5em 0; 43 | } 44 | 45 | img { 46 | max-width: 100%; 47 | } 48 | 49 | a { 50 | color: #0072bc; 51 | text-decoration: none; 52 | transition: all 0.15s linear; 53 | overflow-wrap: break-word; 54 | } 55 | a:link { 56 | } 57 | a:hover { 58 | color: #004979; 59 | text-decoration: underline; 60 | } 61 | a:active { 62 | } 63 | a:visited { 64 | /* color: #004979; */ 65 | } 66 | 67 | .wrapper { 68 | width: 1024px; 69 | box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.4); 70 | margin: 20px auto 23px auto; 71 | position: relative; 72 | background: #fff; 73 | @media (max-width: 1024px) { 74 | width: auto; 75 | margin: 0; 76 | } 77 | } 78 | 79 | .main { 80 | padding: 2rem 4rem; 81 | position: relative; 82 | max-width: 1024px; 83 | margin: 0 auto; 84 | } 85 | 86 | /* Header */ 87 | 88 | .header { 89 | background: #23262c; 90 | color: #fff; 91 | padding: 2rem 4rem; 92 | display: flex; 93 | justify-content: space-between; 94 | @media (max-width: 1024px) { 95 | flex-direction: column; 96 | align-items: center; 97 | } 98 | @media (max-width: 768px) { 99 | padding-left: 2.5rem; 100 | padding-right: 2.5rem; 101 | } 102 | } 103 | 104 | .branding { 105 | background: url(/assets/img/lectures-logo.png) no-repeat left center; 106 | background-size: 75px; 107 | padding: 0 0 0 90px; 108 | min-height: 75px; 109 | } 110 | 111 | .site-title { 112 | font-size: 1.5em; 113 | margin: 0 0 15px 0; 114 | line-height: 1; 115 | a { 116 | color: #fff; 117 | text-decoration: none; 118 | } 119 | } 120 | .site-authors { 121 | list-style: none; 122 | padding: 0 0 0 5px; 123 | margin: 0; 124 | font-size: 0.9em; 125 | li { 126 | display: inline-block; 127 | margin: 0 1rem 0 0; 128 | } 129 | a { 130 | color: #fff; 131 | text-decoration: none; 132 | &:hover { 133 | text-decoration: underline; 134 | } 135 | } 136 | } 137 | .header-tools { 138 | display: flex; 139 | flex-direction: column; 140 | justify-content: flex-start; 141 | align-items: flex-end; 142 | } 143 | .site-search { 144 | display: block; 145 | margin: 0; 146 | width: 215px; 147 | @media (max-width: 1024px) { 148 | margin: 1rem 0 0 0; 149 | } 150 | } 151 | .search-searchbox { 152 | margin: 2rem 1rem; 153 | } 154 | .site-search .gsc-input { 155 | background: transparent !important; 156 | color: #fff; 157 | font-size: 0.9rem; 158 | } 159 | .site-search .gsc-input-box { 160 | background: transparent !important; 161 | border: 1px solid #a1a1a1; 162 | border-radius: 2px; 163 | } 164 | .site-search .gsib_b { 165 | display: none; 166 | } 167 | .site-search td.gsc-search-button { 168 | background: url(/assets/img/search-icon.png) no-repeat left top; 169 | background-size: 16px 16px; 170 | background-position: 0 5px; 171 | cursor: pointer; 172 | } 173 | .site-search button.gsc-search-button { 174 | border: 0; 175 | width: 16px; 176 | height: 16px; 177 | padding: 0px 0px; 178 | outline: 0; 179 | opacity: 0; 180 | cursor: pointer; 181 | } 182 | .search-searchbox td.gsc-search-button { 183 | background: url(/assets/img/search-icon.png) no-repeat left top; 184 | background-size: 16px 16px; 185 | background-position: center center; 186 | border: 1px solid #898989; 187 | background-color: #23262c; 188 | } 189 | .search-searchbox button.gsc-search-button { 190 | border: 0; 191 | width: 60px; 192 | height: 26px; 193 | padding: 0px 0px; 194 | outline: 0; 195 | opacity: 0; 196 | display: block; 197 | margin: 0; 198 | } 199 | .gsc-input::-webkit-input-placeholder { 200 | opacity: 0; 201 | } 202 | .gsc-input::-moz-placeholder { 203 | opacity: 0; 204 | } 205 | .gsc-input:-ms-input-placeholder { 206 | opacity: 0; 207 | } 208 | .gsc-input:-moz-placeholder { 209 | opacity: 0; 210 | } 211 | .options { 212 | list-style: none; 213 | padding: 0; 214 | margin: 1rem 0 0 0; 215 | display: flex; 216 | justify-content: flex-end; 217 | font-size: 0.9rem; 218 | li { 219 | margin: 0 0 0 2rem; 220 | a { 221 | color: #fff; 222 | font-size: 1.1rem; 223 | } 224 | &:first-child { 225 | a { 226 | background-image: url(/assets/img/qe-squares.png); 227 | background-repeat: no-repeat; 228 | display: block; 229 | background-size: contain; 230 | width: 80px; 231 | height: 62px; 232 | position: relative; 233 | top: -5px; 234 | } 235 | } 236 | } 237 | @media (max-width: 1024px) { 238 | margin: 1rem 0 0 0; 239 | li { 240 | margin: 0 1rem; 241 | } 242 | } 243 | } 244 | 245 | /* Homepage */ 246 | 247 | .home-intro { 248 | padding: 0 2rem; 249 | text-align: center; 250 | font-size: 1.2rem; 251 | line-height: 1.5; 252 | font-weight: 600; 253 | color: #888; 254 | @media (max-width: 768px) { 255 | padding: 0; 256 | } 257 | } 258 | .sponsors { 259 | list-style: none; 260 | padding: 0; 261 | margin: 4rem 0; 262 | display: flex; 263 | align-items: center; 264 | justify-content: center; 265 | li { 266 | margin: 0 2rem; 267 | padding: 0; 268 | } 269 | @media (max-width: 768px) { 270 | flex-direction: column; 271 | margin: 2rem 0; 272 | li { 273 | margin: 1rem 0; 274 | } 275 | } 276 | } 277 | 278 | .series { 279 | list-style: none; 280 | padding: 0; 281 | margin: 4rem 0; 282 | display: flex; 283 | justify-content: space-around; 284 | li { 285 | width: 30%; 286 | display: flex; 287 | a { 288 | display: block; 289 | box-sizing: border-box; 290 | border: 1px solid #23262c; 291 | box-shadow: 0px 0px 5px 0px rgba(50, 50, 50, 0.4); 292 | padding: 2rem 1rem; 293 | border-radius: 5px; 294 | color: #23262c; 295 | text-align: center; 296 | svg { 297 | margin: 0 auto 15px auto; 298 | display: block; 299 | height: 40px; 300 | } 301 | &:hover { 302 | background-color: #23262c; 303 | color: #fff; 304 | text-decoration: none; 305 | svg { 306 | g { 307 | fill: #fff; 308 | } 309 | } 310 | } 311 | } 312 | } 313 | @media (max-width: 768px) { 314 | margin: 2rem 0; 315 | flex-direction: column; 316 | li { 317 | width: auto; 318 | display: block; 319 | a { 320 | height: auto; 321 | } 322 | } 323 | } 324 | } 325 | 326 | /* Footer */ 327 | 328 | .footer { 329 | font-size: 0.8em; 330 | color: #898989; 331 | background: #f0f0f0; 332 | border-top: 1px dashed #bfbfbf; 333 | position: relative; 334 | padding: 2rem 4rem; 335 | max-width: 1024px; 336 | margin: 0 auto; 337 | box-sizing: border-box; 338 | a { 339 | color: #898989; 340 | } 341 | .logo { 342 | float: right; 343 | margin: 0 0 1rem 1rem; 344 | img { 345 | width: 140px; 346 | } 347 | } 348 | @media (max-width: 768px) { 349 | padding-left: 2.5rem; 350 | padding-right: 2.5rem; 351 | } 352 | @media (max-width: 768px) { 353 | padding-left: 2.5rem; 354 | padding-right: 2.5rem; 355 | } 356 | } 357 | 358 | // CONTENT 359 | 360 | .loading { 361 | } 362 | 363 | .loading:after { 364 | overflow: hidden; 365 | display: inline-block; 366 | vertical-align: bottom; 367 | -webkit-animation: ellipsis steps(4, end) 1200ms infinite; 368 | animation: ellipsis steps(4, end) 1200ms infinite; 369 | content: '\2026'; /* ascii code for the ellipsis character */ 370 | width: 0px; 371 | } 372 | 373 | @keyframes ellipsis { 374 | to { 375 | width: 1.25em; 376 | } 377 | } 378 | 379 | @-webkit-keyframes ellipsis { 380 | to { 381 | width: 1.25em; 382 | } 383 | } 384 | -------------------------------------------------------------------------------- /pages/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: About Lectures 3 | permalink: /about/ 4 | --- 5 | 6 | # History 7 | 8 | This page collects three lecture series: 9 | 10 | 1. [Python Programming for Economics and Finance](https://python-programming.quantecon.org/) 11 | 2. [Quantitative Economics with Python](https://python-intro.quantecon.org/) and 12 | 2. [Advanced Quantitative Economics with Python](https://python-advanced.quantecon.org/) 13 | 14 | Previously all three were combined in a single site but as the number of 15 | lectures grew they became hard to navigate. The single site was split into 16 | three in March 2020. 17 | 18 | The breakdown is as the names suggest. The first series focuses on 19 | programming and is a prerequisite for both the second and the third. The 20 | second series is aimed at (very) advanced undergraduate students and beginning 21 | graduate students. The third is for advanced graduate students and 22 | researchers. 23 | 24 | While Thomas Sargent and John Stachurski are listed as coauthors, many people 25 | have contributed to the lectures. Credits are give below. 26 | 27 | 28 | ## Objective 29 | 30 | The lecture series treats 31 | 32 | - algorithms and numerical methods for quantitative economic problems, 33 | - related mathematical and statistical concepts, and 34 | - basics of coding skills and software engineering. 35 | 36 | As stated above, the coding language for this lecture series is Python. 37 | 38 | Note that there's also a related set of [Julia lectures](https://julia.quantecon.org>) 39 | 40 | In terms of the differences, 41 | 42 | - Python is a general-purpose language featuring a huge user 43 | community in the sciences and an outstanding scientific ecosystem. 44 | - Julia is a more recent language with many exciting features. 45 | 46 | Both are modern, open-source, high productivity languages with all the 47 | key features needed for high-performance computing. 48 | 49 | Julia has the advantage that third party libraries are often written 50 | entirely in Julia itself. 51 | 52 | Python has the advantage of being supported by a vast collection of 53 | scientific libraries (and being a highly marketable skill). 54 | 55 | 56 | ## Open Source 57 | 58 | All the computing environments we work with are free and open-source. 59 | 60 | This means that you, your coauthors and your students can install them 61 | and their libraries on all of your computers without cost or concern 62 | about licenses. 63 | 64 | Another advantage of open source libraries is that you can read them and 65 | learn how they work. 66 | 67 | For example, let's say you want to know exactly how 68 | [statsmodels](https://github.com/statsmodels/statsmodels) computes 69 | Newey-West covariance matrices. 70 | 71 | No problem: You can go ahead and [read the 72 | code](https://github.com/statsmodels/statsmodels/blob/master/statsmodels/stats/sandwich_covariance.py). 73 | 74 | While dipping into external code libraries takes a bit of coding 75 | maturity, it's very useful for 76 | 77 | 1. helping you understand the details of a particular implementation, 78 | and 79 | 2. building your programming skills by showing you code written by 80 | first-rate programmers. 81 | 82 | Also, you can modify the library to suit your needs: if the 83 | functionality provided is not exactly what you want, you are free to 84 | change it. 85 | 86 | Another, a more philosophical advantage of open-source software is that 87 | it conforms to the [scientific ideal of 88 | reproducibility](https://en.wikipedia.org/wiki/Scientific_method). 89 | 90 | 91 | Credits 92 | ------- 93 | 94 | These lectures have benefited greatly from comments and suggestions from 95 | our colleagues, students and friends. Special thanks are due to our 96 | sponsoring organization the Alfred P. Sloan Foundation and our research 97 | assistants Chase Coleman, Spencer Lyon and Matthew McKay for innumerable 98 | contributions to the code library and functioning of the website. 99 | 100 | We also recognize those who co-authored lectures and code: 101 | 102 | [Anmol Bhandari]( http://www.bhandarianmol.com/) 103 | - Co-authored [Fluctuating Interest Rates Deliver Fiscal Insurance]( https://python-advanced.quantecon.org/amss2.html) 104 | 105 | [Chase Coleman](http://www.chasegcoleman.com/) 106 | - Co-authored [Additive and Multiplicative Functionals]( https://python-advanced.quantecon.org/additive_functionals.html) 107 | - Co-authored [Globalization and Cycles]( https://python-advanced.quantecon.org/matsuyama.html) 108 | - Co-authored [Permanent Income II: LQ Techniques]( https://python-intro.quantecon.org/perm_income_cons.html) 109 | - Co-authored [Reverse Engineering a la Muth]( https://python-advanced.quantecon.org/muth_kalman.html) 110 | - Co-authored code for [Asset Pricing with Incomplete Markets]( https://python-intro.quantecon.org/harrison_kreps.html) 111 | - Co-authored code for [Markov Perfect Equilibrium](https://python-intro.quantecon.org/markov_perf.html) 112 | - Co-authored code for [Robust Markov Perfect Equilibrium](https://python-advanced.quantecon.org/rob_markov_perf.html) 113 | - Co-authored code for [Robustness]( https://python-advanced.quantecon.org/robustness.html) 114 | 115 | [Daniel Csaba]( http://danielcsaba.com/) 116 | - Co-authored [Two Modifications of Mean-Variance Portfolio Theory]( https://python-advanced.quantecon.org/black_litterman.html) 117 | 118 | [David Evans]( http://econevans.com/) 119 | - Co-authored [Fluctuating Interest Rates Deliver Fiscal Insurance]( https://python-advanced.quantecon.org/amss2.html) 120 | 121 | [Sebastian Graves]( https://www.sebgraves.com/) 122 | - Co-authored [Cattle Cycles]( https://python-advanced.quantecon.org/cattle_cycles.html) 123 | - Co-authored [Competitive Equilibria of a Model of Chang]( https://python-advanced.quantecon.org/chang_ramsey.html) 124 | - Co-authored [Credible Government Policies in a Model of Chang]( https://python-advanced.quantecon.org/chang_credible.html) 125 | - Co-authored [Growth in Dynamic Linear Economies]( https://python-advanced.quantecon.org/growth_in_dles.html) 126 | - Co-authored [How to Pay for a War: Part 1]( https://python-advanced.quantecon.org/tax_smoothing_1.html) 127 | - Co-authored [How to Pay for a War: Part 2]( https://python-advanced.quantecon.org/tax_smoothing_2.html) 128 | - Co-authored [How to Pay for a War: Part 3]( https://python-advanced.quantecon.org/tax_smoothing_3.html) 129 | - Co-authored [IRFs in Hall Models]( https://python-advanced.quantecon.org/irfs_in_hall_model.html) 130 | - Co-authored [Lucas Asset Pricing Using DLE]( https://python-advanced.quantecon.org/lucas_asset_pricing_dles.html) 131 | - Co-authored [Markov Jump Linear Quadratic Dynamic Programming]( https://python-advanced.quantecon.org/markov_jump_lq.html) 132 | - Co-authored [Permanent Income Model using the DLE Class]( https://python-advanced.quantecon.org/permanent_income_dles.html) 133 | - Co-authored [Ramsey Plans, Time Inconsistency, Sustainable Plans]( https://python-advanced.quantecon.org/calvo.html) 134 | - Co-authored [Rosen Schooling Model]( https://python-advanced.quantecon.org/rosen_schooling_model.html) 135 | 136 | [Spencer Lyon]( http://spencerlyon.com/) 137 | - Co-authored code for [Robustness]( https://python-advanced.quantecon.org/robustness.html) 138 | 139 | [Matthew McKay](https://github.com/mmcky) 140 | - Co-authored [Parallelization](https://python-programming.quantecon.org/parallelization.html) 141 | 142 | [Daisuke Oyama]( http://www.oyama.e.u-tokyo.ac.jp/) 143 | - Authored code for [Discrete State Dynamic Programming]( https://python-advanced.quantecon.org/discrete_dp.html) 144 | 145 | [Zejin Shi]( https://github.com/shizejin) 146 | - Co-authored [Information and Consumption Smoothing]( https://python-advanced.quantecon.org/cons_news.html) 147 | - Co-authored [Markov Jump Linear Quadratic Dynamic Programming](https://python-advanced.quantecon.org/markov_jump_lq.html) 148 | - Co-authored [Production Smoothing via Inventories]( https://python-intro.quantecon.org/lq_inventories.html) 149 | 150 | [Balint Szoke]( https://www.balintszoke.com/) 151 | - Co-authored [Additive and Multiplicative Functionals]( https://python-advanced.quantecon.org/additive_functionals.html) 152 | - Co-authored [Two Modifications of Mean-Variance Portfolio Theory]( https://python-advanced.quantecon.org/black_litterman.html) 153 | - Co-authored [Von Neumann Growth Model (and a Generalization)]( https://python-advanced.quantecon.org/von_neumann_model.html) 154 | - Co-authored code for [Classical Control with Linear Algebra]( https://python-advanced.quantecon.org/lu_tricks.html) 155 | - Co-authored code for [Classical Prediction and Filtering With Linear Algebra](https://python-advanced.quantecon.org/classical_filtering.html) 156 | 157 | [Natasha Watkins](https://github.com/natashawatkins) 158 | - Co-authored [Application: The Samuelson Multiplier-Accelerator]( https://python-intro.quantecon.org/samuelson.html) 159 | - Co-authored [Linear Regression in Python]( https://python-intro.quantecon.org/ols.html) 160 | - Co-authored [Maximum Likelihood Estimation]( https://python-intro.quantecon.org/mle.html) 161 | - Co-authored [Pandas for Panel Data]( https://python-intro.quantecon.org/pandas_panel.html) 162 | 163 | Dongchen Zou 164 | - Co-authored [Robust Markov Perfect Equilibrium]( https://python-advanced.quantecon.org/rob_markov_perf.html) 165 | 166 | 167 | We also thank [Andrij Stachurski](http://drdrij.com/) for his great web 168 | skills, and the many others who have contributed suggestions, bug fixes 169 | or improvements. They include but are not limited to Anmol Bhandari, 170 | Long Bui, Jeong-Hun Choi, David Evans, Shunsuke Hori, Chenghan Hou, 171 | Doc-Jin Jang, Qingyin Ma, Akira Matsushita, Tomohito Okabe, Daisuke 172 | Oyama, David Pugh, Alex Olssen, Nathan Palmer, Bill Tubbs, Natasha 173 | Watkins, Pablo Winant and Yixiao Zhou. 174 | 175 | -------------------------------------------------------------------------------- /404.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Page not found 3 | permalink: /404.html 4 | --- 5 | 6 |

Page not found

7 | 8 |

Redirecting

9 | 10 |

The lectures have been reorganized --- sending you to the new URL

11 | 12 |
13 | 14 | 135 | --------------------------------------------------------------------------------