投资日记 #1期:芒格投资哲学

一、随便聊聊 🔗︎

本周杭州下了几场大暴雨,来杭州快10年了,第一次见这么大暴雨。杭州每次大雨必堵车,这次大雨让很多隧道积水,地下停车积水,路面积水也不足为奇了。好在我上班近,走路上下班,没那么烦恼。 上周买了200多RMB的书籍,书单基本都是别人推荐的,最近涉及的领域主要是投资、编程算法、旅行小说、个人传记、名著之类的,后续我的读书笔记都会有涉及。我一般看完书,就会规划买下一批书籍,是我为数不多的消费和乐趣。 本周健身不那么规律,下班后2次室内健身操,3次早上俯卧撑20个左右。本人体重在67kg左右(身高170cm),希望能更瘦一些。

二、本周阅读 🔗︎

本周阅读量还可以,归功于早上6,7点醒了,自动起床不贪睡,希望继续保持。

《芒格之道》是一本大部头,书很厚,是每年芒格开的股东大会的谈话记录。

芒格之道

芒格之道

关于芒格的处事原则和投资方法,看完以后还是很有收获的,最大的感触就是成功不是无缘无故的,都是用心做人做事的结果,然后加上好的机会。人一生大概有2、3次好机会,保持好好做事做人,也许能改变自己的命运。

随心笔录(能记住多少算多少,写下来):
1、以合理价格购买超出价格的内在价值,就是价值投资
2、有一个人问莫扎特为什么你这么有才华,15岁的时候就会作曲。 莫扎特回答: 我15岁的时候可没到处问别人怎么成功的。反思:你只管去做,每个人都有每个人的成功之道。
3、有一位斯坦福大学的老教授说,你有什么问题只管来问我,我会让你更困惑。
4、诚实、正直、善良,不碰赌博。保持这些品格或者原则不会有错,也是一个人的成功之道。
5、有人问芒格应该是从小公司里找机会,还是找大公司。他回答说小资金,他愿意在市场上寻找小公司机会,比较困难,风险系数可能较高;等芒格有一定资金量后,他选择伴随优秀的大公司好生意一起成长。反思: 前一条路比较考验人的能力,后一条路可能更稳妥,收益估计也不低。
6、买股票就是买公司。那么必然买股票是一个长期的事,而不是短期的,短期的话是投机而不是投资。买公司的判断依据是好生意,好生意不能从财务指标看,而应该看懂生意模式,就是它是怎么赚钱的,是否能长期保持竞争优势,并且不需要投入巨大的资金保持这种优势。
7、护城河总是会消失的,只是时间长短问题。就像生物进化一样。芒格举了一个例子,比如报纸行业随着互联网的发展慢慢消亡了。
8、有些公司以前的生意不那么好,但是慢慢地突然会变好。芒格提到的铁路公司,以前有很多家铁路公司,并且卡车运输优于铁路,但是随着时间推移,铁路只剩下4家,新的竞争对手不那么容易进来了。
9、芒格提到的几个重要的财务指标:1是资金投资回报率,也就是净资产收益率 2是净现金流额
10、芒格说净现金流额大于净利润来判断是否是一家好公司。净利润不一定是真实的,净现金流额说明这家公司每年都有比较多的现金来投资。有些公司每年净利润很好,但是不产生净现金流,这样的公司不要碰。
11、好生意是那种一眼就能看明白的。芒格提到好的投资应该像桶里射鱼,甚至是等鱼不动弹了再射。 12、好价格可以从未来现金流折现去判断。比如这家公司未来能挣到1000元净利润,按照8%折现率,那么到今天的价值是多少:1000 / (1 + 0.08)^1 ≈ 925.93元。
13、一般市场都是有效的,但是因为人性,市场有时候会失效。如何判断是否市场失效,需要确定是否是好生意、好价格。然后要更能明白人性的错误,需要考虑多元模型思维,比如心理学误判。 14、芒格提到投资有能力圈,要到人少的地方投资,比如中国投资,美国市场非常成熟,价值投资者很多,但是中国可能股价还没有完全体现内在价值。在能力圈范围内,你具备的优势是什么,比如你是否具备信息优势,掌握了普通人没有掌握的信息。
15、芒格提到大部分人买股票不知道自己买的是什么。也就是大部分不懂得价格,也不懂什么是好生意。不在自己能力圈范围外的东西,不碰,是需要考验人性。 16、芒格提到永远不要尝试教育别人,降低预期,才能更加幸福。
17、永远反着想。比如如果你要成为一个优秀的XX, 你只要不做那几件事,或者做好几件事就行了。
18、一个问题吃透想透,比你看了100个问题有用。
19、宏观模型是有用的,但仅仅是明白世界的运行原理,但是不能依靠宏观模型来决策套利或者投资。
20、长期看,50年生意也许能看明白,60、70年可能就看不明白。
21、年轻对投资来说是一个优势。因为时间。 22、芒格在经营每日期刊时收购了很多小报纸,建立了法律公告业务,也就是律师必须买他的报纸看法院判决等信息,给他带来不菲的收入。反思: 启发什么是好生意,或者说竞争优势。 23、选择比你更聪明的妻子,首先你要很聪明,因为你妻子不傻。选择与优秀的人才同行,首先你要优秀。
24、远离那些具备不好品质或者原则的人。
25、芒格一生也才2/3个至交好友,一同交流。反思:人生还需交2/3个好友沟通学习,不要闭门造车。
26、芒格提到,如果普通人长期投资“漂亮50”股票,也能取得不错的收益。反思:长期伴随优秀企业成长的策略可能没有问题。
27、主动性基金因为收取管理费,他们是躺在赚钱,即便收益率亏的一塌糊涂。同时因为管理费的原因,无法跑赢指数基金。大多数人应该投资指数基金。
28、芒格提到他投资有一个检查清单。反思:清单应该是思维模型下的原则或者思考检查。
29、投资永远都是在比较。芒格在每日期刊期间基本不保留现金,他会对比他目前的机会,选择对他最好的方式,相同机会下一般他更愿意选择股权。因为现金是确定会贬值的一种存在形式。

三、本周编程 🔗︎

本周业余时间编程不多,研究基本的数据和算法,主要是跳表这个数据结构,重新学习图的存储和遍历。前端领域因为工作中用的多,后续有时间慢慢写。

数据结构是为算法服务的。最近对这句话有更深的理解。 比如跳表这个数据结构,能快速插入、删除、查找,它的平均时间复杂度O(logn),当然最差也是O(logn)(退化为普通链表)。它的算法图解:

跳表算法图解

跳表算法图解

想到快速查找、删除、插入,很快能想到的是红黑树和哈希表。那么跳表的优势是什么?跳表能保证有序性,所以范围查找更具备优势。红黑树实现起来更复杂。邻接表的链表可以用跳表替换,另外数据库索引也是采用了跳表实现高效查找。 跳表本质上是链表,在上图可以看到每个节点除了数字,还有黑色小圆点,这里的黑色小圆点的作用是保存下一个节点的指针。所以每个节点的数据结构:

class Node {
    constructor() {
        this.data = -1; // 数据
        this.forwards = new Array(this.MAX_LEVEL);// 黑色小圆点
        this.maxLevel = 0;
    }
}

这样简单数据结构就可以满足跳表的算法(见图解),非常简单有没有! 具体实现插入、删除函数时,还需要辅助数据结构。这里关键的是:update数组存储search path,update数据长度是层级的大小。为什么要这个辅助数据结构,因为插入删除操作需要调整指针,没有这个数组,你不知道当前搜索位置在哪里,当前层级的下一个节点是哪个,也就无从插入和删除了,所以它是必要的。 从这个案例上,数据结构的确是为了算法服务的。因为我们需要实现不同层级黑色小圆点,所以设计了forwards数组,然后因为要保存搜索位置,所以设计了update数组。

图的存储和遍历 VS 树的存储和遍历 数据结构有什么区别? 这里的图是有向无环图。树的遍历有两种,一种是广度一种是深度。广度可以理解为按层遍历,就像把一层的房间都看一遍,再到第二层看房间,深度可以理解为走迷宫,是一条路走到黑,走完以后再回来走另一条路(这个也称之为回溯算法),树的前中后序遍历都属于深度,它们的不同点在于节点访问顺序不同。这两种算法在图也适用。数据结构上稍有不同。

图的话存储是用的邻接表(数组+链表)和邻接矩阵(二维数组)数据结构

class Graph {
    constructor(v) {
        this.v = v;
        this.adj = new Array(v); // 邻接表(数组)
        for (let i = 0; i < v; ++i) {
            this.adj[i] = new LinkedList(); // 链表或者跳表
        }
    }
}

class Graph {
    constructor(v) {
        this.v = v;
        this.adj = new Array(v); // 邻接矩阵(二维数组)
        for (let i = 0; i < v; ++i) {
            this.adj[i] = [];
        }
    }
}

树存储的话比较简单,变量存左右指针或者数组存左右指针。 在实际遍历的时候,广度遍历需要借助queue队列,作为辅助数据结构,为什么需要队列?一是我们需要存储每层的节点,二是需要保持遍历顺序,队列刚好满足这个特性。因为图可能存在环,我们借助visited数组判断是否访问过,而树不需要。如果有需要可以通过prev数组保存访问路径。 简单的数据结构能够实现复杂的算法,关键是对数据结构有深入的理解,加上对算法的理解,就可以写出好的代码。

四、本周投资 🔗︎

本周用部分工资收入,加仓了分众传媒和海康威视,资金量比较小。

这两家公司分众的现金流非常好远大于利润,生意模式看,目前建立了比较深的行业地位,竞争对手比较难进入,看好中国经济,另外海外还在扩张,价格不那么贵。海康现金流差一些,生意更难一些,但是好在有比较出色的管理层、公司文化,当然还有国企背景优势地位。这两家公司还在过渡研究阶段,后面保不齐会换仓。我大头都买了茅台,茅台大家觉得现在股价很高,ROI不是那么高了,但是我作为长期持有,相信我不在了估计茅台还会存在。

因为刚毕业就进入了同花顺(金融资讯信息服务提供商),所以接触股票时间大概近10年了,经历了一次15年左右牛市和后来的一次熊市。我对股票的理解是,如果挑选不到好的公司,那还不如买指数。股市对于普通人来说还是有门槛的,不是谁都能懂的,赚钱也不那么容易。所以我才不断地理解财报,看书籍,希望能懂公司,更懂生意。 我大概能懂我买的是什么价值(还需学习),长期来看赚的是公司利润未来现金流折现,安全边际依赖我对公司的生意的理解以及买入的价格,不会频繁交易买卖(除非股价很高,会卖出一部分,但不会清仓)。我买的股票用的都是我的闲钱,没有杠杠,所以基本不会被动交易,这一点非常重要。

“All Cash Is Equal”,持有现金是不合理的,因为大环境下现金必然是贬值的,持有股权长期看更优,但是要能承受波动风险。

为什么股价很高需要卖出?当达到什么价格的时候卖出部分?股价很高意味着,我卖出一部分股票得到的现金存定期比如3%的无风险收益率每年的收益 VS 我这部分股票正常情况下每股收益,如果前者更多,那么我应该选择现金+定期,因为它是稳定的无风险收益。这里只涉及基础的代数运算。

声明:本文不构成任何投资意见,请慎重决定自己的投资。

感谢阅读,祝周末愉快~!

当发布很酷的东西时,请第一时间通知我

订阅电子邮件,以获得我的最新文章。我不会向您发送垃圾邮件。随时取消订阅。