一条微博引发的中小票屠杀

作者 | 陈肖

数据支持 | 勾股大数据(www.gogudata.com)

一条微博引发的中小票屠杀

对于今天的冰火两重天的行情走势,叶飞绝对起到了推波助澜的重要贡献。
 
毫无意外,叶飞于近期在微博上陆续曝光的十多只股票在今天莆一开盘就以集体暴跌吸引全市场的关注。

1

一己之力搅翻资本江湖
今早,“叶飞概念股”带崩小盘股,昊志机电低开近19%,中源家居低开8%,东方时尚、今创集团、法兰泰克、利通电子等跌停,此外,ST板块伤亡惨重,10余只股票跌超10%,板块内近200只个股下跌。
一条微博引发的中小票屠杀

除被爆“坐庄赖账”的中源家居外,被股民称之“叶飞概念股”的上市公司还包括:起步股份、ST众泰、通裕重工、凯盛科技、维诺信、东方时尚、今创集团、昊志机电、华钰矿业、利通电子、隆基机械、法兰泰克等,几乎无一幸免暴跌的局面。 

即使是叶飞爆料与市值管理有关联的申万宏源、民生证券、恒泰证券、天风证券等券商,都同样遭到“错杀”。
然后连带着,大量小市值股几乎崩盘式暴跌,ST板块更是掀起了跌停潮。粗略统计了一下,今天A股有141只跌停,是今年来跌停数最多的一天,其中大部分都是市值在50亿元以下的。
 
一把把20米长的大刀,砍得无数散户浑身难受,在叶飞微博下面嗷嗷叫。
一条微博引发的中小票屠杀
先不说叶飞在此事件的法律责任该如何,从营销效果的角度,他的这波操作堪称营销鬼才——在微博,其粉丝量短短几天暴涨几十万到128万,每一条微博都能带来几百上千留言,成了真正的超级大V。
 
现在,成为大V的叶飞身价已不可同日而语。想要采访他,需要支付顾问费16666元/小时,换算成日收入,约等于“0.2爽”:
一条微博引发的中小票屠杀
不知叶飞现在的心情是不是爽了,反正在其微博下面,除了少部分点赞其“大义灭黑”行为的,绝大部分是来自散户的各种问候。
一条微博引发的中小票屠杀
确实,他以一己之力,对今天的A股小市值股造成的冲击,不亚于一次“加息”带来的利空冲击。
 
不过这利空仅局限在小票股。
 
与ST板块跌停潮截然相反的,是今日“茅系”股票集体翻红大涨,不少行业龙头暴涨拉动整个A股报复性反弹,创业板都又涨了2.6%。
 
冰火两重天之下,买了“叶飞概念股”的股民心情更糟糕了。
 

2

市场成熟化下的畸形产物
叶飞事件很可能会成为中国证券史上被记入史册的重大一笔,如果他说揭露的数十家公司包括各大机构的内幕是真的,那么,其影响力相比之前徐翔案对市场的冲击力将有过之而不及。它是A股有史以来第一次最大化地从内部掀开机构联合操控股价的资本黑幕。
 
以前股民们对徐翔案的反应是——下一个徐翔在哪里?
 
现在股民们对叶飞事件的最大反应是——50亿以下的小票从此再也不碰!
 
同时,此事件也正是解开了市场上无数人一直百思不得其解的谜团:
 
a,为什么总会有很多大小公募基金经常出现迷之操作——去配置“谁都知道是垃圾股”的普通行业小市值股,有的股票甚至是夕阳行业的亏损股;
b,为什么很多韭菜股民被机构牵着鼻子走,抄了作业却老避免不了亏钱;
c,为什么机构喜欢疯狂追涨打板小票妖股并且总是大概率能功成身退…
 
现在看来,很多不符合常理逻辑的现象,都有了个大概的答案:背后有庞大的、联系紧密的、超出人们想象的操控股价产业链。它如同一张又密又牢的渔网,把不知所以的散户韭菜们变成任之猎食的沙丁鱼。
 
股票投资作为当前实现个人财富增长最具想象力的合法途径之一,99%的全球顶级富豪之所以能在很短时间拥有世人无法企及的庞大财富,都是因其股票资产价格的急剧膨胀。国内的几家各大平台巨头都是在近短短几年内变成市值数千上万亿的超级巨无霸,其背后的实控人动辄数千亿的惊人财富羡煞无数股民。
 
但股票市场也天然具备信息不对称、交易对象不平等、监管判定难度大等特点,导致操盘方的可操作空间极大,最终诞生出叶飞事件这种看似突兀惊人,实际见怪不怪的金融大瓜。
 
可以说,炒股天然对人性有着难以遏制的原始冲动,对于股民来说是一条充满陷阱危机的路途;但在操盘方看来则是充满诱惑与法律风险的选择之路。
 
在A股短短的30年历史中,从来不乏因此迷失其中的各种“大佬”:叶荣添、赵笑云、阮杰、汪建中以及此前叱咤资本市场的徐翔总舵主等等。他们从风光无限到最终如流星坠地般锒铛入狱,逃不出天网恢恢的法律制裁。
 
叶飞极其所涉及的各利益方,迎接他们的很有可能是同样的下场。
 
如果还有需要反思的,那就是我们现在真的需要好好想想,当下A股生态,到底是一个怎样的“对立统一矛盾体”。
 
叶飞事件目前的所曝光涉及的所有个股,基本上都是有几个特点:小市值、行业普通、业务赛道一般、业绩亏损,股票少人关注。
 
所有这些特征,都验证了一个事实,A股现在实际在加速港美股化,或者又叫走向成熟化。这种变化最大的特点,就是股票市值的二八分化甚至一九分化:
 
越是业务模式有前景,业绩有保障的企业越能获得资金的青睐,享受越来越高的估值溢价;而越是夕阳行业产业,或者业务模式没有吸引力的企业只能逐渐沦为无人问津的淘汰对象。最终,在赚钱效应下,马太效应不断加强,即使有业绩支撑的小公司都难逃被抛弃的结局。
 
其实,对于很多小企业来说,他们也是挺无奈的。能在A股上市非常不容易,谁不希望自己的公司市值能成为万人瞩目的超级巨头?但总有大多数是在经济历史发展过程中成为被淘汰的夕阳产业对象。
 
万象更新,新陈代谢是发展规律,此前改革开放带来的中国经济最高速发展红利期将尽,而新科技及新商业模式的出现,虽然衍生了很多新业态,但也冲击淘汰了更多传统的业态。供给侧改革、行业内卷,企业竞争加剧,都说明了传统企业在面对的无奈现实。
 
这也是为什么此事件被曝光个股,都是那些普通行业看不到希望的企业。
 
并不是谁都能适应时代潮流迭代生存下来,但谁又愿意看到自己变成被淘汰的一方呢?
 
所以,一方面是看不到希望的未来,一方面是轻而易举获利巨大的“市值管理”,这是很考验人性的。
 
但,这绝不是这些企业要以“市值管理”为民搞非法操控股价的理由。任何时候,游戏规则只有遵守,不应该违犯,否则必然是对其他入场者不公平,必然也是要遭严惩。
 
其实每个行业都有其不为人知的黑色产业链,包括之前轰动全国的“深房理事件”、“郑爽逃税事件”等。这些现象之所以野火烧不尽春风吹又生,根本原因殊途同归:监管在明对方在暗、信息不对称、可操控的空间大,以及令人难以抗拒的巨大利润。
 
这是一场永远不会停止的“规则与犯规”的对抗游戏。

3

珍惜生命,远离小票!
 
我们不得而知,这些所涉及的以及其他更多没有被曝光的企业方,他们做“市值管理”的出发点到底只是为了做大市值方便企业融资发展,还是破罐破摔把上市公司当做捞钱套现的工具,但人性自觉判断,后者必然更多。
 
在中国的A股历史上,曾有过七次重启IPO的经历,大多数都是市场环境很惨淡的背景下被迫暂停的。导致A股市场长期以来对上市企业严进宽出,市场对“炒壳”成为追捧大趋势。
 
在最近一次的暂停期间(2012年11月16日~2014年1月17日),A股的壳价格甚至被炒上至20亿元以上,后来很多妖股诞生也是源于此。
 
但随着A股的IPO重启,注册制推行、创业板、科创板等推陈出新,A股股票池是在不断变大。也就是说供给股民选择的机会大大增多。
 
IPO重启至今,A股累计新发行了1900只个股,增加了近8成的数量。虽然退市股还不到百家,但股民的选择多了,“壳公司”已经再无多少价值。
一条微博引发的中小票屠杀
一个很明确的数据,截止今天,A股共有4302只股票,但市值低于50亿的股票已经超过了2000只,占比高达46%;市值低于20亿的也有1千多,占比高达四分之一!
一条微博引发的中小票屠杀
在过去的一年,A股所有股票市值增长中,那些成长性更高,业绩预期更强的头部公司市值增长最明显,“茅指数”、“核心资产”C位出圈,成为资金追逐的焦点。相反,跌幅最惨的正是一众再几无人问津的小票股。
 
我们所有听到的“全日零成交”、“几十万撬动几十亿”、“面值退市”等在A股历史上未曾出现过的新名词,全部都来自这些大量的小票股。
 
除了个别妖股像“叶飞”这样的机构坐庄异常爆炒成妖引发一时关注除外。
 
无论散户们接不接受,现在去炒小市值股都是一个命中率非常低的高难度操作。
 
所以,珍惜你的资产,如同珍惜你的生命,远离小票吧!
 
虽然这样做肯定会错过很多有可能成长为超级大白马的标的,但肯定也会因此避开更多让你后悔一生的各种意外大坑。
 

4

结语
 
 
在投资上,在能力边界范围内做投资的这一条基本准则,已经老生常谈了。
 
但直到现在很多人会因为畏惧优质龙头的高估值反而去赌风险更大的小票股,其实从大样本结果看,这种成功率几乎可以忽略不计。
 
所以,还不如去买已经过市场和时间双重考验的行业龙头,或者现在新科技与新商业模式时代下的弄潮儿,再不济,去买个银行保险这样的大蓝筹吃分红都好过去赌那些小票。
 
投资最简单的事情,就是在对的业务赛道上,寻找对的公司,这其实并不难。然后与之一起成长,享受估值长期增长的快感,它不香吗?

 

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


100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

◎作者 | 铁马

◎来源 | 金融八卦女频道(baguanvpindao)已获授权

近日,号称中介费只收几万的叶飞,又爆料说中源家居本来准备掏100万让他闭嘴。

 

可是啊,证监会都说了要一查到底,这场“黑吃黑”的自爆,怎么可能草草收场?

 

这几年以来,摔杯子之后,很容易有人睡不着。

 

这事儿,富力老板张力懂,行为艺术大师李国庆懂,中源家居、维信诺、昊志机电、东方时尚、隆基机械等18家上市公司的老板,现在也应该体验到了。

 

咋回事呢?

 

话说,江湖上有这么一位“大侠”,之前叫嚣着超过徐翔,连续在电视上当评论员,后来当过私募冠军。

 

然后,就也被杀猪盘了,还带着券商一起被杀,成了接盘侠。

 

这就是我们今天的主角——叶飞,一个要成为海贼王,哦不“杀猪王”的男人。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

金融圈的黑吃黑

 

咱们先复盘一下叶飞爆料的事情经过,假设叶飞在微博的爆料坐实(注意是假设),应该是何种操作过程?

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

中源家居的庄家(叶飞晒出身份证的女士,咱就叫她小蒲妹子吧),通过申万宏源某营业部人士刘鹏联系叶飞,邀请叶飞这个中间人,找到公募基金和券商资金,希望有资金能帮忙买股票代持,把仓位锁住,并承诺保底,后续会拉升30%以上。

 

盘方大笔套现,代持方拿走代持费,叶飞、刘鹏等中间商拿中介费。

 

但后来吧,中源家居连续三个跌停,公募、券商资金包括叶飞在内,都发现自己被骗了。

 

实际是中源家居的庄家(盘方)要出货,然后直接出给了公募和券商让其接盘。

 

嗯,这就是传说中的“假代持真出货”。

 

大家都是第一次合作,也都是看在钱的份上,这下券商和公募一毛钱没赚到还倒贴30%。

 

公募和券商就找中间人叶飞是问,让叶飞赔钱。

 

叶飞也发现盘方连后续的保证金和中介费都不付了,就把这事捅出来了,要不然咱们一起鱼死网破嘛,毕竟我身上背的监管函和禁令也不止你这一条。

 

有人说:“诶,我感觉这和荐股群里的杀猪盘挺像。”

 

自信点,咱把“感觉”两个字去掉,朋友们,现在韭菜都不够用了,直接割机构啊!

 

如果“市值管理”坐实,可就是违法行为、操纵股价了,所以上市公司中源家居已经连夜撇清关系,否认三连。

 

韭菜到底谁,也有迹可循。

 

我们来观察一下,叶飞在华夏时报的采访里称,“市值管理”的买入时间是2021年3月31日。

 

当天因为盘中引发跌停,最终公募基金没有买,所以“入局”的是券商资管,买入1500余万元。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

民生证券是新的十大股东之一,买入55万股结合当时中源家居26元左右的股价……虽然上市公司连连否认(主要是不否认也不行啊),但是感觉“锤”越来越多,难不成“冤大头”找到了?

 

于是就有了第二天四季酒店里的摔杯事件。

 

刘鹏对《华夏时报》记者抱怨说,这都怪叶飞:

 

没有控制好情绪,摔了杯子,实在不应该,“应该好好谈”,因为整个链条里又没有书面合同,都是口头协议。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

▲图片来源:华夏时报

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

叶飞的再一次黑色幽默

 

如果叶飞的爆料坐实,那么几方都不是什么好人,咱先说叶飞“叶老师”吧,他的坑人经过,互联网还是有记忆的。

 

叶飞和徐翔草根出身不一样,他是正统南京大学数字多媒体专业毕业,这在老股民里绝对是专业出身。

 

据说1998年19岁的叶飞带着2万元踏入了中国A股资本市场(一说1994年叶飞入市,但当时叶飞只有15岁,已不可考证)。

 

然后伴随着黄燕铭的“五朵金花“理论赚得人生的第一桶金。

 

之后由于他去做了私募叫做倚天投资,在2015年前后收益确实不错,被评为了“阳光私募基金股票策略组2015年上半年度冠军”。

 

例如他的阳光私募基金倚天雅莉3号仅成立9个月的产品涨幅高达315.73%。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

▲2015年叶飞的路演宣传图

 

后来倚天雅莉三号更是跑赢了徐翔旗下产品147个百分点,所以“叶老师”开始说自己比徐翔厉害,肯定能超过徐翔,加之叶老师平时聊天的话术还颇有些“大霄之风”,所以叶飞不仅在CCTV里当过股评人,还开始了“传道授业解惑”。

 

同样是2015年,浙江某大学邀请叶飞到EMBA总裁班给大家讲课。

 

钱江晚报的报道是这样的:

 

“叶飞上课内容很简单,除了普通股票知识,就是讲实际操作。

 

EMBA学员的陈先生说,今年(2015年)5月14日、15日两天,叶飞示范了辉煌科技的股票操作,让上课的学员跟着买。

 

开始的时候辉煌科技还是跌的,结果很快被拉到接近涨停。

 

第二天,辉煌科技先跌后涨,等涨几个点的时候他叫大家赶紧卖。

 

5月15日当天,叶飞又操作了先河环保,股价同样很快被拉到涨停板。

 

好家伙,这不就是现在微信群杀猪盘的线下版吗?

 

由于这几次手把手操作的涨停,读EMBA的老板们对叶老师服得五体投地,然后每人交了29.8万元“培训费”,后来根据学员们的统计,共有20多个人上了叶老师的车,总资金量达到2.5亿-3亿元。

 

然后我们再回过头看看,这段时间是什么时候?2015年5-6月,结果很明显了,叶老师的老板学员们全部被割了韭菜……

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

当然了,叶飞自己也不能逃过执法的眼睛,由于他在2015年5月13日至6月30日,集中资金优势在尾盘阶段连续买入信威集团、晋西车轴、江淮汽车、奥特迅和中青宝等5只股票操控股价被证监会罚没违法所得。

 

之后,叶飞又在2016年因为旗下的私募过于夸大其词被约谈,后来由于市场下跌,叶飞的私募绝大多数产品开始清盘,仅剩的两支“倚天雅莉3号”、“倚天雅莉4号”也过上了跌妈不认的日子。

 

2016年至2017年,倚天投资两次出现在证监会通报的被采取行政监管措施的机构和个人名单之列;

 

2018年,倚天投资因不能持续符合私募基金管理人登记要求,被证监会注销私募基金管理人资格。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

目前,倚天投资的执行案件共有9起,立案时间跨度2017年-2021年,未履行金额近3000万,叶飞本人也有9起案件被限制高消费。

 

所以在此次爆料之前,叶飞也销声匿迹了很久,他为什么悄悄做市值管理的逻辑也就顺了,因为自己的私募太坑人已经被罚的赚不到钱了,甚至开始搞直播,求打赏…

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

但是正所谓天道好轮回,苍天饶过谁啊,这次“叶老师”也不行了。

 

有资深投资者表示:

 

“叶飞爆料中源家居不就是因为他是中间人、还担保了,结果股价没有按要求市值管理上涨、还下跌了,这下自己也被上市公司割了韭菜,他当年搞那群老板的时候咋没想过这个后果呢?

 

另外,所谓市值管理这个行业多半是灰色地带,上市公司割机构、机构割上市公司,大家互相割,反正谁也不敢把这事儿捅出来,就算报警了也拿不到赔偿,因为本身就不合法,法律不予以支持拿到赔偿。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

远离庄股,远离杀猪盘

 

为什么说这件事如果坐实,几方都不是什么好人呢?股吧有投资者表示,中源家居的“杀猪盘”已经不是头一次了。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

据投资者反映,中源家居的杀猪盘,去年4月份和8月份各发生过一次,2019年也“杀过一次猪”,加上今年3月份这次。

 

不得不让人感叹:“公司才上市三年,来回割了4茬韭菜!”

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

今年3月31日,中源家居股价直线跳水,当日大跌8.82%,4月1日直接跌停。

 

本周五,5月14日中源家居最新收盘价18.5元,3月31日以来累计下跌逾336%。

 

有投资者认为,中源家居公司总资产10个亿、净资产6亿、流通市值只有十几亿,每年也不亏损,有个几千万的净利润,典型的“鸡肋股”,差又不至于退市,好又达不到价值投资,所以完全是给杀猪盘营造机会嘛。

 

从技术手段来说,在中源家居“坐庄”确实容易,先花一个月时间买5000万,再用1000万对倒,做一个杀猪盘让庄家出货确实不难。

 

另外,干脆想拼个鱼死网破的叶飞还点名了昊志机电、维信诺、隆基机械、东方时尚等上市公司,并说自己计划爆料18家上市公司,一周一家,全是猛料。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

有人说,叶飞这次就是个污点证人,现在他都“落魄”到了做控盘赚钱,还身背着限高压力,所以只有通过公开举报曝光,叶飞才能向他的下家证明他不是信口开河,他没有私吞保证金和尾款。

 

毕竟亏个几百万也不是小事儿,公开曝光做个“污点证人”,把事情闹大是自保的最好办法。

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

尾声

 

本周五,证监会正式就“媒体报道某微博大V爆料事件”答记者问,称将一查到底:

 

100万封口费?四季酒店的一次摔杯后,18家老板要失眠了

 

以“市值管理”行“割韭菜”之实的勾当,并不是个新鲜事,基本上隔一段时间就能被证监会查出来一次。

 

有些公司做的那叫“市值管理”吗?基本都是“韭菜管理”。

 

例如,当公司大股东想减持套现时,公司没啥利好消息,基本面也过于难看,股价不涨怎么办呢?

 

上市公司方会找到出资方(盘方)进行拉升,然后盘方再找一些机构(公募基金,私募基金等)来参与,拉抬股价。

 

大股东遂减持套现,减持完成之后,盘方和机构开始砸盘出货,最后大股东、盘方、机构一起分享利润,股民被套在最高点。

 

如果中间每个人都守口如瓶的话,一次完美的杀猪盘就这样神不知鬼不觉地走完了。

 

有些更“高明”的管理的手段还会“内外兼修,虚实结合”,粉饰报表、板块、公司前景,推升股价。

 

不过证监会对于从重从快从严打击资本市场欺诈、造假等违法活动,很有决心,去年共办理案件740起,其中新启动调查353件(含立案调查282件),办理重大案件84件,同比增长34%;2020年向公安机关移送及通报案件线索116件,同比增长一倍,打击力度持续强化。

 

所以,奉劝各位“市值管理”的操盘侠一句老话:要想人不知,除非己莫为啊。

 

END

 

转自:https://mp.weixin.qq.com/s/lpEc4Czd5-A-HeOzWNPLJw

“冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割

◎智友学院(ID:zhiyoucf88) 

◎作者 | 老肥、牛叫兽

 

这周末,证券市场出了一个大瓜:某私募冠军叶飞在微博上爆出行业黑料,指出多家上市公司和机构合谋操控股价。

 

被曝光的多家公司今天都被摁在跌停板上摩擦,顺便把小市值股票和ST股给带崩了。

 

“冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
 
炎炎夏日,我们一起吃个大瓜解解暑。
有部分智友可能还没看这个新闻,我先简单说一下来龙去脉。
按照叶飞的说法,有些小市值公司希望拉升自家的股价,但股东自己不方便出面,毕竟受到监管机构的管控,每次交易都要进行公开披露,这就需要机构帮忙操盘。
如果操盘的机构资金不够,还会找其他资金配合。这时候就需要找叶飞这样的中间人,找到有实力且愿意出资的资金方。资金方每出资1000万,就有65万的报酬,中间人也能拿到5万元。
这事是上不了台面的,所以各方都不会有实际接触,避免留下证据。
按规定,操盘方会先给报酬10%的定金,剩下的钱放在指定的酒店房间。资金方和中间人会在指定的交易日来到指定的房间,资金方在中间人的见证下完成买入,就把房间里的钱直接拿走。
之后,上市公司配合放出利好消息,操盘方也出力一起拉高股价,吸引散户们入场接盘,大家就把手中的筹码慢慢放给散户们,完成收割。
这套操作叶飞已经玩了好多年了,这次在中源家居却栽了跟头,被“黑吃黑”了。
在约定的3月31日当天,民生证券和天风证券两家机构会各买入1500万,但操盘方不按规定办事,在房间里只放了10万,少付了一半的定金。
开盘以后,资金方就发现不对劲,股价全天都在跌停板上挣扎,最后只有民生证券硬着头皮买了1500万,天风证券完全不敢买。
 “冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
 
到最后,股价拉不起来,操盘方连尾款都没给,叶飞不仅没拿到7.5万,还被资金方追着要尾款。
本来想配合机构做局割散户韭菜,自己喝口汤,结果自己也被机构当韭菜割了,典型的“黑吃黑”。
一怒之下,叶飞选择鱼死网破,在微博曝光了整条产业链,直接点名了一批上市公司,全是100亿以下的公司。
这些公司长期处在股票市场的边缘地带,日常极少有人关注,交易量低,股东想要减持,可能砸出几个跌停板都出不了多少货。想要高位套现,叶飞那套玩法确实很有吸引力。
虽然这些公司都出来澄清了,但它们的股价走势是骗不了人的。之前是碍于没有直接证据,现在叶飞都把刀子给到位了,接下来监管部门肯定会趁热打铁清理一批害群之马。
“冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
事情曝光之后,我们普通投资者除了看热闹吃瓜之外,还有两个问题最为关心:
第一,冠军基金经理都这么黑,我们买基金到底还能不能信基金经理?
 
第二,这种坑怎么样才能避开?
首先我们认为,头部百亿级的基金经理还是值得信赖的,而且叶飞这个事情之后会加速基金圈的“二八效应”,也就是大公司会越来越强。
光看新闻,你可能对叶飞会有点误解,表面上看可能以为是一位“位高权重”的人,毕竟人家有“冠军”或者“大V”的标签,冠军爆丑闻有点颠覆三观。
但如果你仔细了解过就会发现,这位所谓的冠军大V,管理的私募基金业绩却非常非常非常差,在2015年拿了一波冠军之后,就没有然后了,后面就是暴跌+躺平。
 “冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
 “冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
网上还有其他关于这位冠军的黑料,我这里就不再复制粘贴了。
基金经理本身的工作就是靠投资吃饭,如果投资不行,反而要去做内幕交易,去靠打赏爆料赚钱,也就没必要为这种“冠军”大跌眼镜,也不值得。
 “冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
现在无论是公募还是私募,头部机构的集中度已经越来越高,管理上百亿资金的明星基金经理也越来越多,股票型基金管理费基本都是1.5%,100亿规模每年已经可以赚1.5亿,正儿八经的投资的也不屑于做这种砸招牌的事情。
其次,这种坑怎么避开呢?只要做好一个事情就可以了:跟头部,买大牌。
二八分化,是一个市场逐步变成熟的特征,也就是大机构越来越强,小机构越来越弱,这时候就算是瞎买,你在行业前5前10名的公司里挑基金,也不会差到哪里去,但如果在倒数前5里面挑,就很容易踩雷。
大家不妨结合自己的生活经验回忆一下,你能买到的大公司产品,往往股价也很不错。
例如白酒就是茅台、家电就是美的格力、酱油就是海天、手机就是苹果等等,虽然短期股价会有波动,但拉长时间看都是牛股。
基金和股票也一样,有些头部的基金公司不管是做股票还是做债券都很强。
例如最典型的易方达,除了大家熟悉的张坤和萧楠,其实易方达的债券基金也很强,张清华、胡剑、张雅君、林森在固收业内都是影响力很大的牛人,还有广发、交银等等,无论是做股票还是债券都很强。
股票也是同理。2016年底之后,大股票和小股票就开始分道扬镳,大股票往上越走越远,小股票往下越跳越深,这个背后就是A股越来越机构化、港美股化,以前散户的炒股模式基本就是死路一条。
“冠军”基金经理叶飞出大瓜:说好一起割韭菜,自己反被割
如果不想踩中这种坑,对普通投资者来说,就要尽量往头部机构里面挑,先求不败而后求胜。
不过,投资本质上是认知的变现,要赚别人不知道的钱。
当一个东西已经变成大家都知道的明牌,那要跑赢其他人就比较难,今年春节后的抱团股惨案也就是这个原因,大家都知道茅台是好股票然后疯狂往里面挤,结果最后造成泡沫和踩踏。
想要比别人赚更多,就需要不断学习,做更超前更深入的研究,让认知变成钱。

 

转自:https://mp.weixin.qq.com/s/4dUY_h9eED9f9GgR3jGuhA

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)


作者:大江狗

来源:Python Web与Django开发

大家好,我是猫哥。今天分享一篇文章,作者利用Django 3.0 +Redis 3.4 +Celery 4.4开发了个小应用。应用不复杂,但知识点很多,非常适合新手练手。项目需求如下:

  • 创建两个页面,一个用于创建页面,一个用于动态展示页面详情,并提供静态HMTL文件链接

  • 一个页面创建完成后,使用Celery异步执行生成静态HTML文件的任务

  • 使用redis作为Celery的Broker

  • 使用flower监控Celery异步任务执行情况

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

项目完成后演示见下面动画。本项目的GitHub源码地址在最后,请耐心阅读。

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

 

第零步:pip设置国内源

国内用户使用pip安装python包特别慢,这主要是应为国内连接国外网络不稳定。为加速python包的安装,首先将pip安装源设置为国内的镜像,比如阿里云提供的镜像。

linux系统修改 ~/.pip/pip.conf (没有就创建一个), 内容如下:

[global]index-url = https://mirrors.aliyun.com/pypi/simple/

windows系统直接在user目录中创建一个pip目录,如:C:Usersxxpip,新建文件pip.ini,内容如下:

[global]index-url = http://mirrors.aliyun.com/pypi/simple/

第一步:安装Django并创建项目myproject

使用pip命令安装Django.

 pip install django==3.0.4 # 安装Django,所用版本为3.0.4

使用django-admin startproject myproject创立一个名为myproject的项目

 django-admin startproject myproject

整个项目完整目录机构如下所示, 项目名为myproject, staticpage为app名。

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

第二步:安装redis和项目依赖的第三方包

项目中我们需要使用redis做Celery的中间人(Broker), 所以需要先安装redis数据库。redis网上教程很多,这里就简要带过了。

  • Windows下载地址:https://github.com/MSOpenTech/redis/releases

  • Linux下安装(Ubuntu系统):$ sudo apt-get install redis-server

本项目还需要安装如下依赖包,你可以使用pip命令逐一安装。

 pip install redis==3.4.1
 pip install celery==4.4.2
 pip install eventlet # celery 4.0+版本以后不支持在windows运行,还需额外安装eventlet库

你还可以myproject目录下新建requirements.txt加入所依赖的python包及版本,然后使用pip install -r requirements.txt命令安装所有依赖。本教程所使用的django, redis和celery均为最新版本。

 django==3.0.5
 redis==3.4.1
 celery==4.4.2  
 eventlet # for windows only

第三步:Celery基本配置

  1. 修改settings.py新增celery有关的配置。celery默认也是有自己的配置文件的,名为celeryconfig.py, 但由于管理多个配置文件很麻烦,我们把celery的配置参数也写在django的配置文件里。

 # 配置celery时区,默认时UTC。
 if USE_TZ:
     timezone = TIME_ZONE
 
 # celery配置redis作为broker。redis有16个数据库,编号0~15,这里使用第1个。
 broker_url = 'redis://127.0.0.1:6379/0'
 
 # 设置存储结果的后台
 result_backend = 'redis://127.0.0.1:6379/0'
 
 # 可接受的内容格式
 accept_content = ["json"]
 # 任务序列化数据格式
 task_serializer = "json"
 # 结果序列化数据格式
 result_serializer = "json"
 
 # 可选参数:给某个任务限流
 # task_annotations = {'tasks.my_task': {'rate_limit': '10/s'}}
 
 # 可选参数:给任务设置超时时间。超时立即中止worker
 # task_time_limit = 10 * 60
 
 # 可选参数:给任务设置软超时时间,超时抛出Exception
 # task_soft_time_limit = 10 * 60
 
 # 可选参数:如果使用django_celery_beat进行定时任务
 # beat_scheduler = "django_celery_beat.schedulers:DatabaseScheduler"
 
 # 更多选项见
 # https://docs.celeryproject.org/en/stable/userguide/configuration.html
  1. settings.py同级目录下新建celery.py,添加如下内容:

 # coding:utf-8
 from __future__ import absolute_import, unicode_literals
 import os
 from celery import Celery
 
 # 指定Django默认配置文件模块
 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
 
 # 为我们的项目myproject创建一个Celery实例。这里不指定broker容易出现错误。
 app = Celery('myproject', broker='redis://127.0.0.1:6379/0')
 
 # 这里指定从django的settings.py里读取celery配置
 app.config_from_object('django.conf:settings')
 
 # 自动从所有已注册的django app中加载任务
 app.autodiscover_tasks()
 
 # 用于测试的异步任务
 @app.task(bind=True)
 def debug_task(self):
     print('Request: {0!r}'.format(self.request))
 
 
  1. 打开settings.py同级目录下的__init__.py,添加如下内容, 确保项目启动时即加载Celery实例

 # coding:utf-8
 from __future__ import absolute_import, unicode_literals
 
 # 引入celery实例对象
 from .celery import app as celery_app
 __all__ = ('celery_app',)

网上很多django redis + celery的教程比较老了, 坑很多。比如新版原生的Celery已经支持Django了,不需要再借助什么django-celery和celery-with-redis这种第三方库了, 配置参数名也由大写变成了小写,无需再加CELERY前缀。另外当你通过app = Celery('myproject')创建Celery实例时如果不指定Broker,很容易出现[ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused这个错误。

第四步:启动redis,测试celery是否配置成功

在Django中编写和执行自己的异步任务前,一定要先测试redis和celery是否安装好并配置成功。

首先你要启动redis服务。windows进入redis所在目录,使用redis-server.exe启动redis。Linux下使用./redis-server redis.conf启动,也可修改redis.conf将daemonize设置为yes, 确保守护进程开启。

启动redis服务后,你要先运行python manage.py runserver命令启动Django服务器(无需创建任何app),然后再打开一个终端terminal窗口输入celery命令,启动worker。

 # Linux下测试
 Celery -A myproject worker -l info
 
 # Windows下测试
 Celery -A myproject worker -l info -P eventlet

如果你能看到[tasks]下所列异步任务清单如debug_task,以及最后一句celery@xxxx ready, 说明你的redis和celery都配置好了,可以开始正式工作了。

 
 -------------- celery@DESKTOP-H3IHAKQ v4.4.2 (cliffs)
 --- ***** -----
 -- ******* ---- Windows-10-10.0.18362-SP0 2020-04-24 22:02:38
 
 - *** --- * ---
 - ** ---------- [config]
 - ** ---------- .> app:         myproject:0x456d1f0
 - ** ---------- .> transport:   redis://127.0.0.1:6379/0
 - ** ---------- .> results:     redis://localhost:6379/0
 - *** --- * --- .> concurrency: 4 (eventlet)
   -- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
   --- ***** -----
    -------------- [queues]
                .> celery           exchange=celery(direct) key=celery
 
 
 [tasks]
  . myproject.celery.debug_task
 
 [2020-04-24 22:02:38,484: INFO/MainProcess] Connected to redis://127.0.0.1:6379/0
 [2020-04-24 22:02:38,500: INFO/MainProcess] mingle: searching for neighbors
 [2020-04-24 22:02:39,544: INFO/MainProcess] mingle: all alone
 [2020-04-24 22:02:39,572: INFO/MainProcess] pidbox: Connected to redis://127.0.0.1:6379/0.
 [2020-04-24 22:02:39,578: WARNING/MainProcess] c:usersmissenkapycharmprojectsdjango-static-html-generatorvenvlibsite-packagesceleryfixupsdjango.py:203: UserWarning: Using sett
 ings.DEBUG leads to a memory
            leak, never use this setting in production environments!
  leak, never use this setting in production environments!''')
 [2020-04-24 22:02:39,579: INFO/MainProcess] celery@DESKTOP-H3IHAKQ ready.

第五步:Django中创建新应用staticpage

cd进入myproject文件夹,使用python manage.py startapp staticpage创建一个名为staticpage的app。我们将创建一个简单的Page模型,并编写两个视图(对应两个URLs),一个用于添加页面,一个用于展示页面详情。staticpage目录下我们将要编辑或创建5个.py文件,分别是models.py, urls.py, views.py, forms.py和tasks.py,其中前4个都是标准的Django项目文件,内容如下所示。最后一个tasks.py用于存放我们自己编写的异步任务,稍后我会详细讲解。

 # staticpage/models.py
 from django.db import models
 import os
 from django.conf import settings
 
 class Page(models.Model):
     title = models.CharField(max_length=100, verbose_name="标题")
     body = models.TextField(verbose_name="正文")
 
     def __int__(self):
         return self.title
 
     # 静态文件URL地址,比如/media/html/page_8.html
     def get_static_page_url(self):
         return os.path.join(settings.MEDIA_URL, 'html', 'page_{}.html'.format(self.id))
 
 # staticpage/urls.py
 from django.urls import path, re_path
 from . import views
 
 
 urlpatterns = [
 
     # Create a page 创建页面
     path('', views.page_create, name='page_create'),
 
     # Page detail 展示页面详情。动态URL地址为/page/8/
     re_path(r'^page/(?P<pk>d+)/

page_create视图函数中你可以看到我们在一个page实例存到数据库后调用了generate_static_page函数在后台完成静态HTML页面的生成。如果我们不使用异步的化,我们要等静态HTML文件完全生成后才能跳转到页面详情页面, 这有可能要等好几秒。generate_static_page就是我们自定义的异步任务,代码如下所示。Celery可以自动发现每个Django app下的异步任务,不用担心。

 # staticpage/tasks.py
 
 import os, time
 from django.template.loader import render_to_string
 from django.conf import settings
 from celery import shared_task
 
 @shared_task
 def generate_static_page(page_id, page_title, page_body):
     # 模拟耗时任务,比如写入文件或发送邮件等操作。
     time.sleep(5)
 
     # 获取传递的参数
     page = {'title': page_title, 'body': page_body}
     context = {'page': page, }
 
     # 渲染模板,生成字符串
     content = render_to_string('staticpage/template.html', context)
 
     # 定义生成静态文件所属目录,位于media文件夹下名为html的子文件夹里。如目录不存在,则创建。
     directory = os.path.join(settings.MEDIA_ROOT, "html")
     if not os.path.exists(directory):
         os.makedirs(directory)
 
     # 拼接目标写入文件地址
     static_html_path = os.path.join(directory, 'page_{}.html'.format(page_id))
 
     # 将渲染过的字符串写入目标文件
     with open(static_html_path, 'w', encoding="utf-8") as f:
             f.write(content)
 

本例中我们生成的静态HTML文件位于media文件夹下的html子文件夹里,这样做有两个好处:

  • 与Django的静态文件存储规范保持一致:用户产生的静态文件都放在media文件下,网站本身所依赖的静态文件都放于static文件夹下。

  • 把所有产生的静态文件放在一个目录里与动态文件相分开,利于后续通过nginx部署。

本项目中还用到了3个模板,分别是base.html, detail.html和template.html。base.html和detail.html是没有任何样式的, 仅用于动态显示内容,template.html是用来生成静态文件的模板,是带样式的,这样你就可以很快区分动态页面和静态页面。由于我们后台生成静态文件至少需要5秒钟,我们在detail.html用了点javascript实现等5秒倒计时完成后显示生成的静态HTML文件地址。

3个模板均位于staticpage/templates/staticpage/文件夹下,代码如下所示:

 # base.html
 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>添加页面</title>
 </head>
 <body>
      <h2>添加页面</h2>
      <form name="myform"  method="POST" action=".">
          {% csrf_token %}
        {{ form.as_p }}
          <button type="submit">Submit</button>
      </form>
 </body>
 </html>
 
 # detail.html
 <!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>{{ page.title }}</title>
 </head>
 <body>
      <h2>{{ page.title }}</h2>
      <p>{{ page.body }}</p>
 
      <p>倒计时: <span id="Time">5</span></p>
      <p id="static_url" style="display:none;"> <small><a href='{{ page.get_static_page_url }}'>跳转到静态文件</a></small></p>
 
 
 <script>
  //使用匿名函数方法
  function countDown(){
  var time = document.getElementById("Time");
  var p = document.getElementById("static_url");
  //获取到id为time标签中的内容,现进行判断
  if(time.innerHTML == 0){
  //等于0时, 显示静态HTML文件URL
  p.style.display = "block";
  }else{
  time.innerHTML = time.innerHTML-1;
  }
  }
  //1000毫秒调用一次
  window.setInterval("countDown()",1000);
  </script>
 
 </body>
 </html>
 
 # template.html 生成静态文件模板
 {% load static %}
 <html lang="en">
 <head>
 <title>{% block title %}Django文档管理{% endblock %} </title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
 </head>
 
 <body>
 <nav class="navbar navbar-inverse navbar-static-top bs-docs-nav">
 
   <div class="container">
     <div class="navbar-header">
         <button type="button" class="navbar-toggle" >
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>                        
       </button>
         <a class="navbar-brand" href="#"><strong>Django + Celery + Redis异步生成静态文件</strong></a>
      </div>
 
       <div class="collapse navbar-collapse" id="myNavbar">
        <ul class="nav navbar-nav navbar-right">
  {% if request.user.is_authenticated %}
 
           <li class="dropdown">
               <a class="dropdown-toggle btn-green" href="#"><span class="glyphicon glyphicon-user"></span> {{ request.user.username }} <span class="caret"></span></a>
             <ul class="dropdown-menu">
               <li><a  href="#">My Account</a></li>
               <li><a  href="#">Logout</a></li>
             </ul>
           </li>  
          {% else %}  
             <li class="dropdown"><a class="dropdown-toggle btn-green" href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
 <li class="dropdown"><a class="dropdown-toggle" href="#" ><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
  {% endif %}
        </ul>
 
     </div>
 
   </div>
 </nav>    
 
  <!-- Page content of course! -->
 <main id="section1" class="container-fluid">
 
 <div class="container">
     <div class="row">
      <div class="col-sm-3 col-hide">
          <ul>
              <li> <a href="{% url 'page_create' %}">添加页面</a> </li>
          </ul>
      </div>
 
      <div class="col-sm-9">
           <h3>{{ page.title }}</h3>
          {{ page.body }}
      </div>
 </div>
 
 </div>
 </main>

 <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 
 </body>
 </html>

第六步:在Django中注册app并添加app的URLConf

 # 修改myproject/settings.py,添加如下内容
 INSTALLED_APPS = [
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'staticpage',
 ]
 
 # 设置STATIC_URL和STATIC_ROOT
 STATIC_URL = '/static/'
 STATIC_ROOT = os.path.join(BASE_DIR, 'static')
 
 # 设置MEDIA_ROOT和MEDIA_URL
 MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
 MEDIA_URL = '/media/'
 
 # 修改myproject/urls.py,添加如下内容
 from django.contrib import admin
 from django.urls import path, include
 
 from django.conf import settings
 from django.conf.urls.static import static
 
 
 urlpatterns = [
     path('admin/', admin.site.urls),
     path('', include("staticpage.urls")),
 ]
 
 # Django自带服务器默认不支持静态文件,需加入这两行。
 if settings.DEBUG:
     urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
     urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

第七步:启动Django服务器和并安装Celery异步任务监控工具

如果一切顺利,连续使用如下命令, 即可启动Django测试服务器。打开http://127.0.0.1:8000/即可看到我们项目开头的动画啦。注意:请确保redis和celery已同时开启。

 python manage.py makemigrations
 python manage.py migrate
 python manage.py runserver

如果你要监控异步任务的运行状态(比如是否成功,是否有返回结果), 还可以安装flower这个Celery监控工具。

 pip install flower

安装好后,你有如下两种方式启动服务器。启动服务器后,打开http://localhost:5555即可查看监控情况。

 # 从terminal终端启动, proj为项目名
 $ flower -A proj --port=5555  
 # 从celery启动
 $ celery flower -A proj --address=127.0.0.1 --port=5555

 

监控异步任务还是很重要的,强烈建议安装flower。比如下图中有些任务就失败了。

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

源码地址

https://github.com/shiyunbo/django-static-page-generator-celery-redis

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

送书活动

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

 

本书共13章,主要内容涵盖Python语法及数据分析方法。章主要介绍数据分析的概念,使读者有一个大致的印象,并简单介绍本书频繁使用的Python的5个第三方库。第2章主要做一些准备工作,手把手带读者搭建Python环境,包括Python 3.7.6的安装和pip的安装。第3章介绍Python编程基础。第4章到第7章介绍使用Python进行简单数据分析的基础库,包括NumPy、Pandas和Matplotlib库,并介绍使用正则表达式处理数据的方法。第8章到3章属于进阶内容,但也是Python数据分析的基础,结合机器学习介绍一些常见的用于数据分析的机器学习算法及常用的数学模型。

赠书规则

赠书本数本次共包邮送书 

参与方式:在Python猫读者群抽奖,仅限群友参与。后台发“交流群”,获取入群方式。
开奖时间:2021年5月20日18:00

 

 

, views.page_detail, name=’page_detail’),
 
    ]
 
 # staticpage/views.py
 from django.shortcuts import render, redirect, get_object_or_404
 from django.urls import reverse
 from .forms import PageForm
 from .models import Page
 from .tasks import generate_static_page
 
 def page_create(request):
     if request.method == ‘POST’:
         form = PageForm(request.POST)
         if form.is_valid():
             page = form.save()
             generate_static_page.delay(page.id, page.title, page.body)
             return redirect(reverse(‘page_detail’, args=[str(page.pk)]))
     else:
         form = PageForm()
 
     return render(request, ‘staticpage/base.html’, {‘form’: form})
 
 
 def page_detail(request, pk):
     page = get_object_or_404(Page, id=pk)
     return render(request, ‘staticpage/detail.html’, {‘page’: page})
 
 # staticpage/forms.py
 from django import forms
 from .models import Page
 
 
 class PageForm(forms.ModelForm):
     class Meta:
         model = Page
         exclude = ()

page_create视图函数中你可以看到我们在一个page实例存到数据库后调用了generate_static_page函数在后台完成静态HTML页面的生成。如果我们不使用异步的化,我们要等静态HTML文件完全生成后才能跳转到页面详情页面, 这有可能要等好几秒。generate_static_page就是我们自定义的异步任务,代码如下所示。Celery可以自动发现每个Django app下的异步任务,不用担心。

 

本例中我们生成的静态HTML文件位于media文件夹下的html子文件夹里,这样做有两个好处:

  • 与Django的静态文件存储规范保持一致:用户产生的静态文件都放在media文件下,网站本身所依赖的静态文件都放于static文件夹下。

  • 把所有产生的静态文件放在一个目录里与动态文件相分开,利于后续通过nginx部署。

本项目中还用到了3个模板,分别是base.html, detail.html和template.html。base.html和detail.html是没有任何样式的, 仅用于动态显示内容,template.html是用来生成静态文件的模板,是带样式的,这样你就可以很快区分动态页面和静态页面。由于我们后台生成静态文件至少需要5秒钟,我们在detail.html用了点javascript实现等5秒倒计时完成后显示生成的静态HTML文件地址。

3个模板均位于staticpage/templates/staticpage/文件夹下,代码如下所示:

 

第六步:在Django中注册app并添加app的URLConf

 

第七步:启动Django服务器和并安装Celery异步任务监控工具

如果一切顺利,连续使用如下命令, 即可启动Django测试服务器。打开http://127.0.0.1:8000/即可看到我们项目开头的动画啦。注意:请确保redis和celery已同时开启。

 

如果你要监控异步任务的运行状态(比如是否成功,是否有返回结果), 还可以安装flower这个Celery监控工具。

 

安装好后,你有如下两种方式启动服务器。启动服务器后,打开http://localhost:5555即可查看监控情况。

 

 

监控异步任务还是很重要的,强烈建议安装flower。比如下图中有些任务就失败了。

Django 3.0+Redis 3.4+Celery 4.4 应用开发(附源码)

源码地址

https://github.com/shiyunbo/django-static-page-generator-celery-redis

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

当下与未来,两个最大的基本面

编者按:本文根据格隆博士近日在某一线城市企业家协会年会上的演讲录音整理而成,未经本人校对。刊飨于此,以供争鸣。

 

 

1

 

 

大家好,我是格隆。我已经很少出来讲座了,一是无需讲。在发生什么,摆在那,一点也不复杂。二是无须讲。懂的人自然知道该做什么,不懂的人讲再多也没用,徒然扰人清梦。

 

但岭南是我第二故乡,你们秘书长说在座有300多位企业家,几乎囊括和代表了这块土地上最核心的经济实力,所以我是抱着自家人唠嗑的心态过来的。如果唠完,都能有所收获,皆大欢喜。唠完了,一无所获,也不必怨艾,当我没来过,大家相忘江湖,快马加鞭,各奔前程好了。

 

今天我们脚下的这块热土,是中国GDP最高的省份,也是中国第一个GDP跨越11万亿门槛的省份,也是中国人口最多的省份。

 

最新七普数据,人口仍在源源不断涌入。过去十年,广东人口净新增超过2169万人,这个数字,是净新增排名第二、第三、第四的浙江、江苏、山东三省的总和。

 

当下与未来,两个最大的基本面

 

此心安处是吾乡。人们自己知道该去往哪里。

 

但事实上,在中国有文字记载的3600年历史上,岭南绝大多数时候都只是一个“衡阳雁去无留意”的烟瘴蛮荒之地,只是因为官员贬谪才偶尔见诸于史籍。如果没有魏晋时期汉民族那段充满血泪、堪称史诗级的大逃亡大迁徙,有无今日岭南之繁盛,殊未可知。

 

汉民族在历史上有过多次危急时刻,但最接近亡种的时候,就是魏晋南北朝时期。魏晋南北朝上承秦汉大帝国的消亡,下启隋唐盛世的兴起,长达360余年的时间,汉人如鼠豚一样被肆意驱赶、屠戮,永嘉之乱后北方两大中心洛阳与长安被几度屠城,几乎被夷为平地,华北地区人口在永嘉之乱后八年之内消失90%。所谓千里累白骨,万里无鸡鸣,十室九空如是。

 

那是一段民族大崩溃、大迁徙、大分化、大动荡、大融合的历史。贫穷,战争、屠戮、饥荒、瘟疫,几乎所有贬义词都可以用来形容它。富者良田千陌,贫者无立锥之地。一个在云端享受着神一般的生活,放荡自由,一个在地狱承受着万蛊吞噬,生不如死。一段既糟糕又华丽,冰与火共舞,黑暗与光明并存的时代。

 

同于政治黑暗,时事动荡,不同于经济凋敝,民不聊生。魏晋思想、文学、诗人,都堪称中国历史最优之一。竹林七子自不必说,那个时代的女诗人也一个个才华横溢,蔡琰、苏若兰、左芬、谢道韫、鲍令辉、韩兰英…,是中国历史上少有的一笔恢弘亮色。其中的佼佼者谢道韫,聪慧过人,因实在接受不了夫婿王凝之(王羲之次子,善草书,先后任江州刺史、左将军)的“平庸”,在回家省亲时闷闷不乐,谢安问何故?谢道韫是这样回答的:“一门叔父,有阿大(谢尚)、中郎(谢据)。群从兄弟复有“封、胡、羯、末”,不意天壤之中,乃有王郎!”

 

“不意天壤之中,乃有王郎”——恃才放旷,溢于言表,以致一千多年后,同病相怜的秋瑾还在赋诗为她抱不平:可怜谢道韫,不嫁鲍参军。

 

但就是这样一个才高八斗的才女,在晋末孙恩之乱时,夫婿王凝之为会稽内史,守备不利被杀。谢道韫听闻敌至,举措自若,拿刀出门,杀敌数人才就虏。匪首孙恩感其节义,赦免谢道韫及族人。王凝之死后,谢道韫在会稽独居,终身未改嫁。

 

苦难中浸淫出来的人和事,出乎意料地比同时代的其他东西优秀得多。有晋一朝,有大批能力有志向改变时局的人,他们在苦难中挣扎救世,不屑入世的人,则依旧保持自己的高傲风骨,出淤泥而不染。

 

魏晋不只有暴乱、动荡、战争、死亡,还有累累白骨砌成的魏晋风骨。

 

任何一个民族在发展过程中,均不可能一帆风顺。总会遇到各种天然的灾难和人为的灾难。当灾难降临之时,民族是否具有自我修复能力,是一个民族是否可以延续民族生存及民族发展的根本标志。

 

修复靠什么?

 

骨子里的气节与底线,是谓风骨。

 

 

2

 

 

我们回到经济。

 

当下做生意也好,做投资也罢,你要考虑的最大国情是什么?

 

我直接说答案:两个。

 

一个是通胀,一个是人口。前者决定了未来3年我们环境的氧含量,后者则决定未来30年,乃至几代人能拥有什么样的生活。

 

先说通胀。

 

4月信贷和社融数据出来后,很多人问我:说好的货币政策不急转弯的呢?这不是不急转弯,是哐当一家伙直接砸地上啊:

 

当下与未来,两个最大的基本面

 

我回答:再不收,通胀会比瘟疫还不可控。

 

听者不以为然,说我们哪来的通胀?CPI温和得像只小绵羊:

 

当下与未来,两个最大的基本面

 

怎么说呢?得感谢二师兄的鼎力支持。但千万不要被他的障眼法骗了。很多人都被货币银行学的入门教材带偏了,以为天经地义且只应该用CPI度量通胀。

 

不是的。理论学者习惯于用CPI研究通胀,但没有一个央行行长会盯着CPI制定货币政策。他们盯的是PPI。CPI是结果。如果等CPI起来了才采取动作,黄花菜都凉了。

 

基本的经济学逻辑是:人类经济活动,生产在消费之前。对任何一个经济或者货币周期而言,PPI肯定比CPI先行,且除非经济体有巨大脑血栓或者肠梗阻,否则,PPI一定传导到CPI。

 

那么,PPI什么表现?

 

当下与未来,两个最大的基本面

 

CPI与PPI之间,高达600个点的巨大缺口。

 

6.8%的PPI意味着什么呢?

 

知名学者CCER助教采用了几个不同计算。

 

最简单的入门级处理,本月PPI环比0.9%,折一下年率,大概PPI能到11.4%。

 

有没有更精细一点的做法呢?

 

有的,环比毕竟波动大,如果一个月波动很大,再折年其实并不太妥,我们用相对平均(3个月或者6个月)的数据去年化。结果是,过去3个月,PPI累计增长了3.3%,那么折年大概在14%左右。过去6个月,PPI累计增长了6%,折年率在12% 左右。

 

更进一步,就有点工作量了,就是计算每月的新涨价,做一个定基数,把前一年的12月作为100,然后累计上去。结果是什么呢?

 

当下与未来,两个最大的基本面

 

很明显,今年1-5月的上涨速度极其惊人。我们的历史上还从来没有一个高通胀年份有过这么快的PPI上涨。上面这个图告诉我们,即使到今天为止,后面7个多月,所有价格都不再上涨,今年的PPI涨幅也超过历史上任何一年。

 

稍微来点计量软件,通过季节调整,再做个3个月折年率,那么最近3个月的PPI实际达到了20%:

 

当下与未来,两个最大的基本面

 

这个速度,是1995年以来的最高,我们正在经历26年以来最快的通胀。CCER助教预测5月PPI应该加快到9%附近,如果没有任何措施,年底可以到15%甚至以上。

 

其实根本不用这么严谨和复杂的理论研究,随便看看那些看得见的商品走势,就知道我们正在经历什么:

 

当下与未来,两个最大的基本面

 

沪铝13年新高,沪铜15年新高,铁矿石历史新高。过去7个月,螺纹钢涨79%,动力煤涨73%,玻璃涨84%。

 

过剩得不能再过剩,夕阳得不能再夕阳的钢铁这么涨,是对产业进化发展规律的羞辱。不出意外,上游企业的狂欢,很快将转化为下游企业的停产潮,甚至破产潮。

 

没有几家下游企业扛得住。

 

接着会轮到CPI。

 

很快你会发现,你会吃不起一串羊肉串。

 

不是羊肉涨价。

 

羊肉可以免费奉送。是串肉的铁签子和烤碳太贵了。

 

再重复一遍结论:

1、我们正在经历过去26年来最快的通胀;

2、加息在路上,不以人的意志为转移,无论美国,还是中国;

3、过去这些年,全球央行联合放水打造的资产泡沫浴,或要收场;

4、保护好你的财富,向硬资产、硬通货靠。

 

 

3

 

 

再来谈谈人口。

 

七普数据,很多人说数据有问题,问我怎么看?

 

确实有些数据无法自洽。

 

但统计学的意义在于提供模糊的正确。如果挑统计局的刺,意味着完全放弃统计局的庞大数据,这于投资而言,肯定是极不划算的。

 

至于数据本身,怎么说呢,除了答记者问时口头公布的生育率、人口性别比例有所改善外,官方正式公布的七普数据,几乎无一例外都在指向一个严峻的事实:中国正在发生剧烈的人口变动,这必将影响中国未来几十年的经济、社会和地缘政治前景。

 

人口形势的严峻表现在:

1、越来越少子化(0—14岁人口);

2、劳动适龄人口(15—59岁人口)加速减少;

3、老龄化迅速加深(60岁以上人口);

4、家庭规模加速萎缩。

 

具体数据我不列举了,有兴趣的朋友可以去找找我前期的另一篇演讲稿《中国的近忧与远虑》,那里都有。

 

其实多数人都已注意到了人口的前面三个问题,我重点讨论第四个。

 

极少有人理解家庭规模的迅速萎缩,会对中国社会与经济产生多么重大的冲击和深远的影响。

 

给大家看一张图:

 

当下与未来,两个最大的基本面

 

从上图可以很清晰看出,改开以来40年(1979—2019)中国的经济繁荣,与大家庭关系网壮大的趋势不谋而合。

 

这个并不意外。

 

在过去40年,数量庞大的处于劳动年龄的亲兄弟姐妹、表堂兄弟姐妹和叔伯姨妈,为彼此提供打工、创业的途径,同时有效庇护家族成员平稳度过发展期中的大多数惊涛骇浪,同时承担中国脆弱的社会保障体系外最关键的养老、育儿角色。

 

从我们有文字记载的历史算起,由各种非正式社会关系(主要就是家庭与血缘)组成的人脉网络就是我们经济最大的润滑剂与微观扩张基础。它帮助人与人之间产生必要的信任与互助,通过减小不确定性和简化交易过程来平滑和降低交易成本,帮助那些最能干和谦逊的人做成生意。

 

人类之所以群居,是因为群体以自身的粘性与能力加持能最大程度消除不确定性。儒家的宗法社会,礼乐,就是其规则与粘性之一。孔子说慎终怀远,民德归厚,孟子说乡人守望相助,疾病相扶持,都是在小群体为了存续而必须坚守的规范与道德。人在小群体中有相互有预期,因此才能够为小群体做出牺牲,为他人做出牺牲——自己为宗族而死,妻子孩子都不用操心,大家都会管。华夏文明未灭,跟这种宗族、宗法制度关系很大,哪怕在汉民族最悲戚的魏晋五胡乱华时代,北方豪族结堡自守,子弟兵战斗力爆表,也能护佑宗族和一方平安。

 

可以这么说,再怎么强调大家庭在中国过去40年经济奇迹中的作用,都不为过。没有了大家庭的隐性支撑与润滑,中国想象过去40年那样获得那么庞大和廉价数量的劳动力,几乎不可能。

 

但这个独立于政府体系外的家族互助网络,在被迅速打散和塌陷。

 

最新数据显示,中国家庭户均规模4.8已降到2.62:

 

当下与未来,两个最大的基本面

 

中国30-39岁人群拥有的堂表亲数量,则已从最高峰的57.29回落到51.38。

 

回到前面那张表亲数量图。如果我们假设未来中国生育率稳定在1.2(2020年是1.3,考虑到这几年巨大的二孩堆积效应,1.2的假设是理性且合理的),出生性别比例从118一路下降到2040年的107,人均寿命按73.5岁,则中国30-39岁人群拥有的堂表亲数量,30年后会一路崩落到仅仅7个左右的水平:

 

当下与未来,两个最大的基本面

 

到2050年,中国30岁以下年轻人拥有的表唐兄弟姐妹数量将只有现在年轻的五分之一,几乎六分之一的儿童就根本没有表唐兄妹,且60岁以上的老人中大约一半的人将只有一个在世子女。在中国的下一代人中,将会有相当数量的人,在从学校到工作到退休的一生中,根本就不会经历中国传统文化中不可或缺的大家庭。他们这一代人将是实际见证2500年儒家大家庭传统日渐式微的一代人。

 

这意味着大家庭从基础开始塌陷,中国传统的家族、宗族、亲属关系的大幅萎缩——这将极大增加个人闯荡社会的风险与成本,背负沉重的经济负担,使其无力迁徙与冒险创业。

 

而未来血亲数量的大幅下降,极大概率会严重削弱我们的经济增长潜能。随着家庭成员的减少,人们承担风险的能力与意愿都会大幅下降。人们会逃避创业,并减少和阻滞人口流动与阶层变动——推动中国城市化与经济增长的流动人口往往要依赖可靠的人脉去寻找工作和住所,如果在城里没有堂表亲提供住所,在农村没有亲(老)人帮忙照顾小孩,过去多年驱动城市化的引擎还能不能有效,大概率存疑。

 

再过一代人的时间,中国大概率会比现在更加富有。但老年人的迅速增长以及家庭的加速萎缩,会迫使我们在未来几十年把自己转变成一个庞大的社会福利国家——这意味着,我们能动用发展经济的资源会变少,而我们变富的速度也会越来越慢。

 

全社会上下,未来核心要做的唯二的两件事,一是鼓励生育,二,还是鼓励生育。

 

少弄那些没意义的抵制、争执、争吵,有用吗?有劲吗?

 

在座的诸位是幸运的,你们事实上享受了中国五千年历史上前无古人,大概率也后无来者的最大一波人口红利。你们赚到了钱,也是开始该反哺社会的时候。

 

未来诸位的钱,要么不投,要投,就请尽量投向能帮助、促进、润滑、刺激生育和人口增长的领域,坚决回避那些会增加生育焦虑、增加生养成本的领域。

 

当下与未来,两个最大的基本面

 

刚才课下讨论,还有人在问我能不能投K12教育?

 

你说能不能投?政府不找你,天下父母也联手会灭了你——躺平,根本不给你生,看你到哪找娃上补习班?

 

 

4

尾声

 

 

时间差不多了。我最后讲点题外话。

 

无论投资,还是做生意,赚快钱的时候肯定过去了。环球的含氧量都在变低。但这并不意味着我们不能做些力所能及的事,去让族群更强大,让生意更持久。

 

要求并不高,保持你的智慧,保持你的独立思考。

 

我很喜欢下面这段话,睿智而深刻,送给大家:

 

“当接触到挑战自己认知甚至颠覆三观的新观点和新事物时,首先不要急于否定,而是问问自己,你所知道的是不是大多数地球人都知道的?既然你和大多数人地球人获取信息的能力以及渠道没什么差别,你又是哪里来的自信去反驳平庸的你所不认可的东西呢?”

 

“就因为人多?在股市里,散户也人多,但他们总是输!”

 

从制度经济学角度,一个社会最可怕的长远危机是什么?

 

不是人口,不是科技。这些都只是后置结果,而非前置变量。

 

是人群的盲从。

 

所有社会个体如同工厂模块浇铸出来的机器,没有学习,没有思考,没有质疑。有的,只是服从与执行。同时这些机器会自觉集体攻击、扼杀任何独立思考与质疑。

 

这会把一个社会的创造力侵蚀消弭殆尽,并令整个社会丧失纠错能力,以致各种吃过的苦、受过的罪,会一茬一茬,一遍又一遍地轮回。

 

盲从,是一个群体最大的恶与堕落,也是他们自己能给到自己的最大的伤害。

 

当下与未来,两个最大的基本面

 

转自:https://mp.weixin.qq.com/s/CFnE-B5r1AKKPwaKkd0rvg