.mac-os-11 { --title-bar-height: 28px; } html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4, h5 { white-space: pre-wrap; } body { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; } iframe { margin: auto; } a.url { word-break: break-all; } a:active, a:hover { outline: 0px; } .in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); } #write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 36px; } #write.first-line-indent p { text-indent: 2em; } #write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; } #write.first-line-indent li { margin-left: 2em; } .for-image #write { padding-left: 8px; padding-right: 8px; } body.typora-export { padding-left: 30px; padding-right: 30px; } .typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; } .typora-export .task-list-item input { pointer-events: none; } @media screen and (max-width: 500px) { body.typora-export { padding-left: 0px; padding-right: 0px; } #write { padding-left: 20px; padding-right: 20px; } } #write li > figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; image-orientation: from-image; } button, input, select, textarea { color: inherit; font: inherit; } input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; } *, ::after, ::before { box-sizing: border-box; } #write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; position: relative; } #write svg h1, #write svg h2, #write svg h3, #write svg h4, #write svg h5, #write svg h6, #write svg p { position: static; } p { line-height: inherit; } h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; } p { orphans: 4; } h1 { font-size: 2rem; } h2 { font-size: 1.8rem; } h3 { font-size: 1.6rem; } h4 { font-size: 1.4rem; } h5 { font-size: 1.2rem; } h6 { font-size: 1rem; } .md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; } .hidden { display: none; } .md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; } a { cursor: pointer; } sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; } sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; } #write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; } figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; } figure > table { margin: 0px; } thead, tr { break-inside: avoid; break-after: auto; } thead { display: table-header-group; } table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; } table.md-table td { min-width: 32px; } .CodeMirror-gutters { border-right: 0px; background-color: inherit; } .CodeMirror-linenumber { user-select: none; } .CodeMirror { text-align: left; } .CodeMirror-placeholder { opacity: 0.3; } .CodeMirror pre { padding: 0px 4px; } .CodeMirror-lines { padding: 0px; } div.hr:focus { cursor: none; } #write pre { white-space: pre-wrap; } #write.fences-no-line-wrapping pre { white-space: pre; } #write pre.ty-contain-cm { white-space: normal; } .CodeMirror-gutters { margin-right: 4px; } .md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; } .md-fences-adv-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; } #write .md-fences.mock-cm { white-space: pre-wrap; } .md-fences.md-fences-with-lineno { padding-left: 0px; } #write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; } .md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; } .CodeMirror-line, twitterwidget { break-inside: avoid; } svg { break-inside: avoid; } .footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; } .footnotes + .footnotes { margin-top: 0px; } .md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; } li div { padding-top: 0px; } blockquote { margin: 1rem 0px; } li .mathjax-block, li p { margin: 0.5rem 0px; } li blockquote { margin: 1rem 0px; } li { margin: 0px; position: relative; } blockquote > :last-child { margin-bottom: 0px; } blockquote > :first-child, li > :first-child { margin-top: 0px; } .footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; } #write .footnote-line { white-space: pre-wrap; } @media print { body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; } #write { margin-top: 0px; border-color: transparent !important; padding-top: 0px !important; padding-bottom: 0px !important; } .typora-export * { -webkit-print-color-adjust: exact; } .typora-export #write { break-after: avoid; } .typora-export #write::after { height: 0px; } .is-mac table { break-inside: avoid; } #write > p:nth-child(1) { margin-top: 0px; } .typora-export-show-outline .typora-export-sidebar { display: none; } figure { overflow-x: visible; } } .footnote-line { margin-top: 0.714em; font-size: 0.7em; } a img, img a { cursor: pointer; } pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; } p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; } #write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; } p > .md-image:only-child { display: inline-block; width: 100%; } #write .MathJax_Display { margin: 0.8em 0px 0px; } .md-math-block { width: 100%; } .md-math-block:not(:empty)::after { display: none; } .MathJax_ref { fill: currentcolor; } [contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; } .md-task-list-item { position: relative; list-style-type: none; } .task-list-item.md-task-list-item { padding-left: 0px; } .md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; } .math { font-size: 1rem; } .md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; } .md-toc-content { position: relative; margin-left: 0px; } .md-toc-content::after, .md-toc::after { display: none; } .md-toc-item { display: block; color: rgb(65, 131, 196); } .md-toc-item a { text-decoration: none; } .md-toc-inner:hover { text-decoration: underline; } .md-toc-inner { display: inline-block; cursor: pointer; } .md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; } .md-toc-h2 .md-toc-inner { margin-left: 2em; } .md-toc-h3 .md-toc-inner { margin-left: 4em; } .md-toc-h4 .md-toc-inner { margin-left: 6em; } .md-toc-h5 .md-toc-inner { margin-left: 8em; } .md-toc-h6 .md-toc-inner { margin-left: 10em; } @media screen and (max-width: 48em) { .md-toc-h3 .md-toc-inner { margin-left: 3.5em; } .md-toc-h4 .md-toc-inner { margin-left: 5em; } .md-toc-h5 .md-toc-inner { margin-left: 6.5em; } .md-toc-h6 .md-toc-inner { margin-left: 8em; } } a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; } .footnote-line a:not(.reversefootnote) { color: inherit; } .reversefootnote { font-family: ui-monospace, sans-serif; } .md-attr { display: none; } .md-fn-count::after { content: "."; } code, pre, samp, tt { font-family: var(--monospace); } kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; } .md-comment { color: rgb(162, 127, 3); opacity: 0.6; font-family: var(--monospace); } code { text-align: left; vertical-align: initial; } a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; } .os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; } .md-diagram-panel > svg { max-width: 100%; } [lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; } [lang="mermaid"] .node text { font-size: 1rem; } table tr th { border-bottom: 0px; } video { max-width: 100%; display: block; margin: 0px auto; } iframe { max-width: 100%; width: 100%; border: none; } .highlight td, .highlight tr { border: 0px; } mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); } .md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; } .md-expand mark .md-meta { opacity: 0.3 !important; } mark .md-meta { color: rgb(0, 0, 0); } @media print { .typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 { break-inside: avoid; } } .md-diagram-panel .messageText { stroke: none !important; } .md-diagram-panel .start-state { fill: var(--node-fill); } .md-diagram-panel .edgeLabel rect { opacity: 1 !important; } .md-fences.md-fences-math { font-size: 1em; } .md-fences-advanced:not(.md-focus) { padding: 0px; white-space: nowrap; border: 0px; } .md-fences-advanced:not(.md-focus) { background: inherit; } .mermaid-svg { margin: auto; } .typora-export-show-outline .typora-export-content { max-width: 1440px; margin: auto; display: flex; flex-direction: row; } .typora-export-sidebar { width: 300px; font-size: 0.8rem; margin-top: 80px; margin-right: 18px; } .typora-export-show-outline #write { --webkit-flex: 2; flex: 2 1 0%; } .typora-export-sidebar .outline-content { position: fixed; top: 0px; max-height: 100%; overflow: hidden auto; padding-bottom: 30px; padding-top: 60px; width: 300px; } @media screen and (max-width: 1024px) { .typora-export-sidebar, .typora-export-sidebar .outline-content { width: 240px; } } @media screen and (max-width: 800px) { .typora-export-sidebar { display: none; } } .outline-content li, .outline-content ul { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 0px; list-style: none; overflow-wrap: anywhere; } .outline-content ul { margin-top: 0px; margin-bottom: 0px; } .outline-content strong { font-weight: 400; } .outline-expander { width: 1rem; height: 1.42857rem; position: relative; display: table-cell; vertical-align: middle; cursor: pointer; padding-left: 4px; } .outline-expander::before { content: ""; position: relative; font-family: Ionicons; display: inline-block; font-size: 8px; vertical-align: middle; } .outline-item { padding-top: 3px; padding-bottom: 3px; cursor: pointer; } .outline-expander:hover::before { content: ""; } .outline-h1 > .outline-item { padding-left: 0px; } .outline-h2 > .outline-item { padding-left: 1em; } .outline-h3 > .outline-item { padding-left: 2em; } .outline-h4 > .outline-item { padding-left: 3em; } .outline-h5 > .outline-item { padding-left: 4em; } .outline-h6 > .outline-item { padding-left: 5em; } .outline-label { cursor: pointer; display: table-cell; vertical-align: middle; text-decoration: none; color: inherit; } .outline-label:hover { text-decoration: underline; } .outline-item:hover { border-color: rgb(245, 245, 245); background-color: var(--item-hover-bg-color); } .outline-item:hover { margin-left: -28px; margin-right: -28px; border-left: 28px solid transparent; border-right: 28px solid transparent; } .outline-item-single .outline-expander::before, .outline-item-single .outline-expander:hover::before { display: none; } .outline-item-open > .outline-item > .outline-expander::before { content: ""; } .outline-children { display: none; } .info-panel-tab-wrapper { display: none; } .outline-item-open > .outline-children { display: block; } .typora-export .outline-item { padding-top: 1px; padding-bottom: 1px; } .typora-export .outline-item:hover { margin-right: -8px; border-right: 8px solid transparent; } .typora-export .outline-expander::before { content: "+"; font-family: inherit; top: -1px; } .typora-export .outline-expander:hover::before, .typora-export .outline-item-open > .outline-item > .outline-expander::before { content: "−"; } .typora-export-collapse-outline .outline-children { display: none; } .typora-export-collapse-outline .outline-item-open > .outline-children, .typora-export-no-collapse-outline .outline-children { display: block; } .typora-export-no-collapse-outline .outline-expander::before { content: "" !important; } .typora-export-show-outline .outline-item-active > .outline-item .outline-label { font-weight: 700; } .md-inline-math-container mjx-container { zoom: 0.95; } mjx-container { break-inside: avoid; } .md-alert.md-alert-note { border-left-color: rgb(9, 105, 218); } .md-alert.md-alert-important { border-left-color: rgb(130, 80, 223); } .md-alert.md-alert-warning { border-left-color: rgb(154, 103, 0); } .md-alert.md-alert-tip { border-left-color: rgb(31, 136, 61); } .md-alert.md-alert-caution { border-left-color: rgb(207, 34, 46); } .md-alert { padding: 0px 1em; margin-bottom: 16px; color: inherit; border-left: 0.25em solid rgb(0, 0, 0); } .md-alert-text-note { color: rgb(9, 105, 218); } .md-alert-text-important { color: rgb(130, 80, 223); } .md-alert-text-warning { color: rgb(154, 103, 0); } .md-alert-text-tip { color: rgb(31, 136, 61); } .md-alert-text-caution { color: rgb(207, 34, 46); } .md-alert-text { font-size: 0.9rem; font-weight: 700; } .md-alert-text svg { fill: currentcolor; position: relative; top: 0.125em; margin-right: 1ch; overflow: visible; } .md-alert-text-container::after { content: attr(data-text); text-transform: capitalize; pointer-events: none; margin-right: 1ch; } :root { --side-bar-bg-color: #F0EAD7; /* Sepia color for the sidebar */ --control-text-color: #777; --bg-color: #F0EAD7; /* Sepia background for the entire page */ } /* open-sans-regular - latin-ext_latin */ /* open-sans-italic - latin-ext_latin */ /* open-sans-700 - latin-ext_latin */ /* open-sans-700italic - latin-ext_latin */ html { font-size: 16px; -webkit-font-smoothing: antialiased; } body { font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif; color: rgb(51, 51, 51); background-color: #F0EAD7; /* Sepia background for the body */ line-height: 1.6; } #write { max-width: 860px; margin: 0 auto; padding: 30px; padding-bottom: 100px; } @media only screen and (min-width: 1400px) { #write { max-width: 1024px; } } @media only screen and (min-width: 1800px) { #write { max-width: 1200px; } } #write > ul:first-child, #write > ol:first-child { margin-top: 30px; } a { color: #4183C4; } h1, h2, h3, h4, h5, h6 { position: relative; margin-top: 1rem; margin-bottom: 1rem; font-weight: bold; line-height: 1.4; cursor: text; } h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor { text-decoration: none; } h1 tt, h1 code { font-size: inherit; } h2 tt, h2 code { font-size: inherit; } h3 tt, h3 code { font-size: inherit; } h4 tt, h4 code { font-size: inherit; } h5 tt, h5 code { font-size: inherit; } h6 tt, h6 code { font-size: inherit; } h1 { font-size: 2.25em; line-height: 1.2; border-bottom: 1px solid #eee; } h2 { font-size: 1.75em; line-height: 1.225; border-bottom: 1px solid #eee; } h3 { font-size: 1.5em; line-height: 1.43; } h4 { font-size: 1.25em; } h5 { font-size: 1em; } h6 { font-size: 1em; color: #777; } p, blockquote, ul, ol, dl, table { margin: 0.8em 0; } li>ol, li>ul { margin: 0 0; } hr { height: 2px; padding: 0; margin: 16px 0; background-color: #ccc; /* Set a contrasting color for the line */ border: 0; overflow: hidden; box-sizing: content-box; } li p.first { display: inline-block; } ul, ol { padding-left: 30px; } ul:first-child, ol:first-child { margin-top: 0; } ul:last-child, ol:last-child { margin-bottom: 0; } blockquote { border-left: 4px solid #dfe2e5; padding: 0 15px; color: #777777; } blockquote blockquote { padding-right: 0; } table { padding: 0; word-break: initial; } table tr { border: 1px solid #dfe2e5; margin: 0; padding: 0; } table tr:nth-child(2n), thead { background-color: #f8f8f8; } table th { font-weight: bold; border: 1px solid #dfe2e5; border-bottom: 0; margin: 0; padding: 6px 13px; } table td { border: 1px solid #dfe2e5; margin: 0; padding: 6px 13px; } table th:first-child, table td:first-child { margin-top: 0; } table th:last-child, table td:last-child { margin-bottom: 0; } .CodeMirror-lines { padding-left: 4px; } .code-tooltip { box-shadow: 0 1px 1px 0 rgba(0,28,36,.3); border-top: 1px solid #eef2f2; } .md-fences, code, tt { border: 1px solid #e7eaed; background-color: #f8f8f8; border-radius: 3px; padding: 0; padding: 2px 4px 0px 4px; font-size: 0.9em; } code { background-color: #f3f4f4; padding: 0 2px 0 2px; } .md-fences { margin-bottom: 15px; margin-top: 15px; padding-top: 8px; padding-bottom: 6px; } .md-task-list-item > input { margin-left: -1.3em; } @media print { html { font-size: 13px; } pre { page-break-inside: avoid; word-wrap: break-word; } } .md-fences { background-color: #f8f8f8; } #write pre.md-meta-block { padding: 1rem; font-size: 85%; line-height: 1.45; background-color: #f7f7f7; border: 0; border-radius: 3px; color: #777777; margin-top: 0 !important; } .mathjax-block>.code-tooltip { bottom: .375rem; } .md-mathjax-midline { background: #fafafa; } #write>h3.md-focus:before { left: -1.5625rem; top: .375rem; } #write>h4.md-focus:before { left: -1.5625rem; top: .285714286rem; } #write>h5.md-focus:before { left: -1.5625rem; top: .285714286rem; } #write>h6.md-focus:before { left: -1.5625rem; top: .285714286rem; } .md-image>.md-meta { /*border: 1px solid #ddd;*/ border-radius: 3px; padding: 2px 0px 0px 4px; font-size: 0.9em; color: inherit; } .md-tag { color: #a7a7a7; opacity: 1; } .md-toc { margin-top: 20px; padding-bottom: 20px; } .sidebar-tabs { border-bottom: none; } #typora-quick-open { border: 1px solid #ddd; background-color: #f8f8f8; } #typora-quick-open-item { background-color: #FAFAFA; border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee; border-style: solid; border-width: 1px; } /** focus mode */ .on-focus-mode blockquote { border-left-color: rgba(85, 85, 85, 0.12); } header, .context-menu, .megamenu-content, footer { font-family: "Segoe UI", "Arial", sans-serif; } .file-node-content:hover .file-node-icon, .file-node-content:hover .file-node-open-state { visibility: visible; } .mac-seamless-mode #typora-sidebar { background-color: #F0EAD7; background-color: var(--side-bar-bg-color); } .mac-os #write { caret-color: AccentColor; } .md-lang { color: #b4654d; } #md-notification .btn { border: 0; } .dropdown-menu .divider { border-color: #e5e5e5; opacity: 0.4; } .ty-preferences .window-content { background-color: #fafafa; } .ty-preferences .nav-group-item.active { color: white; background: #999; } .menu-item-container a.menu-style-btn { background-color: #f5f8fa; background-image: linear-gradient(180deg, hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0)); }
中国政经事实ChinaFacts @ChinaMacroFacts
今年尤其是下半年以来,不谦虚的说,本博对中国经济政策的前瞻判断在公众互联网上准确度最高,也可能击败了大部分投行和券商分析师(至少他们的公开报告),每次发帖都有人问想学习是如何做政策预测的,毕竟在中国、在当下,宏观政策关乎每个人的工作、钱包、择业。
这个问题太大太复杂,即使是一个一直从事相关工作的分析师和研究员,想做出准确预测,没个十年二十年的积累也并不容易,但是“学习政策预测”、“学会政策预测”和“学会做准确的政策预测”这是完全不同的事,我认为后两者对于大部分人来说并没有什么意义, 因为这项工作并没有那么大的意义让所有人都来参与其中。
相比之下,“学习政策预测”是有意义的,即使学不会如何做准确的政策预测,在学习过程中积累到的经济、政策的认识基础,以及开源研究、政策预测的方法论,在任何一个经济相关的工作中都是有意义的,把框架、方法分享出来是有百利而无一害的。
既然本博的宗旨就是开放、透明、分享和互助,也不准备藏私,不光分享入门的框架,也分享具体预测中的心路历程,对于小白和高阶人士都会有裨益。当然,前面也说了,这个问题太大太复杂,绝非一篇文章就能讲透的,因此本文仅作为政策分析介绍的开始,后续也会用thread 和长文的形式持续分享。
如果让我用一句话来总结怎么做政策前瞻预测,我的经验无非就是这几个字:元能力、扎实积累、广闻精析、少就是多。怎么理解这十五个字呢?
想要做好一件事情,自然是需要有对应的基础性能力,想要当alpha 就需要有领导力,想要做法律就要有逻辑能力,那么做政策研究,我认为需要三个元能力,系统思维、 数据思维、敏锐。
系统思维要求人能从全局和宏观看待经济问题吗,比如最简单的问题:通缩对经济到底好还是不好,这个问题大部分人是有粗浅认知的,但如果换成低物价对经济到底好还是不好,很多人就想不明白了,有了宏观思维才能跳出微观和情绪来分析经济问题,而具体对宏观经济来说,就是国家治理、宏观调控、政策组合、产业结构、公共选择这些方向,而且系统思维也注重逻辑链条的梳理,比如无锚印钞这个问题,当研究者把顶层诉求、央行动作、实际执行等各个现象串起来,就很难得出中国要无锚印钞这个结论。
数据思维就是通过数据来分析和处理问题,说白了研究宏观经济,要尽量避免少从宏大叙事、定性分析来演绎,比如我分析债务置换,我会从债务有多少,置换多大力度,能有什么影响的量化角度来分析,最终得出债务置换意义不大,而非从演绎角度想象地方政府债务压力大所以一置换就可以干活这样的故事。而且数据思维在不同维度上,既是系统思维的一部分,比如房价下跌影响有多大,我就从居民财富角度来量化测算影响,就比房价跌-生活压力小-社会矛盾小的这种叙事强多了,同时数据思维也是穿过现象看本质的工具,比如清场式出口的害处,用中国顺差占全球比例的数据就一下子能看出来,中国赚了全球的钱,这种失衡不惹麻烦才怪。
敏锐就不用多说了,要研究宏观、研究政策,没有灵敏的嗅觉和广阔的信息来源是不行的,同时这种敏锐既要敏捷又要锐利,要能在每天浩如烟海的信息流中准确的抓到自己需要的信息,这个能力既是天赋也是兴趣更是长期培养的习惯。
想要分析政策,自然要懂经济和政策,但这需要一步步的过程,从了解到懂得政策和经济,有几个层次,第一层次,要懂经济学和研究方法,基础要求,要读过中级微观、宏观、国际经济学、财政学、货币银行学等这些本科生低年级教材,并不是说这些教材对研究政策有用,但就像组装一辆车,要有钢材、橡胶、玻璃等,如果没读过或者是通过自媒体学习的经济学,就像用废钢、烂玻璃来造车,想想都知道做不了,在学习了基础的经济学原理后,想要进阶就应该进一步学习经济学,如经济史、高宏高微、博弈论、行为经济学、发展经济学、制度经济学,以及要掌握基本数据分析方法,如掌握计量模型、时序分析,要熟悉基本的数据库,如统计局、世行、IMF、wind、CEIC、彭博等,掌握了这些基本上就既有了造车的材料也有了造车的工具,那么接下来就是学习车是什么样的;第二层次,在学过基础的经济学后,就要学习如何认识现实中的经济,这一步是大部分经济学专业的学生未曾跨出的,而且无法成功的把专业框架与现实世界以有生命力的方式联系起来,也是社会认为经济学没用、文盲经济自媒体横行的主要原因。那怎么联系起来呢,理性认识和感性认识两个方式,理性认识就是在专业基础上,再通过一个完整的经济分析框架来建构自己的认知方法,这里面可以有学者的专著比如钱颖一、周其仁、林毅夫这些曾经教授过中国经济相关课程的大学者,也有更市场化的包括高善文、徐高之类的中国经济分析框架,还有更接地气的现在各大券商撰写的经济研究框架,我想这些都可以读,不应偏废,感性认识则是针对一个个具体的经济故事、案例等鲜活的例子,从经济学的视角去理解,比如最近非常火的《置身事内》就是一个很好的例子,专栏、博客也是很好的来源,现在有了chatgpt 就更方便了;第三层次,当已经是一个已经入门的经济观察者,就要向专业进发,而到了这个阶段,就已经不存在什么绝对的权威,而是完全体现不同的专业性和观点差异了,但从提高专业性的角度上,我认为有几点可以久久为功的,第一,通过一手数据对经济数据认识更深刻、准确,比如统计局官网的“统计知识库”这一栏目, 很可能不少吃这口饭的经济分析师都没上去看过,重要指标的内涵口径是什么,中间发生过什么变化,要有基本的了解,再比如央行资产负债表,自媒体天天写,但我敢打赌大部分自媒体都没上过央行官网看过这些科目的注释。当然很多统计问题分析师也都分析,但二手信息总比不上一手信息来的准确和全面,当然在官方数据外,还要有自己发现数据的能力,不管是调研还是爬虫还是其他渠道,多一份一手数据,就多一份研究的底气;第二,通过框架式自我提问来更完整准确的把握经济趋势,比如经济长周期、中周期、短周期是什么态势,当下经济最关键的问题是什么,接下来经济线性外推的情景是什么,非线性发展的情景是什么?生产、消费、投资各个部分怎么样?不同的产业情况如何?海外经济如何?地方财政如何?房地产如何?还有很多很多问题,都需要自己经常拷问自己。当然一个人不可能对这些问题都懂,但只有问了自己这些问题,才能将不同问题上的“一部分认知”转化成为对经济的“全面认知”。举个例子,当24年的经济完全靠外贸支撑时,而特朗普很有可能要上台时,你可以得到的最直接推论就是,内需不刺激不行了,再比如,当给国企贷款利率下到2.5%,信贷需求迟迟看不到反弹,居民部门还在一直净偿还房贷,你能得到的结论就是,即使净息差压力很大,银行也必须继续加大降低贷款利率的幅度了,因此央行也不得不继续降息了;第三,学习好的摒弃差的,就像上面说的到专业领域是没有权威的,但专业性是层次不齐,多读卓越观点,见贤思齐才能让自己更加专业,尽量少读有官方背景和诉求的年纪大的学者的东西,多读依然笔耕不辍的中青年学者,读高善文、张斌、何帆、张明、徐高,多读专业智库,读PIIE、CF40,多读财新、彭博,坚决不读垃圾自媒体;第四,学习分析政策文本,总会有人说官方话语全是废话,但事实上所有我们看过的文字中,信息量最大的就是三中全会、政府工作报告、政治局、经济工作会议等文件,因为这些文件中的每一句话背后都是一个巨大的政策组合影响着数以万计的生计,但学习阅读官方信息,没有捷径,多读多学,每天读一篇文件,用不了一年普通人也能比大部分体制内更专业;第五,要有一个专业领域深挖,这一点是很容易被很多宏观研究者所忽视的,我见过的很多宏观研究者,当谈起形而上的问题总是头头是道,但谈起具体问题来则讷讷不能言,这种现象其实很危险,研究宏观问题虽然要求宏观思维系统思维,但这种庞大的系统其内部反馈链条并不是从A到B这样的简单逻辑,如果将复杂问题过度简单化,就会形成合成谬误。虽然宏观研究者无法对所有问题都深挖,但对于某几个领域深入了解,也能形成更稳定的研究方法论或者说敬畏之心,那在其他领域即使不深挖,也会对更深层次的逻辑更有理解。比如我对地产和财政问题非常熟悉,知道问题的严峻和复杂,那么在看医保问题时,就更容易深入的理解政府、患者、医院、药企之间的复杂关系;第六,要有国际视野,这里也不过度展开,当对全球经济研究的越多越深入,就越了解从来没什么中国特殊论,中国现在经历的,之前各国都经历过,而各国经历了的就变成了中国的经验教训,这就是比较分析方法,而且对于现在的中国,就像我说的,很多海外研究者反而对经济问题看的更纯粹和准确,也是对国内研究的一种很好的补充。
当做到了这些点,我相信你已经成为了一个专业的经济和政策的研究者,那么如何开始预测呢?
预测是一种收集、整理和加工信息的过程,每一步都决定了预测的准确性。
首先是广闻,也就是增加信息来源,研究宏观经济自然免不了各种小道消息,有的是体制内的一手、二手或者N手信息,有的是社交媒体上传播的小作文,有的是各种公开发表的文章,有价值的信息来源越多,你的预测基础就越牢固。
但我相信很多人肯定以为预测就是打听消息,消息来源越高级预测就越准,这属于臆想,除了前几天说的拿2亿美元赌博的精英,反常识的是专业的经济和政策分析者是没有一个真正依靠打听消息的。为什么会这样呢?很简单,一份重要文件有机会提前看到全貌的无非两类人,第一类,大领导和秘书,第二类,写文件和传递文件的人,前者普通人接触不到,能接触到的也是拿2亿美元赌博的这种人,后者更不可能对外泄密,这可是又丢饭碗又坐牢的事情,而真正能对外散布信息的人,无非就是关键单位的一些间接接触相关材料不直接涉密的人,但就像每次大会前大家看到的很多完全相反的看着很像那么回事的小作文,其实很多时候相反并不代表是假的,而是传出来的部门不同,比如经济工作会议的一段话,可能央行在写、财政部在写、国务院发展研究院在写、中财办也在写,除了一些毫无争议的话,很多关键的口径可能大家表述都不同,那这种不同的小作文大概率就是不同的部委传出来的。
那可以想象,如果你要依靠小道消息来预测,小道消息是反的怎么办?因此,真正的政策预测,要看小道消息,但并不主要依靠小道消息,小道消息只能作为验证。
如何真正的增加信息来源?第一,不用拘泥于小道消息,因为现在国内社交媒体能看到的小道消息,推上也基本都有,不用刻意去打听;第二,相比直接说政策内容的小道消息,要更注重其他更微观的小道消息反而更有用,比如9月下旬的时候,很多人了解到中秋节期间金融主管部门都在加班加点写文件,再结合9月的经济环境,那毫无置疑的就是 9月底就要出政策了,这也是我在9月下旬预测9月底要有降息政策的主要触发点,这和前些年观察发改委办公楼的晚上灯光判断政策其实是一个逻辑;第三,一定要重视主要技术官僚和学者的公开发言,虽然现在他们被管的很死,但反过来公开发言中的一些不寻常的话,反而是大有信息量的,比如易纲在陆家嘴讲的通缩,就是一个政策转向应对通缩的非常准确的前瞻信号,再比如王一鸣讲的十万亿刺激,虽然我并不认为这个方案会执行,但能出来讲敢用这个数字讲,这其中的信号意义可是比他具体讲了什么要重要很多的;第四,要善于创新数据来源,比如我曾经用过的文本分析,主要领导调研次数,都是能在政策拐点之前,判断出政策变化的可能性的,而类似对中管干部落马人数的统计,也是能够前瞻的判断政治压力对经济的影响。
其次是精析,对于一些可能具有全局影响的重要问题,应该认真深入的分析,我最近最得意之作,就是预测“适度宽松的货币政策”,就是这个逻辑。能够得到这个预测,出发点是央行对货币政策立场的表述,潘功胜在6月份陆家嘴论坛上就提出了“支持性的货币政策”,但当时我并没有过多注意这个新提法,因为货币政策执行报告中也出现过,但政治局上并没有修改表述,可到了9月24日的震惊市场的那次发布会上,他又认真的提出了这个提法,紧接着在10月中旬的新一轮政策宣导中,他又强调,我就开始考虑这个支持性货币政策会如何体现在接下来的经济工作会议中的取向中,我一开始想过是否会从稳健的货币政策修改成支持性的货币政策,但总觉得政策取向的表述上不会这么写,而连平更早的一篇文章给了我启发,“适度宽松”已经十几年未提,今年经济环境适合调整政策立场以体现力度,因此我逐渐倾向于货币政策取向可能修改成“适度宽松”,最后当小道消息也开始传适度宽松时,我已经认定,这次经济工作会议大概率是要调了,结果最后真如此调整,如果没有从三季度开始就反复的琢磨酝酿,这一次我一定是想不到这里去的。
最后是少就是多,就像巴菲特说过的一样,如果一生只有20个投资机会,那么每个人都会更慎重的思考如何投资,投资业绩也会好很多。预测其实也一样,如果每天都在预测,那这种预测的含金量就会变成0,只是垃圾小作文。最近我印象很深刻的一次是我在看了新华社报道就很快做出了金砖会议上没有带财政和央行,因此金砖会议上不存在金砖货币合作的可能,虽然确实没有货币合作,但我的前提完全是错的,因为在新闻联播的视频中,赫然能够看到财政和央行就坐在桌子下首,照片没有拍到而已,幸好分析预测最多就是动一动嘴皮子,如果这是一次投资,可能从一开始就要赔钱了。
少就是多,也是中国现状的要求,现在的中国经济和政策没有那么多需要预测,真正的大的变化都是来自于自上而下的推动,每一次上层的转向能够提前把握就已经就有价值,其他细枝末节的问题,越预测越迷惑,再举个例子,政治局和经济工作会议包括政府工作报告都不再提房住不炒,但倪虹前几个月依然在坚持这么提,如果要根据对倪虹的预测做分析,那恐怕也会差之毫厘失之千里。
少就是多,就像上面所写的一样,广闻、精析,都需要时间的积累和酝酿,只有全面的收集信息、深入的处理信息才能增加可信度,当你有了一个判断,多从几个角度去验证、思考,才会更加夯实你的判断的准确性。