(转载)巴菲特卖中石油股票卖错了吗?

巴菲特卖中石油股票卖错了吗?

 http://qinhefang.blog.sohu.com/68766099.html

在中国内地和香港股市持续高涨之际,被誉为“股神”的巴菲特卖空“亚洲最赚钱的公司”中石油的股票引起一片轩然大波,尽管巴菲特在中石油身上已经获得数倍的赢利,但巴菲特卖空之后中石油的持续强劲上涨,至少使得巴菲特“看起来”少赚了上百亿的回报,众多言论认为巴菲特这次是犯了一次错误,或者说从巴菲特面临中国经济的强劲增长,仅仅投资了中石油这一支股票,其“保守”说明巴菲特并不懂中国经济,历史或将证明在投资中国经济未来这一票上,巴菲特也许会出现失算。

首先应该说,巴菲特卖出并不意味着中石油股价就应该下跌,或者说中石油股票就已经没有投资价值了。但反过来说,中石油继续上涨,也不意味着巴菲特就犯了错误。都知道巴菲特秉持的是“价值投资”理念,但巴菲特的的投资理念里还有一条,就是要“看得懂”。“价值投资”是价值观,“看得懂”是方法论,用“价值投资”的眼光,找到了确实“看得懂”的股票进行长期投资,那么投资的风险就可以大大降低。只有在这种情况下,才可以以少失手、少犯错误来换取数十年的复利增长,使得看起来并不是非常高的年收益率显示出长期惊人的回报。

那么在卖出中石油股票的决策上,巴菲特到底是因为认为中石油股价已经从价值投资转为投机行为了呢还是因为看不懂?从巴菲特接受央视《经济半小时》栏目记者采访的回答看,应该是巴菲特认为中石油的赢利没有可持续性,就是巴菲特认为中石油能够成为“亚洲最赚钱的公司”和“市值第一”的公司,更多的拜全球油价上涨,而不是公司自身的赢利能力,尽管可以预计随着中国经济规模的进一步膨胀,拥有垄断优势的中石油的发展空间和赢利保证是可预期的,但从历史上油价的波动规律看,油价的涨落有一个周期性的循环,当油价进入下降周期之后,中石油的业绩将难以避免的受到重大影响。可以想象,受高油价的刺激,资本不但在追逐石油公司的股票,更会将无数的投资倾撒到各个可能增加能源供应的角落,而在能源的应用市场上,节能措施和技术也正在得到大力的推广(包括中国政府的节能减排行为),到一定程度,将导致油价上涨趋势的逆转。这种大趋势的准确时间尽管不确定,但周期性的波动规律是一定的。能源供应的这种特征导致能源企业的赢利也同时具有了周期性。

那么至少来说,中石油的股价在这个价位上,风险是增加了的,尽管仍然有非常大的可能继续上涨,甚至长期上涨,但对于一个追求稳健与长期回报的“价值投资”者来说,已经不是上佳的选择。

尽管号称“股神”,资本市场也无须唯巴菲特马首是瞻,毕竟他有他的投资理念,别人有比人的投资理念,巴菲特只是选择了了一种他自己熟悉的而且被证明有效的投资方式。其实,资本市场有多种投资方式,比如相对于价值投资,还有趋势投资,相对于稳定回报,还有风险回报,但从长期投资回报的角度考察,能控制什么风险,才能不受伤害的吃到什么“美味”,虎口拔牙并不是最危险的,最危险是不知道老虎原来可以吃人。

有一点是肯定的,以10-20年的长周期看投资回报,收益最大的肯定不是在牛市中最赚钱的,而是在牛市中赚了钱还有效的回避了牛熊转换的风险的投资者。

 

注:不管巴菲特是不是如他宣称的对石油价格没有信心而卖的中石油,反正他是大赚了一笔。即使是油价没有如他所指的下跌而是大涨,中石油也没赚钱–没有市场化的价格。这是不是也是他没有信心的原因之一呢?这就难说了。反正人家是赚了跑掉了。

Cohesion&Coupling

http://www.infoq.com/news/2008/04/soa-cohesion

高内聚,低耦合不是什么新鲜东西(曾经某人的签名档)。如果吧低耦合和WebService或者SOA关联起来。那么这篇文章就是高内聚和低耦合的一场争论。

JIm Webber首先说高内聚高耦合是不好的,但低内聚低耦合的系统也同样不好扩展。进而他提出WebService不能太松散,必须要反映一个真实的商业需求才有存在的意义。换句话说更细的划分是没有意义的。(这倒是某人说过的,不能把所有的方法都封装成WebService,要在现实世界中存在的东西才有WebService)

而JJ提出内聚是过去的标准,现在要用全新的眼光来看SOA,就要提倡低耦合。

讨论还在继续。而他们显然都认为内聚和耦合不能并存或者说不能同时发展。似乎这两者必然是此消彼长的。为什么呢?如果确定一个明确的边界,就不能同时着力于两者吗?

也许是不能的。因为边界不明确。即使是文章开始部分Steve提出的三种“好”的内聚,在现实世界中也不是永恒稳定的,变成“坏”的内聚的情况随时可能发生。那么软件重构就不可避免。如何能快速地适应呢?如果一开始就把最有可能变成“坏”的内聚的“好”内聚们低耦合化,或者说WebService化,也就是分开来。是不是会好一点呢?

http://udidahan.weblogs.us/2008/04/23/visual-cobol-enterprise-processes-and-soa/

但还是那句话,边界不是确定的。某人的文章又搞出个Enterprise Process和Business Process的区别。这足以说明,很多东西完全在乎你怎么看。你可能在做低耦合的时候,破坏了一个东西的内聚性;又或者在内聚一些东西的时候,忽视了它们间低耦合的可能性。两者的结果都是代码很难改: 前者的产物是一堆分散的代码,改一个简单的过程要同时变很多地方,虽然有重构工具的帮忙,也很难说不改错一两个。后者的产物是一份自成一体的超级代码,也许没几个人能看懂,更不用说改了,而且多人团队的话还存在一个版本同步的问题。

 

这两种情况可以说都是常见的头疼的状况。有没有银弹呢?我想,只有在开发者事先已经对这种边界有一定的正确预期的情况下,事先的一些假设不能被打破。那么内聚是好的,否则。。。。至于耦合那种不良后果,虽然可以说是没有内聚好的结果。但世事逻辑相类者众,只要有了耦合和重用,那么很可能就有从新组合优化的空间的存在。。。。说来说去,还是没有一个简单的答案。。。。。

 

 

 

 

再论Unique ID

其实这个问题已经研究过一次:

http://yww325.blog.163.com/blog/static/2946319200811394754466/

但前几天在代码里重新看到这个用例

 t.Text = (string)System.Web.HttpContext.Current.Request[t.UniqueID]; //losing data after post back

又想不起来这代码是干什么用的了,注释起来看看好像也没问题–结果导致了一个bug。

所以,再总结一下,无论是myText.Text = (String)ViewState[myText.UniqueID];还是上面的格式,都是利用UniqueID来恢复显示/使之有效 postback时候的数据。这样数据处理的时候才不会丢。对静态的控件不用显式地如此赋值,

但对于动态的控件,Controls.Add之后的这一步就不可少。