Quantcast
Channel: 懒得折腾
Viewing all 764 articles
Browse latest View live

Angular Top 10 Articles for the Past Month (v.Oct 2018)

$
0
0

Angular Top 10 Articles for the Past Month (v.Oct 2018)

For the past month, we ranked nearly 800 Angular articles to pick the Top 10 stories that can help advance your career (1.25% chance).

Tweet of the month
  • Topics in this list: Best practices, RxJS Operators, Interview Questions, PWA, Promises with RxJS, TypeScript Wizard, Angular and React, Refactoring
  • “Watch” Angular Monthly Top 10 on Github and get email once a month.

As an article ranking service for professionals, we take quality very seriously and make sure each article you read is great. Mybridge AI considers the total number of shares, minutes read, and uses our machine learning algorithm to rank articles. This is a competitive list and you’ll find the experience and techniques shared by the Angular leaders useful.

Course of the month:

A) Beginners: Angular (Full App) with Angular Material, Angularfire & NgRx. [1,962 recommends, 4.7/5 stars]

B) Build an app with ASPNET Core and Angular from scratch. [2,651 recommends, 4.6/5 stars]

Rank 1

Best practices for a clean and performant Angular application. Courtesy of Vamsi Vempati


Rank 2

RxJS Operators for Dummies: forkJoin, zip, combineLatest, withLatestFrom. Courtesy of Jecelyn Yeen


Rank 3

22 Expert Angular Interview Questions and Answers in 2018. Courtesy of Alex Ershov


Rank 4

Building A PWA Using Angular 6. Courtesy of Ahmed Bouchefra


Rank 5

My Journey replacing Promises with RxJS. Courtesy of Juri Strumpflohner


Rank 6

Generics and Augmentation will Make You a TypeScript Wizard. Courtesy of Idan Dardikman


Rank 7

A comparison between Angular and React and their core languages. Courtesy of Dler Ari


Rank 8

Refactoring Angular Apps — How To Keep Angular Apps Clean. Courtesy of Christian Lüdemann


Rank 9

The Ultimate Answer To The Very Common Angular Question: subscribe() vs | async Pipe. Courtesy of Tomas Trajan


Rank 10

The Good and the Bad of Angular Development. Courtesy of AltexSoft Inc

That’s it for Angular Monthly Top 10. Visit our publication to find top posts for more programming skills.


Swift Top 10 Articles for the Past Month (v.Oct 2018)

$
0
0

Swift Top 10 Articles for the Past Month (v.Oct 2018)

For the past month, we ranked nearly 900 Swift articles to pick the Top 10 stories that can help advance your career (0.9% chance).

Tweet of the month
  • Topics in this list: Mirror Works, ARKit 2, Messaging App, Notifications, Images Size, Enigma Machine, Marzipan, Designing Augmented, Application Security, Text Kit
  • “Watch” Swift Monthly Top 10 on Github and get email once a month.

As an article ranking service for professionals, we take quality very seriously and make sure each article you read is great. Mybridge AI considers the total number of shares, minutes read, and uses our machine learning algorithm to rank articles. This is a competitive list and you’ll find the experience and techniques shared by the Swift leaders useful.

Course of the month:

A) Beginners: iOS 12 & Swift — The Complete iOS App Development Bootcamp. [2,956 recommends, 4.8/5 stars]

B) iOS 12 & Swift 4: From Beginner to Paid Professional. [225 recommends, 4.6/5 stars]

Rank 1

How MirrorWorks in Swift. Courtesy of Mike Ash


Rank 2

Building a Museum App with ARKit 2. Courtesy of Michael Katz


Rank 3

iOS Chat Tutorial: Building A Realtime Messaging App. Courtesy of Marin Bencevic


Rank 4

Designing notifications for apps. Courtesy of Shashank Sahay


Rank 5

Prefetching images size without downloading them entirely (in Swift). Courtesy of Daniele Margutti


Rank 6

Building the Enigma Machine in Swift. Courtesy of Dejan Agostini


Rank 7

Marzipan: Porting iOS Apps to the Mac. Courtesy of Peter Steinberger


Rank 8

What I Learned Making 5 ARKit Prototypes. Courtesy of Nathan Gitter


Rank 9

Application Security Musts for every iOS App. Courtesy of Arlind Aliu


Rank 10

Text Kit Tutorial: Getting Started. Courtesy of Bill Morefield

That’s it for Swift Monthly Top 10. Visit our publication to find top posts for more programming skills.

Swift Open Source of the Month (v.Sep 2018)

$
0
0

Swift Open Source of the Month (v.Sep 2018)

For the past month, we ranked nearly 200 Swift Open Source Projects to pick the Top 10.

We compared projects with new or major release during this period. Mybridge AI ranks projects based on a variety of factors to measure its quality for professionals.

  • Average number of Github stars in this edition: 535 ⭐
  • “Watch” Swift Top 10 Open Source on Github and get email once a month.
  • Topics: Time diffs, Syntax Highlighter, Head Tracking, NSFW, iOS Depth, Learn Swift, Universal Links, Stateful, UIStackView, SwiftPM package

Open source projects can be useful for programmers. Hope you find an interesting project that inspires you.

Course of the month:

A) Beginners: iOS 11 and Swift 4 for Beginners: 200+ Hands-On Tutorials.[1,285 recommends, 4.6/5 stars]

B) Intermediate iOS 11 — Complex and Advanced iPhone Apps. [1,008 recommends, 4.7/5 stars]

Rank 1

Swiff: Human readable time diffs on lines of output when running e.g. build commands like fastlane [763 stars on Github]. Courtesy of agens


Rank 2

Splash: A fast, lightweight and flexible Swift syntax highlighter for blogs, tools and fun! [744 stars on Github]. Courtesy of John Sundell


Rank 3

HeadGazeLib: A library to empower iOS app control through head gaze without a finger touch [486 stars on Github]. Courtesy of eBay


Rank 4

NSFW Detector: A CoreML Model to scan images for nudity [857 stars on Github]. Courtesy of LOVOO


Rank 5

IOS-Depth-Sampler: Code examples for Depth APIs in iOS [259 stars on Github]. Courtesy of Tsutsumi Shuichi


Rank 6

Unwrap: An app that helps you learn Swift faster. Written using Xcode 9.4 and Swift 4.1 [739 stars on Github]. Courtesy of Paul Hudson


Rank 7

Knil: Universal Links testing made easy for Swift [570 stars on Github]. Courtesy of Ethan Huang


Rank 8

StateViewController: Stateful view controller containment for iOS [264 stars on Github]. Courtesy of Formbound


Rank 9

ScrollingStackViewController: A view controller that uses root views of child view controllers as views in a UIStackView. [493 stars on Github]. Courtesy of JUST EAT


Rank 10

Swift-syntax: SwiftPM package for SwiftSyntax library. [519 stars on Github]. Courtesy of Apple


That’s it for Swift Top 10 Open Source of the Month. Visit our publication to find top posts for more programming skills.

2018:金融危机十周年祭

$
0
0

2018:金融危机十周年祭

许小年:鉴于资产负债表的重要性,中央银行对货币政策应慎之又慎,特别要注意避免货币和信贷超发,防止将货币政策当作调节经济方向盘。
收藏

十年前,一个只有6千多亿美元资产的投资银行倒闭,竟然触发一场前所未有的金融危机,几乎摧毁了总资产2千多万亿美元的美国金融体系。从各国政要、华尔街老手,到经济学家和白领中产,无不目瞪口呆,人们不约而同地惊呼,这究竟是怎么回事?!

一、祸从天降

掌握着货币供应的美联储是金融市场的天,滔天的祸水正是来自美联储。

危机的源头要追溯到2000年,那年美国的科技泡沫破灭,紧接着于次年发生了911恐怖袭击事件。担心美国经济因此而陷入衰退,美联储紧急减息,将利率降到了前所未有的低水平(图一),并一直保持到2005年。当人们盛赞格林斯潘为有史以来最伟大的中央银行家时,祸根已悄然种下。

图一、美联储基准利率

2001年至2005年低利率环境中形成了美国战后最大的房地产泡沫,2005开始的急促加息刺破泡沫,引发金融海啸。

美联储向市场注入的大量流动性并未进入实体经济,和我们今天在中国看到的一样,资金避实就虚,涌进了资产市场。由于股市刚刚遭受科技股暴跌的重创,房地产就成为不二的选择。

投资者偏好房地产,因为股市低迷造成融资困难,科技创新暂时退潮,缺乏新的增长点,实体经济的投资回报不能达到预期。另一方面,房地产供应短期具有刚性,资金进入带来房价的上涨,立刻就可看到资产增值。在不断上涨的房价和低利率的诱惑下,美国家庭大借按揭,负债率直线上升(图二),按揭贷款余额对GDP的比率从2001年的60%,冲到2007年的100%以上的高峰。

资金推动房价暴涨,收入却无法跟上房价的节奏,结果房价收入比偏离了长期趋势,从2001年的3.6增加到2008年的6倍左右(图三),房地产市场上出现了明显的泡沫。过去买一套房子要用3.6年的工资收入,现在要耗费6年的收入。工薪阶层偿还按揭的负担加重,为日后的债务违约和金融危机埋下伏笔。从图三可知,房价和实体经济中的工资存在一定的关系,当收入无法支撑过高的房价时,金融危机在2008年爆发了,房价收入比应声而落,三年之后重返历史平均线。

2008年的大反转是对金融和实体长期脱节的惩罚,极具讽刺意味的是,惩罚之手和肇事之手都是同一只。

当货币发行超过实体经济中财富的创造时,通胀是必然的结果。意识到通胀抬头,美联储于2005年开始加息,动作之快,就像2001年减息一样。在不到两年的时间里,17次加息将基准利率从1%提高到5%以上,这使得美国家庭偿还按揭贷款的月供负担增加了50%到100%不等,对于几乎没有现金储蓄的美国月光族家庭来说,简直就是当头一棒,很多家庭因此宣告破产,来自实体经济的现金收入不足以支付债务还本付息的现金流出,用会计学的语言讲,加息使家庭的资产负债表问题转化为现金流量的问题。现金流枯竭之时,便是金融危机爆发之日。

家庭负债能力归根结底是由实体经济中的收入决定的,而收入又取决于效率也就是劳动生产率。美联储利用低利率诱导家庭增加负债,却不能相应提高它们的收入即偿还能力,因此增加而不是降低了金融和经济的系统性风险。

图二、欧盟和美国的负债率对比。资料来源:CEIC

低利率时期,欧盟和美国都经历了加杠杆,也都在2008年泡沫破灭后被迫去杠杆。美国去杠杆明显比欧盟快,这是美国经济复苏强劲的一个重要原因(参照图四)

图三、房价收入比,资料来源CEIC

在2001到2005的低利率时期,美国房地产出现明显的泡沫,房价收入比脱离历史平均线,持续上升到2008年。地产泡沫破灭后,这个比值随着去杠杆的进行,在两三年的时间里重回平均线。

2007年,美国家庭部门发生大面积的债务违约,作为抵押品的房屋被银行收回,银行再把这些房屋在市场上拍卖套现用于抵债,由于卖家太多,房地产价格崩盘了。房价的下跌促使银行要求债务人追加抵押品,财务原本就紧张的美国家庭捉襟见肘,更多的家庭宣告破产。在房价下跌和债务违约的恶性循环中,以按揭贷款为基础的证券(MBS,Mortgage-backed Securities)价格大跌,拖累重仓持有这些证券的金融机构例如雷曼兄弟和花旗银行,雷曼兄弟在请求政府救援被拒后倒闭,金融市场发生恐慌,恐慌情绪经由MBS和金融衍生品的交易迅速扩散到全世界。

凯恩斯主义者将危机归咎于华尔街,指责华尔街在贪婪驱使下的金融创新过度,例如次级按揭(Subprime Mortgage)、次级按揭为基础的证券化资产MBS、 CDO(Collateralized Debt Obligation)等等,经过层层包装之后,终端投资者已经看不清底层资产的风险所在,贸然购买衍生金融产品,“受骗上当”。银行则卖出打包资产回收现金,发放更多的次级按揭,如此形成恶性循环。凯恩斯主义者虽然没有放过美联储,但他们的批评集中在监管而不是银根的放松上。

创新过度和监管不力的解释听起来很有道理,却经不起仔细的推敲。为什么不早不晚,华尔街偏偏在2002年之后掀起一轮金融创新高潮?原因仍然是美联储的超低利率(图一)。数据显示,次级按揭和MBS的猛增都出现在低利率时期。受美联储基准利率的牵制,现有金融产品的收益率未能达到华尔街的预期,金融机构自然瞄上了收益和风险相对较高的次级按揭贷款,用金融工程的方法,打包按揭贷款,切块卖给投资者。在不断上涨的房价面前,投资者只顾获取这类金融产品的高收益,对于风险则视而不见。我们固然不能因此说过度金融创新完全是低利率的结果,但美联储的货币政策在相当大的程度上确实要对金融创新负责。

危机爆发后,美联储和美国财政部使出浑身解数,紧急向市场投放货币,为濒于破产的大型金融机构和大型企业注资,终使美国的金融体系免于崩溃。凯恩斯主义者这时一面欢呼美联储救市的伟大功绩;一面痛批新自由主义经济学,认为放松和解除管制造成了这场金融危机。学派和门户的偏见之深,可以置事实于不顾!

尽管美联储化解金融危机的行动有可圈可点之处,我们不会因其救火之功,而宽恕其纵火之罪。罪之大者,莫过于扭曲市场经济中的一个重要价格——资金的价格即利率。价格信号错误,资源的错配就无法避免,错配的表现形式是过度借债产生的虚假需求和不断膨胀的资产泡沫,以及与“非理性繁荣”形成鲜明对照的实体经济的停滞。

二、头疼医脚

危机过后,美国经济如预期的那样陷入深深的衰退,美联储依然祭出了凯恩斯主义的法宝,大肆放水,通过所谓数量松宽,继续向经济注入流动性。然而新增货币并未转化为拉动投资和消费需求的贷款,货币躺在商业银行的“地库”里,电子账户上记录为超额储备。商业银行的超额储备从危机前2007年的3千亿美元,猛增到接近3万亿美元。银行惜贷,货币政策传导机制堵塞,货币政策完全失灵。面对满目疮痍的家庭部门和自己惨不忍睹的资产负债表,商业银行忙于灾后重整,哪里还敢发放新的贷款?

美国经济的恢复和2009年以来的强劲增长,在很大的程度上得益于市场化的去杠杆。资本是无情的,你的按揭违约,抵押品就要被银行收走卖掉,一家老小不得不另寻栖身之处。笔者2012年到美国考察时。还可以看到不少的空置房屋,原来的主人被迫迁出,临走时破坏了门锁,卸下并搬走洗手间的座便器,拆除餐厅的吊灯,拿走所有可以拿走的东西,其愤怒和绝望之情可见一斑。然而正是通过这种冷酷的去杠杆,银行清理了坏账,家庭降低了负债率,按揭贷款对GDP的比率从最高点的100%多持续下降,回到了长期趋势线上(图二),房价收入比也很快回落到历史平均值(图三)。

快速的去杠杆带来了快速的复苏,银行的信贷活动在2012年基本恢复正常,从那之后,美国的经济和资本市场一路高歌前行,直到今天(图四)。对比欧盟各国,在全球的低利率时代,杠杆率的上升和美国一样迅速,危机后的去杠杆却比美国慢了许多,银行的不良资产长期未清,信贷活动低迷,导致欧洲经济萎靡不振,如同欧洲股市走势告诉我们的(图四)。可笑的是,凯恩斯主义者硬把美国经济的复苏说成是数量松宽的功劳,他们根本无法解释,为什么欧洲也进行了几轮数量松宽,经济状况至今不如美国。

图四、道琼斯股价指数美国和欧盟的比较。资料来源:CEIC

对照图二,早死早投胎?走出危机后,美国股市连创历史新高,而欧盟受银行不良资产的拖累,股价仍在危机前的水平之下。

大洋此岸,为了应对国际金融危机造成的经济下滑,中国政府启动了前所未有的“4万亿”刺激计划。4万亿实际上只是一个符号,实际投入的资源应该是以十几万亿甚至几十万亿计。财政、货币政策双管齐下,巨量兴奋剂的作用下,GDP增长果然强劲反弹(图五)。一时间风景这边独好,世界经济的火车头带动全球走出萧条。坊间笑称:只有社会主义才能救美国,国人对于这项意外承担的国际主义义务笑而不语,颇有舍我其谁的英雄气概。

图五、中国的电力消耗增长率。资料来源:CEIC

我们用电力消耗作为GDP的近似指标,以避免地方政府GDP统计误差造成的失真。2009年执行的“4万亿”刺激计划带来经济的V-型反弹,但仅持续了两三个季度经济增长便掉头向下。2012年传说中的“4万亿2.0”效果更差。

谁料人为的经济景气只是昙花一现,两三个季度之后,GDP重新进入下行通道(图五)。于是,“4万亿2.0”甚至3.0,陆续推出。怎奈兴奋剂的边际效益递减,无力挽回疲软的颓势,反倒是美国那边日渐好转。

从缘起、爆发、拯救到复苏,这是一个人们曾经耳熟能详的故事。对于人类这样一个记忆短暂的物种,在金融危机十周年之际,我们认为有必要重温这段历史,从中汲取经验和教训。或者,应了那句相传是黑格尔的名言:“人类从历史上学到的唯一教训,就是人类无法从历史上学到教训。”

三、回归常识

如果人类不至像黑格尔断言的那么无望的话,需要反思的首推货币政策。

实际上,凯恩斯本人对货币政策持高度怀疑的态度,他提出”流动性陷阱”的概念,说明为什么在经济停滞期间货币政策不起作用。当利率处在一个很低的水平上比如0.5%,中央银行增加货币供应,将利率降到0.3%,或者降到零,企业和个人几乎没有反应,因为差别实在微乎其微,减息不能有效刺激投资和消费需求。我们在美国的金融危机之前和之后,以及今天的中国经济中,都观察到了流动性陷阱,当然,原因和凯恩斯所描述的有着根本的不同。凯恩斯的流动性陷阱是个心理现象:人们通常会忽略微小的变化;而2008年前后的美国和当前的中国经济中,货币政策失效是因为实体经济中很难找到高回报的投资项目,或者因为债务人的杠杆率也就是风险已经过高,或者两者兼而有之。

不幸的是,中国经济目前正在经历这样的双重困境,货币政策失灵。例如央行降低准备金率,商业银行却并不因为可贷资金的增加而扩大信贷,制约信贷的不是资金,而是具有稳定收益和低风险的可贷项目。

实体经济中缺乏可贷项目,原因在于中国的工业化和伴随着工业化的资本积累已基本完成。改革开放以来,中国进行了快速的工业化,工业生产需要资本,资本积累一方面产生了强劲的投资需求,固定资产投资的增长速度平均为GDP的1.5倍到2倍,成为驱动经济增长的强大引擎。另一方面,资本积累提高了人均资本拥有量,从而提高了劳动生产率和工资,工资的增加又创造了消费需求。如此,处于工业化阶段的经济必然会呈现出”超常”的增长,这样的”奇迹”在历史上屡见不鲜,例如1871年德意志第二帝国成立前后、日本明治维新时期、俄罗斯20世纪初期以及斯大林时代、德国和日本二战后的重建、亚洲四小龙的经济起飞,无不与工业化相关。如果说存在奇迹的话,那就是工业化的奇迹,中国也不例外。

工业化完成之后,资本不再稀缺,投资增长速度逐步下降,GDP增长随之放慢。根据一项经济学原理,这时的资本边际收益递减,投资收益和劳动生产率的改善明显低于工业化时代,企业的盈利状况和工资的上涨步伐也不如从前,经济进入后工业化时代的新常态。笔者认为,中国的工业化和后工业化大致以2008年全球金融危机为分界,体现为2008年之前经济增长速度已经放慢,很多行业出现了产能过剩,产能过剩意味着资本积累因而实体投资已无太大需求。

过高的杠杆率是中国经济面临的第二重困境。2008年以来的一系列扩张性政策几乎全靠借贷支撑,导致中国经济宏观负债率在过去十年间迅速上升,从2008年的140%到2017年的260%(图六)。由此可知,过去十年间保持的6%到8%的经济增长,基本上是透支未来而取得的。

图六、中国非金融机构负债对GDP比率。资料来源:国际清算银行

意识到债务过高的风险,进入2018年,中国政府开始采取各种措施,降低经济的总体负债率,却遭到各方面的广泛批评。批评者认为中央政府下药过猛,虚弱的经济承受不起,呼吁要讲究去杠杆的方式和方法。去杠杆的具体措施确有值得检讨之处,非市场化的行政手段是最大的问题,造成国有和民营经济的不平等的待遇,有些地方出现优汰劣胜。至于和风细雨的去杠杆或者软着陆,纯粹是书斋和办公室里一厢情愿的天真想象。

纵观现代金融史,没有一次去杠杆不是采取疾风暴雨的形式,从1980年代的拉美债务危机、1990年代日本经济泡沫的破灭、稍后的亚洲金融危机,直到2008年的全球金融危机,哪一次不是付出惨重的代价,换来资产负债表的重新平衡?可以毫不夸张的说,去杠杆一定会带来经济的剧痛,人人都舒服就不可能去杠杆,今天的小痛是为了避免以后的大痛。这个道理其实人们都明白,只不过商界和金融界不愿意疼在自己的身上,政策制定部门则不想看到责任落在自己头上。

去杠杆半途而废,凯恩斯主义的幽灵在中美贸易战的背景下 再次降临。货币信贷政策由紧转松,准备金率下调一个百分点,十万亿量级的投资计划呼之欲出。这一次,幽灵会再次显灵吗?

不需要高深的理论,依据常识便可以猜到结果。即使凯恩斯本人也声明,他所说的需求是”有效需求”(Effective Demand),尽管他并没有将这个概念贯穿始终,而他的追随者干脆有意无意的忽略了“有效”两字。有效需求就是有支付能力的的需求,与之相对的是没有支付能力的、想象的需求(Notional Demand)。货币增发如果转化为信贷扩张,企业和个人通过借钱看上去增加了购买力,但借的钱终究要偿还,今天支付能力的增加,预示着明天支付能力的减少,货币信贷政策并没有真正增加支付能力,而只是做了支付能力的跨期重新配置。换句话说,货币政策并没有增加有效需求。实际上,凯恩斯主张的财政政策也没有增加有效需求,因为今天政府支出的增加带来赤字,要用明天更高的税收来弥补,而未来的高税负会减少民间的可支配收入,因而减少民间的有效需求。

追溯凯恩斯的原意,我们会发现需求不足其实是个伪命题,人们通常所说的需求,是想象的需求或者欲望,哪个企业家不想做大企业?他的投资需求理论上讲是无穷大的。消费者的想象需求更是没有止境,得陇望蜀,哪有知足的时候?真正不足的是有效需求,即有支付能力的需求。企业想做大,必须进行投资,投资的资金来自利润。个人消费的支付能力来自工资。政府的支付能力来自税收,而税收的源头仍然是企业和个人的收入。这些都是常识。没钱的需求都是假的;借来的钱总要偿还,拖得越久,代价越大。

政府真想拉动需求吗?我们说的是有效需求,那就必须提高企业的效益和员工的劳动生产率,从而提高利润及工资收入。这是从常识而非数学模型推演出来的政策含义,至于如何提高企业的效益,我们在下一节展开讨论。

四、现实意义

我们从十年前的这场金融危机中学到了什么?

第一,必须保持资产负债表的健康,特别是适当的资产负债比,对于国家经济、企业或家庭都是如此。要像警惕瘟疫一样,警惕债务的无节制增加,把债务控制在实体经济产生的现金流所能维持的水平之下,保证国家、企业或家庭的现金收入足以覆盖各自债务还本付息的现金流出,防止资金链断裂而引发债务和金融危机。毋庸质疑,这些都是常识。

当我们发现负债已经过高的时候,要采取坚决的措施去杠杆,就像中国政府在2000年前后清理四大国有银行的坏账那样,直面问题,解决问题,而不可推诿拖延,或者以表面文章掩盖真像。现在回过头来看,若非那时清理了银行不良资产,补充银行资本金,中国金融体系能否经受住2008年全球金融危机的冲击,都是很难说的呢。

保持资产负债表的健康就是保持金融和实体经济的相关性,就是金融的发展不能脱离实体经济。从本质上讲,债务危机不是财务结构的问题,也不是间接融资和直接融资比例失调,而是实体经济产生的收益长期低于资金成本,最终导致资金链断裂,就像2008年美国的家庭收入无法偿还按揭贷款,1997年东南亚各国政府的外汇收入不足以偿还外债一样。从这个角度看问题,债务豁免、中央银行购买不良债务以及目前我们所看到的债转股,仅仅降低了账面上的资产负债率,而无助于改变实体经济中资产收益低于资金成本这一事实。甚至更坏,在债转股之后。实体经济中的不良资产还是不良资产,资产的收益率还是那么低,而企业的资金成本却比以前更高了。

股权资金的成本显著高于债权资金的成本,这是金融常识。用股权置换债权,虽然可以缓解短期利息支付的压力,但在长期对资金回报的要求更高,给企业造成的经营压力更大。当然,在中国的现实环境中,股民的地位虚弱,股权通常被视为零成本资金。然而违反经济规律不可能不受惩罚,股市丧失服务实体经济的功能就是一个明证。

第二,鉴于资产负债表的重要性,中央银行对货币政策的操作应采取慎之又慎的态度,特别要注意避免货币和信贷的超发,防止将货币政策当作调节经济的方向盘使用,忽左忽右,自以为精准到位,认真负责地制造无法预料和无法收拾的大泡沫。聪明老道者如格林斯潘也会犯下事后方知的愚蠢错误,我们有什么理由相信货币政策委员会的诸位对经济的判断呢?

在货币政策的操作方面,我们赞同立法制定货币政策规则,管住中央银行这只看得见又闲不住的手。现有的弗里德曼规则和泰勒规则尽管不完美,不完美的规则也比完全没有规则强。诺奖得主弗里德曼建议货币供应与GDP增长保持同步,斯坦福大学泰勒教授的基准利率等于GDP增长和通货膨胀率的某种加权平均和。两类规则的表达不同,精神上是相通的:将货币政策与实体经济的客观指标挂钩,反对中央银行主观任意的“相机抉择“。如同我们在上面看到的,2008年金融危机的根源正是金融与实体经济脱节,政策规则可谓对症下药。规则的另一优势是防止货币政策跟着政府的指挥棒走,成为政府的第二财政和营造短期政绩的工具。发展中国家的经验证明,十之八九——如果不是百分之百——的货币超发都是财政赤字引起的。

按规则办事,碰上金融危机这样的灾难性事件怎么办?紧急时刻需要央行快速和非常规的干预。这不是问题,非常时期可以由议会授与央行相机决策的权力,就像2008年美国国会特批7千亿美元的财政救助一样,危机结束后收回央行便宜行事的权力,恢复执行货币政策规则。

奥地利学派的逻辑更为彻底,他们主张取消中央银行对利率的干预,市场形成的利率就是“最优“的,因为市场利率自动等于实体经济中的投资回报率即资本的边际收益率,自动保证了债务和偿还能力的匹配,从根本上避免了人为的债务危机。反之,任何偏离资本边际收益的利率都会引起经济的波动。在奥地利学派那里,货币政策不是经济的稳定器,而是一个扰动源。“天下本无事,庸人/智者自扰之”,市场经济中的货币政策实属多余之物,作为货币发行者的中央银行甚至都没有存在的必要。

或许有人会问,没有中央银行的日子怎么过?就像前清遗老惊呼没有皇上的日子怎么过一样,他们对某种超经济、超社会力量存在着严重的心理依赖,凯恩斯主义正是建立在这样的社会心理基础之上的。不用担心,日子照样过。描述无央行的场景超出了这篇文章的范围,仅在这里提请读者注意一个事实:自工业革命以来的现代经济史上,世界各国在相当长的时期内是没有中央银行的,没有货币政策的时间就更长,而且日子过得并不比有了中央银行之后差。

第三、经济增长靠的是企业效率的提高而不是政策刺激。被凯恩斯主义者扭曲的凯恩斯主义在中国留下了不少的误解,危害最大者莫过于相信经济增长的关键是需求,而拉动需求的有效方法是扩张性的货币和财政政策。让我们再次诉诸常识:印钞票不创造任何价值,政府开支也不创造价值。政府花的钱来自税收,税收是企业和个人创造的价值。财政政策的实质是价值在不同人群间和不同时点上的转移,而不是价值的创造。

从理论上讲,凯恩斯的分析对象本来就是一个没有增长的经济,他要解决的问题是如何使当期GDP尽可能的接近潜在GDP。潜在GDP定义为:给定技术条件,给定资本、劳动、土地等生产要素的数量,当这些资源得到充分利用时,一个国家所能实现的最大GDP。我们所说的经济增长是潜在GDP的提高,和凯恩斯所研究的不是一回事。遗憾的是,人们经常把当期GDP和潜在GDP两个概念混为一谈。潜在GDP由技术和资源的数量决定,货币、财政政策对技术和资源的数量没有影响,因此与经济增长无关。由于所有生产要素都服从边际收益递减的规律,当边际收益近乎为零时,增加资源的投入也不能带来增长,经济增长的源泉只能是技术的进步。

以中国经济目前的状况而论,资本的边际收益不是接近零也是非常低的,起码在很多地方低于资金成本,否则资金不会脱实向虚,进入资产市场寻求纸面上的增值。这一判断的政策含义不言而喻,为了控制越来越高的债务危机风险越,为了避免2008年美国的灾难在中国重演,我们应当一头做减法,下决心推进市场化的去杠杆,降低债务负担;另一头做加法,提高实体经济的资产收益率,增强政府、企业和家庭的债务偿还能力。

提高实体经济的资产收益率,要求企业进行创新,加快技术进步的步伐,要求政府为企业营造一个有利于创新的环境。由于本文的主旨不是讨论创新,我们仅简要列出创新需要的制度改革:加强私人产权特别是知识产权的保护;给予创新的主体民营企业平等待遇;放松和解除管制;以及全面的减税。

创新为何需要这些制度保障以及如何推进改革是制度经济学研究的重大课题,而与凯恩斯经济学毫不相关,熊彼特、道格拉斯-诺斯、威廉-鲍默尔、新科诺奖得主保罗-罗默等人的著作才是我们应该重点关注的。与凯恩斯主义的需求决定论不同,这些大师们的研究集中在供给侧,尤其是创新的机制以及创新对经济增长的决定性作用。

国际金融危机十周年之际,如果我们能够认识到凯恩斯经济学的局限,认识到滥用货币、财政政策的后果,那场危机中所付出的天价“学费”就算没有白交。

(注:本文仅代表作者观点。本文编辑徐瑾jin.xu@ftchinese.com)

HACK MY HOUSE: RUNNING RASPBERRY PI WITHOUT AN SD CARD

$
0
0

HACK MY HOUSE: RUNNING RASPBERRY PI WITHOUT AN SD CARD

Many of us have experienced the pain that is a Raspberry Pi with a corrupted SD card. I suspect the erase-on-write nature of flash memory is responsible for much of the problem. Regardless of the cause, one solution is to use PXE booting with the Raspberry Pi 3. That’s a fancy way to say we’ll be booting the Raspberry Pi over the network, instead of from an SD card.

What does this have to do with Hacking My House? As I discussed last time, I’m using Raspberry Pi as Infrastructure by building them into the walls of every room in my house. You don’t want to drag out a ladder and screwdriver to swap out a misbehaving SD card, so booting over the network is a really good solution. I know I promised we’d discuss cabling and cameras. Think of this as a parenthetical article — we’ll talk about Ethernet and ZoneMinder next time.

So let’s dive in and see what the Preboot Execution Environment (PXE) is all about and how to use PXE with Raspberry Pi.

GETTING FAMILIAR WITH RASPBERRY PI’S PXE BOOT FEATURE

New Raspberry Pis ship with PXE boot enabled, allowing the Pi to load its file system from a server on the same network. My experience is that the Pi 3 model B+ boots more reliably than the older version. Either way, it’s a good idea to begin by running rpi-update. Additionally, you may need to manually enable PXE by booting once off an SD card with an option added to config.txt. The official write-up is a great guide, and one of the resources I used when I stumbled through the PXE process for the first time. However, I will be doing things just a bit differently.

Take a moment to consider your network layout. Will your Raspberry Pi connect to your existing network, or to a new, dedicated network? To use your primary network, your router must support custom DHCP options. An OpenWrt router or similar device has this capability, but a stock D-Link or Linksys probably does not.

You will need a server on your home network to provide the file systems for the PXE Pis. There are multiple approaches, and I’ll be using CentOS 7. The hardware for this could be an old desktop, a virtual machine, or even another Raspberry Pi. We’ll assume a server with two interfaces — one connected to your primary network, and the second, with a static IP of 192.168.2.1, dedicated to the Raspberry Pi network. (If you plan to use a single network, skip the dnsmasq steps below, and use your server’s existing IP address instead of 192.168.2.1.)

HOUSEKEEPING AND PREPARATION

The code block below takes care of the initial dependencies and firewall settings, and enables the needed services. On the server, we need three primary services: Dnsmasq for DHCP, nfs-utils for NFS, and tftp-server for TFTP. Xinetd is a helper service for tftp-server, and we need unzip and wget for downloading and extracting the Raspbian disk image.

Install your favorite text editor (I’m using nano), and the policycoreutils package in order to work with SELinux. Then, allow the services through the firewall and set them to run automatically on boot. Lastly in this block of instructions, we’re setting SELinux to a more relaxed stance concerning the TFTP service.

sudo yum install -y dnsmasq tftp-server nfs-utils xinetd unzip wget nano policycoreutils-python
sudo firewall-cmd --permanent --add-service nfs3
sudo firewall-cmd --permanent --add-service mountd
sudo firewall-cmd --permanent --add-service rpc-bind
sudo firewall-cmd --permanent --add-service tftp
sudo firewall-cmd --permanent --add-service dhcp
sudo systemctl enable xinetd
sudo systemctl enable dnsmasq
sudo systemctl enable rpcbind
sudo systemctl enable nfs-server
sudo setsebool -P tftp_home_dir 1

Set up the directory structure and a pair of temporary mount points, and then download and extract the latest Raspbian image.

sudo mkdir /tftpboot sudo mkdir -p /nfs/raspi1 mkdir ~/bootmnt mkdir ~/rootmnt wget http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-06-29/2018-06-27-raspbian-stretch-lite.zip unzip 2018-06-27-raspbian-stretch-lite.zip

Booting with PXE starts with DHCP option 66 (not order 66, that’s something different), which points to the TFTP server. We’ll configure dnsmasq to add that option, as well as the listen interface and the IP address range. Change these values as is appropriate in your case, and add to /etc/dnsmasq.conf.

1
2
3
interface=ens9
dhcp-range=192.168.2.50,192.168.2.150,12h
dhcp-option=66,192.168.2.1

The configuration for NFS is simple. We specify what directory we want exported by editing /etc/exports.

1
/nfs/raspi1 *(rw,sync,no_subtree_check,no_root_squash)

Xinetd stands for “eXtended InterNET Daemon.” This one service controls several other services, including TFTP. We’ll configure xinetd’s config file at /etc/xinetd.d/tftp looking for the lines “server_args” and “disable”. We’re adding the two “-v” flags to increase the verbosity, as we will need to see what files the Raspberry Pi is looking for as it boots.

1
2
server_args = -v -v -s /tftpboot
disable = no

BUILDING THE PI’S BOOT IMAGE

Kpartx is an invaluable tool to keep in your Linux-fu toolbox. We’ll use it to mount the partitions contained in this disk image, and then copy the file system to the new PXE root. The Pi looks first for bootcode.bin, so we also copy that file into place.

sudo kpartx -a -v 2018-06-27-raspbian-stretch-lite.img
sudo mount /dev/mapper/loop0p2 ~/rootmnt/
sudo mount /dev/mapper/loop0p1 ~/bootmnt/
sudo cp -a ~/rootmnt/* /nfs/raspi1
sudo cp -a ~/bootmnt/* /nfs/raspi1/boot/
sudo cp -a /nfs/raspi1/boot/bootcode.bin /tftpboot/

We can also customize the filesystem for the Pi. First, to enable ssh access.

sudo touch /nfs/raspi1/boot/ssh

Next, we’ll modify the kernel boot line, at /nfs/raspi1/boot/cmdline.txt. Here we’re informing the kernel that it shouldn’t look for filesystem on a local disk, but to mount an NFS share as its root.

1
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/nfs nfsroot=192.168.2.1:/nfs/raspi1,udp,v3 rw ip=dhcp rootwait elevator=deadline rootfstype=nfs

And finally, we remove a couple lines from the Pi’s fstab, so it doesn’t try to mount filesystems from the non-existent SD card. Edit /nfs/raspi1/etc/fstab and remove the last two lines, that mount / and /boot.

NETWORK SLEUTHING AND BIND MOUNTS

At this point, we’re ready to see if our hard work has paid off. Reboot the server so the pending changes are applied. (Yes, it’s fairly easy to apply them by hand, without the reboot, but this step also tests that everything comes back up correctly on power loss.) Once it’s back, watch the system log while powering the Pi connected to the new network. (Al Williams just ran an article on the versatility of the tail command that’s worth a look.)

$ sudo tail -f /var/log/messages
Sep 24 11:05:15 PXE xinetd[1043]: START: tftp pid=4824 from=192.168.2.103
Sep 24 11:05:15 PXE in.tftpd[4825]: RRQ from 192.168.2.103 filename bootcode.bin
Sep 24 11:05:15 PXE in.tftpd[4825]: Client 192.168.2.103 finished bootcode.bin
Sep 24 11:05:15 PXE in.tftpd[4826]: RRQ from 192.168.2.103 filename bootsig.bin
Sep 24 11:05:15 PXE in.tftpd[4826]: Client 192.168.2.103 File not found bootsig.bin
Sep 24 11:05:15 PXE in.tftpd[4826]: sending NAK (1, File not found) to 192.168.2.103
Sep 24 11:05:15 PXE in.tftpd[4827]: RRQ from 192.168.2.103 filename 57b3548e/start.elf

The date will differ, as will the “PXE”– the hostname of this server. You’re looking for the RRQ from an IP address. If that shows up, then everything is going great. If not, time for some troubleshooting.

You may notice that your Pi is not actually booting. That’s because we’re not quite done. Look back at the TFTP log lines, because we need the folder name your Pi is looking for, which happens to be its serial number. Create that folder inside the tftpboot folder. Replace 57b354e with the folder name from your log.

sudo mkdir /tftpboot/57b3548e

We need to talk about bind mounts, and why we’re not just copying files into this folder. Raspbian has a built-in procedure to update the kernel, through apt-get. PXE transfers the kernel stored in the TFTP folder, while the rest of the system is mounted as an NFS share. This arrangement prevents the Pi from updating its own kernel. There are a couple ways to fix this, but today we’re using the bind mount. Think of it as a hard link for directories. We’ll add a line to the server’s /etc/fstab, once again using the Pi’s serial number as the folder name.

1
/nfs/raspi1/boot /tftpboot/57b3548e none defaults,bind 0 0

And then use the mount command to make the bind mount live.

sudo mount /tftpboot/57b3548e

Now, power cycle the Pi, and it should come to life!

THE POWER OF PXE AND PI

The number one problem with Raspberry Pi systems is SD card problems. Booting over the network will get around this weakness (assuming your network and your server are both stable systems). For my purposes this is a perfect choice, since I plan to use a Raspberry Pi in a three-gang electrical box, connected via Ethernet and using Power Over Ethernet. That said, any application where you will have an Ethernet connection, and need your Raspberry Pi to be reliable over the long term, is a good candidate for PXE.

Where do we go from here? Next time we’ll set up Zoneminder, and finally put these Pis to use. Let us know what else you want to see, or what we missed this time. Until then, happy hacking!

Aircraft reflections of a 2.3GHz beacon

$
0
0

Aircraft reflections of a 2.3GHz beacon

A couple months ago, Andrés Calleja EB4FJV installed a 2.3GHz beacon in his home in Colmenar Viejo, Madrid. The beacon has 2W of power, radiates with an omnidirectional antenna in the vertical polarization, and transmits a tone and CW identification at the frequency 2320.865MHz.

Since Colmenar Viejo is only 10km away from Tres Cantos, where I live, I can receive the beacon with a very strong signal from home. The Madrid-Barajas airport is also quite near (15km to the threshold of runway 18R) and several departure and approach aircraft routes pass nearby, particularly those flying over the Colmenar VOR. Therefore, it is quite easy to see reflections off aircraft when listening to the beacon.

On July 8 I did a recording of the beacon from 10:04 to 11:03 UTC from the countryside just outside Tres Cantos. In this post I will examine the aircraft reflections seen in the recording and match them with ADS-Baircraft position and velocity data obtained from adsbexchange.com. This will show the locations and trajectories which produce reflections strong enough to be detected.

EXPERIMENT SETUP

The receiver for this experiment is formed by a LimeSDR connected to a StellaDoradus 9dBi planar 2.4GHz wifi antenna. I chose this antenna rather than a more directive grid parabola because it has a very small form factor and its wide radiation pattern may allow us to receive reflections from unusual directions. The antenna is connected to the LNAH input. The whole receiver setup is mounted on a camera tripod.

The setup can be seen in the picture below, taken at home during testing. The signal in this position is quite strong even though there is not line of sight to the beacon. There are trees just in front of my window and then there are some higher buildings obstructing the direct path.

Testing of the receiver setup

In my usual portable location in the countryside just outside of Tres Cantos I have line of sight to the beacon. The received signal is extremely strong. In the figure below, reciprocal mixing from the local oscillator of the LimeSDR can be seen. Thus with this setup the limiting factor for receiving weak reflections is the dynamic range of the LimeSDR.

2.3GHz beacon in GQRX showing reciprocal mixing with the LO of the LimeSDR

After experimenting for some time in this location with different directions and positions for the receiver, I decided to place the antenna aiming directly towards Barajas, using my car as a makeshift shield for the direct path from the beacon. This is good because I aim the antenna away from the beacon and my car also reduces the direct signal a little. This can be seen in the two pictures below. Note the airplane in the first picture. It is taking off from runway 36L in Barajas and producing a reflection which can be detected in the receiver (click on the image to view it in full size).

View from the antenna towards Barajas (note the airplane on departure)
Receiving station. The car is used as a shield from the direct beacon signal.

My location was the grid locator IN80do68pw (or 40.62045ºN, 3.69466640ºW). The antenna azimuth was set to 120º. At 10:40 UTC I changed the azimuth to 80º, though this did not produce any noticeable difference in the reflections observed.

RECORDING RESULTS

The recording was made in GQRX by recording the audio output in SSB mode with a wide filter. The recording can be downloaded here(738MB). The WAV recording was processed with the script waterfall_13cm.py to produce waterfall data that was saved to an npzfile. The resolution of the waterfall data is 11.7Hz or 0.43s per pixel.

The waterfall can be seen below. It is divided in chunks of 10 minutes for easier visibility. Several aircraft scatter traces are visible, especially with positive Dopplers. Near the end of the last chunk there is something curious: a strong reflection that was produced by a car driving over a nearby dirt road (from several 10s of metres to a hundred metres away). I find it surprising that the reflection is so strong. This opens up the possibility for other experiments. Maybe passive radar traffic monitoring.

ADS-B DATA

The ADS-B data I have used has been downloaded from the historical data archive of adsbexchange.com. I have made the recommended donation of 0.15 USD per GB to help to cover bandwidth costs. The data is downloaded as a zip file per day. Each of these zip files contains a JSON file per minute with the ADS-B data. The format of the JSON data can be seen here.

The JSON data is loaded in Python using the json library. Unfortunately the JSON data has a few occasional quirks (such as extra commas in lists), so there is some string processing that needs to be done before the json library can accept all files as valid JSON.

Since loading the JSON files is quite slow, once the data is loaded and filtred by geographic location, it is save to a pickled file to load it faster in future executions.

The pymap3d library is used for coordinate transformations. Doppler is calculated in ECEF coordinates. For plotting maps, Cartopy is used together with OpenStreetMap.

The figure below shows the tracks of all airplanes passing through the zone of the recording between 10:00 and 12:00 UTC. The tracks are coloured by Doppler, with red representing positive Doppler and blue representing negative Doppler. Most of the aircraft that appear in the map are taking off from Barajas’ runways 36L and 36R, since Barajas was in its usual north configuration (takeoff runways 36L and 36R, landing runways 32L and 32R).

The location of the beacon is shown with an orange circle, while the location of my receiver is shown with a red circle.

Airplane tracks. Colour indicates Doppler (red is positive, blue is negative).

The Doppler traces for each aircraft can now be superimposed on the waterfall to match the reflections with each aircraft. This is done in the figures below. Each Doppler trace shows the aircraft callsign and ICAO hex id. I have selected by hand all the aircraft that produced a reflection of the 2.3GHz beacon and marked their trace in orange. The trace of aircraft which do not produce an observable reflection is marked in white.

Since we have now selected by hand which aircraft have produced a reflection and which haven’t, we can plot again the map of aircraft, marking in red the aircraft which produced a reflection and in blue those who didn’t. This is done in the figure below.

Map of aircraft producing reflections (in red) versus those not producing reflections (in blue)

We see that how likely is an aircraft to produce a reflection obviously depends a lot on the route that the aircraft has taken. This leads us to study the aircraft routes more in detail.

DEPARTURES FROM BARAJAS

Most of the aircraft that appear in the map are departing from runways 36L and 36R from the LEMD (Madrid-Barajas) airport. The route that these aircraft fly is called a Standard Instrument Departure, or SID. The information about the SIDs for a certain airport can be obtained in the relevant AIP (Aeronautical Information Publication). The AIP for Spanish airports can be found online at ENAIRE.

Daytime SIDs for runway 36L are shown in the figure below. They are identified the name of the final fix, a number with the revision of the SID, and a letter indicating the initial route. Currently, they are BARDI2K, BARDI2T, CCS1K, CCS1T, NANDO2N, PINAR2N, RBO1N, SIE1K, SIE1T, VTB1K, VTB1T, ZMR1K and ZMR1T.

SID for LEMD runway 36L (day)

The figure below shows in more detail the initial routes. Aircraft departing on K climb runway heading direct to SSY VOR, then via SSY R-001 to SSY DME 2.7, then turn right to 026º to intercept and follow BRA R-001. Aircraft departing on T climb runway heading direct to SSY VOR, then turn left to 291º to intercept and follow SSY R-321 to SSY DME 5.7 (or 6.8 for VTB1T). Then they turn either left or right depending on the route. Aircraft departing on N climb runway heading direct to SSY VOR, then via SSY R-017 to SSY DME 5.6, then turn right to intercept BRA R-005 to BRA DME 12.

SID for LEMD runway 36L (day)

Daytime SIDs for runway 36R are shown in the figure below. Currently they are BARDI5W, CCS4W, NANDO1D, PINAR1D, RBO1D, SIE2W, VTB1D, ZMR2W.

SID for LEMD runway 36R (day)

The figure below shows the details of the initial routes. Aircraft departing on W climb runway heading to BRA DME 5, then via BRA R-001 to BRA DME 7, then right to intercept and follow SSY R-017. Aircraft departing on D climb heading 016º to BRA DME 5.8 to intercept and follow RBO R-222.

SID for LEMD runway 36R (day)

The next step in our study is to classify the aircraft according to the SID they are flying. The algorithm used is very simple but effective. For each SID we choose a waypoint and assign to that SID all the aircraft that pass within a certain distance of that waypoint. The algorithm for calculating the distance between the aircraft track and waypoint is also simplistic: only positions in the JSON data are considered, rather then interpolating between them. Even though the algorithm is simple, it is able to classify all the aircraft without any mistakes.

The results of the classification are shown below. Each SID is shown in a different colour. Aircraft not flying any SID are shown in black. These are aircraft in cruise flight, most of them flying along the high level routes UN865 and UN870. We are not concerned with them, since none of them have produced any visible reflections. We observe that, from all possible SIDs, only K, T and D are in use. It makes sense not to use N and W in order to keep the traffic for each runway well separated: aircraft departing runway 36L use heading 321º or runway heading, while aircraft departing runway 36R use heading 016º.

Aircraft tracks classified according to SID (T in red, K in green, D in blue).
REFLECTIONS PER SID

Now that we have a classification for the SID flowm by each aircraft, we can compute the fraction of the aircraft on each SID that produce a reflection. It turns out that 89% of the aircraft flying T produce a reflection, while 75% of the aircraft flying K produce a reflection. No aircraft flying D produce a reflection. This makes sense, since T takes the aircraft very near the receiver and beacon (indeed I could see the aircraft passing near my receiver), while D takes them away from the receiver and beacon.

Now we study which parts of the routes T and K produce the reflections that we see on the waterfall. Below we show the waterfall drawing only with the Doppler traces for those aircraft on a route T. We note two things. First, all the aircraft except the first two, which had already flown away when the recording started, produce a detectable reflection. Second, the shape of the reflection is as follows: it starts quite flat around 1300Hz, lasts for a minute, then crosses fairly quickly towards 0Hz, increasing in strength and disappears just after passing 0Hz.

This means that the reflection can be detected starting shortly after the airplane takes off from runway 36L. The reflection is visible while the aircraft climbs on SSY R-321. In this part of the route the reflection is backscatter: the receiver is almost inside the line segment joining the 2.3GHz beacon and the aircraft. The receiver’s antenna is pointing directly towards the aircraft. After crossing 0Hz, the airplane turns and flies away from the receiver. It is now on the back of the beam of the receiver, so the reflection disappears quickly.

The waterfalls below show the Doppler traces of aircraft climbing on K. We see that the reflections are only visible for a brief period of time, when the Doppler crosses through 0Hz. This happens when the aircraft has passed SSY DME 2.7 and turns right to heading 026º. In this situation the aircraft is centred on the receiver’s antenna beam, in a good backscatter position, and in the point of its track that is nearest to the receiver.

CLOSING REMARKS

In this post we have seen that it is not difficult to receive aircraft scatter in the microwave bands, given an appropriate transmitter and air traffic. This is well known by the Amateur radio community, where people routinely observe aircraft scatter in the VHF, UHF and microwave bands, and even use it for communication. There is a lot of material reporting different situations of aircraft scatter. However, I had never seen a study where the aircraft scatter Doppler traces are matched against aircraft position and velocity data in such a detailed way as it is done in this post.

In these days, ADS-B is a very accessible way of obtaining aircraft position and velocity data. There are several online sources such as adsbexchange.com where it can be streamed in real-time or downloaded for later analysis. Alternatively, it is also possible to receive the ADS-B transmissions at 1090Mhz directly at the aircraft scatter receiver’s location.

The figures shown in this plot have been made in this Jupyter notebook. I have included the supporting data (npz waterfall file and pickled ADS-B JSON data) in the github repository so that interested people can run the notebook again. Hopefully this notebook may serve as the starting point for someone doing its own experiments that require processing and plotting ADS-B data.

In an attempt to get the Amateur radio community interested in topics such as air traffic and air traffic control, I have included an in-depth discussion about the SIDs used at Madrid-Barajas. Of course there are many more air traffic topics relevant to radio than what has appeared here. The reader may want to read and experiment about some of the following: VOR, DME, TACAN, NDB, ILS, primary and secondary radar, ADS-B, mode C transponders, ACARS, VDL, HFDL, Inmarsat AERO, oceanic routes and communications, HF SELCAL, VHF and UHF ATC, METAR and VOLMET, and several more.

Generating random number within Cuda kernel in a varying range

$
0
0

EDIT: I’ve edited my answer to fix some of the deficiencies pointed out in the other answers (@tudorturcu) and comments.

  1. Use CURAND to generate a uniform distribution between 0.0 and 1.0
  2. Then multiply this by the desired range (largest value – smallest value + 0.999999).
  3. Then add the offset (+ smallest value).
  4. Then truncate to an integer.

Something like this in your device code:

int idx = threadIdx.x+blockDim.x*blockIdx.x;
// assume have already set up curand and generated state for each thread...
// assume ranges vary by thread index
float myrandf = curand_uniform(&(my_curandstate[idx]));
myrandf *= (max_rand_int[idx] - min_rand_int[idx] + 0.999999);
myrandf += min_rand_int[idx];
int myrand = (int)truncf(myrandf);

You should:

#include <math.h>

for truncf

Here’s a fully worked example:

$ cat t527.cu
#include <stdio.h>
#include <curand.h>
#include <curand_kernel.h>
#include <math.h>
#include <assert.h>
#define MIN 2
#define MAX 7
#define ITER 10000000

__global__ void setup_kernel(curandState *state){

  int idx = threadIdx.x+blockDim.x*blockIdx.x;
  curand_init(1234, idx, 0, &state[idx]);
}

__global__ void generate_kernel(curandState *my_curandstate, const unsigned int n, const unsigned *max_rand_int, const unsigned *min_rand_int,  unsigned int *result){

  int idx = threadIdx.x + blockDim.x*blockIdx.x;

  int count = 0;
  while (count < n){
    float myrandf = curand_uniform(my_curandstate+idx);
    myrandf *= (max_rand_int[idx] - min_rand_int[idx]+0.999999);
    myrandf += min_rand_int[idx];
    int myrand = (int)truncf(myrandf);

    assert(myrand <= max_rand_int[idx]);
    assert(myrand >= min_rand_int[idx]);
    result[myrand-min_rand_int[idx]]++;
    count++;}
}

int main(){

  curandState *d_state;
  cudaMalloc(&d_state, sizeof(curandState));
  unsigned *d_result, *h_result;
  unsigned *d_max_rand_int, *h_max_rand_int, *d_min_rand_int, *h_min_rand_int;
  cudaMalloc(&d_result, (MAX-MIN+1) * sizeof(unsigned));
  h_result = (unsigned *)malloc((MAX-MIN+1)*sizeof(unsigned));
  cudaMalloc(&d_max_rand_int, sizeof(unsigned));
  h_max_rand_int = (unsigned *)malloc(sizeof(unsigned));
  cudaMalloc(&d_min_rand_int, sizeof(unsigned));
  h_min_rand_int = (unsigned *)malloc(sizeof(unsigned));
  cudaMemset(d_result, 0, (MAX-MIN+1)*sizeof(unsigned));
  setup_kernel<<<1,1>>>(d_state);

  *h_max_rand_int = MAX;
  *h_min_rand_int = MIN;
  cudaMemcpy(d_max_rand_int, h_max_rand_int, sizeof(unsigned), cudaMemcpyHostToDevice);
  cudaMemcpy(d_min_rand_int, h_min_rand_int, sizeof(unsigned), cudaMemcpyHostToDevice);
  generate_kernel<<<1,1>>>(d_state, ITER, d_max_rand_int, d_min_rand_int, d_result);
  cudaMemcpy(h_result, d_result, (MAX-MIN+1) * sizeof(unsigned), cudaMemcpyDeviceToHost);
  printf("Bin:    Count: \n");
  for (int i = MIN; i <= MAX; i++)
    printf("%d    %d\n", i, h_result[i-MIN]);

  return 0;
}


$ nvcc -arch=sm_20 -o t527 t527.cu -lcurand
$ cuda-memcheck ./t527
========= CUDA-MEMCHECK
Bin:    Count:
2    1665496
3    1668130
4    1667644
5    1667435
6    1665026
7    1666269
========= ERROR SUMMARY: 0 errors
$

Node.js Open Source of the Month (v.Oct 2018)

$
0
0

Node.js Open Source of the Month (v.Oct 2018)

For the past month, we ranked nearly 250 Node.js Open Source Projects to pick the Top 10.

We compared projects with new or major release during this period. Mybridge AI ranks projects based on a variety of factors to measure its quality for professionals.

  • Average number of Github stars in this edition: 1,817 ⭐
  • “Watch” Node.js Top 10 Open Source on Github and get email once a month.
  • Topics: Debugging, Online Communities, Zenbot, REST API, Generator, Terminal, Webpack, Node Release Lines, Microservice, LarryBot

Open source projects can be useful for programmers. Hope you find an interesting project that inspires you.

Course of the month:

A) Beginners: The Complete Node.js Developer Course (2nd Edition).[22,048 recommends, 4.6/5 stars]

B) Advanced: Node JS: Advanced Concepts. [1,763 recommends, 4.7/5 stars]

Rank 1

Ndb: An improved debugging experience for Node.js, enabled by Chrome DevTools [8126 stars on Github]. Courtesy of GoogleChromeLabs


Rank 2

Spectrum: Simple, powerful online communities. Built with Node and React.js [4735 stars on Github]. Courtesy of Spectrum


Rank 3

Zenbot: Zenbot is a command-line cryptocurrency trading bot using Node.js and MongoDB. [5402 stars on Github]. Courtesy of Chase


Rank 4

Strest: Set up tests for REST in seconds with YAML [1436 stars on Github]. Courtesy of Eyk Rehbein


Rank 5

Hygen: The simple, fast, and scalable code generator that lives in your project. [1353 stars on Github]. Courtesy of Dotan Nahum


Rank 6

Colorette: Node.js library for colorizing text using ANSI escape sequences [760 stars on Github]. Courtesy of Jorge Bucaran


Rank 7

Cogear.js: Modern static websites generator (Node.JS/Webpack) [201 stars on Github]. Courtesy of Dmitriy Belyaev


Rank 8

Node-release-lines: API for Node.js release metadata [50 stars on Github]. Courtesy of Nathan White


Rank 9

Zeronode: Minimal building block for NodeJS microservices [33 stars on Github]. Courtesy of Steadfast


Rank 10

Twitch-Dog-Treat-Dispenser: ”LarryBot” is an automated dog treat dispenser that let’s live viewers on Twitch.tv give treats to a good boy on command. [9 stars on Github]. Courtesy of Tyler Pearce

That’s it for Node.js Monthly Open Source. Visit our publication to find top posts for more programming skills.

Recommend & share..

JavaScript Open Source of the Month (v.Oct 2018)

$
0
0

JavaScript Open Source of the Month (v.Oct 2018)

For the past month, we ranked nearly 250 JavaScript Open Source Projects to pick the Top 10.

We compared projects with new or major release during this period. Mybridge AI ranks projects based on a variety of factors to measure its quality for professionals.

  • Average number of Github stars in this edition: 1,079 ⭐
  • “Watch” JavaScript Top 10 Open Source on Github and get email once a month.
  • Topics: Webpack, Data Grids, Visualizer, Audio, Compiler, Vanilla Javascript, d3-dag, Web Scraping, Debugger, Visual Programming

Open source projects can be useful for programmers. Hope you find an interesting project that inspires you.

Course of the month:

A) Beginners: The Complete JavaScript Course 2018: Build Real Projects![25,460 recommends, 4.6/5 stars]

B) Accelerated JavaScript Training: Take a deep dive into JavaScript, a Must-Know Language in Web Development, with a Hands-on, Example-driven approach. [2,362 recommends, 4.7/5 stars]

Rank 1

Worker-plugin: Adds native Web Worker bundling support to Webpack. [867 stars on Github]. Courtesy of GoogleChromeLabs

……[Tweet]


Rank 2

Tabulator: Interactive Tables and Data Grids for JavaScript [1029 stars on Github]. Courtesy of Oli Folkerd


Rank 3

Javascriptvisualizer: A tool for visualizing Execution Context, Hoisting, Closures, and Scopes in JavaScript. [180 stars on Github]. Courtesy of Tyler McGinnis


Rank 4

Slang: a simple audio programming language implemented in JS [799 stars on Github]. Courtesy of Kyle Stetz


Rank 5

Walt: A JavaScript-like syntax for WebAssembly text format [3524 stars on Github]. Courtesy of Arthur Buldauskas


Rank 6

Snake-game: Classic snake game built in vanilla JavaScript using the Canvas API [31 stars on Github]. Courtesy of TowhidKashem


Rank 7

D3-dag: Layout algorithms for visualizing directed acyclic graphs [641 stars on Github]. Courtesy of Erik Brinkman


Rank 8

Apify-js: The scalable web crawling and scraping library for JavaScript. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer. [1312 stars on Github]. Courtesy of Apify


Rank 9

JSDebugger: JavaScript-Based Debugger For Inspecting Running State Of Your Application [309 stars on Github]. Courtesy of SatanWoo


Rank 10

Rete: JavaScript framework for visual programming and creating node editor [2303 stars on Github]. Courtesy of Rete.js

That’s it for JavaScript Monthly Open Source. Visit our publication to find top posts for more programming skills.

Swift Open Source of the Month (v.Oct 2018)

$
0
0

Swift Open Source of the Month (v.Oct 2018)

For the past month, we ranked nearly 200 Swift Open Source Projects to pick the Top 10.

We compared projects with new or major release during this period. Mybridge AI ranks projects based on a variety of factors to measure its quality for professionals.

  • Average number of Github stars in this edition: 459 ⭐
  • “Watch” Swift Top 10 Open Source on Github and get email once a month.
  • Topics: Testable data source, Server Framework, panel UI, Auto Layout, Swift Syntax, Sliding Menu, Voice, Server Side Swift, Volume Popup, Xcode

Open source projects can be useful for programmers. Hope you find an interesting project that inspires you.

Course of the month:

A) Beginners: iOS 12 & Swift — The Complete iOS App Development Bootcamp. [2,956 recommends, 4.8/5 stars]

B) iOS 12 & Swift 4: From Beginner to Paid Professional. [225 recommends, 4.6/5 stars]

Rank 1

DataSourceKit: Declarative, testable data source of UICollectionView and UITableView. [623 stars on Github]. Courtesy of Yosuke Ishikawa


Rank 2

Smoke-framework: A light-weight server-side service framework written in the Swift programming language. [616 stars on Github]. Courtesy of Amazon


Rank 3

FloatingPanel: A clean and easy-to-use floating panel UI component for iOS [605 stars on Github]. Courtesy of Shin Yamamoto


Rank 4

AloeStackView: A simple class for laying out a collection of views with a convenient API, while leveraging the power of Auto Layout. [429 stars on Github]. Courtesy of AirbnbEng


Rank 5

SwiftSyntaxHighlighter: A syntax highlighter for Swift code that uses SwiftSyntax to generate Pygments-compatible HTML. [152 stars on Github]. Courtesy of NSHipster

……[Introducing Swift​Syntax]


Rank 6

Panels: Panels is a framework to easily add sliding panels to your application [619 stars on Github]. Courtesy of Antonio Casero


Rank 7

Voice-overlay-ios: An overlay that gets your user’s voice permission and input as text in a customizable UI [244 stars on Github]. Courtesy of


Rank 8

Swift-html: A Swift DSL for type-safe, extensible, and transformable HTML documents. [225 stars on Github]. Courtesy of Algolia

……[Open sourcing swift-html]


Rank 9

SubtleVolume: Replace the system volume popup with a more subtle indicator. [1028 stars on Github]. Courtesy of Andrea Mazzini


Rank 10

Tuist: Create, maintain, and interact with Xcode projects at scale [116 stars on Github]. Courtesy of Tuist

……[Introducing Tuist]

That’s it for Swift Top 10 Open Source of the Month. Visit our publication to find top posts for more programming skills.

路财主 |印钞这么多,为什么没有通货膨胀?

$
0
0

路财主 | 印钞这么多,为什么没有通货膨胀?

儿子:妈妈,我们快要被冻死了,为什么不生火?

母亲:我们没有煤。

儿子:不能买点煤吗?

母亲:我们没有钱。

儿子:爸爸不是在挣钱么?

母亲:爸爸失业了,不能挣钱了。

儿子:爸爸为什么失业?

母亲:因为煤太多了,卖不出去。

——经济危机中的一则穷人故事

2002年,还在普林斯顿大学担任教授的本-伯南克(Ben Bernanke),针对当时深陷债务通缩的日本,提出了他的“直升机撒钱”理论。

伯南克为日本设计了三种“撒钱”方案。

1)央行直接在财政部的账户上新增10 万亿日元现金。

在央行资产负债表上,负债方多出10万亿日元储备/存款,资产方多出10万亿日元无利息无到期日的政府债务,财政部拿到这10 万亿日元,可以用于基础设施建设投资,用于普遍性的减税,以此即可刺激经济发展。

2)财政部直接向央行发行10 万亿日元零利息的永续债。

和上一方式一样,财政部发债所筹得资金,同样用于增加支出或减税——如果发行的永续债有利息,央行可以承诺每年将利息返还给财政部。

3)财政部向央行直接发行正常到期期限、市场定价10 万亿日元的国债。

债券发行之后,央行同时承诺,到期后一定重新购买等值的国债,永远持有,这样一来政府不用担心资金来源,可以完全灵活地增加财政支出。

根据这个理论,伯南克信誓旦旦地对日本人说,按照我的理论,肯定能够解决你们的通缩问题,日本式长期通缩环境绝对不会在美国出现。

日本当时的央行行长叫速水优(Hayami Masao),听了伯南克的这理论,把头摇得像拨浪鼓:学者、学者、学者啊!

我们日本央行不是没干过这事儿。大萧条期间,时任日本银行行长高桥是清(Takahashi Karekiyo)放弃金本位,通过一次性印钞让日元大幅度贬值40%,一开始确实效果不错,但这种刺激马上就用上瘾了,1936年之后大规模印钞变成经常性的行为,日元通胀一发不可收拾,直到超级通胀产生……

二次世界大战以前的日元,是和美元1:1等值的——看看现在,1美元等于100多日元,追根溯源,就是高桥是清“一次性印钞”的结果。

面对日本央行的顽固,伯南克铩羽而归。但他自己也没想到,没几年,美国就真的给了他“理论联系实际”的机会。

2006年,伯南克接替格林斯潘(Alan Greenspan)就任美联储主席。

2008年9月,雷曼兄弟倒闭,美国信贷市场急剧冰冻,整个金融环境陷入急剧通缩趋势。

作为研究大萧条的专家,伯南克立即启动了大规模的QE(量化宽松),开始在美国实践他的直升机撒钱理论,在第一轮QE结束后,为了防止债务通缩反弹,又实施了第二轮、第三轮QE,直到2014年9月份,“撒钱”才终止(见下图,纵轴单位:百万美元)。

从美国建国到2008年8月,200多年时间,美国总共才印钞8300亿美元;

然而,到了2014年9月,美联储的资产负债表规模已经高达4.5万亿美元;

算下来,6年时间,美联储狂印了3.67万亿美元的货币。

史无前例的印钞,让伯南克获得了“直升机本(Helicopter Ben)”的绰号。

今天回过头来看,看起来颇为荒唐的“直升机撒钱”理论,在实践中居然是对的,QE政策确实将美国拉出世纪大萧条的通缩深渊,而且没有造成通胀——

居然没有引发通胀!

居然没有引发通胀!

居然没有引发通胀!

2001年以来,常年陷入通货紧缩却一直小心翼翼印钞的日本,2013年看到美国并没有出现通胀之后,央行后悔得肠子都青了,安倍政府上台后,任命黑田东彦(Kuroda Haruhiko)为央行行长,2013年紧急启动大规模QE政策,日本央行的资产负债表规模也开始极速飙升(见下图,纵轴单位:十亿日元)。

如果与自身经济规模相比,日本印钞量远比美联储更猛:

2013年1月,日本央行的资产规模还不到160万亿日元;

5年之后的今天,这一数字就变成了545.53万亿日元;

算下来,暴增了386万亿日元,这几乎与美联储6年QE的规模完全一样。

可问题在于,今日日本的经济规模仅有美国的1/4啊!

这样算下来,日本每年的印钞量,高达GDP的13%!

更荒唐是,因为日本央行持续扩张资产负债表,市场上的国债都被央行买买买给买光了,日本央行甚至不得不将其资产购买计划瞄准了股市,决定通过购买股票直接将钱送到消费者手中。

用日本央行原委员须田美矢子(Miyako Suda)的话来说:

“我们将牛牵到水边,告诉它们水的味道不错,但它们并不喝。所以我们应该亲自喝水,向牛展示水的味道很好。”

到现在为止,日本央行“亲自”喝了多少水呢?

如果考虑ETF信托基金和股票信托基金,日本央行总共买入了22.5万亿日元的股票,创下现代央行最狂野的资产购买记录。

如此疯狂的印钞扩张,迄今为止,日本的通胀水平却始终在0附近徘徊——

没有引发通胀!

没有引发通胀!

没有引发通胀!

看着美联储和日本央行买买买,却丝毫没有引发通货膨胀,另一家全球的主要央妈按捺不住了。

2008年金融危机爆发之后,2010年希腊等欧元区重债国的债务危机爆发之后,欧元都曾经进行过小规模的印钞,但债务危机稍有缓解,欧央行的资产负债表很快就又降下来了,结果就是又一轮债务危机……

要知道,欧元区长期以来和日本一样,深陷通缩漩涡,但在德国央行长期以来严谨操作纪律的束缚下,欧央行一直坚持审慎的货币政策,不肯轻易放开资产购买,但随着欧元区各国债务问题越来越严重,欧央行终于决定开闸大放水。

2015年1月22日,欧央行行长德拉吉(Mario Draghi)宣布,将开展每月600亿欧元的QE操作,欧元区的印钞拉开大幕并一直持续至今(见下图,纵轴单位:百万欧元)。

2015年2月份,欧央行资产负债表规模仅为2.2万亿欧元;

3年半之后的今天,欧央行的资产负债表规模为4.65万亿欧元;

算下来,欧央行3年多时间里狂印2.45万亿欧元的货币,按照单位时间算,这又超过了美联储和日本央行。

当然,欧元如此大规模的印钞,其结果和美联储、日本央行一样——

没有通胀!

没有通胀!

没有通胀!

我在以往的“10年来,全球6大央行印了多少钞票?”一文中提到,2008年全球金融危机爆发以来,包括美欧日中英瑞(士)等全球主要央行,至少印刷了折合20万亿美元的货币,而在2017年底的时候,这些央行的资产总规模仅为4万亿美元……

如此史无前例的印钞,世界几大经济体居然都没有出现通胀,没有通胀,这真是叫个奇了怪了!

为什么会是这样?

150年前,曾4次出任英国首相的格莱斯顿说过一句话:

“受恋爱愚弄的人,甚至还没有因钻研货币本质而受愚弄的人多!”

150年来,受恋爱愚弄的人有增无减,而被货币愚弄的人更是不计其数。

我们通常认为,存在银行里的钱和钱包里的钱是一个东西,但其实并不是。

有人将银行里的存款称之为内生货币(inside money),其他有形的纸钞和硬币是外观货币(outside money),内生货币是银行和金融体系可以提供的信贷,而外观货币则是政府货币主权的表现形式——这个解释比较复杂,我个人愿意把银行里的钱称之为“信贷”或“信用”,现实中的钱称之为“物理货币”。

“钱包里的钱”和金银实物一样,其存在具有唯一性,编码好的100元纸币,就是100元钱,在我这里就不可能在你那里;但是,当代央行所印刷的货币,绝大部分属于“数字货币”,这些钱时刻不停地在流通,存进来贷出去,不断用于购买资产、偿还债务,然后再存进来贷出去,这个过程持续下去,本来央行印了100元的数字货币,但体现在银行账户上的总额,可能达到500元乃至1000元——这就是货币乘数扩张。

为什么世界各国央行印了那么多“钱”,而我们在现实经济中却没有看到那么多通胀,这是因为——当代央行所印的“钱”,绝大部分体现为银行账户上的数字,物理货币增加很少。

在当代金融体系中,钱包里的钱被称为流通中的现金(Currency in Circulation),而经过货币乘数扩张的内生货币+外观货币总量,则被称为广义货币(Broad Money)。

2008年迄今,美联储的资产负债表的确扩张了5倍还多,但流通中的美元现金的增长却极为有限——美国的M0仅从750亿美元左右增至950亿美元,所以美国的物价几乎没有上涨(见下图,纵轴单位:十亿美元)。

欧洲和日本与美国类似——

资产负债表N倍上涨,但流通中的现金增长极为有限。

为什么央行印钞这么多,而流通中的现金却这么少?

咳咳咳,当代信用货币对民众心理影响的奥妙就在这里!

纸币这玩意儿拿着肯定贬值,而且还很容易损毁,只有在确实需要现金的情况下我们才会考虑保留物理货币。绝大部分情况下,我们愿意将自己的钱存储在银行里,不管多少还会有点利息——在整个社会上的表现,就是现金需求总量很低。

另,人们需求现金,基本都是为了应对日常消费,而人的天性喜欢追求稳定,只要基本生活物资不发生短缺,很少有人会去抢购或者囤积商品(除非人们预期它短期内会暴涨)——换句话说,只要基本生活物资不发生短缺,人们对未来的整体预期没有大变化,哪怕央行印了很多很多的“钱”,也不会爆发恶性通货膨胀。

学者Hanke和Kurs,针对人类历史过去的300年间的56次恶性通货膨胀进行过研究,他们发现,所有的个性通货膨胀都是在极端条件下产生,例如战争、治国不善、计划经济到市场经济转变等。

与此相对,只要社会物资充裕而且民众经济预期稳定,无论发达国家或发展中国家,央行的“数字印钞”,从未引发过恶性通货膨胀。

既然不会引发通胀,那意味着央行可以无限数字印钱么?

当然不是!

在基本生活物资供应充足且其价格被政府柔性控制的情况下,在银行里的钱,人们总是希望“能做点儿什么”——

嗯,当代金融体系,恰恰就是为人们的这种需求而存在的!

前面提到,“银行里的钱”一般不会溢出到社会上变成“钱包里的钱”,但,它们会被借贷,然后用于购买资产、偿还债务。

银行里的钱,源头从央行出来,通过借贷的方式,流通到各个金融机构(银行为主),然后通过这些他们的转手和存贷,形成整个社会的债务链条。

与其说央行们印刷海量的数字货币,还不如说央行们为社会提供了海量信贷,这些信贷辗转流入到个人和机构账户,通常被人们用来购买资产,然后,资产价格上涨,然后,以这些上涨的资产为抵押,更多借贷,然后更多上涨……

于是,社会债务和资产价格一起飞涨。

2008年,美国股市的总市值约11万亿美元,如今,美股总市值飙升到31万亿美元,想想看,这可以容纳多少“银行里的钱”沉浮其中?

2008年,美国房地产市场总市值约13万亿美元,如今,房地产总市值飙升到32万亿美元,这又可以容纳多少“银行里的钱”浮沉其中?

2008年,包括国债在内的美国债券市场总市值约30万亿美元,如今,总市值升至40万亿美元,这又可以容纳多少“银行里的钱”浮沉其中?

……

在资产价格飙升的同时,美国的政府债务也一路飙升,从2008年不足10万亿美元,目前已经超过20万亿美元(见下图)……

我们的前央行行长周小川,提出过著名的“池子论”,意思是说,中国的房地产和股市,就是央行海量的广义人民币供应的“蓄水池”——这番话,对中国适用,对美国适用,对欧洲、日本也适用,对全世界的主要经济体都适用!

不必说更远的,就在“全世界总共有多少钱,又有多少资产?”一文中,我曾经列举了最近三年全球最大的三类资产的增长情况(见下图)。

说到底,“银行里的钱”绝大部分都被用来增加债务,用来推升资产价格。

耐人寻味的是,目前全球经济规模排名前三的美国、中国和日本,分别选择了股市、房地产和债券作为信贷泡沫的载体。

只可惜,资产价格的上涨和飙升,从来不会计入当代政府的通胀数据中,反而通常被看作各国政府的“政绩”。

就这样——

印钞上瘾;

信贷上瘾;

债务上瘾;

资产上涨上瘾。

这就是2008年以来,世界主要经济体的运行模式!

更长远的说,是1971年布雷顿森林体系崩溃以来全球经济的运行模式。

问题在于,越高的资产价格上涨,需要越大的信贷规模,越大的信贷规模带来越多的债务——随着债务负担越来越重,无数的人都需要用钱还债,整个社会对“银行里的钱”越来越饥渴。

结果就是,当央行的印钞规模越大,每个人拥有的数字就越多,社会的债务就越沉重,我们就越觉得自己缺钱——回到开头的故事,正因为生产了太多的煤,所以穷人们才没有煤生火取暖。

信用货币体系的无限扩张,造成的就是这么一个荒谬绝伦的结果。

路财主 |没有通货膨胀,只有货币死亡

$
0
0

路财主 | 没有通货膨胀,只有货币死亡

“虽然从总体来看,能够削弱王国、公国和共和国的灾难难以计数,但最重要的四种灾难是战争、道德败坏、贫瘠的土地和货币贬值。前面三种灾难如此显而易见,没有人不知道他们的存在,但是第四种有关货币的灾难,只有那些最睿智的少数人才会考虑到。因为它不是一次性地,而是逐渐地、以某种隐蔽的方式摧毁一个国家。”

——哥白尼,《论货币的贬值》。

阅读本文前,请提前阅读“印钞这么多,为什么没有通货膨胀?”一文。

人们在脑海中已经植下信念:我们会越来越富,我们的钱会越来越多。

对于当代政府来说,满足民众需求的最好方式,就是央行永不停歇的印钞,就这么一直印下去,不断抬升资产价格,不断通过“金融创新”创造新的金融资产来供民众交易,让整个社会的债务和借贷越来越多,让民众看着自己银行账户上的数字越来越大,他们就会认为自己越来越富裕、越来越有钱。

1970年,全球纸币总量(央行总资产),不到1000亿美元;

1980年,这一数字大约是3500亿美元;

1990年,这一数字大约是7000亿美元;

2000年,这一数字大约是1.5万亿美元;

2008年,这一数字变成了4万亿美元;

今天,这一数字变成30万亿美元。

1970年,全球债券+股票的总市值,大约在3000亿美元以内;

1980年,全球债券+股票的总市值,大约在1万亿美元以内;

1990年,这一数字,已经扩张到23万亿美元;

2000年,这个数字是64万亿美元;

2010年,这个数字是139万亿美元;

今天,这个数字是190万亿美元。

1990年以前,人们尚未普遍将房地产视作可交易的大类资产;

今天,全球房地产的总市值已经变为280万亿美元;

更不必说,根据国际清算银行(BIS)的统计,全球2017年的金融衍生品规模超过500万亿美元……

然而,按照当前全球最大几个经济体的官方统计,每年都是雷打不动的1-2%的CPI增长,社会根本没有通胀!

各国央行印了这么多货币,政府说没有通货膨胀,就没有通货膨胀了么?

就像中国,从2008年到现在一直都说没有通货膨胀,可问题是,大家都知道,房价翻了好几番,这难道不叫通胀?

美国的股市,2008年以来,也翻了好几番,这不叫通胀?

……

按照本人一直以来的观点,真正的通货膨胀必须把资产价格计入进来,至少也应该包括股市和房地产,而且,资产价格权重还应该远远高于日常消费品占比——因为,人们所拥有的钱,绝大部分被用来购买房产、股票等资产,只有极少一部分才会应用于日常的生活消费。

故意抓住芝麻丢掉西瓜,只揪住人们花钱占比很少的日常消费品来计算通胀,然后还大肆宣扬没有通胀,这手段,我溜溜的服。

即便是这个CPI,各国政府还要进行操纵,以便让它看起来更小。

拿灯塔国来说,1980年以来,政府不断的修改CPI的统计办法,每一次都是为了让通胀指数看起来更小一些——按照其1980年公布的通胀指数计算方式,今天的美国通胀绝非如此水平。

有个叫做SGS的网站,把这两种方式统计出来的CPI指数差异做图对比(红线为不断调整后的官方数据,蓝线为SGS根据1980年的方法得出的数据)。

灯塔国都如此,其他政府更是变本加厉的造假,如委内瑞拉、阿根廷等。

有人问了,既然印钞就像吸毒,那么就意味着政府会一直持续不断的印下去,变成10年前的津巴布韦和今天的委内瑞拉?

不会的。

政府通常不会这么极端。

尽管说,从10年以上的期限看,政府从不会停止印钞步伐,但正如吸毒的人在理智的时候,会阶段性的尝试戒毒一样,在眼看货币就要出问题的时候,政府和央行也会阶段性的踩刹车,尝试停止或缩减印钞规模。

比方现在。

美联储大规模印钞最早,退出印钞也最早,2014年就退出QE,资产负债表规模基本不再增长,2017年第四季度更是开始其缩减资产负债表的进程,目前其资产负债表已经由顶峰时期的4.5万亿美元已经下降至4.2万亿美元。

下面的图分别是2008-2016年美联储持有证券资产构成(不包含黄金)和2017年底以来美联储减少印钞的计划——资产负债表收缩。

2018年,欧央行也给出逐步缩减乃至停止大放水的计划:

2015年1月-2017年12月,欧央行每月印钞600亿欧元;

2018年1-9月,欧央行每月印钞减少到300亿欧元;

2018年10-12月,欧央行每月印钞减少到150亿欧元。

2019年起,欧央行停止大规模QE。

日本央行也发出了调整QE的信号。

下图即为美银美林制作的全球5大央行(美联储、欧央行、日本央行、英格兰央行、瑞士央行)2008年至2020年央行资产负债表变动情况(2018年之后的为估计)。

又能刺激经济,又能增强政府权力,还不会发生通胀——

大规模印钞这么好,为什么不持续下去呢?

这就要说到信用货币产生和消失的过程——信用货币,其产生根源并非什么商品或者服务,而是债务、是借贷(抵押品是各种各样的债券),必须有人借贷、形成债务凭证,然后才能以这些债务凭证为依据发行货币。

借贷创造货币;

清偿消灭货币。

如果央行想要继续印钞,很简单,必须有更多的人来借贷,而且这个借贷必须是在拥有偿还能力的基础上(没有偿还能力的借贷,就完全是骗局了),只要能够确保偿还债务,当代银行体系制造金钱的能力绝对是无限的……

可问题在于——

首先,某个社会群体所能承受的债务,是有极限的。

树不能涨到天上去,债务也总有极限,政府债务也许可以直接通过印钞解决,但对企业和居民来说,当他们的收入不足以偿付债务本金和利息的时候,债务极限就到了,没有新增加的可靠信贷和债务,银行没有担保品抵押给央行,传导到央行这里,就是印钞不得不停止。

其次,金融市场对资产价格的追求总是超越当前信贷规模。

过去几十年的经验显示,每当遇到资产价格下跌,因为担心“系统性风险”,人们赌央行一定会救市,一次又一次,央行确实救市了,由此导致了资产价格不断攀升,市场参与者对于金融资产价格的追求也越来越高(如美国的股市和中国的房价),以央行为首的整个金融体系的道德诚信正在崩塌。

最后,资产泡沫对人们的心理影响太大,这让整个社会陷入不稳定之中。

大家都知道,在过去的10年里,辛勤工作、诚实劳动很难获得回报,而将杠杆加到极致,空手套白狼的虚假欺骗行为却在资本市场(股票、房地产和债券)获得了难以想象的巨额财富,这刺痛了绝大多数人的生存尊严,这种生存尊严问题会导致社会群体矛盾激化,进而让整个社会陷入不稳定——当前,全世界各种民粹主义和极端主义的崛起,就是一个证明。

总之,再这么印下去,建立在信用流沙之上的当代金融体系,很快会再次经历类似于2008年的全球性的信用冰冻和金融危机(本质上是信用危机)。

于是,央行们似乎不约而同的决定,逐渐停止大规模印钞。

于是,全球的主流资产价格很可能在2019年面临新一轮下跌。

世界上的商品和服务是如此稀缺,央行们于是点纸成金,供世人争夺。

通过凭空制造出信用膨胀或紧缩的概念,央行们把全球的资产价格搅拌得风起云涌,将上涨和下跌推升至极端。而芸芸众生则热衷于资产买卖,拼着生命也要把账户里的数字卖来卖去,期望数字变得越来越大,一直大到所谓的“财务自由”,然后不用参与任何实际劳作,靠着别人的供养和服务而自由生活。

电影《了不起的盖茨比》中,小李子拿着金色香槟微笑着,远处是金光闪闪的烟火,下面是纸醉金迷的奢华宴会,盖茨比心满意足的看着众人艳羡于自己,这让他感觉到自己浮在芸芸众生之上——虽然,得不到黛西爱情的他,在灵魂上充满了空虚和无奈。

信用货币时代,贷款买房、信用购车、分期消费等各色金融工具,更是将人的物质欲望刺激到极致,挥金如土的浮华生活成了成了每一个人的追求,而满足这个虚荣心竟然是如此简单:只要我银行账户里的数字远超别人就行了。

伴随着债务的膨胀和收缩,资产价格随之暴涨暴跌,各国政府的信用数字都在持续大跃进,而极少数人用去了信贷扩张的绝大多部分额度,享受了绝大部分资产价格上涨的利益,这意味着体制在鼓励一部分人合法抢劫大部分人的财富——这才是当代金融体系真正无法治愈的癌症!

很多银行账户上有巨额数字的人,以为自己是上帝,他们不知道,在信用货币体系里,只有政府和央行是真上帝。

至于供养当代政府及金融体系的芸芸众生,却因为对金钱的贪婪而变身罪人,君不见很多金融精英恬不知耻的说——“穷,本身就是道德低下的象征!”

如果不参与大类资产买卖游戏,普通人辛勤劳动所得的财富,注定会被央行的点纸成金大法逐渐蚕食到仅留残渣,一生辛苦却一无所得。

如果参与资产买卖,除非你与央行和政府有着千丝万缕的关系并且善于利用这种信息的不对等,否则你将很难洞察央行和政府的动机,一入场,你就是这个负和游戏(因为金融系统会从中抽水)中注定被割的韭菜,并以被掠夺作为最终结局。

——总之,点纸成金的时代,参与不参与,每个人都无路可逃。

要知道,历史以来,货币的经典定义很简单:

1)商品和服务的交换媒介;

2)财富储存的载体。

这也是货币最起码的两项功能,其中第一条依托于第二条而存在。

在当代政府和央行们的操纵之下,货币的第二种功能已经基本丧失,谁如果还把央行发行的货币(无论是数字还是纸币)当作财富储存载体,我们都会认为这人是个大傻逼——财富储存的载体,已经被成功的转移到政府所刻意鼓吹的房产、股票和债券之上。

可我们有没有想过——

当你去购买食物的时候,1公斤所代表的实际重量,随时都在变化;

当你去购买布料的时候,1尺所代表的实际长度,随时都在变化;

当你去购买房子的时候,1平米所代表的实际面积,随时都在变化;

……

如果,你去出售或购买东西的时候,1元钱的价值在不断变动呢?

现在,信用货币本身的价值,恰恰是整个社会的价值不稳定之源!

庙堂之外,人们传统所认定的财富储存载体——黄金白银,在政府和央行持续近40年的打压之下,变成了人们所认定的“超烂的投资品种”,特别是2017年底美联储缩表以来,黄金白银一路走熊;2009年新出现的比特币,在经历2013年和2017年的两次辉煌之后,目前也陷入沉寂,好像,全天下现在只有央行凭空制造的数字,特别是数字美元,才是人类最有价值的东西。

人们似乎忘了,半个世纪之前(1968年),1个美元价值0.88866克黄金;而今天的1美元价值只有0.02592克黄金。

——相比50年前,美元贬值了97%以上。

即便按照美国政府公布的CPI指数,50年来美元价值也贬去了80%。

这就是美元的财富存储功能!

基本丧失了“财富载体”功能的纸币,只能是阶段性的充当商品和服务的交换媒介,所有人也都在内心默认,这种交换媒介未来是会缓慢贬值的,因为价值基础的变动,每隔一段时间,我们都需要各自调整商品的售价和买价,所有的交易就这样始终处在颤巍巍的平衡之中……

500年前,因提出“日心说”而成为当代科学奠基人的哥白尼,就认真考虑过这个问题:

“货币,……,它是价值的计量单位,所以必须保持一个固定不变的标准,否则公共秩序必然会被扰乱,买家和卖家就会以很多种方式受骗,就好像码、蒲式耳或者磅这些计量单位不是固定不变的一样。”

以前的时代,货币是实实在在的商品,是可以信赖的实物,是确定其唯一存在某个地方的某种东西,而今天的货币,却95%以上都是到处流动的数字,是可以同时属于N个人的数字——它不是依赖于社会现实而产生,而是伴随着人的无限欲望和无穷借贷而产生,随着债务规模的暴涨,货币统计上表现出来的数字也飙升到了难以想象的规模。

从经典定义上来说,货币已死,“信用货币”根本就不是货币!

黑格尔说过:

“人类从历史中学到的唯一教训,就是人类从不汲取历史的教训!”

说到底,在我们这个全新的时代里,丧失了财富储存功能,只能阶段性充当交换媒介的货币,只不过是政府和央行手里点纸成金驱使世人的信用权杖,是央行账户里不断变换且可以随意制造的阿拉伯数字,是增减债务刺激欲望和胀缩信贷掌控社会的有效技术……你可以称它叫“信贷”,也可以称它叫“信用”,也可以叫它“债务”,反正它就是“空气一样的数字”。

这样的“货币”,如果不每隔十年八年引发一次大型金融危机,那才叫个奇了怪!

我相信,它不得善终。

路财主 |从吴小姐(吴佩慈)生日被围观说起……

$
0
0

路财主 | 从吴小姐(吴佩慈)生日被围观说起……

上个月,吴小姐的生日又被群众围观了。

说“又”字,是因为吴小姐是娱乐圈著名的“九头身”美女,每隔一段时间都会主动贴一波照片求围观,前几年交往了名不见经传的神秘富豪男友,生下2男1女却还没有嫁入豪门,一直是众人话题的中心之一。

豪华的四季酒店,吴小姐一脸精致地吹了生日蜡烛,晒出一大波精心挑选的照片,还晒出了去年生日从男友那里获赠的鸽子蛋钻戒……

可惜的是,吴小姐最期盼的男友并没有出现在生日宴会上,也没有为吴小姐呈上生日礼物。

——嗯,没到场的男友,才是吴小姐这次生日被围观的关键。

吴小姐心底的痴和怨,我们且不去管,我们关心的是:

纪先生为何缺席?

答案并不复杂:

遇到麻烦了,不想露面。

这么多年来,中国总是有一些神秘富豪,你不知道他为什么突然崛起,就变成了身家几亿几十亿的大富豪。

纪先生是其中的一个。

据这位具有初中文化水平的纪先生自己宣称,他是投资房地产致富,听起来和温州炒房团差不多,但外界知道纪先生,却是从2011年澳门赌场的“迭码仔”开始。

在澳门赌场,从事拉客生意的人叫做“迭码仔”,其工作就是寻找赌客客源、鼓励赌客到赌场赌博,然后自己从中获取佣金——有关澳门博彩业纯收入分析显示:40%的收入缴纳政府税,40%的收入付给中介人即“迭码仔”,其余的20%才归赌场所有。据说,缴纳澳门政府的赌场税金中,有70%都来自“迭码仔”的贡献。

纪先生是东北人,他总是能为赌场带来源源不断的大客户,这些大客户不仅下注额度令人咂舌,而且输赢也不怎么在乎,往赌场里砸钱就像倒洗脸水一样,只要“开心就好”。

对澳门赌场来说,能带来客的就是爷!各大赌场纷纷拉纪先生合作,短短两年,据说纪先生经手的中介公司的赌资就接近5000亿港元……

2013年底,纪先生到香港买了一个壳公司,把中介公司包装上市,开始变身资本市场大佬,就这么着,纪先生成为了拥有几十亿资产的大富豪,开始向着福布斯排行榜努力。

没想到,2014年内地加大反腐力度,红红火火的澳门赌场开始门前冷落鞍马稀,而纪先生的中介生意可想而知——澳门,毕竟还是离中国太近了。

纪先生2017年奔去塞班岛,拿下了当地唯一一张博彩牌照,承诺至少投资31亿美元建设塞班岛的度假村。

像纪先生这样的神秘富豪,可不止一个。

一度被称为“世界赌王”的安徽蓝鼎控股集团董事局主席仰先生,与纪先生类似,70年代生人,初中文化,迅速在香港资本市场崛起,然后去韩国济州岛,拿到当地八张博彩业牌照之一,承诺投入巨资建设济州岛综合度假村——赌场自然也是被包含其中的。

还有一位初中生黄先生,也是70年代生人,也是神秘富豪崛起,现在已经是新加坡富商,娶了一位比吴小姐还出名的娱乐圈明星——电视剧《还珠格格》中的小燕子赵薇;

还有,因股价连续低于1元而在最近被勒令退市的上市公司中弘股份实控人王先生,当年,也是在A股神秘上市并成为富豪;

……

我大中国神秘富豪那么多,为啥提到这4位?

因为,这4位神秘富豪的崛起,其背后都与一个姓赖的老板关系密切——而这位赖老板,可是上了中国新闻联播的人物。

和自己所扶持的这些神秘富豪不同,赖总是高级知识分子,履历清晰:

1962年,出生于江西瑞金;

1979年,作为瑞金高考文科状元考入江西财经大学国民经济计划专业;

1983年,毕业于江西财经大学,同年7月进入中国人民银行计划资金司;

1987年07月,任中国人民银行计划资金司中央资金处副处长;

1994年02月,任中国人民银行计划资金司中央资金处处长;

1997年05月,任中国人民银行信贷管理司副司长;

2003年09月,任中国银行业监督管理委员会北京监管局局长、党委书记;

2009年01月,任中国HR资产管理公司党委副书记、总裁;

2012年09月,任中国HR资产管理股份有限公司党委书记、董事长。

2018年4月,因严重违纪违法,接受纪律审查和监察调查;

2018年10月,被开除党籍和公职,媒体报道说,从赖总的各处房产里,调查人员搜出来2.7亿元现金——重达3吨。

当货币的计价单位变成“吨”,我都不知道说什么好了。

想起来,一年之前,作为全国人大代表的赖老板还告诉记者,他为大会带来提案:

有序推进企业去杠杆 维护经济稳定发展。(原文链接:

http://www.ce.cn/xwzx/gnsz/gdxw/201703/05/t20170305_20733463.shtml)

现在,这3吨现金,既去了杠杆,又维护了经济稳定,赖老板果然是亲身示范说到做到。

还是从HR公司说起。

1999年,为了解决当时商业银行的死账坏账呆账烂账,在财政部和央行支持下,今日中国的四大金融巨兽——信达资产、东方资产、HR资产和长城资产公司成立。

按照朱相最初的规定,四大AMC(资产管理公司)只应该存在10年,其目标是为了 “最大限度保全资产和减少损失”——简单说,HR这样的公司,成立目的是为银行坏账擦屁股,擦完屁股的纸,当然是扔掉就好了!

这四大AMC里,HR当时负责剥离工商银行的坏账,是当之无愧的AMC老大。

在1999年的第一轮“资产剥离”中,HR公司收购了工商银行4077亿元不良资产——钱的来源是央行再贷款(直接印钞)947亿元+向工商银行发行债券3130亿元十年期债券;

在2004-2005年的第二轮“资产剥离”中,工商银行有2460亿元损失类贷款,直接委托HuaRong公司处置,另外还有226亿元的可疑贷款资产包为HR投标购买。

坏账具体处理得怎么样呢?

根据HR自己公布的信息,截至2005年末,HR公司共回收现金543.9亿元,而同时期HR公司向工行支付全部累计应付金融债券利息389.16亿元,同时向人民银行支付再贷款利息45.78亿元,还有累计费用支出为28.91亿元,三项合计已达463.85亿元。

开什么玩笑啊?!

央行再贷款和工商银行债券利息都那么低(比当时市场贷款利率至少低50%),除了支付债券利息,你只剩下80亿元现金,那还不如当时直接把所有不良资产都归零,把几千亿元的资金贷款给企业,5年时间收回来的利息,也远远高于543.9亿元。

问题是,人家还真就这样不了了之了,还作为HR公司的业绩大肆宣扬呢!

想想看,这其中几百亿元的损失,谁来承担了呢,谁又得利了呢?

转眼间就到了2009年,按规定,包括HR在内的四大AMC,应该作为擦完屁股后的手纸,被丢进历史的茅坑里的时刻到了。

然而,HR及其他三家AMC在2009年并未被注销,反而被作为拥有特殊业务能力的大型金融公司而保留了下来。

也正是在2009年,赖老板走马上任,来到HR,题下8个大字:

“华英成秀,融通致远”。

后来,有人从这8个字中,考据出四部经典,真是高级知识分子啊!

据说,赖老板到HR走马上任前夕的2009年1月,领导和赖老板谈了4次,说你去HR吧,把HR做起来!

可赖老板想的是,我在人民银行已经混到了司局级干部,而HR公司按照约定,2009年10月就要关门了,我干嘛去趟这趟浑水?

更何况,当时的HR,虽然浪费资金绝对牛逼,但整体上还是个烂摊子,员工人心浮动,还想着回工商银行养老……

话是这么多,但上级领导的任务,赖老板当然还是承担了下来,但赖老板当时吐槽说:

利润不够发工资、员工平均年龄50岁……

赖老板来了,公司也不解散了,而且赖老板头脑灵活,搞创新,提拔年轻人,于是,公司里江西人越来越多,姓赖的或者与姓赖有关系的人也越来越多……

当然,赖老板亲自在HR讲过,人才选拔时坚决贯彻不搞照顾、不搞平衡、不搞关系、不搞特殊、不搞论资排辈的原则,他本人和领导班子都以身作则。

AMC历史任务已经完成(其实直接归零最好),但公司却不用解散,更牛的是,连财政部和央行的钱,人家也可以不还。

2010年,信达公司与财政部设立共管账户,将2000多亿元挂账损失剥离至共管账户,信达所欠央行再贷款也停息挂账,央行与财政部的几千亿元,就这样彻底归了AMC公司。

想想看,这个损失又由谁来承担了呢?

前面拉车,后面有辙,赖老板的HR自然乐得跟随下去。

那么,赖老板在HR创新的核心在哪里呢?

答案是,别把精力集中在搞什么不良资产处理上了,那个来钱太慢,既然有这么多低成本的充沛的大规模资金(成本之低堪比四大行),直接转手放贷就行,挂一个“资产重组”的名义,然后把钱贷出去,收取至少10%以上的利息,什么都不用做,大把大把的钱就到手了……

不仅这么说,HR当然也是这么做的。

就这样,挂着“不良资产处置”的名头,HR变身全国最大的资金中介之一,一路攻城略地的同时,赖老板的下属公司,拿下了银行牌照、券商牌照、信托牌照、租赁牌照、期货牌照、基金牌照……,HR集团也由此成为中国极少数接近全牌照经营的金融集团之一。

截止2017年底,HR集团已经成为拥有1.87万亿元资产的金融市场巨头。

根据公开消息,2017年,赖老板旗下的海外融资平台发行了中票64.7亿美元、10亿新币、定向债务融资工具30亿人民币,融资利率基本在4.3%左右。

这成本低到啥地步啊?四大行都羡慕得要死要活的!

前两天恒大发行了18亿美元的债券,利率高达13.75%,对比之下,赖老板这一转手,可就是近1亿美元的收入啊!

不过,赖老板最喜欢的放贷对象,是资本市场的那些玩家们!

在赖老板的影响下,内地和香港资本市场动不动就会刮起一阵阴风,某个实际业务做得不怎么样的公司,突然间股价就会暴涨N倍,然后,不小心又会暴跌回去。

本文开头提到的纪先生、仰先生、黄先生、王先生,他们为什么发财,为啥都成了神秘富豪,为什么都有这么大的手笔,归根结底都是借了赖老板的钱。

例如:

纪先生能够拽逼到承诺31亿美元投资塞班岛度假村,这么大气的资金,就是用自己那家几度易手的香港壳公司,使劲儿炒高股价,然后找到赖老板作抵押拿到的;

仰先生的手法几乎与纪先生一模一样,他在2013年收购了一个香港的壳公司,然后使劲儿炒高股价,然后找到赖老板作抵押,拿到海量资金,然后才能牛逼地买下济州岛的一张博彩牌照,然后买下并开发几百万平方米的济州岛历史公园;

赵薇老公黄先生,在2017年将自己控制的上市公司顺龙控股的全部股票质押给赖老板,借出一大笔钱,然后和小燕子一起变身中国股市大鳄;

至于中弘股份的王先生,和赖老板更是老乡关系,在开发房地产的过程中一直得到赖老板的资金资助才得以把公司上市——2018年之初,眼看中弘股份资不抵债,王先生又找到赖老板,达成了涉资200亿元的协议,几乎都要将上市公司从深渊里拉出;

宁夏有一家名为天元锰业的公司,也是靠着赖老板的关系和资金援助,才得以在2017年借壳A股的英力特得以上市;

香港H股市场还有一家名为中国港桥的上市公司,更是赖老板HR集团的影子公司,中弘股份2017年底到2018年初的重组,就是依赖于中国港桥;

……

然而,可以想象的是,这么放贷下去,这家中国最著名的不良资产管理公司,恐怕要变身成为被处理的不良资产了!

随着赖老板的问题4月份曝光,这一切的一切都戛然而止。

中弘股份的重组泡汤,不得不成为A股第一支退市股;

英力特股价一路暴跌,相比一年前的高位之时跌去70%;

黄先生脱身较早,所以与爱妻赵薇只是被处5年证券市场禁入,罚款30万元;

仰先生嘛,则是在2018年8月底,在柬埔寨金边被执法人员带走;

……

回到本文开头,此时此刻此景此情——

你说纪先生能在吴小姐的生日宴会上露面么?

与动辄几十亿元的资金往来相比,吴小姐的鸽子蛋,吴小姐的痴和怨,看起来实在都算不上个什么大的事情了。

你看,本来讨论娱乐圈的事儿,没想到像拎葡萄一样,一拎一嘟噜,从吴小姐的生日被围观说到了金融行业那些“并不如烟的往事”去了,就此打住。

作为吃瓜的群众,我们只能在脑子里想一想:

拥有3吨现金究竟是怎样的体验?

那些在澳门赌场一掷千金却从不在乎输赢的人,钱来自哪里?

擦屁股的四大AMC公司的几万亿元最终都流向了哪里?

仰先生、黄先生还有吴小姐男朋友这样的神秘富豪,钱来自哪里?

他们动辄几十亿美元的海外度假村投资,羊毛到底薅在了谁身上?

那些资本市场大玩家,他们都是在赚谁的钱?

……

财迷║不如怜取眼前人:许主席贾巨贾撕逼、严峻的就业形势及对策

$
0
0

财迷║不如怜取眼前人:许主席贾巨贾撕逼、严峻的就业形势及对策

作者:九龙塘右眼财迷

最近成功地引起财迷注意的消息之一是许主席和“下周回国”的贾(jia,三声,姓)巨贾(gu,三声,行商坐贾)之间相互凶狠地撕逼:

另外,正如昨日所云:阿里、京东、华为停止社会招聘停止被辟谣(具体见此链接:财迷插播║阿里、京东、华为被曝停止社招以及这些企业辟谣)。虽被辟谣,但华为也证实只招大神级的人。财迷的朋友圈更是下面信息刷屏:

以上消息背后传递了神马信息,我等小民又该如何因此看清形势,趋利避害?财迷这就为大家做一个解毒:

一、周瑜黄盖抑或相互怜惜?

许主席和贾巨贾乍一看是撕逼,再一看又好像周瑜打黄盖,一个愿打,一个愿挨。

谁是看戏的蒋干呢?目测是我等吃瓜群众。

辣么,谁是会中计的曹操呢?目测是外管局的姥爷们——人家这可是数以亿计的资金外出。这把火一烧,搞不好就是火烧连营。

其实深究起来,姥爷们究竟是被忽悠的曹操,还是已被买通的蒋干,那就天知地知——毕竟姥爷们对大鳄视而不见,就知道来管理小民的鸡零狗碎的几个小钱。然鹅财迷专门算过,小民手里的钱(不卖楼的话)最多只能算外汇储备的零头,而大鳄们数以亿计的资本出逃才会耗光外汇储备,成为庙堂中人的心腹大患。不然当初四大金刚——peace邦、万达、复sta、tomorrow——就不会被敲打得辣么厉害了。

当然,许主席也有难言之隐。为曾经的首富,他也担心上了那个杀豚榜的一定后果——看看撕葱爸就知道了。最近的改革开放四十年一百人里面木有二手东也就罢了,居然也没有撕葱爸,这不是明摆着把撕葱爸降到犯罪嫌疑人的level上了么?当然,也有可能是撕葱爸刻意保持低调。但那种可能性小,毕竟上了榜单曝光率虽然高了,但那可是等于黄马褂的。有了这玩意,出去就有了护身符,有几个巨贾不想要?

所以撕葱爸所以很可能还会发生一点啥事,命运是不可捉摸的。

撕葱爸岌岌可危,许主席难免兔死狐悲。所以前段时间许主席发感叹,各种表现,也是有自己的原因的:

所以这撕币兼撕逼得大戏,各种被骗的悲情,很可能不过是一点金蝉脱壳的未雨绸缪。

只是,许主席好歹也是人精,会不慎被骗的可能性太小。这种撕(ku)逼(rou)戏(ji),估计是个人都能看穿。现在才想到金蝉脱壳,未免稍晚。

许主席和公交司机贾巨贾,说不定面子上撕币和撕逼,里子上在相互怜惜呢。

只有李财神,依旧笑傲江湖:

二、就业形势日趋鸭梨山大

除此之外,最近的就业鸭梨山大。制造业前几年就开始裁员了,地产企业也早就开始减少招人:

原因是老板们都很现实:

至于金融行业,那就呵呵,毕竟首席也就值9000文:

国考招考趋势也大幅下跌:

制造业就业不行,这很正常。毕竟08年以来实业误国,地产兴邦,制造业被地产挤压得厉害,资金人才纷纷外流,没钱没人搞研发,最后又导致产品落后卖不出去,这又进一步导致资金人才纷纷外流。这是一段时间的大趋势,人所共知。

建筑业/金融业则是最近出现薪资福利缩水,裁员和缩减的。今年信贷缩水之后,一切都成为了浮云。不仅建筑业本身,连带着地产中介都比以前更悠闲了。建筑业和金融业同呼吸共命运,也证明了房地产在神州强烈的金融属性。

IT业受影响,目测一个是因为神州网民增速减缓,一个是因为庙堂出了政策收紧游戏产业(传闻原则上今年不再审批网游)。所以这个产业出现了问题,鹅厂股价跌得有点厉害,连小马哥都焦虑地跑到知乎上去寻找新的增长点:

最好玩的是庙堂上招人也减半了。点解?各地衙门早已饱和,今年经济增长不行,各地都在想法子搞钱。财迷深圳朋友就告诉我他开的饮品店除了店面,以前一直在街边有几张桌子,往年都还过的可以,但今年以来城管消防轮番前来扫荡,不给点红包,就总是找小弟来闹事,搞得鸡犬不宁,他也不得不关门转让了事。这类刮地皮收入虽然可以解燃眉之急,但终究比不得卖地收入,城管消防等等也没法捞到太多票子,要是遇到店家关门,那就更是日坐愁城。如此一来,庙堂转移支付就会增加,自然也就没有更多钱来设置更多岗位了。

制造业、建筑业、金融业、IT产业、甚至公务员都不再招人,而神州今年有大量因为川普收紧移民政策而回归的留学人员,还有860万应届毕业生(往届情况见下图):

所以今年就业情况会有多惨烈,最后又会有多少人投身东莞服务业,那就是个大哉问。

三、就业鸭梨激增的原因

其实,财迷当初有不少文章讲过就业压力迟早会激增,不信的看官可以出门左转去看我去年哪些文章。

辣么,点解财迷会做出此推测?

很简单,经济学规律在起作用——通胀姥爷可以掌控,通缩是姥爷无法掌控的,全世界都如此,神州也不会例外。

通胀好应付,因为有各种手段可以用来控制通胀。比如限购,比如限价,比如加大供应。

通缩不好应付,因为你没法逼着消费者去花钱。经济不景气的时候,大家都捏着钱袋子不敢消费。由于张三的消费是李四的收入,于是导致李四因为业绩下降而下岗或者降低工资。而下岗或者工资降低了的李四也会不敢消费,又会导致另一个人王二麻子下岗或者降低工资,如此循环往复下去,萧条就来临了。

但问题是老爷们可以想办法让我等百姓钱没处花,但没办法让我等百姓去花钱——首先给我等小民涨工资先。

这就好比人和经济规律在拔河,经济形势的绳子可以拉着走,不能推着走。

只要学过宏观经济学的,应该都了解保持微通胀的宏观经济是最好的状态——经济稍微过热的时候,人们信心和期望都在,会愿意去加杠杆借贷,同时也愿意去消费,这两者都可以提供新的工作岗位。

这就是为啥2008年萧条来临时美联储憋着劲量化宽松——给市场钱和信心,让大环境从通缩慢慢回到微通胀状态。

其实有时候通胀稍微搞一点都不怕的——九零年代的神州就这样——雄鸡诺夫对此一点也不担心。因为神州经济当时因为融入全球化在高速发展,外汇纷纷涌入,放水多一点,真金白银也能将其中和。

而现在的状况,那就是经济学家需要担心的那种状况——就业开始开始缩减,而放水还不得不继续——这玩意学名叫做智障——啊不,滞涨。

其实光是目前就业鸭梨大,还算好的,关键在于之前的隐形下岗情况本身就不容乐观,两边加到一块,形势那就只能用惨烈来形容了:

人社部在2017年发布了《2016年度人力资源和社会保障事业发展统计公报》,2016年中国就业总人口为77603万,城镇登记下岗率仅4.02%。对这个数据稍微了解情况的都笑而不语。要按照这个数据判断经济形势去投资,估计得亏到底裤掉。

记得老蛮有篇文章《再论下岗率——被掩盖的真相》,就讲了这个(链接:https://www.kacj.com/weiyan/yangaidezhenxiang.html,各位有兴趣自行复制到浏览器打开)其中要点如下:

另外,还有一篇文章也提到了神州真实下岗率:《财经上帝视角:中国实际下岗率有多高?我来算给你看》(链接:http://club.kdnet.net/dispbbs.asp?id=12021926&boardid=1,各位有兴趣自行复制到浏览器打开)。

其要点如下:

这两种数字哪个更可信,列位看官不妨利用自己聪明的大脑自行判断。

四、我等小民的对策

就宏观政策讲,解决的手段其实不少人早就讲过:a)减税,b)降低融资成本,c)取消国企民企待遇差距,d)增加工资福利,etc.

一句话,就是降低系统牧羊成本(a\b\c),提高群羊的长毛积极性(d)。

至于其他方法,大部分都是馊主意。企业五险一金即使国税代收,那又如何?国税代收后只会增加养懒人的成本。大家都知道如今养老保险双轨制下,保证社保,是谁得利。如果现状持续,那就是:逼着企业多交社保=>企业裁员=>下岗问题增加=>社保基金和下岗保险亏空压力更大=>逼着企业多交社保=>企业裁员。这尼玛就是个恶性循环。如果杀鸡取卵,涸泽而渔,估计最后大家都要一起喝西北风。

以上都是庙堂需要思考的,我等小民无法影响大趋势,又该如何应对?

第一,有看官昨天问财迷“一方面感觉他们去杠杆在努力把多年的注水造成的资产价格打下来,一方面又在注水让通货膨胀商品价格涨价。到底真实目的是什么?”当时我的回答就是:“救自己友。打压资产价格都是哪些圈外人的;通货膨胀,是为了发行新钞票救援国企/事业单位;加税,是为了搞真金白银减小通胀。”所以,各位“要进窄门”,门槛越高的工作,就越要去,这些工作包括但并不限于IT产业为大牛提供的技术岗,体制内的各种岗位,等等。聪明人都去争夺的岗位,你也跟着去抢,不会错的,虽然这对各位的实力确实是个考验。因为这类岗位要么还可以享受人口红利以及国际资本带来的溢价(IT),要么就是姥爷自己友(体制内),不会受亏待。

第二,下岗增多的问题那就是不少精壮劳力会到处游荡。所以各位:能生活在一线城市就不要去二线城市,能生活在大城市就不要去小城市,能生活在政府周边的高档社区就不要去低档社区。

至于原因,之前财迷也多次说过:这些地方的警力更充沛,能帮助你的娇妻弱子远离哪些在街角游荡,用仇恨的目光看着远处灯火的精壮的男人和女人。为啥要提到精壮的女人?今天刚发生的事,下图各位自行体会:

其实财迷这里还有不少图片,展示了当时bloody的场面。但由于最近形势,这里不放了,各位自己去度娘或谷哥罢。

第三,想当初,洪天王是考吃皇粮的秀才落地(秀才可以免租,等于吃皇粮),常凯申是沪上买办遭遇金融危机。如今这两个人群又遭遇寒冬,里面是否会有新的洪天王,常凯申,那就真不得而知——想到这里,恐怕衙门里的人就睡不着觉,所以说不定盖子在担心之下会越来越紧,比如游戏审批。根据财迷在墙外得到的可靠消息,为了维护一些东西,一个发展良好的产业即使被毁掉也是可以接受的。所以搞不好网游产业及其相关行业暂时会萎一阵。

过去IT业创业和跳槽流行,因为那伴随着登上人生巅峰,最起码也是升职加薪。但最近VC资金一方面筹资困难,一方面政策打击,创业基本萎顿。而如今一些大企业缩小社会招聘规模也会让跳槽这件事萎顿。如此一来,相关行业的看官还是稳住比较好,各位还需要珍惜眼前这个能让你继续还房贷的工作,怜惜眼前人。

最后,升华一下:神州舆论关注一向有偏差,容易让庙堂&江湖误判形势,而且还不负责任——财迷在两年前就已经提醒大家隐形下岗潮来势汹汹。不信看这里(链接:二次下岗潮正在到来:这对普通中国人有什么影响?)但那时受到影响的是各地工厂里的沙马特洗剪吹,农民伯伯乡下妹,他们一向不会受到舆论关注。哪怕是富士康里在不断地信仰之跃,大家也就是叹息一下,回头该干嘛还干嘛。

至于食皇粮人群,金融买办人群(包括地产从业者,因为在神州房产就是金融产品),新兴互联网中产人群,因为四万亿、“地产兴邦”和人口红利而赚得盆满钵满,过得滋滋润润,自然是不会关心杀马特和农民伯伯的。主流霉体靠着地产广告也赚翻,自然也没有动力来吃力不讨好,所以都在这件事上失声(shen)。

直到最近,想要融入食皇粮人群,金融买办人群,新兴互联网中产人群的年轻人们发现门槛更高了,岗位更少了,大家开始焦虑,霉体也才开始关心。

只是,就现在的形势看,除了数以亿计的精壮劳力正在赋闲之之外,八百多万个满怀希冀的年轻人已经准备踏出校门。神州上下要未雨绸缪,为此早做准备,不知还是否来得及?现在我等开始系鞋带,不知是否还能跑赢?

据说历史是在曲折中不断前进。前进是主流,但之前的每一代神州人也都会因为“曲折”两个字而付出代价,比如50年代末吃食堂的农民伯伯乡下妹,比如70年代上山下乡的知识青年,又比如90年代末“从头再来”的工人老大哥们。

如今距离90年代末也近20年了,是不是又有些人会成为“曲折”的代价?以金锁姐为代表的戏子?tomorrow小月为代表的白手套?抑或以撕葱爸为代表的地产大亨?

不得而知,这大概是如今的天问。

晏几道有词云:

一向年光有限身,等闲离别易销魂,酒筵歌席莫辞频。

满目山河空念远,落花风雨更伤春,不如怜取眼前人。

许主席和贾巨贾都相爱又相杀,颇有点相互怜惜的赶脚了。至于我等小民,或许可以这样做:

踏踏实实早准备,强如满目山河空念远。

多存粮食好过冬,强如落花风雨更伤春。

怜取工作少跳槽,强如怜取眼前人。

共勉,言尽于此。

财迷 |杀出一条血路来:米帝中期选举、科创板试行注册制及债务肉偿

$
0
0

财迷 | 杀出一条血路来:米帝中期选举、科创板试行注册制及债务肉偿

最近小编风声鹤唳,杯弓蛇影。我上周发文之前,已经把五讲四美三热爱,七个标准八不要背得滚瓜烂熟,如数家珍,然后再把文章大幅修改了发出,结果隔天一早还是惨遭河蟹,让人完全摸不着头脑。今天财迷改了又改才发出,还望小编高抬贵鼠标,放一马则个。

闲话休提,直插G点,最近消息,成功地吸引了财迷注意的首先是新造科创板,试行注册制:

另外,米帝中期选举结果出来了,大头领川普和象党加强了对参议院的控制(议席不减反增加),而驴党则从象党手里夺回了众议院的控制权。这就是众议院象党得意,参议院驴党赛高:

另外,年关将近,某些企业开启欠债肉偿模式:

以上信息预示了神马趋势,我等小民又当如何看清大势,趋利避害?财迷这就做个解毒:

米帝中期选举的影响

不少看官纷至沓来,问财迷米帝中期选举对神州经济以及trade战的影响是啥,程度几何,云云。

财迷只好笑而不语。

套用知乎上的话说:不问有无影响,就问影响几多,那就是耍流氓。

说实话,米帝中期选举对神州经济及trade 战的影响及其微小,几乎可以忽略不计。

一些公号汪们齐声惊呼川普药丸,驴党大胜,或者trade 战会因此得到缓和,云云。在财迷看来都是naïve,为赋新词强说愁。

好叫列位看官晓得:1) 米帝选民的尿性就是一贯要check and balance, 会在中期给大统领一点颜色看看,不让power向他过度集中,以往的总统中期选举也都这鸟样。所以川普药丸这种话还是留着好。

2)米帝参议院管的是批准总统的政令,而众议院管的是立法和批准财务报告。象党固然失去了众议院,但仍然控制着参议院。川普或者以后不容易搞钱了,但利用行政命令开征高关税,以及在国际上退群的势头目测是不会减的。参议院在他手上,通过也不是难事,所以trade 战会因此缓和一说,恐怕有点呵呵。

3)对神州的政策,是驴党象党难得一致的地方。现在众议院的民主党领袖(也做过议长)Nancy Pelosi是神州人民情感伤害专家,在各种问题上都和神州过不去,专业乳滑二十年,也只有希拉里可以与之比肩.

川普如果有啥对神州的新措施,Pelosi尼玛只要不落井下石已是万幸。一众公号汪居然说神马trade 战会缓和,也不知道哪里来的自信。

综上所述,由于1)米帝邪路国家传统要搞平衡,2)参议院还在川普一党手里,3)众议院驴党领袖是神州人民情感伤害专家,中期选举对神州经济和trade战影响真的不会很大。

我们需要放下右倾投降主义幻想,踏实准备,别和中兴或者晋华一样,以为没事,结果冷不丁被一棒子打懵了:

风险与白纸扇的药方

踏实备战的第一步是要专注解决好自己问题。

我们最大的问题是啥,当然是金融风险。

其实神州的金融风险究竟是啥,很多人都不甚了然。

财迷在去年末就写了文章来就金融风险做了一个回顾(,里面主要讲到了神州的天量货币和高杠杆。

但本周三我推荐的那个走肖姓白纸扇写的文章里面,直白地提到了最大的风险:

既然土地财政的本质是融资,就不可避免地存在金融风险。股票市场上所有可能出现的风险,房地产市场上都会出现。截至2012年底,全国84个重点城市处于抵押状态的土地面积为34.87万公顷,抵押贷款总额 5.95万亿元,同比分别增长15.7%和23.2%。全年土地抵押面积净增4.72万公顷,抵押贷款净 增1.12万亿元,远超土地出售收入的减少。这 些土地抵押品的价值实际上都是通过房地产市场 的价格来定价的。打压房价或许对坐拥高首付的银行住房贷款产生不了多少威胁,但对高达6万亿以土地为信用的抵押贷款却影响巨大。一旦房价暴跌,如此规模的抵押资产贬值将导致难以想象的金融海啸。

这意思就是说,如果土地/楼价跌了,银行就会因为抵押贷款还不上而出现大量呆坏账,而由于这些钱都是老百姓存款,一旦遇到挤兑,那就大件事了。

财迷之所以会推荐走肖姓白纸扇之文章,是因为:

第一,他讲清楚了神州的 “楼市股市化”——如果把城市政府视作一个企业,那么西方国家城市是通过发行债券融资,中国城市则是通过发行的“股票”融资。利用1998年住房制度改革(“城市股票上市”)和2003年土地招拍挂(卖方决定市场)等一系列制度创新,“土地财政”不断完善,神州人可以通过购买股票(不同地区房)来进行投资,不但可以居住,还可以分红。

这等于是利用土地吸引买房者作为去投资,而山大王们则和PE一样,可以使用非常手段以极低价格拿到原始股(卖地),成为庄家。如此一来,则大王(庄家)吃肉,买房者(散户)跟着喝汤,皆大欢喜,于是“股市化”的楼市不断上涨。因为不动产流动性小,大起大落可能性低,这个人造牛市得以延续了接近20年(1998-现在)。

同时,他还说山大王们拿着钱做了如下一些事:A) 超前消费,大建高铁、 机场、行政中心,让神州面貌焕然一新;B)补贴各地工厂、企业,让神州的外汇储备不断增加;C)变相为中央增加税收(土地补贴让企业在高税收下也能存活)

之前财迷并未为土地财政补贴实业找到证据,但最近找到了一点间接证据——民企军心不稳大家都知道,民企座谈会的召开,以及最近帝都鑫茂大厦的扛把子赶紧出来说话:

成方街32号的揸fit人也出来谈问题:

这都是为了稳定民企的军心。

辣么,点解民企军心不稳?

目测似乎与土地财政确凿有那么一点关系——如果不是因为土地财政出了问题,无法为国企补贴,各地山大王只好搞环保风暴和上游能源涨价来找垫背,搞到要人情债肉偿,军心何至于如此不稳

第二,这位白纸扇讲清了楼市的“股市化“必然带来一些负面后果。首先就是前面提到的金融风险,除此之外,还有以下问题:

a)只要是土地财政,不动产就无可避免地会是一个资本品。无论你怎样打压住房市场,只要其收益和流动性高于股票、黄金、储蓄、外汇等常规的资本渠道,资金就会持续流入不动产市场,直到泡沫爆裂为止。

b) 没有机会投资城市不动产的居民早期投资不动产居民的贫富差距迅速拉开。拥有不动产的居民,即使不努力,财富也会自动增加;而没有拥有不动产的居民,即使拼命工作,拥有不动产的机会也会越来越渺茫。房地产锁定了不同社会阶层流动的渠道,造就了绝望的社会阶层。

c) 同虚拟的股票甚至贵金属不同,不动产为信用基础的融资模式,会超出实际需求制造大 量只有信用价值却没有真实消费需求的“鬼楼”甚至“鬼城”。为了生产这些信用,需要消耗掉大量本应用于其他发展项目的宝贵资源。

d) 赵姓白纸扇认为这都还好,关键是一旦土地财政被终结,则企业无法再得到补贴,还意外地不得不很快转入直接税,后果就是企业赋税会严重提升,而庙堂也不得不因为税收收入下降去多征税,这样实体企业就基本药丸。

第三,这位白纸扇给出了解决的方法:

A、 “先租后售”——“先租”目的是与现有商品房市场区隔;“后售” 则是为了解决保障房建设融资。举 例而言:假设50平方米保障房的全成本是20万 元(土地成本2000元/平方米,建安成本2000 元/平方米)。一个打工者租房支出大约500元/月,夫妻两人每年就是1.2万元,10年就是12 万元,15年就是18万元。届时只需补上差额,就可获得完整产权。

这个假设的例子里,各地的具体数字可能不同,但理论上讲,只要还款年限足够长,辅之以政府补助和公积金(可分别用来贴息和政府物业费),即使从事收入最低的职业,夫妻两人 也完全有能力购买一套完整产权的住宅。由于住房最终可以上市,因此土地(及附着其上的保障房),就可以成为极其安全有效的抵押品。通过发行“资产担保债券”(Covered Bonds)等金融工具,利用社保(3.11万亿元) 、 养老金(1.92万亿元)、公积金(2万亿)等沉淀 资金获得低息贷款,只需政府少许投入(贴 息),就可以一举解决“全覆盖”式保障房的融资问题。

B、先收赚到钱的人的税。把城市分为已完成城市化原始资本积累的存量部分和还没有完成的增量部分。在空间上、时间上把不同的利益主体区分开,分别制定政策,分阶段逐步过渡到更加可 持续的税收模式:1)企事业单位和商业机构,可率先开始征收财产税; 2)永久产权(如侨房、公房等),可以开征财产税;3)小产权房、城中村可以结合确权同时开征财产税;4)有期限的房地产物业,70年到期后开征财产税同时转为永久产权;5)老城新增住宅拍卖时就规定要交缴财产税;6)老城区及附近新出让的项目可以缩短期限,如从70年减少到20年或30年,到期后,开征财产税;7)所有已经有完整产权的物业,需以公共利益为目的,才可以强制拆迁,物业均按市场价进行补偿;8)愿意自行改建的,在容积率不变且不恶化相邻权的条件下,允许自我更新;9)愿意集体改造的,自行与开发商谈判条件。个别政府鼓励的项目(如危旧房),可以容积率增加等方式予以奖励。

白纸扇对“楼市股市化“和可能的问题的描述是准确的,他提到的可能带来的问题,现在正在发生。但他的解决方法,却似乎并不靠谱:

如果仔细研究走肖姓白纸扇的棋路,其总体意思就是:1)“先租后售”——在找直接税接盘之前,可以利用先租后售让最底层也买房,榨干他们的最后一滴油。2)”先富者先交税”——直接税慢慢推广,先收那些赚了钱的人(老城区房主,自住房主)的税。

然而,就目前来看,推行长租,似乎并不顺利,否则早就开始大面积推广了:

其中原因多种多样,最基本原因是往日超前消费,大建高铁、机场、行政中心、以及大量住宅,大家有空可以去看看彭博社关于住房空置率的文章,有惊喜哦:

这些修好的建筑没人住也可以空着,但建房需要的那一大批从田里洗脚上岸的建筑工人们却不得不闲下来,这样一大批人就不得不回老家,毕竟在大城市租房太贵。

另外,去杠杆又导致就业鸭梨山大,建筑业之外,银行证券行业、IT行业这些传统的用人大户招人名额都有所缩减(见此链接:),甚至出现裁员,四大则迎来史上最好一批简历:

找不到工作的人自然没理由留在大城市,只好回家——这样大城市的租金不升反降可能性自然大大上升了。

其实,即使走肖姓白纸扇的“长租代售”论得到推广。以神州人的尿性,也会上有政策,下游对策:比如租房可以,就是不买房,又比如想方设法搞租房指标。而山大王为了让你以后买房,也不会让你住得太舒服。神州房子香江化,鸽子笼指日可待。

另外,如果走肖姓白纸扇的“先富的人先交税”得以实现,很多人会卖掉老城区的房去买新房,这导致地产不断升级。而同时浪费恐怕也会不断增多。

所以,这位白纸扇是认准了病,但没找到药。

杀出一条血路来

如何找到药?

目测如今庙堂在到处试点。

雄安、海南、科创板,都是试点,希图在不影响目前系统稳定的前提下,杀出一条血路来。

上交所开辟科创版,推行注册制。其本质是那是另起炉灶,避免无谓损失(deadweight loss)。

在邪路国家,如果政府增加税收,则游客会减少支出,导致整体经济规模缩小,税基减小,出现无谓损失。同样的,神州股市的问题就是无谓损失太大——当一级市场上的联合收割机过多,则在二级市场高位变现时相当于变相收税——而散户们不知不觉之间就被收(shou)税(ge)了。

现在开科创版,搞注册制,等于是变相减税——或者说是定向减税——给搞创投的VC/PE们一条活路,同时保证科技企业能持续得到输血,保持神州经济的基本盘。这对之前提到的VC/PE来说是一个大利好——因为他们可以找到地方退出了。如果这个制度利用得好,那真是好事。

至于什么神马“A股还在ICU,老爸老妈就表示要再生一个”的笑话,明显就是原来割韭菜的人利益被侵犯,出来说点怪话而已:

怕的就是股民不愿意买,VC/PE没有退出渠道。原因很简单——肯定会有人忽悠散户,说神马一旦实行注册制,他们手里的股票说不定会真的归零。

说来神州股民也属于没脑的群氓一类,从来是不怕被收割,就怕没盼望,只要手里股票不归零,那就会一直盼望着其涨回来。至于金钱是不是有时间价值,2008年套牢价值一百万的股票,2015年涨回来还值不值一百万,他们都不会去思考的。

但如果某些无良奸商,生怕自己的壳资源利益受损,忽悠散户说他股票会真的归零,那这些散户就多半会撒泼打滚说不玩了——即使你这样是真心为散户好好——注册制以后,市场说了算,寻租会减少和壳资源不再泛滥,散户做韭菜的机率也会下降。

回头来谈庙堂的大棋路。试点的一些地方挨着数下来,雄安是千年大计,所以最近一两年并没有看见神马大的动静,一时半会还难以成为神州经济的药方。海南本来想搞点博彩,但很快就被辟谣。

现在就看这个科创板了,做得好,那是真的可以释放一点制度红利,有利于基本盘。

其实国内的问题,只刀把子还在自己手里,那在姥爷面前就都不是问题。楼市降价,可以一纸公文再抬起来;股市动荡,可以用飞鱼服解决掉白大褂。缇骑四出,统统捂住。没有一把绣春刀解决不了的事情,如果不行,那就再加一把。

最麻烦的还是外来因素。种种迹象表明,“经济铁幕即将缓缓落下”,米帝保尔森在坡县的谈话,目测就是在向神州上下传递信息:

这篇文章在国内已经发出。财迷看了看,觉得比较震撼,决定不多讲,转发在第二条,各位可以自行移步去第二条欣赏。

他是前财长,在任之时正是神州和米帝如鱼得水,相处灰常融洽之时,和73关系是极好。所以这次发声音,其实在善意提醒,告诉神州人风紧,扯呼。 不然再来一个中兴事件或者福建晋华事件,估计神州人会当场懵逼。(此处有删节)

以上信息的启示及对策

辣么,以上信息可以让我等小民获得哪些趋利避害的启示呢?窃以为有如下几点:

首先,按照白纸扇棋路,楼市价格大跌的可能极小,基本不要指望,最起码一线和强二线大跌不可能的。三四线城市则会小跌。最近合肥开发商熬不住了要降价,又被责令标会原价,其中传递的信息也是楼市是要管住的。所以在一二线的刚需可以稍微观望一下买二手房(一手房因为最近开发商高周转,质量堪忧),应该说问题不大。但三四线多套房还是该出手时就出手,然后你才可以持币上观,或者风风火火闯九州。

其次,米帝trade战和保尔森所说的“经济铁幕”估计是神州经济未来最大的不确定因素。目测米帝如果在G20上得不到很好的回答,就会再祭出各种大棒打击一下神州。这会带来的后果包括了企业本身下岗的增加和上下游企业的运转困难。然额,中兴或者晋华被一棒子打懵了,领导还会救,上下游企业要是被殃及,领导恐怕就忙不过来。那些在沿海从米帝进口产品较多的企业的员工,恐怕需要认清这个现实,存一点钱作为储备,以免被trade战殃及池鱼,搞得没有工资可以还房贷了。

再次,危机出清无胆,从赚到钱的人哪里收税也无胆。就这样拖下去终究不是个办法。所以庙堂也在是谁,要杀出一条血路来,但神州要杀出一条血路,最后总还是要桩脚的。想当初两猫斯基的时候,上有古月团长做组织部长和素鸡,真人做总经理,下有各地督抚如粤人中勋、闽项南以及后来的小团长和大海,这才把改革开放搞了起来。雄鸡诺夫在时,也是先找到四大金刚——开行耳东、建行一土、中行周公、交行博鳌老大,然后弄出四大不良资产处理公司——长城,HR,信达,东方,再加上几个护法,最后才成功地解决了国企老大难,并将神州带入世贸组织,享受了十几年红利。如今就财迷观察,桩脚和抓手也都在形成中(此处有删节),各位如果有亲友恰好属于这些桩脚和抓手可以触及的范围,又正当用人之处,好好表现,或许前途无量。当然,这里面需要机缘巧合,但机会总是青睐准备的人,不是么?

第四,虽然财迷口水都说干了,还是要多提醒一句:如今神州的形势尚未完全明朗,机会固然很多,但风险也有不少,各位适当减少重资产配置(比如三四线城市多余房产),增加轻资产配置(贵金属日元刀镑)就和学好英语,锻炼好身体一样,是永远都不会错的事。

总结:如今的神州,内部风险如楼市资产大跌土地财政对失业补贴的减少都在出现,而米帝又在暗示要降下经济铁幕,所以庙堂急需桩脚去各地试点,杀出一条血路来。搞得好那就是一波红利释放,搞不好那就企业继续债务肉偿。我等小民,一方面要想办法抓住机会,乘点春风,另一方面也要做好准备,预防风险。

https://www.kacj.com/weiyan/rouchang.html


中国多名倡导工人权利的年轻活动人士失踪

$
0
0
北京——至少12位参加全国工人权利活动的年轻活动人士失踪——他们的朋友们于周日表示——政府似乎在努力遏制这场多年来最引人注目的学生抗议活动之一。
据这些活动人士的朋友们说,过去几天,在中国至少五个城市,有身份不明的男子逮捕了这些刚刚从精英大学毕业不久的活动人士。朋友们说,几名活动人士遭到殴打,之后被推上汽车带走。
这些活动人士自称热忱的共产主义者,虔信马克思与毛泽东理想,他们发起了一场不同寻常的运动,反对不平等和企业的贪婪,在中国的一些顶尖学校,该运动获得了支持。
这场运动使执政的共产党处于尴尬的境地,该党自诩为工人权利的社会主义护卫者。现在,为配合习近平主席遏制异议和政治组织的努力,该党似乎正在加倍努力镇压该运动。

订阅“简报”和“每日精选”新闻电邮

同意接收纽约时报中文网的产品和服务推广邮件

国际特赦组织驻香港研究员潘嘉伟(Patrick Poon)说,这次镇压会为中国领导人塑造“又一个坏形象”,并指出他们过去似乎一度对劳工活动更加宽容
“我们呼吁当局立即释放学生和支持者,并允许就他们的遭遇展开独立调查,” 潘嘉伟说。
目前还不清楚在北京、广州、上海、深圳和武汉遭逮捕的活动人士有什么样的遭遇。周日警方没有立即回复电话。
在北京,北京大学的学生说,几名身份不明的男子在周五晚10点左右到达校园,追捕最近毕业于该校的张圣业,他在活动人士的运动中表现突出。学生们说,张圣业一直在组织努力寻找以前被当局拘留但下落不明的活动人士。
于天夫22岁,是北京大学历史系学生,当时他正在附近的一家咖啡馆学习,他说,张圣业遭到殴打并被拖入汽车。
于天夫于周日在社交媒体上说,他在事件中也受了伤。他说,那些人把他按在地上,捂住他的嘴,踢他的头。
“你们究竟是什么人?凭什么做出这样的事情?”于天夫说自己问那些人。
根据于天夫的说法,其中一名男子回答,“你他妈再喊就再打你!”
于天夫于周日接受电话采访,表示他坚持自己的描述,但拒绝进一步置评。在他的帖子中,他表示自己依然难以置信。
张圣业在活动人士的运动中表现突出。
张圣业在活动人士的运动中表现突出。
“他们究竟是凭借什么样的特权,才能够完全枉顾法律尊严和公民权利,”于天夫写道。“肆无忌惮地、堂而皇之地到北京大学里绑走一名同学,甚至是肆意地殴打连同我在内的其他同学?”
活动人士的失踪是活动人士和当局长期争斗的最新导火索。
这场工人权利运动始于今年夏天,当时,数十名年轻人来到中国南方城市惠州,组织示威活动,支持工厂工人,工人们说,自己被当作奴隶对待。
数周抗议和活跃的社交媒体活动之后,警方拘留了数十名工人和活动人士。两个多月后,一些人仍然被拘留。
在这之后,学生活动人士试图组织针对各种问题的抗议活动,包括中国一家苹果供应商涉嫌虐待工人,以及努力应对矽肺病的矿工。但当局试图阻止他们组织起来。
在中国东部的南京大学,一些学生举行抗议活动,谴责大学官员阻止他们将学生的马克思主义组织注册为官方团体,之后他们遭到殴打,被人带走。
在北京,人民大学的学生说,因为夏天参加惠州的抗议活动,他们被软禁并受到监视。
康奈尔大学于上月宣布,由于人民大学对学生的打击,它准备结束与该校的一项合作
抗议者们希望,如果他们接受左派理想和习近平,党就可以容忍他们对社会正义的呼声。政府鼓励研究马克思、毛泽东和列宁,而共产党长期以来一直是工人阶级的捍卫者。
但共产党迅速采取行动,阻止该运动蔓延,似乎担心抗议活动可能威胁其对公民社会的控制。
香港倡导组织中国劳工通讯(China Labor Bulletin)的传媒总监郭展睿(Geoffrey Crothall)说,中国领导人继续骚扰活动人士,无异于“为自己挖更大的坑”。他说,如果当局听取了惠州工人的呼声,就可以避免这种抗议。
“如果这样,就不会有抗议、不会有逮捕,也不会有全国各地的学生和毛派组织的团结行动,”郭展睿说。
周日,北京大学的学生在校园食堂发放小册子,宣传失踪活动人士的消息。 这些小册子里写道:“有一分力便出一分力,有一束光便发一束光,为了她们的自由,也为了照亮社会的公平正义之路。”
不久,安全人员出现并试图阻止他们的活动。 学生们坚持不懈,从一张桌子走向一张桌子,提出他们的请求。

QRCode

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

$
0
0

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

本文作者:黄善清 2018-11-18 18:55
导语:嘉宾将分享数值天气预报的现状、睿图数值天气预报体系的情况以及睿图预报数据的介绍。

雷锋网 AI 研习社按:「AI Challenger 全球 AI 挑战赛」是面向全球人工智能人才的开源数据集和编程竞赛平台,本次 AI 大赛气象赛道应用了一个很重要的数据源-「睿图」预报数据,睿图就是北京市气象局数值天气预报体系。

在本次公开课中,嘉宾将分享数值天气预报的现状、睿图数值天气预报体系的情况以及睿图预报数据的介绍,使听者对数值天气预报本身以及「睿图」预报数据有所了解。

分享嘉宾:

范水勇,中国气象局北京城市气象研究所,副研究员,主要研究方向是数值天气预报系统开发和应用

公开课回放地址:

http://www.mooc.ai/open/course/578?=Leiphone 

分享主题:数值天气预报介绍

分享提纲:

  • 什么是数值天气预报
  • 「睿图」数值天气预报系统介绍
  • 「睿图」预报数据怎么做出来的

雷锋网(公众号:雷锋网) AI 研习社将其分享内容整理如下:

众所周知,大气系统是很复杂的,主要具有这几种特征:非线性、多尺度、多圈层和多种强迫和反馈,此外,大气系统还是动力、物理和化学的综合。对于大气系统的多变性,著名气象学家 Charney 在 1951 年说过:「大气并没有向我们展现出类似潮汐变化那种类型的周期性,因此我们无法采用像潮汐预报那样的方法来预报天气。我们没有发现大气在某一特定时刻的状态与另一时刻的状态之间存在一系列的简单因果关系。」

我们的气象预报主要解决以下三方面的问题:当前的天气或气候信息、天气或气候的演变规律以及从已知预报未来的手段。在未有数据预报以前,天气预报主要建立在地面与少数高空观测基础上的主管技术,比如下图便是 1944 年美国气象学家用来做天气预报的天气图。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

这种预报比较主观,对于极端天气的预报时效很少会超过 12 个小时。

我们对天气预报的定义,是应用大气变化的规律,根据当前及近期的天气形势,对未来一定时期内的天气状况进行预测。预测主要根据对卫星云图和天气图的分析,结合有关气象资料、地形和季节特点、群众经验等综合研究后作出的。

业内主要默认有三种基本的天气预报模式:第一种是根据天气学原理和经验建立的,以物理定性关系为主的天气学模式;第二种是由当前气象要素与未来天气之间的统计关系建立的统计学模式;第三种则是利用当前气象要素的分布与未来天气之间的物理定量关系建立的动力学模式。简单进行总结的话,第一种模式对应的是天气图方法;第二种模式对应的是统计预报方法;第三种模式对应的是数值预报方法。

第一种天气学方法与第二种统计学方法都属于传统方法的范畴,其局限在于无法满足客观、定量、准确的分析需求。

为了解决天气预报的难题,业界采用了一种可行性较高的方法:首先、把大气的演变规律近似表示为一组数学方程式;第二、根据从有限观测中得到的当前大气的初始状态;第三、在已知或设定的强迫条件(包括边界条件)下,通过求解这一组方程的解,得到对未来的天气或气候状况的预报;最后、由于方程组的复杂性,难以求出其解析解(精确解),只能借助于高性能计算机用数值方法近似求解。这一系列步骤构成了我们如今的天气预报系统。

我们一般将数值天气预报称作 NWP(numerical weather prediction),指的是根据大气实际情况,在一定的初值和边值条件下,通过大型计算机作数值计算,求解描写天气演变过程的流体力学和热力学的方程组,预测未来一定时段的大气运动状态和天气现象的方法。

从这个解释来看,就会发现数值天气预报与过往天气学模式预报的不同。

它是一种定量的和客观的预报,因此,数值天气预报首先要求建立一个较好的反映预报时段的(短期的、中期的)数值预报模式,以及误差较小、计算稳定并相对运算较快的计算方法。其次,由于数值天气预报要利用各种手段(常规的观测,雷达观测,船舶观测,卫星观测等)获取气象资料,因此,必须恰当地作气象资料的调整。

如果按预报时间长短给天气预报做分类,我们可以分为以下几种:

  • 0-2 小时 临近预报
  • 2-12 小时 甚短期预报 (短时预报)
  • 12-48 小时 短期预报
  • 3-10 天 中期预报
  • 10 天以上 长期预报

数值模式预报系统的运作原理

在未有数值天气预报以前,传统的天气分析过程由观测——资料收集——填图——手工绘图——过程分析——主观天气预报组成。在引入数值模式以后,天气分析流程变成了观测——资料收集——输入电脑——资料初始化——模式模拟——客观再现历史天气或预报未来天气

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

通过数值模式,我们可以将初始状态的数值转为为对未来状态的预报,不过对操作的人有一定要求,那就是必须对演变规律有综合理论的认识。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

形象点来说,天气预报的原理是先有一个大气综合探测系统,通过资料同化系统利用探测资料对预报系统进行初始化,将大气变为三维立体空间的一个个格点,然后通过对逐一格点求解形成一组数学方程组,接着在大型计算机上进行逐时刻「推算」,最终获得未来的天气演变情况。

数值模拟系统的一共有 5 个组成部分,分别是:

  1. 客观分析和资料同化系统——主要解决从观测资料到模式可用资料的转换和优化。
  2. 初始化过程——去除资料中的干扰。
  3. 数值模式—一组数理方程组 (干模式)
  4. 物理过程参数化——描述大气中辐射、行星边界层、积云对流、海气相互作用、微量气体等(湿模式)。
  5. 数值产品的后处理——包括分析诊断再加工各类产品、图形化显示。

具体的数值预报系统流程,我们可以参考下图:

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

至于哪些必要条件是开展数值预报的必备,我们总结出了 3 点:性能相宜的计算机、良好的通信条件,保证实时原始资料的供应以及较好的数值模式

不夸张的说,数值预报产品的应用改变了预报业务的传统工作程序和思路。

按照传统的天气预报思路,我们会先从实况形势分析入手,采用运动学方法和物理分析等方法作出形势预报,而且通常先作高空形势预报再作地面形势预报,着重报出高空、地面影响系统的强度变化和移动情况,然后在形势预报的基础上再作具体的要素预报。

而有了数值预报产品以后,形势预报准确率已明显高于人工主观预报,预报员的重点是在数值预报的基础上,运用天气学. 动力气象学等有关知识和天气实况、卫星云图等资料的演变情况,判断数值预报结果是否有明显的不合理现象——如果没有,就会使用数值预报的结果:如果有,则做出订正预报。

数值模式预报系统的发展历程

我给大家科普下数值预报在发展过程当中的一些里程碑事件:

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

数值预报概念在 1904 年由挪威科学家 Bjerknes 提出,经过不停发展,在 1950 年由美国 Charney 成功实现 24 小时的预报天气形势预报,后来随着计算机技术和数值技术方法的不断进步,又获得了更大的发展。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

中国的数值预报发展要稍微晚一些。

我们是从 1954 年才有关相关的理论研究,1965 年推出北半球数据预报产品。如上图所示,从 50、60 年代开始,我国每年都有新模式提出,基本上都是一些覆盖大范围的全球性预报。直到 1997 年我国正式推出中尺度数值天气预报系统,行业才算正式步入新阶段。

中尺度数值模式得到全球的大力发展应用,其中最著名的是美国大气研究中心 NCAR、国家环境预报中心 NCEP 等多单位联合建立发展的 WRF(Weather Research and Forecasting Model),其次则是美国国家环境预报中心 ( National Centers for Environmental Prediction,NCEP) 用于业务预报的 ETA( η) 模式。

其他由美国主导的中尺度数值模式尚有:

  • 美国宾夕法尼亚大学和美国国家大气研究中心 (PSU/ NCAR) 合作研制的 MM5( Mesoscale Model 5) 模式;
  • 美国科罗拉多州立大学 (CSU) 研发的区域大气模拟系统 RAMS ( Regional Atmospheric Modeling System)。
  • 美国俄克拉何马大学 (OU) 研发的区域预报系统 ARPS(Advanced Regional Prediction System);
  • 美国北卡州立大学的中尺度大气模拟系统 MASS ;
  • 美国空军全球天气中心(AFGWC)的重置窗口模式 RWM 模式;
  • 美国海军业务区域预报系统 NORAPS6;
  • 美国 NCEP 的区域谱模式 RSM 模式;
  • 美国海军舰队数值气象和海洋中心(FNMOC)的耦合海洋/大气中尺度预报系统 COAMPS

其他国家也各自开发了独立的数值预报模式,当中较有名的包括:

  • 欧洲:ECMWF(欧洲中心中长期预报业务模式)
  • 法国: MESO-NH 模式 (中尺度非静力模式);
  • 日本: JRSM 模式 (日本区域谱模式)
  • 英国: UKMO 模式 (英国气象局业务中尺度模式);
  • 加拿大: MC2 模式 (中尺度可压缩共有模式)
  • 中国: GRAPES-meso(全球/区域同化预报系统 Global/Regional Assimilation and Prediction System,中尺度版)

其中由美国大气研究中心 NCAR、国家环境预报中心 NCEP 等多单位联合建立发展的 WRF 模式,是目前全球使用最广泛的中尺度数值模式。

所谓的 WRF(Weather Research and Forecasting Model)模式,是新一代非静力平衡、高分辨率的中尺度数值模式。这种模式结合先进的数值方法和资料同化技术,采用经过改进的物理过程方案,重点考虑从云尺度到天气尺度等重要天气的模拟及预报。

按照不同的动力框架,我们可以将 WRF 分为 ARW(the Advanced Researched WRF)和 NMM(the Nonhydrostatic Mesoscale Model)。前者由 NCAR 的 MM5 发展而来,多用于研究;后者由 NCEP 的 Eta 发展而来,多用于业务预报。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

自 2000 年初推出第一个版本以来,WRF 目前已更新至 4.0 版本,距离第一代已有 18 年的历史。

睿图数值预报系统

睿图数值预报系统英文简称为 RMAPS-ST,中文全称「快速更新多尺度分析和预报系统-短期预报子系统」。「睿图」实际上是个庞大的预报体系,我们将着重介绍短期预报子系统 RMAPS-STv1.0 系统,该系统已在 2017 年 5 月业务应用于北京气象局。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

MAPS-STv1.0 系统一共有两层嵌套区域,第一层分辨率达 9 公里,范围覆盖了全中国;第二层分辨率达 3 公里,主要覆盖华北区域。MAPS-STv1.0 系统的预报流程从世界时 00 时开始,一直持续至 21 时,根据不同业务预报需求,预报时效会有相应调整。系统每隔 3 小时快速获取一次常规观测资料(GTS)和中尺度观测资料(地基 GPS、自动站、雷达飞机观测等),主要用于资料同化程序。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

下图是 MAPS-STv1.0 系统的资料分布情况,其中包括了常规的探空、地面、飞机报和自动站的分布(东部最为密集);另外还有地面 GPS 资料(同样东部最为密集);以及针对强对流天气预报的雷达资料分布。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

与前一代预报系统 BJ-RUC v3.0 相比,MAPS-STv1.0 系统在很多方面都有了很大进步,其中包括模式版本、模式分辨率、预报范围、预报框架、资料同化技术性能、物理方案等,这些都是预报系统比较关键的参数。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

MAPS-STv1.0 系统每天将有 8 次预报,实际的启动时间要比正常时间滞后 1 小时 15 分钟。根据不同业务的预报需求,系统将有相应的预报时效安排。如下图所示,00 点、03 点的预报时效要长一些,其次为北京时间 12 点。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

由于网格覆盖范围较大,因此对计算量的需求也变得更高,一般需要 40 分钟至 2 个小时来完成所有预报流程——系统约滞后 2 小时可以看到前 12 小时的预报产品、约滞后 2 小时 15 分中可以看到 24 小时的预报产品。

为了维持数值预报的正常运算,系统采用了曙光高性能计算机,其计算峰值达到了 90 万亿次。其次,为了应付数值预报的海量数据,系统采用的都是上百 TB 的存储系统。

这里给我们的网站打个广告——www.ium.cn/rmaps,我们会在这里发布我们的天气预报产品,此外,网站上还能看到三天内的天气预报,预报的数据包含:降水量、温度、云层、强对流天气等。

为了保证预报数据的准确性,我们会通过一些统计学方程式来检验我们的系统预报性能。

下图结果显示,系统的 2 米温度的均方根误差在 1.7 度到 2 度之间;10 米风的均方根误差在 1.9 到 2.1 米/秒之间。总而言之,数据偏差基本都在可控范围之内。

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

AI Challenger 2018 全球 AI 挑战赛——-「睿图」预报数据

对于本次竞赛的睿图数据的制作,我们将提供两款数据集:

1)用于训练学习的历史预报数据集

——采用北京时间 11 点(世界时 03UTC)起始的预报

——预报时效 36 小时,数据时间间隔 1 小时

——原始预报是三维格点数据,netcdf 格式

——包含地面和特征气压层共计 29 个气象要素

——10 个观测站点,约 3 年预报样本

2)双周赛所使用的实时预报数据集

——格式、变量等与历史预报数据集相同

——实时预报数据的生成滞后 3 小时

北京城市气象研究所范水勇:数值天气预报介绍 | AI 研习社87期大讲堂

我们先获取模式格点预报数据,然后通过处理软件插值到站点上,以形成站点要素预报;接着把北京自动站逐小时观测资料读取相应站点要素,形成站点要素观测数据,最好将两个数据合成包括站点要素预报和观测的数据集(netcdf 格式),最后发给大家。

我今天的分享内容就到这里,谢谢大家。

以上就是本期嘉宾的全部分享内容。更多公开课视频请到雷锋网 AI 研习社社区(http://ai.yanxishe.com/)观看。关注微信公众号:AI 研习社(okweiwu),可获取最新公开课直播时间预告。

雷锋网原创文章,未经授权禁止转载。详情见转载须知

Bitcoin Lightning Network: run your node at home for fun and (no) profit ⚡🤑

$
0
0

Did you ever consider to install a Bitcoin Lightning Network on your own hardware? Here is how I did it.

The mandatory introduction: What is Lightning Network?

Quoting from https://lightning.network/:

Scalable, Instant Bitcoin/Blockchain Transactions

Lightning Network is trying to solve a few of the current problems that the Bitcoin is suffering: scalability (number of transactions per second, right now Bitcoin handles about seven transactions per second), speed (time required to confirm a transaction,), cost (fee to pay for each transaction).

Curiously enough, it turns out that transaction speed and cost are some of the same problems that Bitcoin is solving, but “how long a minute is depends on which side of the bathroom door you’re on”.

How it works?

The basic idea is to create a “channel” between 2 participants (let’s s Alice and Bob) and place some funds in, for example 1 BTC each. This requires a transaction on the Bitcoin blockchain, that locks the funds in a 2 multisig address. Here is the situation of the open channel:

Alice <= 1 BTC == 1 BTC => Bob # opening of a new channel

Alice and Bob can now make as many transactions as they want “off-chain”, they just need to exchange an updated “balance-sheet”: that is transaction signed by the other party (so it’s missing one of the signatures) that is not propagated to the bitcoin mainnet (yet), and that pays the updated funds to the participants.

Because the transaction are stored “off-chain”, Alice and Bob don’t need to wait for a confirmation from the main blockchain (instant transaction) nor to pay a fee to the mainnet miners (low fees).

Here is the situation of the open channel while the transactions are happening:

Alice <= 0.8 BTC == 1.2 BTC => Bob # Bob   sent 0.2 BTC to Alice
Alice <= 0.9 BTC == 1.1 BTC => Bob # Alice sent 0.1 BTC to Bob
Alice <= 0.4 BTC == 1.6 BTC => Bob # Alice sent 0.5 BTC to Bob
…
…

At any moment, a participant can make the balance-sheet “real”, signing the latest multisig transaction received from (and signed by) the other party, and broadcasting it a as regular Bitcoin transaction: the channel is now closed.

But the real power of the Lightning Network is the “six degrees of separation” idea: a participant can reach any other in just a few hops, if the “routing” is know. So if Alice has an open channel with Bob, and Bob has an open channel with Charlie, Alice can make a transaction with Charlie, and send for example 0.5 BTC to him. Here is the situation of the channels before transaction:

Alice <= 1 BTC == 1 BTC => Bob     # Bob has 3 BTC on 2 channels
Bob   <= 2 BTC == 2 BTC => Charlie

and after the transaction:

Alice <= 0.5 BTC == 1.5 BTC => Bob     # Bob is still having 3 BTC
Bob   <= 1.5 BTC == 2.5 BTC => Charlie

The total balance of Bob remains unchanged, while the balance of Charlie increase of 0.5 BTC and the balance of Alice decreased of 0.5 BTC.

Choosing the Lightning Network implementation to use

At the moment, I found only 2 main solutions that fully conforms to the Lightning Network specification (BOLTs) on the bitcoin mainnet:

I spent some time reading the features implemented by the each project, and then decide to install LND because:

  • Both projects require a full bitcoind backend daemon running on the same host (or an host reachable by net), but LND supports also a bitcoind node in prune mode: this means that you don’t need to store the full bitcoin blockchain locally (more than 200 GB at the moment), so the disk space requirements are less and I my spare 128 GB USB pen drive is more than enough.
  • LND has an experimental support for the neutrino backend (only testnet at the moment), a Bitcoin light client, that further reduce the disk space requirements: I bet that soon or later it will reach a production ready quality, and that I could switch to it.
  • LND has an automatic channel management (autopilot), that creates and manage channels.
  • LND has “nat” feature: this allow to advertise the node to the network as long as it’s behind a single NAT, automatically handling the change of the public IP address, so that less scripting tricks are required on the node.

Let’s the fun begin: Preparing the Lightning Network node

Before the installation, I read and digested a few good guides, that I have to give credits:

Hardware setup

I had a Raspberry Pi 3 Model B+ mostly unused at home, a spare 128GB USB pen drive and a good network connectivity, so I tried to reuse those components. Please mind that you need to run your node 24/7, so a noiseless host is preferable. I installed some heat sinks on the Pi to avoid to have a fan running all the time while keeping the CPU temperature in a safe range. During the full installation process and further daily running operations, the temperature of the CPU never exceeded 65°C, safely below the max temperature of 85°C: anything above this and the Pi will throttle the CPU frequency to bring the temperature back down.

Setup of operating system on the Raspberry Pi

The installation of the operating system on the Pi is pretty simple: I decided to run an headless host, so I downloaded the Raspbian lite image from the official repository here: https://downloads.raspberrypi.org/raspbian_lite_latest and wrote the image to a MicroSD card, as explained here: https://www.raspberrypi.org/documentation/installation/installing-images/

Remember to add an empty file ssh in the root of the MicroSD: this is required to activate the ssh remote connectivity, otherwise you can’t login into the Pi from the network and configure it.

Then using the nmap map tool I found the ip address given by my home router to the Pi

> $ nmap -sP 192.168.1.0/24

and started an ssh session using the default user pi and password raspberry.

> $ ssh pi@192.168.1.134

To complete the configuration of the Pi, I run the raspi-config tool from the command line, tweaking the parameters to configure the WiFi SSID and pre-shared key, the locale, the timezone, enabling the ssh connectivity. Because the node is running headless, I also decreased the amount of memory made available to the GPU, in Memory split.

I then read the section “Mounting an HDD” in the raspberry guide https://www.raspberrypi.org/documentation/configuration/external-storage.md to mount my USD pen drive as a

Hardening

Because this is node is connected to the internet and is managing “money”, is better to enter the “paranoia” mode.

In order, what I did:

  • Removed the default user pi and created a new user to use as the main user to connect to the Pi.
  • Configured the passwordless ssh, following this guide https://www.raspberrypi.org/documentation/remote-access/ssh/passwordless.md and then allowed only the login via SSH certificate, changing the settings ChallengeResponseAuthentication and PasswordAuthentication to no in the file /etc/ssh/sshd_config
  • Created a “service” user bitcoin to run the demons required to interact with the Lightning Network, running sudo adduser bitcoin

What I should also do:

  • Install fail2ban to automatically ban IP addresses that make too many password failures. My Pi is behind an home router that doesn’t forward ssh port, so this is not strictly required, but this can prevent attacks generated from other compromised device in my home network (smartphones, laptops, smart tv….)
  • Install a firewall

Utilities

Here some handy aliases that I added to ~/.bashrc to make life easier:

# handy aliases
alias ..=’cd ..’
alias …=’cd ../..’
alias ….=’cd ../../..’
alias …..=’cd ../../../..’
alias ……=’cd ../../../../..’
alias 1=’cd -’
alias _=sudo
alias afind=’ack -il’
alias d=’dirs -v | head -10'
alias l=’ls -lah’
alias la=’ls -lAh’
alias ll=’ls -lh’
alias md=’mkdir -p’
alias rd=rmdir

Remember to reaload the ~/.bashrc

source ~/.bashrc

Then I installed iftop, a useful utility to monitor the network traffic that run in a terminal

sudo apt install iftop
sudo iftop -i wlan0

PuTTY configuration

I use PuTTY to connect to the RaspberryPi. Here is how I changed the default configuration for the connection:

  • terminal → keyboard → The function keys and keypad → Linux
  • connection → seconds between keepalive → 30

Installing bitcoin core on Raspberry Pi

LND works with bitcoind as backend, so I first installed the latest bitcoin core software (https://bitcoincore.org). I quickly prepared a script, that I can reuse in my next projects, to download bitcoin core, verify the checksum and install the binaries:

BITCOIND_VERSION=0.16.3
ARCH=arm-linux-gnueabihf
BITCOIND_ARCHIVE=bitcoin-${BITCOIND_VERSION}-${ARCH}.tar.gz
cd /tmp \
    && wget https://bitcoincore.org/bin/bitcoin-core-${BITCOIND_VERSION}/${BITCOIND_ARCHIVE} \
    && wget https://bitcoincore.org/bin/bitcoin-core-${BITCOIND_VERSION}/SHA256SUMS.asc \
    && wget https://bitcoin.org/laanwj-releases.asc \
    && SHA256=`grep "${BITCOIND_ARCHIVE}" SHA256SUMS.asc | awk '{print $1}'` \
    && echo $SHA256 \
    && echo "$SHA256 ${BITCOIND_ARCHIVE}" | sha256sum -c - \
    && gpg --import ./laanwj-releases.asc \
    && gpg --verify SHA256SUMS.asc \
    && tar -xzf ${BITCOIND_ARCHIVE} \
    && sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-${BITCOIND_VERSION}/bin/* \
    && rm -rf /tmp/* \
    && bitcoind --version

As suggested by the Stadicus’s guide, I linked the bitcoind data directory /home/bitcoin/.bitcoin to a directory on the external USB pendrive:

sudo su bitcoin
ln -s /mnt/hdd/bitcoin /home/bitcoin/.bitcoin

and created the /home/bitcoin/.bitcoin/bitcoin.conf , activating the prune mode (note the prune=550 parameter).

vim /home/bitcoin/.bitcoin/bitcoin.conf
# Bitcoind options
server=1
daemon=1
txindex=0
disablewallet=1
prune=550
# Connection settings
rpcuser=XXXXX
rpcpassword=YYYYY
onlynet=ipv4
zmqpubrawblock=tcp://127.0.0.1:29000
zmqpubrawtx=tcp://127.0.0.1:29001
# Raspberry Pi optimizations
dbcache=100
maxorphantx=10
maxmempool=50
maxconnections=40
maxuploadtarget=5000

Now the time consuming task, the Initial Block Download , the system need to download and verify all the blocks (from 2009) to catch up to the tip of the current best block chain.

I said before that lnd supports a bitcoin core backend in prune mode, this means that the old blocks are purged from the local disk, but they as still downloaded and validated: I started the process, but I quickly realized that full process would have taken more than 10 days… Someone suggests to use a separated device, with a more powerful CPU, to download and validate the blocks, and then copy the validated blocks on the Pi.

Spawning an Amazon EC2 instance to speedup the IBD

I don’t have a spare device fast enough to leave 24/7 crunching data, so I quickly spawn an m4.large instance on Amazon EC2 with an additional 50 GB EBS volume, visible as /dev/sdf . I used the amzn-ami-2018.03.a-amazon-ecs-optimized (ami-c91624b0), that natively supports docker, and then run bitcoind using a docker image. Here a quick recap:

  • Formatting and mount the additional EBS volume
sudo mkfs.ext4 /dev/sdf
sudo mkdir /mnt/bitcoin-data
sudo mount /dev/sdf /mnt/bitcoin-data/
  • Cloning repository and build the docker image
sudo yum install git
git clone https://github.com/dougvk/lightning-node.git
cd lightning-node
docker build . -t bitcoind
  • Running the bitcoind node for the first time checking the progress
docker run --name bitcoind_mainnet -d -v /mnt/bitcoin-data/bitcoind:/data -p 8333:8333 bitcoind
docker logs --tail 10 --follow bitcoind_mainnet
  • Stopping the bitcoind_mainnet process after a couple of minutes, and adding prune=550 to config to activate the blocks pruning
docker stop bitcoind_mainnet
docker rm bitcoind_mainnet
sudo yum install vim
sudo vim /mnt/bitcoin-data/bitcoind/bitcoin.conf
  • Starting again the bitcoind_mainnet process and wait for the Initial Block Download
docker run --name bitcoind_mainnet -d -v /mnt/bitcoin-data/bitcoind:/data -p 8333:8333 bitcoind
docker logs --tail 10 --follow bitcoind_mainnet

Then I waited for about 15 hours to eventually have progress=1.000000

2018–09–19 18:57:35 UpdateTip: new best=00000000000000000020aaf1f04a1ae2025408d044d936100a65c4b6e22a0853 height=542137 version=0x20000000 log2_work=89.696461 tx=342737382 date=’2018–09–19 18:57:22' progress=1.000000 cache=83.4MiB(410453txo) warning=’6 of last 100 blocks have unexpected version’

The cost of the m4.large instance is $0.10/hour, so it’s an affordable investment.

Now is possible to stop the bitcoind_mainnet process, and transfer the content of

  • /mnt/bitcoin-data/bitcoind/blocks
  • /mnt/bitcoin-data/bitcoind/chainstate
  • /mnt/bitcoin-data/bitcoind/database

to the RaspberryPi in /home/bitcoin/.bitcoin and terminate the EC2 instance (remember to delete the additional EBS volume too).

Starting bitcoind

Finally I created a systemd service, using this config (“stolen” from the Spadicus’s guide)

sudo vim /etc/systemd/system/bitcoind.service

[Unit]
Description=Bitcoin daemon
Wants=getpublicip.service
After=getpublicip.service

[Service]
ExecStartPre=/bin/sh -c 'sleep 30'
ExecStart=/usr/local/bin/bitcoind -daemon -conf=/home/bitcoin/.bitcoin/bitcoin.conf -pid=/home/bitcoin/.bitcoin/bitcoind.pid
PIDFile=/home/bitcoin/.bitcoin/bitcoind.pid
User=bitcoin
Group=bitcoin
Type=forking
KillMode=process
Restart=always
TimeoutSec=120
RestartSec=30

[Install]
WantedBy=multi-user.target

and finally started the service

sudo systemctl enable bitcoind.service
sudo systemctl start bitcoind.service
sudo systemctl status bitcoind.service
● bitcoind.service - Bitcoin daemon
   Loaded: loaded (/etc/systemd/system/bitcoind.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-09-19 10:25:05 CEST; 6min ago
  Process: 9482 ExecStart=/usr/local/bin/bitcoind -daemon -conf=/home/bitcoin/.bitcoin/bitcoin.conf -pid=/home/bitcoin/.bitcoin/bitcoind.pid (code=exited, sta
  Process: 9353 ExecStartPre=/bin/sh -c sleep 30 (code=exited, status=0/SUCCESS)
 Main PID: 9485 (bitcoind)
   CGroup: /system.slice/bitcoind.service
           └─9485 /usr/local/bin/bitcoind -daemon -conf=/home/bitcoin/.bitcoin/bitcoin.conf -pid=/home/bitcoin/.bitcoin/bitcoind.pid

Installing LND on Raspberry Pi

Finally, I installed LND (https://github.com/lightningnetwork/lnd/blob/master/README.md)

I first prepared a small script, (that I want to reuse for another project: running a Lightning Network node on Docker), to run as the “admin” user:

LND_VERSION=v0.5-beta
ARCH=linux-arm64
LND_ARCHIVE=lnd-${ARCH}-${LND_VERSION}.tar.gz
cd /tmp \
    && wget -q https://github.com/lightningnetwork/lnd/releases/download/${LND_VERSION}/${LND_ARCHIVE} \
    && wget -q https://github.com/lightningnetwork/lnd/releases/download/${LND_VERSION}/manifest-${LND_VERSION}.txt \
    && wget -q https://github.com/lightningnetwork/lnd/releases/download/${LND_VERSION}/manifest-${LND_VERSION}.txt.sig \
    && wget -q https://keybase.io/roasbeef/pgp_keys.asc \
    && SHA256=`grep "${LND_ARCHIVE}" manifest-${LND_VERSION}.txt | awk '{print $1}'` \
    && echo $SHA256 \
    && sha256sum ${LND_ARCHIVE} \
    && echo "$SHA256 ${LND_ARCHIVE}" | sha256sum -c - \
    && gpg --import ./pgp_keys.asc \
    && gpp --verify manifest-${LND_VERSION}.txt.sig \
    && tar -xzf ${LND_ARCHIVE} \
    && sudo install -m 0755 -o root -g root -t /usr/local/bin lnd-linux-386-${LND_VERSION}/* \
    && rm -rf /tmp/* \
    && lnd --version

Now the systemd service startup script, inspired from the Stadicus’s guide:

sudo vim /etc/systemd/system/lnd.service

[Unit]
Description=LND Lightning Daemon
Wants=bitcoind.service
After=bitcoind.service
[Service]
ExecStart=/usr/local/bin/lnd
PIDFile=/home/bitcoin/.lnd/lnd.pid
User=bitcoin
Group=bitcoin
LimitNOFILE=128000
Type=simple
KillMode=process
TimeoutSec=180
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target

Because I’m running lnd with nat option, there is no need to explicitly set the --externalip=x.x.x.x startup parameter.

After the lnd daemon was running, I created a new wallet address to use:

lncli create

and then generated a new Bitcoin address to receive funds on-chain:

lncli newaddress np2wkh

and sent some BTC to it.

After a while, lnd started to create new channels on the Lightning Network:

lncli listchannels
{
 "channels": [
 {
 "active": true,
 "remote_pubkey": "02ad6fb8d693dc1e4569bcedefadf5f72a931ae027dc0f0c544b34c1c6f3b9a02b",
 "channel_point": "a33efe63ce594592cd6f8a3a6e8a68998f0dfa6b02b4e599df8b2f80f5d17f49:1",
 "chan_id": "596552128324173825",
 .....
 .....
 },
 {
 "active": true,
 "remote_pubkey": "02fcc4b0a87749b022f05568d5ef893b7893bcbaa99276bbbb55d9e9abc1bdced0",
 "channel_point": "878461d5557ba4b72951a1d0d02439ff8ed076a25a585b8b75e3666778e53895:0",
 "chan_id": "596558725467734016",
 .....
 .....
 }
 ]
}
The Raspberry Pi3 running a Lightning Network node

Let’s the (no) Profit begin

I’m running my Lightning Network node for only few days, but it’s clear that, as expected, is not generating any profit at all:

lncli feereport
{
 "channel_fees": [
 …
 …
 …
 ],
 "day_fee_sum": "0",
 "week_fee_sum": "0",
 "month_fee_sum": "0"
}

Why? ok, Lightning Network is still is it’s infancy, but IMHO the root cause is the topology of the network itself: it’s not distributed at all.

Let me explain this better: according to https://1ml.com/ today we have 3,544 nodes, providing a network capacity of 112.16 BTC in 12,160 channels, but guess what: the top 20 nodes by BTC capacity, just the 0.56% of them, control 85% of the total BTC capacity and 33% of total channels.

the “not decentralized” distribution of lightning network capacity

So it’s easy to figure out that the actual topology is a based on few “super hubs” that route the big part of the payments, and get the fees.

Is this a bad thing®? I’ll expose my opinion in a upcoming story.


Feel free to connect my Lightning Network:
>$ lncli connect 039401f72bc0d40efb58b01de15527a2a5ae1943d7c29067b725a1467a93c7e66f@2.238.144.76:9735

Install Lightning Network

$
0
0

Install Lightning Network

Installation guides for Lightning Network

Find crypto jobs using Coinmonks jobs portal

Join Coinmonks contributors telegram group.

Donate to Coinmonks

I am listing out Lightning network installation guides with different operating systems and cloud services.

Install Lightning network on Digital Ocean

by Ronald Mannak

Install Lightning network on Windows

by Johnny Pham

by Jad Mubaslat

Install Lightning network on Raspberry Pi

by Simonluca Landi

Install Lightning network on Google Cloud

by Li Labas

Install Lightning network on Linux

by Damian Mee

Install Lightning network using docker

by Doug von Kohorn

Hopefully these guides will help you and if you find any more useful guides, please comment below. We will include them too. 😃

Also check Coinmonks curated Lightning network articles.

Now its time for some 👏

Viewing all 764 articles
Browse latest View live