月度归档:2015年07月

我关于股市、楼市和汇率之间联系的猜想兼谈最近股市

曾荫权有一段话,似乎揭示了汇率和资产价格的关系:“我們攬著這個大水泡30年了,一定要跟著它走,無得改變,如果再變就‘論盡’。人們信我們是因為持之有恆,90年代幾辛苦,我們攬著水泡,資產值全部跌也捱得住……我敢向你說,我以數十年經驗來說,聯繫匯率是一種紀律,有時覺得它是負擔,但對香港來說是發揮強大穩定作用的。”

上面说的90年代很辛苦,说的应该就是1997年香港救股市,稳定汇率的事情了。当时香港楼市泡沫破裂,汇率和股市被救起,无数港人不得不辛苦工作供已经是负资产的楼。

因此,猜想就是,在国家经济停滞不前的状况下,汇率,楼市和股市三者不可同时保持坚挺,汇率稳定,则股市要崩盘,楼市会承压,如果楼市投机氛围严重,楼市也会崩盘,否则,楼市和股市稳定,汇率必跌。

日本的情形似乎也验证了这一猜想。日元坚挺,楼市和股市长期萎靡不振,安倍实行量化宽松后,日本股市暴涨,汇率暴跌,楼市则由于日本人口结构以及日本的税务原因,始终不见起色。

对于中国来说,1994年人民币一次性贬值到8.7,随后一直稳定在8.27左右,直到2005年一次性调整为8.11,随后开始了缓慢升值的道路,最高见6.0x,然后开始在6.0x和6.3之间波动,近期维持在6.2x附近。人民币开始是与美元挂钩的,随后改为一篮子货币。

1990年代初期,中国面临了第一次房地产泡沫破裂,随之而来的是1994年一次性汇率贬值。接下来迎来了国企改革,大批工人下岗,生活穷困潦倒,随后中国房改,迎来了十年黄金的楼市牛市,而股市也于2006年启动,迎来了人民币升值而带来的股市大牛市。

也就是说,随着房改,中国的发展,中国迎来了汇率,楼市和股市的重新估值,因此三者都形成了一波大牛市,一旦中国经济增速放缓,那么汇率,楼市和股市将面临三者不可兼得的情形,从历史经验来看,楼市必须稳定,汇率也需要保持稳定,那么,股市必然会有崩盘的风险。

香港楼市1967-1981第一波主升浪,正好是香港人口暴涨的阶段,应该算是人口红利牛,1984-1997香港楼市又一波大行情,时代背景是中国改革开放的改革牛。1997年恰逢亚洲金融危机,香港政府维护汇率,救股市,楼市大跌,同时银行间拆借利率暴涨。

香港的汇率市场,1972年以前以16港元:1英镑与英镑挂钩,1972-1974分别以5.65和5.085港元对一美元与美元挂钩,1980年代由于香港前途问题(回归中国,社会主义还是资本主义,会不会共产共妻),1983年港元跌至9.6港元:1美元,同年10月15日,香港实行联系汇率制7.8港元:1美元至今。

香港股票市场,恒生指数1969年到1971年从160.05涨到406.32,到1973年1774.96点,到1974年12月10日恒生指数又跌回150.11点,1978年大陆改革开放,港股从383.4点起,1981年7月17日涨到1810点,1984年中英联合声明后,香港政治前景稳定,股市继续走牛,直到遇上1987年股灾,1987年10月19日,恒生指数收3362.39点,到了12月7日,恒生指数跌至1876.18点。

 

集成支付宝SDK:ALI64,ALI59错误以及计算机的小数

最近我手头有一个iOS项目要集成支付宝SDK,集成过程中,遇到了ALI64和ALI59错误。

ALI64错误,此类错误一般都是签名不正确。

  1. 通常是没有把公钥上传到支付宝后台,解决方法就是要到支付宝的后台上传公钥就ok了。
  2. AlipayOrder对象(2015版本支付宝的Demo中给的辅助类,这个版本的Demo使用的是mobile.securitypay.pay)的productDescription没有设置或者设置了但是设置成为@””,这个和支付宝的签名机制有关。
  3. 2016年11月14日更新:mobile.securitypay.pay)中在服务器端计算签名的字符串和返回给客户端的字符串不一致,例如,服务器端计算签名的subject参数是”A%20B”,但是返回给客户端的却是”A B”,这就会造成签名不对,尽管按照URL转义编码的角度来说”A%20B”和”A B”是一回事,但是,支付宝签名认为这两者是不同的。
  4. 2016年11月14日更新:2016版本的支付宝Demo使用的是alipay.trade.app.pay,这个API的签名计算方式与mobile.securitypay.pay的有所不同,请大家严格参照支付宝给出的Demo和新版本的AlipayOrder类和BizContent类进行编码,切勿自己实现。

至于ALI59错误,则是由于传给支付宝的参数有问题:不外乎以下几种情形

  1. 订单金额不是两位小数,alipayOrder.amount的类型是NSString,不是float,所以用stringWithFormat的时候千万不要忘了%.02f,否则就会出现意外的99999结尾的字符串了。具体可以参考:浮点数运算:问题和局限 
  2. out_trade_no有中文字符

以上都是笔者遇到过的情形,如果你也遇到了,可以参考一下,如果你遇到的情形本文没有包含,欢迎补漏。下一期笔者将讲讲微信支付的话题。