拜登惨败,特朗普正在卷土重来!

 

今天是特朗普离开白宫的第293天!

在这293天内,我们很少写特朗普的事情,但是特朗普却一直没有闲着!

自从特朗普离开白宫以后,大家也不怎么关心他了,再加上美国主流媒体也不报道相关信息(中国很多媒体都是抄袭美国主流媒体的新闻),所以很多事情大家也不知道。

事实上,在特朗普离开白宫后做了很多非常大的事情,其中最重要的一件事就是——完成党内的“清洗”工作,为2022年的中期选举和2024年的总统大选奠定了基础。

与之相对的,拜登的无能让民主党处于非常被动的状态。目前拜登的支持率已经跌破40%(特朗普支持率最低的时候也没有跌破40%),创造美国历任总统的最低,甚至已经有人把拜登排为美国历史上的最差总统!

拜登惨败,特朗普正在卷土重来!

今天,我们就和大家说说特朗普和拜登的事情。

以前我们就和大家说过,特朗普并不是一个真正的共和党人,他只是借用了共和党的“皮”——美国是两党轮流执政,如果特朗普不借用共和党的“皮”,那么他是没有机会获得总统职位的。

特朗普不是一个真正的共和党人,但是他却将共和党打造成一个完全属于自己的政党了。

为什么这么说?

如果你对美国政坛比较了解,你就会知道现在的共和党已经完成不是以前的共和党了,因为以前的共和党是为富人服务的(2016年之前,穷人都是支持民主党的)。比如,共和党支持低税率,这是为富人服务的;共和党支持减少各种监管,这也是为富人服务的……

但是,通过2016年和2020年美国总统大选,大家就会发现现在支持共和党的竟然是广大的农村地区——虽然特朗普输掉了大选,但是支持特朗普的面积却非常的大,这就说明广大的贫穷地区都是支持特朗普的。

拜登惨败,特朗普正在卷土重来!

共和党是一个为富人服务的政党,为什么会得到穷人的支持?

其根本原因就是:美国的那些穷人以前都是中产阶级,并不穷,但是由于全球化让美国的产业空心化了,从而导致那些人失去了高薪工作,所以他们支持逆全球化,自然也就选择了支持特朗普。

特朗普借着共和党的“皮”,那么最终只可能有两个结果:

第一,共和党彻底被打造成属于特朗普的共和党;

第二,特朗普彻底的被共和党给抛弃了。

然而,我们看到的最终结果是:特朗普凭借一己之力,改变了整个共和党的属性!

既然特朗普不是真正的共和党,那么党内必然有很多反对自己的力量——关于这点,在特朗普执政期间表现的非常明显,每次在国会投票的时候,总有一些共和党的议员“反水”。相反,民主党则极少有反水的。

对于特朗普来说,他原本只是“寄生”于共和党,如果他不能彻底控制“宿主”,那么他必然要被无情的消灭,所以对于特朗普来说,没有其它的路可以选择——他只能选择彻底的控制共和党,否则他就会被灭亡!

既然特朗普要打造一个完全听命于自己的政党,那么必然要对党内“异己”势力进行“大清洗”。所以,在特朗普离开白宫以后,最重要的一件事情就是——完成对党内的清洗工作。

那么,特朗普能不能完成党内的清洗工作?

当然能了,因为特朗普在党内的支持率非常高,而且在共和党选民中的支持率非常高,在庞大支持率的支撑下,任何反对特朗普的势力都没有生存空间!

这是什么意思?

由于特朗普在党内拥有庞大的支持率,如果共和党的高层想要联手把特朗普排挤出去,那么特朗普只要振臂一呼,那么绝大多数的共和党党员都会跟着特朗普走了,特朗普完全可以成立一个新政党,那么共和党就彻底完蛋了——特朗普执政期间,在党内的支持率达90%以上,即使是现在,特朗普在党内的支持率仍高达70%以上。

拜登惨败,特朗普正在卷土重来!

正是因为特朗普在党内和老百姓中的超高支持率,并且在特朗普离开白宫以后支持率仍没有出现比较大的下降,这让那些曾经反对特朗普的共和党大佬非常害怕,最终不得不向特朗普屈服。

或许有人不理解,那些大佬为什么要向特朗普屈服?

事情是这样的,所谓的党内大佬就是那些州长和议员,而这些州长和议员都需要老百姓投票的,如果这些州长和议员不听从特朗普的话,那么在下一次选举中,他们就会丢掉州长和议员的位置,成为一个无足轻重的党员。

比如,我是共和党人,我是德克萨斯州的州长,如果我不支持特朗普,那么在下次州长选举的过程中,特朗普就会支持一个支持他的共和党人,呼吁老百姓都把票投给那个人,那时我必然无法获得连任;我非但无法获得连任,我甚至在党内都可能无法立足,因为特朗普在党内的支持率也异常的高,我想要在党内获得更高的职务,也需要党内的投票。

所以,在特朗普离开白宫以后,一些曾反对他的大佬发现特朗普依旧拥有超高的支持率,于是一个个都去向特朗普表忠心了,表示全力支持特朗普。

共和党参议员格雷厄姆在今年5月份的时候曾公开表示,至今众多共和党选民对特朗普“非常忠诚”。因此,共和党想要取得选举胜利离不开特朗普的支持。

在特朗普大选结果无法逆转以后,党内一号人物麦康奈尔,党内二号人物麦卡锡、党内三号人物丽兹·切尼都准备动手除掉特朗普,他们准备联手成立“跨党派调查小组”来调查川粉攻占国会山事件!

拜登惨败,特朗普正在卷土重来!

但是,当他们发现特朗普离开白宫以后,依旧拥有庞大的支持率,于是麦康奈尔、麦卡锡向特朗普“投降”了,不再提成立调查小组的事情,只剩一个死硬派的丽兹·切尼。

丽兹·切是谁?

她是前美国副总统切尼的长女,曾担任美国国务院近东局的副助理国务卿,曾担任众议员和众议院共和党会议主席。她不仅是一个官二代,而且拥有丰富的从政经历,能量非常巨大。

她做了什么事情呢?

三件事:

第一件,否认特朗普的“大选作弊说”——整个共和党内,几乎都支持特朗普的“大选作弊说”,而丽兹·切是极少数承认拜登通过合法方式获得总统位置的人。

拜登惨败,特朗普正在卷土重来!

第二件,曾在弹劾特朗普案中投下同意票;

第三件,支持成立跨党派小组调查特朗普在“攻占国会山事件”中的作用。

于是,特朗普对其进行“开刀”了,在党内召开多场会议专门讨论切尼的问题,最终做出决定:切尼违背共和党的长期价值和利益,全体党员投票决定,罢免切尼包括“众议院共和党会议主席”在内的一切党职务。

拜登惨败,特朗普正在卷土重来!

自此,特朗普完成了对党内的主要“清洗”任务,彻底的控制了共和党。

与特朗普在党内取得的“辉煌”成就相比,拜登则一塌糊涂。

拜登上台以后,几乎一事无成!

主要体现在三个方面:

第一,疫情始终控制不住,经济迟迟得不到恢复;

目前,美国现有确诊917万,日增确诊9万,累计死亡已经达到77.6万。受疫情影响,美国供应链出现严重的问题,经济迟迟得不到恢复。

第二,美国从阿富汗撤军后,阿富汗政府快速溃败,让塔利班再次获得了政权;

第三,物价高企,老百姓怨声载道。

 

由于拜登的无能,出现了两个比较严重的后果:

第一,拜登支持率出现严重下滑;

美国《今日美国报》和萨福克大学在11月7日发布的联合民意调查结果显示,民主党籍总统约瑟夫·拜登所获支持率已经跌至38%,近三分之二调查对象不希望看到拜登角逐2024年总统选举。

目前拜登的支持率跌幅创下二战以来最高,特朗普已经把拜登形容为“史上最无能总统”。

拜登惨败,特朗普正在卷土重来!

第二,民主党丢掉了铁杆州的大选。

进入11月,美国的弗吉尼亚州新泽西州进行了州长选举,这两个州都是深蓝州,属于民主党的基本盘,在2020年美国总统大选期间,现任总统拜登在这两个州以绝对优势支持率战胜时任总统特朗普,从而一举完全获得这两个州的选举人票。

按照正常道理,民主党人在这两个州获得州长位置应该是毫无悬念的,但开票后的结果却让人大跌眼镜:

首先,在弗吉尼亚州,共和党州长候选人格伦·扬金以51%的得票率一举击败得票率为48.3%的民主党候选人特里·麦考利夫,从而赢得该州州长选举,使得该州12年来由深蓝州变为红州。

最关键的是:新选州长几乎是和特朗普一模一样的,没有从政经历、政治主张几乎和特朗普完全一致。

一个民主党的铁杆州选出了一个和特朗普一模一样的州长,这就非常可怕了。

拜登惨败,特朗普正在卷土重来!

其次,虽然民主党最终赢得新泽西州选举,但获胜的异常艰难,民主党候选人最终得票仅比共和党候选人多出1个百分点——对比2017年墨菲竞选州长,当时是以14%的优势战胜共和党竞争者,但这次选举共和党的支持率可是紧跟民主党的。

其中还有一个非常重要的细节:以新泽西州为首的美国东北部州,民主党登记的选民要远超共和党100万,而且新泽西州的白人居民人数不到该州总人数的一半,根据常识,多种族族群一般会把选票投给民主党。但是,在这次州长选举的过程中,共和党的支持率却和民主党相差不大。

民主党两个铁杆州都出现了这么大的变化,可想而知一些“摇摆州”会变成什么样呢?肯定是全面倒向共和党了。在美国选举中,最关键的就是那些摇摆州——得摇摆州者得天下!

由此可见,现在的民主党在美国老百姓中的支持率有多低了!

2022年,美国的中期选举就要开始了,如果拜登不能扭转目前的被动局面,届时共和党就可能完全控制整个参议院和众议院,那时拜登政府就会成为一个彻底的“跛脚政府”,所有重大政策都无法通过——参议院控制人事任命权、众议院控制财政权。

一旦出现那种结果,那么后面两年,拜登的任何政策都别想通过参众两院,拜登将继续“一事无成”。

说实话,我是非常喜欢特朗普的,喜欢他是因为他不虚伪。

 

美国搞乱叙利亚,让叙利亚陷入9年的内战中,但是叙利亚总统巴沙尔却认为特朗普是美国历史上最好的总统。

2019年的时候,叙利亚总统巴沙尔在接受叙利亚国家电视台采访的时候称特朗普是“最好的美国总统”,因为其他总统说一套做一套,都是战争贩子,而特朗普“说抢石油就抢石油,不虚伪,很实诚”。

巴沙尔表示,特朗普总是做出最直截了当的明示,直接反应美国的需求:“我们需要石油”、“我们要摆脱这样的困境”、“我们想要提供服务以换取金钱”等等。

阿萨德表示,所有的美国总统都犯下了各种各样的政治暴行和所有的罪行,但他们(奥巴马)仍然赢得了诺贝尔奖,并把自己标榜为人权的领袖,拥有和高尚而独特的美国价值观,或成为西方普世价值观的捍卫者。事实是,他们是一群罪犯,代表着美国大集团的利益,即大型石油和军火公司等。而特朗普则比较实诚。

拜登惨败,特朗普正在卷土重来!

说实话,巴沙尔的话真是说到我心里去了。

民主党那些伪君子,想要抢你的石油、想打压你的企业、想逼迫你让步,总要打着“民主、自由、人权”的那套东西来恶心你,而特朗普则简单的多:别和我扯那些没用的,我就是要光明正大的抢你的石油、打压你的企业、逼迫你投降!

我也是希望共和党能在明年的中期选举中击败民主党,那样民主党就会一事无成,然后消耗两年后,特朗普再回来,回来以后再把拜登的政策全部推翻,从头开始!

就让美国这样一轮又一轮的内耗下去!

—–全文到此为止。如

转自:https://mp.weixin.qq.com/s/zA2eFsRIaZ18p3UM92lmsg

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

百年大计,教育为本。

 

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

中国经济第一大省,正在迈向教育强省。

 

近日,《广东省教育发展“十四五”规划》发布,提出深入实施“冲一流、补短板、强特色”提升计划,加快推进高水平大学建设、建设世界一流大学和一流学科。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

这份规划在高等教育方面有诸多亮点:

1、推动华南农业大学、南方医科大学、广东工业大学、广州医科大学、深圳大学、南方科技大学等高水平大学进入国家“双一流”建设高校范围;

2、提升广州、深圳地区高校建设水平,高标准建设深圳理工大学、深圳海洋大学、深圳创新创意设计学院、广州交通大学等高校。

3、大力推进香港科技大学(广州)建设,加快推动香港城市大学、香港都会大学、香港理工大学、香港大学、澳门科技大学、澳门城市大学等港澳高校来粤办学。

4、支持珠三角其他城市高等教育改革发展,加快筹设大湾区大学、中山科技大学等高校。

5、支持汕头加快打造区域教育高地。支持汕头、湛江打造特色鲜明的高校集群,推进汕头大学、广东海洋大学、广东石油化工学院等围绕海洋科学、生物学、化工、石油、食品、纺织、生物医药等学科专业领域引进和培育高层次人才。

……

 

这意味着什么?

 

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

广东何以建设教育强省?

 

其一,未来,广东或有11所“双一流大学”。

 

明年,第二批双一流高校建设名单即将公布,双一流大学即将迎来5年一次的大洗牌,有大学晋级自然也有退出。

 

目前,广东已有5所“双一流大学,全部位于广州。包括中山大学、华南理工大学2所一流高校,以及暨南大学、广州中医药大学及华南师范大学3所一流学科建设高校。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

根据规划,2022年,广东将推进1-2所高校入选双一流高校。这其中,综合实力突出的华南农业大学、南方科技大学、深圳大学概率较高。

 

面向更长远的未来,南方医科大学、广东工业大学、广州医科大学也有望晋级双一流高校建设范围。

 

其二,广东将新建一批高校,广州、深圳、东莞、中山等地均有覆盖。

 

根据规划,建设深圳理工大学、深圳海洋大学、深圳创新创意设计学院、广州交通大学等高校……加快筹设大湾区大学、中山科技大学等高校。

 

这其中动作最大的当属深圳。

 

作为中国经济第三大市,深圳高等教育发展水平与经济实力远远不相称,不仅至今双一流高校挂零,而且大学生人数在排在全国末位,甚至不及一些普通二线城市。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

因此,深圳不惜耗费重金,引进港澳及内地的名校在深建设分校,同时大建新一批高等院校。

 

当然,东莞、佛山、中山、珠海等地也纷纷提出建设一批高校,其中最受瞩目的当属东莞的大湾区大学。

 

能以大湾区来冠名,这体现东莞这个制造强市对于一流高等教育的必得之心。目前,大湾区大学已经动工建设,力争2023年实现招生办学。

 

其三,港澳高校纷纷在珠三角建分校,助力大湾区打造国际教育高地。

 

港澳高校综合实力位居世界前列。根据QS2022世界大学排名,香港大学、香港科技大学等5所高校跻身前100,而中山大学、华南理工大学分别位列第260位、407位。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

所以,港澳高校挺进珠三角,不仅有利于提升大湾区整体的教育实力,而且有助于广东教育与国际接轨。

 

目前,香港中文大学(深圳)已经正式招生,香港科技大学(广州)将于2022年开始办学,其他高校也正在筹备或建设之中。

 

其四,作为省域副中心城市,粤东西北地区的湛江、汕头两地被委以重任。

 

根据规划,支持汕头、湛江两个省域副中心城市打造特色鲜明的高校集群,推进汕头大学、广东海洋大学、广东石油化工学院围绕海洋科学、化工等学科培育高层次人才。

 

近年来,广东构建了“一核一带一区”的发展新格局:珠三角是核心区和主引擎,粤东粤西为沿海经济带,粤北则为生态屏障。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

根据相关规划,广东将支持沿海经济带发展海上风电、核电、绿色石化、海工装备等产业。

 

所以,汕头、湛江两地高等教育发展的重点也在于此,以高校科研力量,服务于沿海经济带发展,担起粤东、粤西沿海两翼发展的重任。

 

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

广东为何要拼命建大学?

 

广东虽然收获了无数个“第一”,但在高等教育上只能称为“大省”,而非“强省”,与北京、上海、江苏等均存在一定差距。

 

数据显示,广东坐拥150多所高校、40多个国家重点实验室,但只有4所211高校、5所双一流大学。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

相比而言,北京拥有34所双一流高校,江苏15所,上海14所,而四川、陕西、湖北也都比广东多。

 

广东虽然在校本专科学生数量位居全国第二,但专科生占了接近一半,同时在校研究生数量不及一些教育强省。

 

数据显示,2020年,广东全省在校研究生人数为15.47万,而同期北京、上海和江苏分别为43万、22.6万和26.6万,而湖北也超过了20万。

这个超级大省,正在疯狂建大学,京沪遇到今生最强对手!

 

 根据规划,到2025年,广东预期研究生在校生人数达到24万,相比2020年增加55%,这无疑是巨大的挑战。

 

同时,作为制造大省,广东正在担起产业转型升级的重任,从传统的加工制造产业向高新产业的全面转型,更离不开高学历人才的支撑。

 

虽然孔雀东南飞效应依旧,无数大学生从全国各地奔赴广东,但作为第一大省,广东有必要主动培育更多高端人才。

 

所以,从经济强省到教育强省,广东需要全方位“补课”,一场高校大建设不可避免。

◎本文作者 | 凯风

克而瑞统计,一个城市大学生占比越高,房价越抗跌。
广东疯狂建大学,让更多大学毕业生留在广东。
多一张校牌,相当于多了一张“免跌金牌”。

转自:https://mp.weixin.qq.com/s/1xi02mDtEcwd46nD0c0QvA

如何理解 Python 装饰器

推荐关注↓

装饰器简介

装饰器(decorator)是一种高级Python语法。可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,相对于其它方式,装饰器语法简单,代码可读性高。因此,装饰器在Python项目中有广泛的应用。修饰器经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理, Web权限校验, Cache等

装饰器的优点是能够抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。即,可以将函数“修饰”为完全不同的行为,可以有效的将业务逻辑正交分解。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。例如记录日志,需要对某些函数进行记录。笨的办法,每个函数加入代码,如果代码变了,就悲催了。装饰器的办法,定义一个专门日志记录的装饰器,对需要的函数进行装饰。

如何理解 Python 装饰器

Python 的 Decorator在使用上和Java/C#的Annotation很相似,都是在方法名前面加一个@XXX注解来为这个方法装饰一些东西。但是,Java/C#的Annotation也很让人望而却步,在使用它之前你需要了解一堆Annotation的类库文档,让人感觉就是在学另外一门语言。而Python使用了一种相对于Decorator Pattern和Annotation来说非常优雅的方法,这种方法不需要你去掌握什么复杂的OO模型或是Annotation的各种类库规定,完全就是语言层面的玩法:一种函数式编程的技巧。

装饰器背后的原理

在Python中,装饰器实现是十分方便。原因是:函数可以被扔来扔去。

Python的函数就是对象

要理解装饰器,就必须先知道,在Python里,函数也是对象(functions are objects)。明白这一点非常重要,让我们通过一个例子来看看为什么。

def shout(word="yes"):

    **return** word.capitalize() + "!"

print(shout())

# outputs : 'Yes!'

# 作为一个对象,你可以像其他对象一样把函数赋值给其他变量

scream = shout

# 注意我们没有用括号:我们不是在调用函数,

# 而是把函数'shout'的值绑定到'scream'这个变量上

# 这也意味着你可以通过'scream'这个变量来调用'shout'函数

print(scream())

# outputs : 'Yes!'

# 不仅如此,这也还意味着你可以把原来的名字'shout'删掉,

# 而这个函数仍然可以通过'scream'来访问

del shout

**try**:

    print(shout())

**except** NameError as e:

    print(e)

    # outputs: "name 'shout' is not defined"

print(scream())

# outputs: 'Yes!'

Python 函数的另一个有趣的特性是,它们可以在另一个函数体内定义。

def talk():

    # 你可以在 'talk' 里动态的(on the fly)定义一个函数...

    **def** whisper(word="yes"):

        **return** word.lower() + "..."

    # ... 然后马上调用它!

    print(whisper())

# 每当调用'talk',都会定义一次'whisper',然后'whisper'在'talk'里被调用

talk()

# outputs:

# "yes..."

# 但是"whisper" 在 "talk"外并不存在:

**try**:

    print(whisper())

**except** NameError as e:

    print(e)

    # outputs : "name 'whisper' is not defined"

函数引用(Functions references)

你刚刚已经知道了,Python的函数也是对象,因此:

  • 可以被赋值给变量
  • 可以在另一个函数体内定义

那么,这样就意味着一个函数可以返回另一个函数:

def get_talk(type="shout"):

    # 我们先动态定义一些函数

    **def** shout(word="yes"):

        **return** word.capitalize() + "!"

    **def** whisper(word="yes"):

        **return** word.lower() + "..."

    # 然后返回其中一个

    **if** type == "shout":

        # 注意:我们是在返回函数对象,而不是调用函数,所以不要用到括号 "()"

        **return** shout

    **else**:

        **return** whisper

# 那你改如何使用d呢?

# 先把函数赋值给一个变量

talk = get_talk()

# 你可以发现 "talk" 其实是一个函数对象:

print(talk)

# outputs : <function shout at 0xb7ea817c>

# 这个对象就是 get_talk 函数返回的:

print(talk())

# outputs : Yes!

# 你甚至还可以直接这样使用:

print(get_talk("whisper")())

# outputs : yes...

既然可以返回一个函数,那么也就可以像参数一样传递:

def shout(word="yes"):

    **return** word.capitalize() + "!"

scream = shout

**def** do_something_before(func):

    print("I do something before then I call the function you gave me")

    print(func())

do_something_before(scream)

# outputs:

# I do something before then I call the function you gave me

# Yes!

装饰器实战

现在已经具备了理解装饰器的所有基础知识了。装饰器也就是一种包装材料,它们可以让你在执行被装饰的函数之前或之后执行其他代码,而且不需要修改函数本身。

手工制作的装饰器

# 一个装饰器是一个需要另一个函数作为参数的函数

**def** my_shiny_new_decorator(a_function_to_decorate):

    # 在装饰器内部动态定义一个函数:wrapper(原意:包装纸).

    # 这个函数将被包装在原始函数的四周

    # 因此就可以在原始函数之前和之后执行一些代码.

    **def** the_wrapper_around_the_original_function():

        # 把想要在调用原始函数前运行的代码放这里

        print("Before the function runs")

        # 调用原始函数(需要带括号)

        a_function_to_decorate()

        # 把想要在调用原始函数后运行的代码放这里

        print("After the function runs")

    # 直到现在,"a_function_to_decorate"还没有执行过 (HAS NEVER BEEN EXECUTED).

    # 我们把刚刚创建的 wrapper 函数返回.

    # wrapper 函数包含了这个函数,还有一些需要提前后之后执行的代码,

    # 可以直接使用了(It's ready to use!)

    **return** the_wrapper_around_the_original_function

# Now imagine you create a function you don't want to ever touch again.

**def** a_stand_alone_function():

    print("I am a stand alone function, don't you dare modify me")

a_stand_alone_function()

# outputs: I am a stand alone function, don't you dare modify me

# 现在,你可以装饰一下来修改它的行为.

# 只要简单的把它传递给装饰器,后者能用任何你想要的代码动态的包装

# 而且返回一个可以直接使用的新函数:

a_stand_alone_function_decorated = my_shiny_new_decorator(a_stand_alone_function)

a_stand_alone_function_decorated()

# outputs:

# Before the function runs

# I am a stand alone function, don't you dare modify me

# After the function runs

装饰器的语法糖

我们用装饰器的语法来重写一下前面的例子:

# 一个装饰器是一个需要另一个函数作为参数的函数

**def** my_shiny_new_decorator(a_function_to_decorate):

    # 在装饰器内部动态定义一个函数:wrapper(原意:包装纸).

    # 这个函数将被包装在原始函数的四周

    # 因此就可以在原始函数之前和之后执行一些代码.

    **def** the_wrapper_around_the_original_function():

        # 把想要在调用原始函数前运行的代码放这里

        print("Before the function runs")

        # 调用原始函数(需要带括号)

        a_function_to_decorate()

        # 把想要在调用原始函数后运行的代码放这里

        print("After the function runs")

    # 直到现在,"a_function_to_decorate"还没有执行过 (HAS NEVER BEEN EXECUTED).

    # 我们把刚刚创建的 wrapper 函数返回.

    # wrapper 函数包含了这个函数,还有一些需要提前后之后执行的代码,

    # 可以直接使用了(It's ready to use!)

    **return** the_wrapper_around_the_original_function

@my_shiny_new_decorator

**def** another_stand_alone_function():

    print("Leave me alone")

another_stand_alone_function()

# outputs:

# Before the function runs

# Leave me alone

# After the function runs

是的,这就完了,就这么简单。@decorator 只是下面这条语句的简写(shortcut):

another_stand_alone_function = my_shiny_new_decorator(another_stand_alone_function)

装饰器语法糖其实就是装饰器模式的一个Python化的变体。为了方便开发,Python已经内置了好几种经典的设计模式,比如迭代器(iterators)。当然,你还可以堆积使用装饰器:

def bread(func):

    **def** wrapper():

        print("</''''''>")

        func()

        print("<______/>")

    **return** wrapper

**def** ingredients(func):

    **def** wrapper():

        print("#tomatoes#")

        func()

        print("~salad~")

    **return** wrapper

**def** sandwich(food="--ham--"):

    print(food)

sandwich()

# outputs: --ham--

sandwich = bread(ingredients(sandwich))

sandwich()

# outputs:

# </''''''>

# #tomatoes#

# --ham--

# ~salad~

# <______/>

用Python的装饰器语法表示:

def bread(func):

    **def** wrapper():

        print("</''''''>")

        func()

        print("<______/>")

    **return** wrapper

**def** ingredients(func):

    **def** wrapper():

        print("#tomatoes#")

        func()

        print("~salad~")

    **return** wrapper

@bread

@ingredients

**def** sandwich(food="--ham--"):

    print(food)

sandwich()

# outputs:

# </''''''>

# #tomatoes#

# --ham--

# ~salad~

# <______/>

装饰器放置的顺序也很重要:

def bread(func):

    **def** wrapper():

        print("</''''''>")

        func()

        print("<______/>")

    **return** wrapper

**def** ingredients(func):

    **def** wrapper():

        print("#tomatoes#")

        func()

        print("~salad~")

    **return** wrapper

@ingredients

@bread

**def** strange_sandwich(food="--ham--"):

    print(food)

strange_sandwich()

# outputs:

##tomatoes#

# </''''''>

# --ham--

# <______/>

# ~salad~

给装饰器函数传参

# 这不是什么黑色魔法(black magic),你只是必须让wrapper传递参数:

**def** a_decorator_passing_arguments(function_to_decorate):

    **def** a_wrapper_accepting_arguments(arg1, arg2):

        print("I got args! Look:", arg1, arg2)

        function_to_decorate(arg1, arg2)

    **return** a_wrapper_accepting_arguments

# 当你调用装饰器返回的函数式,你就在调用wrapper,而给wrapper的

# 参数传递将会让它把参数传递给要装饰的函数

@a_decorator_passing_arguments

**def** print_full_name(first_name, last_name):

    print("My name is", first_name, last_name)

print_full_name("Peter""Venkman")

# outputs:

# I got args! Look: Peter Venkman

# My name is Peter Venkman

含参数的装饰器

在上面的装饰器调用中,比如@decorator,该装饰器默认它后面的函数是唯一的参数。装饰器的语法允许我们调用decorator时,提供其它参数,比如@decorator(a)。这样,就为装饰器的编写和使用提供了更大的灵活性。

# a new wrapper layer

**def** pre_str(pre=''):

    # old decorator

    **def** decorator(F):

        **def** new_F(a, b):

            print(pre + " input", a, b)

            **return** F(a, b)

        **return** new_F

    **return** decorator

# get square sum

@pre_str('^_^')

**def** square_sum(a, b):

    **return** a ** 2 + b ** 2

# get square diff

@pre_str('T_T')

**def** square_diff(a, b):

    **return** a ** 2 - b ** 2

print(square_sum(3, 4))

print(square_diff(3, 4))

# outputs:

# ('^_^ input', 3, 4)

# 25

# ('T_T input', 3, 4)

# -7

上面的pre_str是允许参数的装饰器。它实际上是对原有装饰器的一个函数封装,并返回一个装饰器。我们可以将它理解为一个含有环境参量的闭包。当我们使用@pre_str(‘^_^’)调用的时候,Python能够发现这一层的封装,并把参数传递到装饰器的环境中。该调用相当于:

square_sum = pre_str('^_^') (square_sum)

装饰“类中的方法”

Python的一个伟大之处在于:方法和函数几乎是一样的(methods and functions are really the same),除了方法的第一个参数应该是当前对象的引用(也就是 self)。这也就意味着只要记住把 self 考虑在内,你就可以用同样的方法给方法创建装饰器:

def method_friendly_decorator(method_to_decorate):

    **def** wrapper(self, lie):

        lie = lie - 3  # very friendly, decrease age even more :-)

        **return** method_to_decorate(self, lie)

    **return** wrapper

**class** Lucy(object):

    **def** __init__(self):

        self.age = 32

    @method_friendly_decorator

    **def** say_your_age(self, lie):

        print("I am %s, what did you think?" % (self.age + lie))

l = Lucy()

l.say_your_age(-3)

# outputs: I am 26, what did you think?

当然,如果你想编写一个非常通用的装饰器,可以用来装饰任意函数和方法,你就可以无视具体参数了,直接使用 *args, **kwargs 就行:

def a_decorator_passing_arbitrary_arguments(function_to_decorate):

    # The wrapper accepts any arguments

    **def** a_wrapper_accepting_arbitrary_arguments(*args, **kwargs):

        print("Do I have args?:")

        print(args)

        print(kwargs)

        # Then you unpack the arguments, here *args, **kwargs

        # If you are not familiar with unpacking, check:

        # http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/

        function_to_decorate(*args, **kwargs)

    **return** a_wrapper_accepting_arbitrary_arguments

@a_decorator_passing_arbitrary_arguments

**def** function_with_no_argument():

    print("Python is cool, no argument here.")

function_with_no_argument()

# outputs

# Do I have args?:

# ()

# {}

# Python is cool, no argument here.

@a_decorator_passing_arbitrary_arguments

**def** function_with_arguments(a, b, c):

    print(a, b, c)

function_with_arguments(1, 2, 3)

# outputs

# Do I have args?:

# (1, 2, 3)

# {}

# 1 2 3

@a_decorator_passing_arbitrary_arguments

**def** function_with_named_arguments(a, b, c, platypus="Why not ?"):

    print("Do %s, %s and %s like platypus? %s" % (a, b, c, platypus))

function_with_named_arguments("Bill""Linus""Steve", platypus="Indeed!")

# outputs

# Do I have args ? :

# ('Bill', 'Linus', 'Steve')

# {'platypus': 'Indeed!'}

# Do Bill, Linus and Steve like platypus? Indeed!

**class** Mary(object):

    **def** __init__(self):

        self.age = 31

    @a_decorator_passing_arbitrary_arguments

    **def** say_your_age(self, lie=-3):  # You can now add a default value

        print("I am %s, what did you think ?" % (self.age + lie))

m = Mary()

m.say_your_age()

# outputs

# Do I have args?:

# (<__main__.Mary object at 0xb7d303ac>,)

# {}

# I am 28, what did you think?

装饰类

在上面的例子中,装饰器接收一个函数,并返回一个函数,从而起到加工函数的效果。在Python 2.6以后,装饰器被拓展到类。一个装饰器可以接收一个类,并返回一个类,从而起到加工类的效果。

def decorator(aClass):

    **class** newClass:

        **def** __init__(self, age):

            self.total_display = 0

            self.wrapped = aClass(age)

        **def** display(self):

            self.total_display += 1

            print("total display", self.total_display)

            self.wrapped.display()

    **return** newClass

@decorator

**class** Bird:

    **def** __init__(self, age):

        self.age = age

    **def** display(self):

        print("My age is", self.age)

eagleLord = Bird(5)

**for** i **in** range(3):

    eagleLord.display()

在decorator中,我们返回了一个新类newClass。在新类中,我们记录了原来类生成的对象(self.wrapped),并附加了新的属性total_display,用于记录调用display的次数。我们也同时更改了display方法。通过修改,我们的Bird类可以显示调用display的次数了。

内置装饰器

Python中有三种我们经常会用到的装饰器, property、 staticmethod、 classmethod,他们有个共同点,都是作用于类方法之上。

property 装饰器

property 装饰器用于类中的函数,使得我们可以像访问属性一样来获取一个函数的返回值。

class XiaoMing:

    first_name = '明'

    last_name = '小'

    @property

    **def** full_name(self):

        **return** self.last_name + self.first_name

xiaoming = XiaoMing()

print(xiaoming.full_name)

例子中我们像获取属性一样获取 full_name 方法的返回值,这就是用 property 装饰器的意义,既能像属性一样获取值,又可以在获取值的时候做一些操作。

staticmethod 装饰器

staticmethod 装饰器同样是用于类中的方法,这表示这个方法将会是一个静态方法,意味着该方法可以直接被调用无需实例化,但同样意味着它没有 self 参数,也无法访问实例化后的对象。

class XiaoMing:

    @staticmethod

    **def** say_hello():

        print('同学你好')

XiaoMing.say_hello()

# 实例化调用也是同样的效果

# 有点多此一举

xiaoming = XiaoMing()

xiaoming.say_hello()

classmethod 装饰器

classmethod 依旧是用于类中的方法,这表示这个方法将会是一个类方法,意味着该方法可以直接被调用无需实例化,但同样意味着它没有 self 参数,也无法访问实例化后的对象。相对于 staticmethod 的区别在于它会接收一个指向类本身的 cls 参数。

class XiaoMing:

    name = '小明'

    @classmethod

    **def** say_hello(cls):

        print('同学你好, 我是' + cls.name)

        print(cls)

XiaoMing.say_hello()

wraps 装饰器

一个函数不止有他的执行语句,还有着 name(函数名),doc (说明文档)等属性,我们之前的例子会导致这些属性改变。

def decorator(func):

    **def** wrapper(*args, **kwargs):

        """doc of wrapper"""

        print('123')

        **return** func(*args, **kwargs)

    **return** wrapper

@decorator

**def** say_hello():

    """doc of say hello"""

    print('同学你好')

print(say_hello.__name__)

print(say_hello.__doc__)

由于装饰器返回了 wrapper 函数替换掉了之前的 say_hello 函数,导致函数名,帮助文档变成了 wrapper 函数的了。解决这一问题的办法是通过 functools 模块下的 wraps 装饰器。

from functools import wraps

**def** decorator(func):

    @wraps(func)

    **def** wrapper(*args, **kwargs):

        """doc of wrapper"""

        print('123')

        **return** func(*args, **kwargs)

    **return** wrapper

@decorator

**def** say_hello():

    """doc of say hello"""

    print('同学你好')

print(say_hello.__name__)

print(say_hello.__doc__)

装饰器总结

装饰器的核心作用是name binding。这种语法是Python多编程范式的又一个体现。大部分Python用户都不怎么需要定义装饰器,但有可能会使用装饰器。鉴于装饰器在Python项目中的广泛使用,了解这一语法是非常有益的。

常见错误:“装饰器”=“装饰器模式”

设计模式是一个在计算机世界里鼎鼎大名的词。假如你是一名 Java 程序员,而你一点设计模式都不懂,那么我打赌你找工作的面试过程一定会度过的相当艰难。

但写 Python 时,我们极少谈起“设计模式”。虽然 Python 也是一门支持面向对象的编程语言,但它的鸭子类型设计以及出色的动态特性决定了,大部分设计模式对我们来说并不是必需品。所以,很多 Python 程序员在工作很长一段时间后,可能并没有真正应用过几种设计模式。

不过装饰器模式(Decorator Pattern)是个例外。因为 Python 的“装饰器”和“装饰器模式”有着一模一样的名字,我不止一次听到有人把它们俩当成一回事,认为使用“装饰器”就是在实践“装饰器模式”。但事实上,它们是两个完全不同的东西。

“装饰器模式”是一个完全基于“面向对象”衍生出的编程手法。它拥有几个关键组成:一个统一的接口定义、若干个遵循该接口的类、类与类之间一层一层的包装。最终由它们共同形成一种“装饰”的效果。

而 Python 里的“装饰器”和“面向对象”没有任何直接联系,**它完全可以只是发生在函数和函数间的把戏。事实上,“装饰器”并没有提供某种无法替代的功能,它仅仅就是一颗“语法糖”而已。下面这段使用了装饰器的代码:

@log_time

@cache_result

**def** foo(): pass

基本完全等同于:

def foo(): pass

foo = log_time(cache_result(foo))

装饰器最大的功劳,在于让我们在某些特定场景时,可以写出更符合直觉、易于阅读的代码。它只是一颗“糖”,并不是某个面向对象领域的复杂编程模式。

参考链接:

  • Primer on Python Decorators
  • [Decorator Basics:Python’s functions are objects]

作者:钱魏Way

https://baidubiaodianfu.com/python-decorator.html

投资的非逻辑感悟碎片(四十八)

1、对个人投资者来说,投资体系是至关重要的。这个体系不仅仅是理论上的有效,也要建立在心态的承受力上。我的体系一直都是爱熊胜过牛,越跌越开心,仓位和资金都是为此准备。但这种体系,是通过4轮牛熊转换才真正完成的。

我很少就自己的投资体系谈得太深,不是我藏私,而是没有经历过那种千股跌停、熔断、腰斩再腰斩的人,心里的恐惧都还是皮毛级的。死人堆里面活下来的人,才能分清楚什么是恐惧什么是贪婪。

2、我是做投资的,不炒股票。比起短期股价,我更关心投资体系的完善和企业基本面的变化。有些人的地狱,正是我的天堂。无数人怀念2016年2月或者是2018年12月的股价,但每次来临的时候,他们都充满绝望。对我来说,大跌是最幸福的时刻,但却是很多人嘲笑的理由。

我的坚持,是建立在自己的分仓原则和调仓策略之上,也是充分考虑了自己的现金流和各种可能局面的,不是简单的看好和依赖。对职业投资人来说,最大的敌人是时间而不是空间,这和业余投资者来说有着根本性的不同。

3、M2和GDP的关系,需要充分考虑各自的增速。但对股市来说,重要的不是绝对增速,而是相对增速,具体到板块和企业,还要结合业绩增速。

股价增速、流动性增速和业绩增速之间,良性的传导过程,应该是流动性——业绩——股价,这样的上涨才会坚实,而业绩环节直接决定了GDP变化。现在很多板块和个股,业绩增速的变化不大,股价依靠流动性直接来完成,后面流动性的增速下降,就会直接作用到股价上。

4、同样一份报表,不同的人会看到不同的业绩。有人看到了利润,有人会看到利润之后的商誉和增发,还有人能看到这份利润透支了的未来空间。有些企业确实赚的是假钱,而对赚真钱的企业来说,无所谓牛市还是熊市。

下跌不怕,但要搞清楚是行业问题还是企业问题,是周期问题还是人为问题,是跌业绩还是跌估值。经营的基本面仍然完好的,这种跌幅后慢慢买入就是,经营逻辑要是破了,千万不要图便宜。

5、打麻将,不放过每一个胡牌机会的人,基本上赢不了大钱;几圈下来没胡牌就唉声叹气的人,往往越打越差;牌不好尽量少输、牌好尽量胡大牌的人,总能成为最后的赢家。

投资对知识的要求高,对人的自控能力要求更高。那些赚点钱就晒单,亏点钱就怼天怼地的人,被市场吞噬只是时间问题。

6、很多人都是从数字上来看企业,对实际经营一无所知。而且大多数人只会等着股价上涨赚钱,股价下跌带来的好处,都被他们淹没在自己的恐惧中了。平时对价值投资高谈阔论,遇到波动就和叶公好龙一样,对企业的理解就是股价涨跌,这种交流是没有意义的。

投资和实业之间,确实没有鸿沟。我们有时候佩服某位投资人,在一只股票上持有十数年,赚了数十倍。实际上,在那些上市公司里,持有十几年股票赚了大钱的高管们比比皆是。很多人赚不到钱,就是太看重交易价值了。

转自:https://mp.weixin.qq.com/s/SrXMypvQU1JfWkRssYKGzg

从醉酒现象看景气追逐和景气周期

文/沧海一土狗

ps:3800字

题记:无论是烈酒和低度酒市值的差异,还是景气投资和低估值投资的对比,表面上来看,差异都在于外在,实际上都在于我们自己,是我们自己塑造了这个人类世界,创造了这个资本市场,我们内心的冲突也将投射到这个世界的方方面面。

 

引子

这两天有一则消息刷屏了,海底捞宣布关闭300家门店,一时间各种感慨。

我的直接感受是:餐饮是一个很难玩的行业,周期无处不在。

之前,我写了一篇《关于周期行业和行业周期的一些想法》,这篇文章从分类的视角解释了周期的根源,并得出以下三个结论:

1、短期供给弹性越小,长期供给弹性越大的行业,周期性越大;

2、进入壁垒越高的行业,长期供给弹性越小,周期性越弱;

3、品牌是好的,扩张是品牌的敌人;

但是,有读者对这个解释不买账,觉得这个解释是在假设企业家很短视,都是些盲目扩张的傻子。

我对这个解释也不甚满意,解读周期现象,本质上是要去把握一种冲突,在前文的解释中,冲突的层次还有些浅,所以,我们需要进一步往深处刨。最好能刨到人性深处,发现人内心深处的冲突

 

想要和喜欢

幸运的是,脑科学家已经为我们准备好了相关方面的工作。

从主观的角度来看,我们很难区分两种感觉:一种是欲望,渴望,想要;另一种是喜欢,感官上给出很高的评价。

但是,从生理发生机制上来说,这个区分则容易得多,脑科学家们已经对此做了良好的区分。前者对应的是多巴胺回路,后者对应的是当下感受的回路。也就是说,二者背后对应了十分不同的化学反应。

从表征系统的角度来看,前者针对的是心理模型更深层次的东西,看到树上长的梅子,想吃;后者针对的是心理模型更表层次的东西,吃到梅子,感官被激活,觉得好吃。

因此,无论是从化学回路还是从表征系统,想要和喜欢都是两码事。

从醉酒现象看景气追逐和景气周期

如图上图所示,主观心理模型可以分为两部分,一部分是近体系统,离外界环境最近,是一阶的系统;另一部分是远体系统,离外环境稍远,是一个二阶系统。

 

多巴胺是欲望分子,并非快乐分子。在Wolfram Schultz的一个研究中(1997,science),研究者发现多巴胺的主要功能是“奖赏预测误差”。也就是说,多巴胺回路针对的不是“好”本身,针对的是“更好”,更好的基准是预期。

 

醉酒——想要但不喜欢

知道想要和喜欢的不同有什么用呢?通过这两个机制的划分,我们就可以主动构建人内部的冲突了

我们所需要构建的情形是:从二阶的角度,我们很想要;但从一阶的角度我们不喜欢。

事实上,这种例子很多,一个最常见的例子就是饮酒和醉酒。

酒精会刺激多巴胺分泌,给人带来愉悦感。但是,其中有一个很重要的结构:愉悦感来自于二阶刺激,也就是说,血液中酒精度快速升高,会给人带来愉悦;绝对水平不会带来愉悦,只会让人醉酒

从醉酒现象看景气追逐和景气周期

了解清楚这个结构差异之后,我们就能清楚两个区别:1、喝high了和喝醉了的区别;2、高度酒和低度酒的区别(ps:几乎是两种不相干的产品)。

喝high了是指,大脑中酒精含量迅速提高,多巴胺快速释放,大脑感到愉悦;喝醉了是指,大脑中酒精含量提高到某一水平,大脑的很多功能失调。

不幸的是,人们很难辨别一阶刺激和二阶刺激的差别,只会觉得白酒开始很难喝,喝到一个临界点,觉得喝得越多越愉悦。

也就是说,一旦人们喝开了,人们会加快速度,大脑希望有同等刺激的多巴胺释放,但这需要更高速度的酒精度提升。最终,喝酒的人终于喝大了。喝到最后,人们没有愉悦的感受,只有醉的感受,因为这时,酒精浓度在降低,多巴胺回路关闭了。

对于经常喝醉的人,肯定不止一次骂自己愚蠢,并下定决心不再喝酒(ps:这一般是发生在醉酒的第二天),但是,一旦他恢复过来他又会想喝,并自信(ps:多巴胺的另一条回路是控制回路,兴奋时人们会觉得自信,所以,酒壮怂人胆)满满地告诉自己,这次喝不大,能控制住。结果往往是再一次喝大了。

经历了长期的斗争之后,酒鬼们终于摸索出了最佳应对策略:

1、选择高度酒;

2、少量多次;

经验丰富的老酒鬼会直接选择高度酒,而且,一次喝一两左右,让自己high,然后,等脑部酒精度下降,等下降到一定水平,再喝下一个quota。

也就是说,他们在主动操控酒精浓度的变化曲线。

按照老酒鬼的喝酒方法,他们一喝会喝一整天(ps:这就是所谓的酒腻子)。他们很精明,他们准确地区分了high和醉,并掌握了最有效率买high的方法——虽然最后他们实在把持不住,也喝大了。

如果了解这个微观生理结构的差异,我们就能搞明白,高度酒和低度酒的差别。二者根本就是两个品种。一个可以快速提高大脑中的酒精浓度,释放多巴胺;另一个则很缓慢。所以,看起来大家都喝了等量的酒,但是,差别很大。差别在于血液中酒精浓度的变化曲线,这直接影响了多巴胺的释放量。

通过这个逻辑,我们也能搞清楚,为啥烈酒总是畅销的,为啥白酒那么容易成瘾,为啥喝白酒的人都不怎么喝啤酒。

资本市场很好地映射了这个差异:白酒行业的市值是一个样子,其他酒的市值又是另外一个样子。根子还是在于一种普遍性,在于多巴胺回路的结构——强烈依赖二阶刺激

 

景气追逐和高估值

运用这个结构,我们也能够打开一个想当然的黑匣子:为什么高景气对应高估值。

这并不是因为高景气才值得高估值,而是因为这是一个进程,我们没办法

景气是一个二阶的东西,而估值是一个一阶的东西。我们优先被二阶的东西驱动,一阶的东西放在其后。所以,估值是一个并不太好用的刹车

这跟喝酒的过程很相似,在不断地追逐景气的过程中,估值逐渐地被抬高,虽然我们会像老酒鬼那样扭扭捏捏,稍微控制一下曲线——消化估值,但是,我们还是抑制不住追景气的冲动,最终还是喝高了。

从醉酒现象看景气追逐和景气周期

事实上,喝酒这个比喻跟资本市场有特别多的相似点。

另外一个有意思的相似点是,老手和新手的不同选择,老手一般直接选择最烈的那款,但新手会紧张兮兮地选择一个度数低的,初来乍到嘛。

在资本市场也会有类似的情形,老手上来就自下而上去搞高景气,新手一般会自上而下ps:基于牛市来)去搞个景气度不是那么高的,因为他们怕高估值,所以,会去选那个低估值——低景气度的。在价值投资政治正确的今天,菜鸟的这种选择其实也理直气壮。

但是,菜鸟们不得不去面对的是,自己的票总是不涨。他们所做的选择越稳妥,越是不涨。如果仅仅是自己选择的票不涨还好,结果那些自己不敢买的高景气股票屡创新高地涨。这个诡异的对比几乎要把人气炸了。

其实,股票投资和喝酒一样,人们追逐的是景气,是多巴胺能,是血液里酒精浓度的快速提高。

诚然喝醉是很可怕,比喝醉更可怕的是,那种极品低度酒,你从来就没真正high过,但喝着喝着喝大了,醉的一塌糊涂,这就好像你是时间的敌人一样。high没等来,吐倒是等来了。
从醉酒现象看景气追逐和景气周期

那么,新手上来学老手喝最烈的酒、骑最烈的马就没问题了吗?并不是,你投资的是景气,而不是其他。所以,当景气度出问题的时候,要记得跑,不要拿估值忽悠自己。

一般来说,大多数人只是在追逐景气,并没有把企业的底价——价值,搞得十分明白,这需要比企业家还好的一级视角和产业视角。

从醉酒现象看景气追逐和景气周期

所以,大多数人的选择也仅仅是就近找个马桶吐一吐,然后,等待下一次酒局的到来——景气回归

如果你搞不清楚为啥自己总是喝酒喝吐,大概率也搞不清楚为啥自己牛市不挣钱。

人性放大器

金融市场本身就是一个人性的放大器,人性深处充满矛盾和莫名其妙,金融市场也是如此。

正因为多巴胺回路足够强大,所以,投资者的着眼点并非利润本身,而是,利润增长,尤其是超预期的增长。

这也就导致了一个现象,低PE并不会刺激到投资者,反倒是利润增长可以刺激到投资者。在极端的情况下,投资者追逐增长的增长——要求利润增长率提高。

于是,我们对追逐景气这件事情就有一个基本的了解,景气至少是两阶的(利润增长率高),甚至是三阶的(利润增长率逐渐提高)。景气追逐的行为最底层是多巴胺回路控制的。

除此之外,往更大的视角延伸,我们整个人类社会的执念则是——经济增长,只有上面有普遍意义的增长,下面才有足够多的景气行业,供投资者追逐,才能刺激大家一直追一直追。

所以,当整个经济景气度不行的时候,整个资本市场的风险偏好也是脆弱的。

从醉酒现象看景气追逐和景气周期

不难想象,如果我们当下回路的优先级更高,我们整个社会将是另外一个场景——满足当下,活力更低,幸福感更高

所以,这就很矛盾,我们是要幸福感呢,还是要增长呢?大自然给我们做出的选择是增长——因为我们的多巴胺回路更强,当下回路更弱。

当然,我们的理性能帮我们做出一些平衡,让我们更注重当下,减缓对未来的追逐(ps:诸如保护环境等操作)。但这有一个有些反讽意味的事实,我们的理性强烈地依赖多巴胺的控制回路(ps:这次讲的是多巴胺的欲望回路,下次讲控制回路)。

嗯,拿多巴胺回路a去控制多巴胺回路b。

结束语

最近这几年,我们经历了形形色色的周期,房地产周期、猪周期,航运周期和大宗周期,其中的周期有大有小,有长有短。如果拉长时间窗口看,我们有更多的周期。

周期的普遍性深深地扎根在人性深处,我们是一个个内心充满矛盾和冲突的个体。

事实上,探讨周期并不是想要显得比企业家或其他投资者更聪明,这毫无意义;而是要发掘人性深处的一种普遍的的冲突,让我们心平气和地理解并接受这种冲突,也能妥善地规避这种冲突所带来的伤害。

这种狂暴的冲突被资本市场放大之后着实有一些吓人和费解。但我们也得接受,这就是我们人类啊。

ps:数据来自wind,图片来自网络
ps:参考文献
《贪婪的多巴胺》 丹尼尔-利伯曼
《哈佛幸福课》丹尼尔-吉尔伯特
《丹尼尔-丹尼特讲心智》丹尼尔-丹尼特
《隐藏的自我》大卫-伊格曼

 

转自:https://mp.weixin.qq.com/s/KVK53IH79NoV-ZJtRZoBHQ