首页
归档
友情链接
关于
Search
1
在wsl2中安装archlinux
123 阅读
2
nvim番外之将配置的插件管理器更新为lazy
90 阅读
3
2018总结与2019规划
67 阅读
4
PDF标准详解(五)——图形状态
44 阅读
5
为 MariaDB 配置远程访问权限
35 阅读
软件与环境配置
博客搭建
从0开始配置vim
Vim 从嫌弃到依赖
archlinux
Emacs
MySQL
Git与Github
AndroidStudio
cmake
读书笔记
编程
PDF 标准
从0自制解释器
qt
C/C++语言
Windows 编程
Python
Java
算法与数据结构
PE结构
Thinking
FIRE
菜谱
登录
Search
标签搜索
c++
c
学习笔记
windows
文本操作术
编辑器
NeoVim
Vim
win32
VimScript
emacs
elisp
linux
文本编辑器
Java
反汇编
读书笔记
OLEDB
数据库编程
数据结构
Masimaro
累计撰写
321
篇文章
累计收到
31
条评论
首页
栏目
软件与环境配置
博客搭建
从0开始配置vim
Vim 从嫌弃到依赖
archlinux
Emacs
MySQL
Git与Github
AndroidStudio
cmake
读书笔记
编程
PDF 标准
从0自制解释器
qt
C/C++语言
Windows 编程
Python
Java
算法与数据结构
PE结构
Thinking
FIRE
菜谱
页面
归档
友情链接
关于
搜索到
321
篇与
的结果
2025-08-11
wsl 启动报错:Wsl/0x80080005
周末结束过来上班的时候发现公司电脑上安装的wsl2 中的arch和Ubuntu 都无法打开了,表现出来的现象是通过终端打开系统时长时间无法进入系统,等待大概半小时左右会出现提示:Wsl/0x80080005通过网络上查找,这种一般是系统坏了,或者是服务没启动,又或者是网络协议栈出现问题。对应的办法就是重置Linux系统(这种是最坏的情况,一般留到最后实在没办法了再尝试)、启动 LxxManager 服务,重置网络协议。通过尝试我发现我的属于网络协议栈问题,通过powershell 命令(需要管理员权限)netsh winsock reset # 重置网络套接字 netsh int ip reset # 重置 IP 协议然后重启电脑问题就解决啦!
2025年08月11日
1 阅读
0 评论
0 点赞
2025-08-08
Emacs 折腾日记(二十九)—— 打造C++ IDE
在介绍vim配置的时候介绍过lsp的相关基础知识。简单来说lsp是一个协议,它以C/S架构的形式进行组织,lsp负责分析语法,给出具体的语法单元,完成跳转等功能的核心实现。而客户端则负责接收用户的操作请求并呈现具体结果。这样做的好处是将核心服务和客户端显示分离出来,核心部分重用,客户端则可以由各个编辑器自己实现,使各种编辑器都有相同的核心功能体验。对于Emacs来说,由lsp-mode 提供核心客户端库,管理服务器生命周期、消息路由及基础功能。另外也有 lsp-ui 这种增强UI模块,提供实时信息侧边栏(lsp-ui-sideline)、代码透镜(Code Lens)、悬浮文档等下面来介绍如何使用它们配置一个基础的lsp功能lsp-mode根据官方给出的配置,我们可以组一个基础的配置(use-package lsp-mode :ensure t :init ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l") (setq lsp-keymap-prefix "C-c l") :hook ( ;; if you want which-key integration (lsp-mode . lsp-enable-which-key-integration)) :commands (lsp lsp-deferred))这里我们只是安装了一个客户端,想要真正实现lsp的功能,还需要针对具体的语言下载一个服务端,可以通过 lsp-install-server 来下载如果我们希望能像vscode那样,以悬浮窗口的形式显示符号的定义、声明或者注释文档,那么我们需要使用 lsp-ui 这个插件(use-package lsp-ui :ensure t :after (lsp-mode) :config (setq lsp-ui-doc-position 'top))这里我通过 lsp-ui-doc-position 来定义显示的窗口在上方,一般的编辑器默认是显示在光标所在的位置,但是我觉得显示在光标位置会影响我阅读后续的代码,所以我将它显示在上面,如果各位读者希望它像其他编辑器那样显示在光标位置可以修改参数为 at-point项目管理上述的lsp配置完之后,它只能使用当前buffer中的内容进行语法补全提示,也就是说我在其他的位置定义的函数和类在当前buffer中是无法识别到的。我们需要结合项目一起来使用。我们可以使用名为 projectile 的插件来进行项目管理(use-package projectile :ensure t :init (setq projectile-project-search-path '("~/projects/" "~/work/" "~/playground")) :config (define-key projectile-mode-map (kbd "C-c C-p") 'projectile-command-map) (global-set-key (kbd "C-c p") 'projectile-command-map) (projectile-mode +1)) (use-package counsel-projectile :ensure t :after(projectile) :init (counsel-projectile-mode))这里我们额外安装了 counsel-projectile 用来与 counsel 结合进行搜索语法检查语法检查方面,目前主流的插件是 flycheck 和 flymake,但是好像 flycheck 使用的人多一些,所以这里我也采用 flycheck。(use-package flycheck :ensure t :config (setq truncate-lines nil) ; 如果单行信息很长会自动换行 :hook (prog-mode . flycheck-mode))这里我们仅在编程的时候开启语法检查。同样的, flycheck 是一个前端,用来显示结果的,具体检查的核心功能是通过后端来实现的。后端的程序可以在官方网站上找到。状态栏显示相关的lsp信息现在是时候来修改以下状态栏的显示了,根据配置vim的经验,我还是希望主要显示当前编辑的模式、文件名、文件编码、lsp服务器、语法错误信息等。这里我使用 doom-modeline 来完成这个功能(use-package doom-modeline :ensure t :init (doom-modeline-mode 1) :config (setq doom-modeline-height 30) (setq doom-modeline-bar-width 5) (setq doom-modeline-icon t) (setq doom-modeline-lsp t) (setq doom-modeline-major-mode-icon t) (setq doom-modeline-buffer-state-icon t) (setq doom-modeline-buffer-file-name-style 'truncate-with-project) (setq doom-modeline-check-simple-format t) )通过上述代码来简单的配置一下,就可以有丰富的显示信息每种语言都对应了一个lsp的后端程序,lsp-mode官方网站 给出了每种语言对应的lsp后端程序,我们可以使用 lsp-install-server 来安装,这里我准备安装 clangd 这个后端在安装了lsp之后,再次打开一个cpp文件,可以发现它的界面如下:上面我们完成了lsp配置的基础准备工作,下面将要来针对具体的语言探索一下实际的使用方式和使用体验状态栏下分别显示了当前的模式(N代表normal模式)、文件类型、文件名称、当前编码方式等等,最后一个是flycheck 语法检查的结果,这里的代码比较简单,所以它没有检测出来任何问题,最后以绿色圆圈中的一个勾来显示。需要注意的是状态栏中的小火箭表示lsp服务已启用,如果没有这个标志可以手动的执行 lsp 命令选中项目的根目录C++ 项目实例C/C++ 项目需要明确的编译信息,clangd 通过 compile_commands.json 文件获取这些信息。对于cmake构建的项目cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1另外我希望每种语言对应的lsp配置放入到不同的配置文件中,做到模块化处理,因此我在配置中新建了一个lsp目录,并且按编程语言每种语言一个配置文件。目前c++语言的配置如下:(require 'lsp-mode) (add-hook 'c++-mode-hook (lambda () (setq lsp-project-identification-methods '(:root ("compile_commands.json" ".git" ".clangd" "CMakeLists.txt" "Makefile"))) (setq lsp-clients-clangd-args '("-background-index" "--clang-tidy" "--completion-style=detailed")) (setq-local completion-at-point-functions '( cape-file cape-keyword cape-dabbrev)) (lsp-deferred))) (provide 'cpp)为了实现不同的语言加载不同的配置,这里通过对应模式的hook来实现。一般每种模式都有一个对应的hook变量,它里面保存了一个函数,当启用该模式时会执行对应的代码,这里c++-mode 对应的是 c++-mode-hook。在这个hook中,主要做了四件事:第一,我们定义了项目根目录的标识;第二,定义了clangd启动的一些参数;最后也是最关键的一点,我们重新定义了补全端的函数。在配置Emacs的补全时,提供了一大堆补全方式,很多在编程时是用不到的,而且Emacs在补全时会依次根据 completion-at-point-functions 列表中保存的补全函数来查找补全项,一旦前一个函数返回了补全项,那么就不再往后查找。在编程的过程中前面定义的很多补全功能并没有lsp提供的补全好用,而且还会影响lsp的补全导致它出不来,所以我们去掉一些没用的,仅仅保留关键的部分。lsp-mode 会提供一个名为 lsp-completion-at-point 的补全函数注册到 completion-at-point-functions 中,因此这里我们不需要单独的写出来,当然写出来也没问题。我们可以通过 describe-variable 命令来查看 completion-at-point-functions 的值。Its value is (lsp-completion-at-point cape-file cape-keyword cape-dabbrev) Local in buffer main.cpp; global value is (cape-line cape-elisp-symbol cape-dict cape-ispell cape-keyword cape-file cape-dabbrev tags-completion-at-point-function) 最后一件事就是调用 lsp-deferred 来延迟加载lsp。因为 lsp-deferred 需要等到缓冲区完全加载完成之后才加载,所以将它放到最后面代码跳转在vim中,有几个关于跳转的关键的快捷键,gd 表示 goto declaration 跳转到定义,gD 表示 goto definition 跳转到定义,使用 gf 来跳转到头文件,跳转之后可以使用 ` 再次回来,这些快捷键 evil` 也为我们保留了,我们不需要额外的配置只要lsp能加载起来就能使用。显示符号文档信息vim配置中定义了 gh 显示符号的文档信息,我们可以使用 define-key 来定义快捷键。既然显示文档的功能由 lsp-ui 来提供,这里就将代码放入到 lsp-ui 位置(define-key lsp-ui-mode-map (kbd "gh") #'lsp-ui-doc-glance)tree-sitter在配置vim的时候提到过tree-sitter 是轻量级的语法分析器,而lsp是进行语义分析的重量级工具,tree-sitter 是对 lsp 的一个补充,并且我们用tree-sitter 进行了语法高亮和代码片段的折叠,这里尝试在Emacs中使用tree-sitter(use-package tree-sitter :ensure t :hook (prog-mode . tree-sitter-hl-mode) ;;启用语法高亮 :config (global-tree-sitter-mode)) (use-package tree-sitter-langs :ensure t :after tree-sitter)安装完成之后,我们通过命令 tree-sitter-langs-install-grammars 来安装对应的语言支持,默认是安装所有语言的支持,这里我就使用默认的就好下面尝试启用在vim中 zc、和 zo的功能。它们主要是用来折叠和展开代码块。我们来安装一个名为 ts-fold 的插件,该插件没有被放入到 elpa,所以需要手动下载然后加载(use-package ts-fold :load-path "~/.emacs.d/ts-fold" :config (global-ts-fold-mode 1) (with-eval-after-load 'evil (evil-define-key 'normal 'global "zc" #'ts-fold-close "zo" #'ts-fold-open)))最终的效果如下:基于tree-sitter,我们还可以实现一个非常重要的功能——增量选择代码块。在vim配置中我使用回车来扩大选区,使用退格键来减小选区,这里仍然沿用这种配置增量选择的功能可以使用 expand-region(use-package expand-region :ensure t ; 从ELPA自动安装 :bind ("C-=" . er/expand-region) :config (defun my/incremental-expand-region() (interactive) (if (region-active-p) (er/expand-region 1) (er/mark-word)) (setq deactivate-mark nil)) (defun my/contract-region() (interactive) (if (region-active-p) (er/contract-region 1) (call-interactively 'evil-backward-char))) (with-eval-after-load 'evil (dolist (state '(normal visual motion)) (evil-define-key state 'global (kbd "RET") nil) (evil-define-key state 'global (kbd "<backspace>") nil)) (evil-define-key 'normal 'global (kbd "RET") #'my/incremental-expand-region) (evil-define-key 'normal 'global (kbd "<backspace>") #'my/contract-region)))原版的增量选择,如果没有选中某个部分无法执行增量,所以对它进行稍微的改造,如果当前没有选中任何部分,先选中当前光标所在的单词。然后继续进行增量选择。与增加选区类似的,减少选区也是先判断如果已经没有选中区域的话还是延续vim中退格键的功能。本篇到此就先结束了,但是我们的IED的功能并没有配置完,后面我计划加上自动编译运行、调试等功能,这些就在后面的文章中给出
2025年08月08日
1 阅读
0 评论
0 点赞
2025-07-11
Emacs折腾日记(二十八)——代码片段
在前面的章节中,介绍了 vertico 体系的补全,已经实现了在各个buffer中的补全功能,但是作为程序员,使用Emacs主要用来编程,对于编程来说上述的补全体系仍然不够完整,我们还需要基于lsp的补全以及基于代码片段模板的补全,这里先介绍代码片段。在之前写vim的配置时已经介绍过代码片段的概念以及基于vim 的配置,感兴趣的读者可以自行在我往期的博客中寻找,这里就不对它进行详细的介绍了。直接来使用它。在Emacs中,我们使用插件 yasnippet 来支持这个功能(use-package yasnippet :ensure t :hook ((after-init . yas-reload-all) ((prog-mode LaTeX-mode org-mode) . yas-minor-mode)) :config (setq yas-snippet-dirs '("~/.emacs.d/snippets")))我们通过上面的代码就能把它启用起来,yas-reload-all 表示在Emacs启动时重新加载所有已启动的代码片段;yas-minor-mode代表启动代码片段补全的功能。但是我们做了限制,只在编写代码、LaTeX和org-mode 文件时启动。如果各位读者希望在markdown 中也启动的话,也可以加上 markdown-mode 的选项。但是既然使用了Emacs,当然要用比 markdown 更加强大的 org-mode 了现在Emacs已经支持了代码片段,它的快捷键与vim中的一致都是使用tab 来进行补全。那么接下来就是通过代码片段文件来提高我们编程的效率了。添加代码片段文件我们可以使用已经写好的,也可以自己根据自己的习惯来定制。下载通用的代码片段官方虽然提供了一些代码片段,但是数量较少,使用起来并不那么方便,我们可以下载网络上的一些公共库来丰富我们的代码片段。这里我介绍一下 Doom Emacs Snippets Library。它是专门为doom emacs 用户打造的代码片段库,使用者不少。其他的代码片段库的安装与使用与它类似,读者可以依葫芦画瓢来安装。 首先找到官方的代码仓库,然后将它克隆下来,我将它放到 ~/.emacs.d/emacs-snippets 目录中。然后通过(use-package doom-snippets :ensure nil :load-path "~/.emacs.d/doom-snippets" :after yasnippet)来加载它。之后需要 Yasnippet 插件能找到这个目录,所以我们修改一下上面的配置(use-package yasnippet :ensure t :hook ((after-init . yas-reload-all) ((prog-mode LaTeX-mode org-mode) . yas-minor-mode)) :config (setq yas-snippet-dirs '("~/.emacs.d/snippets" "~/.emacs.d/doom-snippets"))) ;; 添加一行代码片段的加载路径此时再编写代码发现多了一些代码片段自定义代码片段与 doom emacs snippets library 代码片段类似,我们也需要按照具体的mode来组织代码片段的文件目录。每一个关键字一个文件例如~/.emacs.d/snippets/ ├── python-mode/ │ ├── for ; for 循环模板 │ └── class ; 类定义模板 └── c++-mode/ └── foreach ; for-each 循环模板有了这些准备的前提条件,我们可以自行创建自己的代码片段了。在emacs 中执行 yas-new-snippet 可以打开一个新的buffer,并显示代码片段的模板# -*- mode: snippet -*- # name: # key: # -- name后面跟着的是代码片段的名称,在补全时会以补全项显示这个名称;key代表关键字,表示用哪个缩写来触发。例如我们定义一个 prt 来展开成 printf 语句,那么就可以写成 name:prt key: prt尝试生成第一个代码片段后面的写具体展开的代码,例如我们编写一个自动生成hello world的模板# -*- mode: snippet -*- # name: create-hello # key: hello # -- #include <stdio.h> int main(int argc, char* argv[]) { printf("hello world\n"); return 0; } 在编写完成之后使用快捷键 C-c C-c 来保存,Emacs在保存时会让你输入对应的 mode 并且给出需要保存的位置。当我们修改完适用的 mode 和 保存的位置之后,我们发现它在对应位置生成了文件。重启Emacs或者 使用命令 yas-reload-all 来重新加载所有的代码片段。之后输入hello就可以看到它为我们生成了 c 版本的 hello world 程序占位符我们希望的代码大体上不变但是关键地方由我们自己来填充,这个时候可以使用占位符。占位符的格式为 ${} 大括号中填入数字序号。或者使用 ${1: default} 来表示这个位置默认填写default字符。下面是一个具体的例子# -*- mode: snippet -*- # name: qt-class # key: qcls # -- class ${1} : public ${2:QObject} { Q_OBJECT public: ${1}(${2}* parent = nullptr); ${1}(const ${1}& other); ${1}& operator=(const ${1}& other); ~${1}(); signals: slots: protected: }上面我们定义了一个快速生成继承自 QObject 类的子类的模板,上面有两个占位符,第一个占位符表示名称,它没有默认值,一旦确定了它的也就是类型,它会自动生成类的无参构造、拷贝构造、赋值运算符重载和析构函数的定义。第二个占位符指出了它的父类,它的默认值是 QObject 类,它的效果如下使用elisp代码生成动态信息我们可以使用 `` 来包裹elisp代码,生成动态信息。一般在C/C++ 代码的头文件中会包含一些注释信息,用来说明文件的用途包含的接口信息等等。我们希望生成这么一段注释的代码片段# -*- mode: snippet -*- # name: Custom File Header # key: hdoc # -- /** * @file `(file-name-nondirectory (buffer-file-name))` * @bref ${1:brief description} * @details ${2:detailed explanation} * @date `(format-time-string "%Y-%m-%d")` * @commit history: * \t v${3:1.0}: ${4:Initial version} */ $0上面我们使用 elisp代码 (file-name-nondirectory (buffer-file-name)) 来获取对应的文件名,通过 (format-time-string "%Y-%m-%d") 来获取时间。并且最后使用 $0 来将光标定位到这个位置,这个位置将会在我们使用tab处理过所有tab之后自动跳转。本文到此就结束了。本文主要介绍了在Emacs中使用代码片段,并且介绍了编写代码片段的一些方式。有了这些在编写代码时会更加得心应手。
2025年07月11日
7 阅读
0 评论
0 点赞
2025-07-10
读 《指数基金投资指南》
之前接触过基金,也买过基金,有过亏损,在最近这两年才慢慢开始盈利。我不知道为什么会亏损也不知道为什么会盈利。甚至对于基金的一些概念都不太了解。这本书正好补充有关基金方面的知识。什么是指数基金巴菲特在公众场合唯一公开推荐的投资方式就是定投指数基金。那么什么是指数基金呢。要理解指数基金先来了解什么是基金。简单理解,基金就是一个篮子,里面可以按照预先设定好的规则,装入各种各样资产。装入股票的是股票基金、装入债券的是债券基金、二者都有的被称之为债券基金、装入各种短期债券、短期理财、现金,就是货币基金。基金分为主动型基金和被动型基金。主动型基金就是由基金经理主动的帮助我们挑选股票或者债券。而被动型基金也就是指数基金,指数基金的关键是按照指数被动的选择投资的标的。那么什么是指数呢?指数是一个选股规则,它的目的是按照某个规则挑选出一篮子股票,并反映这一篮子股票的平均价格走势。说起来有点抽象,但是在日常生活中我们早就用到了指数这一概念,在上学时我计算各科考试的总成绩并根据这个分数来排名,这个计算成绩的方式就是成绩的指数。我们也可以单独列出某一科的成绩,例如语文或者数学,这个分数就是语文或者数学分数指数。资本市场上对各个资产几乎都有一个指数,也就是都有一套选择标准来衡量该资产在资本市场的整体表现,而指数基金就是按照这个指数的编制规则来组织资产进行投资。说它是被动基金是因为它选择投资的股票或者债券等都是按照指数的规则来编制不需要基金经理进行额外的研究。为什么选择指数基金进行投资呢首先指数的编制标准是公开的,它的业绩与基金经理无关。它反映的是市场的平均水平,而越是规范的市场主动型基金的收益最终都会回归到市场的平均水平。主动型基金的收益主要看基金经理的投资水平,而基金公司经常干的就是通过明星基金经理来发行新基金,在基金规模大了之后更换基金经理。而指数基金不存在这个问题。指数基金“长生不老”,个股有退市的风险,而指数基金会根据指数规则动态的调整持有的股票,不存在这个问题指数基金长期来看是上涨的,指数基金反映的是市场的经济水平,随着国家经济水平的提高,指数也会水涨船高。股神巴菲特也提到过,买指数基金就是买国运。只要相信国家能继续发展,指数基金就能长期上涨,我们就能分享国家经济增长的收益指数基金的成本低,因为它是被动的,不需要基金经理操心,它的管理费、申购赎回费等比主动型基金便宜。基金的费用一般有:管理费:管理费是基金公司收入的主要来源。主动型基金一般会收取基金规模的1.5%作为管理费,指数型一般是 0.5%托管费:托管费是交给基金的托管方的。基金的庞大资产,并不是直接存放在基金公司,一般会在第三方托管方,例如某家大型银行。申购和赎回费:买入和卖出的费用市面上常见的指数基金有哪些指数基金最常见的一种分类,就是分为宽基指数和行业指数。有的指数基金在挑选股票的时候,并不限制非得是投资哪些行业,这种被称为宽基指数;但有的指数基金在挑选股票的时候,会要求只投资哪些行业的股票,这种被称之为行业指数。宽基指数上证50:上证50指数是从上交所挑选沪市规模最大、流动性好、最具代表性的50只股票组成样本股,以综合反映沪市最具影响力的一批优质大盘企业的整体状况。特点之一:以大盘股为主。或者说以蓝筹股为主,什么是蓝筹股?蓝筹这个词来自西方赌场。在西方赌场里,一般有三种颜色的筹码,其中蓝色筹码最为值钱。后来就用蓝筹股,代表规模较大、有较大影响力的公司。特点二:只有上交所的股票,没有深交所的股票。沪深300指数:是由中证指数公司开发的,从上交所和深交所挑选规模最大、流动性最好的300只股票。特点:沪深300以大盘股为主,兼顾上海和深圳上市公司。中证500指数:将全部沪深300指数的300家公司排除,然后将最近一年日均总市值排名前300名的企业也排除,这样可以最大限度地避免选入大公司。在剩下的公司中,选择日均总市值排名前500名的企业,这就是中证500指数啦。中证500本身是以中型上市公司为主。我们都知道国内有上交所和深交所,我们平时说的股票,其实说的就是在这两个证券交易所上市交易的股票,它们大多在主板上市交易。在主板上市交易,门槛是很高的,公司需要达到一定规模,而且也要有足够的盈利才可以。但是有一些小公司,目前盈利还不好,达不到主板上市的条件。国家就给这类公司提供了一个门槛更低的市场:创业板市场。创业板市场是放在深交所下面的。创业板指数:创业板指数是为了衡量创业板最主要的100家企业的平均表现而设立的,只从创业板上市公司中,挑选出规模最大、流动性最好的100只股票。创业板综指:创业板综指是为了衡量创业板所有上市公司的股价平均表现而设立的。它包括创业板全部的500多家企业。这两个指数相比之前的主板指数,更容易暴涨暴跌,在投资时要有心理准备上面介绍的指数采用的是市值加权的方式,市值加权也就是市值越大权重就越大。红利指数采取的是策略加权的方式编制。红利指数采用红利策略来编制,所谓的红利就是上市公司盈利之后通过分红的形式将利润返还给投资者。有研究表明,能实现高现金分红的股票,长期持有的平均收益率高于现金分红低的股票上证红利指数:这个指数挑选了上交所过去两年平均现金股息率最高的50只股票中证红利指数:中证红利指数由中证指数公司编制,同时从上交所和深交所挑选过去两年平均现金股息率最高的股票,成份股数量扩大到100只深证红利指数:深证红利指数与上证红利指数对应,专门投资深交所的高现金股息率的股票,不过成份股只有40只红利机会指数:这是标普公司围绕A股开发的红利指数。红利机会指数在传统红利指数的基础上增加了一些筛选条件。传统的红利指数,一般只是挑选高股息率的股票,没有其他的要求。但是红利机会指数有3个要求:过去3年盈利增长必须为正;过去12个月的净利润必须为正;每只股票权重不超过3%,单个行业不超过33%。红利指数的特点之一:高股息率,在熊市更有优势;特点之二:能持续发放现金股息的公司,盈利能力和财务健康状况好的概率越高;特点之三:提供分红现金流我们经常能听到基本面这个词。基本面覆盖了一个公司的运营的各个方面,比如说营业收入、现金流、净资产、分红等。通过基本面来选股,也就是说,谁的基本面更好,谁占的权重更高。那我们怎么知道一个企业基本面的好坏呢?目前一般从4个维度去衡量:营业收入,现金流,净资产和分红。而基本面指数也正是从这4个维度去挑选股票的在国内最出名的就是中证基本面50指数。这个指数是按照4个基本面指标,挑选出综合排名前50的公司。具体来说,是从上市公司过去5年的年报数据中,计算4个基本面指标。营业收入:公司过去5年营业收入的平均值。现金流:公司过去5年现金流的平均值。净资产:公司在定期调整时的净资产。分红:公司过去5年分红总额的平均值。这种按照占总规模百分比来排名得分的方式,很明显公司规模越大,越占优势。所以基本面50指数挑选出来的,往往也是大盘股。从定位上来说,基本面50指数跟上证50指数很相似。不过因为它综合考虑了收入、盈利、净资产等基本面因素,所以挑选股票时会考虑得更全面一些。央视财经50指数,它是一种专家加权的指数。它是深证指数和央视的财经频道联合推出的。简单说,央视50指数就是专家们投票选出来的50只股票。它和前面介绍过的指数都不太一样:一般的指数,它们的选股规则是透明的,已经写在纸面上的,但是央视50指数是依靠专家们的选股能力来选股的,其规则并不透明,是一种很特殊的指数恒生指数:国内除了上海和深圳两个证券交易所之外,还有一个非常特殊、但又非常重要的证券交易所—香港证券交易所,简称港交所。在港股指数基金中,最著名的就是恒生指数了。特点之一:历史悠久,成熟开放。特点之二:跟内地紧密相关,但投资者以境外投资者为主。特点之三:“老千股”导致个股投资风险巨大,普通投资者投资港股的最好方式—港股指数基金。H股指数:如果一家公司在内地注册,但是在香港地区上市,这样的公司就是H股了。为了衡量这些公司股票的表现,恒生指数公司编制了恒生中国企业指数,也就是通常说的国企指数,简称为H股指数。这里的国企并不是我们理解上的国企,这里指的是在国内营业但是在香港上市的企业。特点之一:内地公司在境外的“代言人”。特点之二:与内地经济紧密相关,但仍然是以境外投资者为主。特点之三:H股与A股指数的亲密关系。上证50AH优选指数:如果A股和H股差价过大,那么相对便宜的那个未来的收益会更好。这就是AH股轮动策略:买入AH股中相对便宜的那个,卖出相对贵的那个。特点之一:成份股与上证50相同。特点之二:成份股入选50AH优选指数时,如果成份股同时具备A股和H股,选相对便宜的那个。特点之三:每个月第二个周五,进行一次轮动。纳斯达克100指数:纳斯达克100指数投资的是纳斯达克规模最大的100家大型企业标普500指数:标普500指数是美国影响力最大的一个股票指数,是美国传统经济的代表,定位上类似于国内的沪深300指数上证综指:综指指的是综合指数,上证综指包括了上交所全部的上市公司,目的是反映上交所所有股票的走势。中证100指数:中证100指数是从沪深300指数中,再挑选出规模最大的100只股票组成的。比起上证50指数,它覆盖了深交所的大公司,所以更加全面一些中证800指数:中证800指数=沪深300指数+中证500指数;中证1000指数:追踪除去中证800指数之外最大的1000只小盘股行业指数最主要的10个一级行业分别是:材料:金属、采矿、化学制品等。可选消费:汽车、零售、媒体、房地产等。必需消费:食品、烟草、家居等。能源:能源设备与服务、石油天然气等。金融:银行、保险、券商等。医药:医疗保健、制药、生物科技等。工业:航空航天、运输、建筑产品等。信息:硬件、软件、信息技术等。电信:固定线路、无线通信、电信业务等。公共事业:电力、天然气、水等。值得投资的行业,主要有两个,一个是天生赚钱更容易的行业,另一个是具有明显强周期性的行业。投资医药股和必需消费股,长期来看在A股更容易赚钱。市场需求比较稳定,企业有护城河能保证一定的利润率,并且再投资需求小,能获得大量的自由现金流,只有容易形成这些条件的行业,才能比较容易的赚钱。如果在二级市场投资这样的企业,想赚钱还要添加一个条件:企业愿意回馈股东,而不是乱花钱。强周期行业,如果在周期底部投入,在顶部卖出也能获取很好的收益必需消费行业也被称为日常消费行业、主要消费行业。必需消费,主要是维持我们正常生活所需要的各种消费品,例如饮料、酒、农副食品等。目前消费行业指数主要有:上证消费指数:从上交所挑选必需消费行业公司。上证消费80指数:从上交所挑选80家规模最大的必需消费行业公司。中证消费指数:从中证800,即沪深300和中证500中挑选必需消费行业公司。全指消费指数:从所有上市公司中挑选必需消费行业公司,覆盖范围最广目前医药行业的指数主要有以下几种:中证医药指数:又称中证800医药指数,是从中证800指数中挑选医药行业。中证医药100指数:挑选了100家大型医药股,每只股票买入相同的金额。上证医药指数:只投资上交所的医药行业公司。全指医药指数:从整个A股中挑选医药行业,它覆盖的医药公司是最全的。细分医药指数:挑选了医药行业细分领域的主要公司。300医药指数:挑选了沪深300指数里的医药行业公司。500医药指数:挑选了中证500指数里的医药行业公司。强周期行业主要有银行、证券业、地产行业目前国内的银行业指数基金,基本上都是追踪中证银行指数;证券行业的指数基金,追踪的基本都是中证全指证券行业指数目前国内的地产行业指数一共有三只,即中证800地产指数、国证地产指数和地产等权指数。其他行业指数主要有:中证军工指数中证环保指数中证白酒指数追踪这些指数的基金有多个,很多时候我们根据基金名称就能看出它追踪的是哪个指数。例如 易方达沪深300ETF联结A。这个名字包含了这些信息:易方达是发行基金的机构名称沪深300代表它追踪沪深300指数EFT 表示场内交易型基金,基金一般分为场内和场外基金,场内基金是需要在券商处开通交易所账号,并在交易所交易。场外基金则在交易所之外可以直接在支付宝或者微信上购买联结,表示他实际是在投资场内的ETF基金A,表示基金类型;一般基金有A类和C类。A类基金适合长期持有,C类则适合短期做波动一般指数基金的命名都是采用这种形式:发型机构|追踪指数指数|交易类型|联结。其中后面两项可能不是不需要的。交易类型有EFT、QDII、LOF、FOF;其中QDII是为了投资海外,基金公司专门申请外汇额度并且将投资者的钱转化为外币进行海外市场的投资。这种类型的基金容易受到外汇额度的影响。LOF表示可以场内交易也可以场外交易。FOF表示它是基金的基金,它的主要投资标的是投资各种基金。如何投资指数基金投资指数基金主要采用价值投资的理念。价值投资总结起来有三点:股票有其内在价值,股票的价格围绕其内在价值上下波动能力圈理论,要求我们对所投资的品种非常了解,能判断出它大致的内在价值是多少,而不是什么热门投资什么安全边际,就是说,我们要用比价值更低的价格去买股票。为了确认股票的实际价值,需要对它进行估值,主要估值模型有:市盈率:公司市值/公司盈利(即PE=P/E,其中P代表公司市值,E代表公司盈利)。其中静态市盈率是取用公司上一个年度的净利润,滚动市盈率是取用最近4个季度财报的净利润,动态市盈率是取用预估的公司下一年度的净利润。市盈率反映了我们愿意为获取1元的净利润付出多少代价。市盈率的适用范围:流通性好、盈利稳定的品种。流通性越不好的股票,市盈率就越没有参考价值。这是因为当你想以这个市盈率去进行投资的时候,你的投资行为就会极大地影响市价,形成一种反馈效应。一般能够进入沪深300、中证500之类指数的股票,它们的流动性都没有什么问题。使用市盈率的第二个条件是盈利稳定。有的行业盈利并不稳定,不适用市盈率,例如有“市盈率陷阱”的没落行业和周期行业,有的行业处于成长期或者亏损期,也不适用市盈率。宽基指数基金大多都可以与这两点比较符合,所以使用市盈率为宽基指数基金来估值是可行的盈利收益率:盈利收益率是市盈率的变种。市盈率是用公司市值除以盈利,而盈利收益率则是用公司盈利除以公司市值。也就是盈利收益率=E/P。换句话说,盈利收益率也约等于市盈率的倒数。它所代表的意义是,假如我们把一家公司全部买下来,这家公司一年的盈利能够带给我们的收益率,就是盈利收益率。盈利收益率也是有适用条件的,市盈率所要求的流通性好、盈利稳定,盈利收益率也同样要求。市净率市净率指的是每股股价与每股净资产的比率,也就是我们说的账面价值。市净率的定义是:PB=P/B(其中P代表公司市值,B代表公司净资产)。净资产通俗来说就是资产减去负债,它代表全体股东共同享有的权益。说到市净率就不得不说到,净资产收益率(ROE):ROE等于净利润除以净资产。ROE越高的企业,资产运作效率越高,市净率也就越高。如果一个企业主要靠无形资产来经营,像律师事务所、广告服务公司、互联网公司,那市净率就没有多少参考价值了。当企业的资产大多是比较容易衡量价值的有形资产,并且是长期保值的资产时,比较适合用市净率来估值股息率股息,是投资者在不减少所持有的股权资产的前提下,仍然可以直接分享企业业绩增长的最佳方式。股息率是企业过去一年的现金派息额除以公司的总市值,而分红率是企业过去一年的现金派息额除以公司的总净利润。分红率一般是公司预先就设置好了,并且连续多年都不会有什么改变。股息率和盈利收益率之间有很大的关系。股息率=股息/市值,而盈利收益率=盈利/市值,分红率=股息/盈利,所以股息率=盈利收益率*分红率。所以对同一个指数来说,往往盈利收益率高的时候,也是股息率高的时候。这就是盈利收益率与股息率之间的关系。在投票时,交易软件或者网站都会给出这些指标。但是基金是一揽子股票,它可以把背后股票的盈利、净资产、股息等数据求出一个平均值,从而计算出指数基金的估值指标。查询这些可以在作者的公众号、指数的官方网站、第三方的数据网站进行查询。有了这些指标,我们就可以根据这些指标来挑选那些处于低估的指数。盈利收益率法我们可以根据盈利收益率来判断指数的估值。作者在书中给出了两个参考数据,当盈利收益率大于10%时开始定投,小于10%时继续持有,当小于6.4%时分批卖出。这两个数据源自格雷厄姆的价值投资理论,格雷厄姆认为满足两个条件就算高,一是盈利收益率要大于10%,二是盈利收益率要大幅高于同期无风险利率。这个无风险利率一般使用十年期国债利率作为参考。盈利收益率法只适合于流通性比较好、盈利比较稳定的品种。目前适合盈利收益率的品种,国内主要是上证红利、中证红利、上证50、基本面50、上证50AH优选、央视50、恒生指数和恒生中国企业指数等博格公式博格公式的创始人是指数基金之父——约翰博格。他经过长期研究发现决定股市长期收益的主要有三个因素:初始投资时刻的股息率、投资期内的市盈率变化、投资期内的盈利增长率。基于这三个因素,他提出指数基金未来的年复合收益率,等于指数基金的投资初期股息率,加上指数基金每年的市盈率变化率,再加上指数基金的每年的盈利变化率。第一个变量是股息率,这个在买入时可以查到。第二个变量是市盈率,一般来说A股股票的市盈率一般呈周期性变化。一般我们可以统计历史市盈率的变化范围,然后看当前市盈率在历史位置中处于何种水平。第三个变量是盈利变化率,对指数基金来说,只要国家经济长期发展,盈利就会长期上涨。只不过具体到某一段时间,盈利上涨的速度并不一样,我们也难以预测盈利的上涨,如果国家经济长期向上的话,这个值一般会增长,因此在一个经济持续上升的市场,这个值可以忽略。这就是格雷厄姆所说的,赚取市盈率上涨带来收益和初始股息率带来的收益。博格公式也有失效的时候,那就是上市公司的利润下降或者呈周期性变化的时候,市盈率计算公式中的每股收益就失效了。这种情况下,我们可以使用博格公式的变种,也就是使用市净率来对指数基金进行分析。市净率 = 股价 / 净资产。变化一下得到了股价 = 市净率 * 净资产。也就是在投资期间,股价变化主要取决于市净率和净资产的变化。这就是伯格公式的变种,指数基金未来的年复合收益率,等于指数基金每年市净率的变化率加上指数基金每年净资产的变化率。使用博格公式的变种还有一个前提条件。公司的盈利虽然不稳定,但是要求公司在经营困难的时候也不会亏损,这样,公司的净资产价值才会有保障,我们才可以使用市净率来对其进行估值。总结一下就是:针对长期稳定盈利的公司,可以采用盈利收益率法来判断估值;针对盈利呈高速增长并且有分红的公司,可以采用博格公式看股息率和市盈率来判断;针对盈利不稳定或呈周期性变化但是仍然能盈利的公司采用博格公式的变种,也就是市净率来估值;长期亏损的企业,直接远离针对指数基金,可以有这么一个表策略适用的指数基金盈利收益率上证50、上证红利指数、中证红利指数、基本面50、央视50、上证50AH优选、恒生、H股指数博格公式(市盈率版本)沪深300、中证500、创业板、红利机会指数、必须消费行业指数、医药行业指数、可选消费行业指数、养老产业指数博格公式(市净率版本)证券行业指数、金融行业指数、非银行金融行业指数、地产行业指数指数定投确定了要投资哪些指数基金,下面的问题就是如何投资呢?针对工薪阶层推荐采用定投的方式。如果定投那么定投的策略是什么呢?这里的策略主要是什么时候投入、投入多少钱、什么时候停止投入、什么时候卖出开始定投的时机根据上面给出的估值方法,在价格处于低估时买入、高估时卖出。针对盈利收益率法,在盈利收益率大于10%时开始定投、在10%到6.4%之间时停止定投、小于6.4%时卖出;针对博格公式法,可以结合历史数据来判断是否处于高估或者低估定期买入的方式定期买入的时机对于工薪阶层来说可以在发薪日之后的第一个交易日进行定投,就当存下一笔钱。可以定投固定金额,也可以根据估值来决定投资的金额,在估值偏低时多买入,偏高时少买。这种方式是一种定时不定额的投入定时不定额的投入方式,如果使用盈利收益率法来判断估值的话,我们可以使用下面的公式来决定下次投资多少$ 下次投入的金额 = 首次低估时投入金额 \times (\frac{当月的盈利收益率}{首次定投时的盈利收益率})^n $其中 n 是定投因子,由我们自己决定,假设n的值取1,首次定投时盈利收益率为 10%,首次投入的金额为1000万,那么根据公式可得:第二次定投时盈利收益率为 11% 的话: 1000 * 11 / 10 = 1100第二次定投时盈利收益率为 12% 的话: 1000 * 12 / 10 = 1200以此类推如果使用博格公式的话,可以通过下面的公式来计算$ 下次投入的金额 = 首次低估时投入金额 \times (\frac{首次定投时的市盈率}{当月定投时的市盈率})^n $$ 下次投入的金额 = 首次低估时投入金额 \times (\frac{首次定投时的市净率}{当月定投时的市净率})^n $构建自己的投资计划构建自己的投资计划首先要梳理自己的现金流即每月收入 - 必要支出 - 应急支出 = 投资的金额。用于投资的钱一定要是未来几年用不到的钱。因此这里除了支付衣食住行用等必要支出的钱以外,还需要保留一些钱作为应急支出。这部分用作应急的钱可以投入余额宝等货币基金。我们可以通过记账的方式来记录自己每一个月必要的支出,通过记账,我们可以知道“钱到底花在了哪里”;再通过分析开销,就可以知道“哪些不该花的钱可以省下。留出了投资的钱,下一步就是选择投资的基金了;可以使用上面介绍的方法来挑选低估的基金定期投入。接下来就是构建投资计划,确定每月的投资频率,可以选择每月投资或者每周投资,通过历史数据回测,每月投资与每周投资相比收益没有明显的差别,因此本书的作者推荐每月投资,每月在发薪日的下一个交易日投入一定的金额。开始定投之后需要定时优化投资策略,例如当指数高估时要停止定投或者卖出,低估时可以适当的增加投资。为了方便优化策略,需要每次记录定投的信息。我们可以创建下面的定投计划表定投计划表1.梳理现金流(1)我的家庭月收入是____元,家庭月开支是____元。每个月剩余资金____元(剩余资金=月收入-月开支)。(2)每个月的剩余资金____,我打算拿出____%的比例来定投(一般50%比较合适),也就是说,每个月我能用来定投指数基金的资金是____元。2.选择适合定投的指数基金通过 □公众号 或者 □指数网站,查找出当前处于低估、适合定投的指数基金有____只,分别是:____。□我的每月定投资金少于1000元,可以选1只,我选择____;□我的每月定投资金在1000~3000元或以上,可以选2~3只,我选择____,每只指数基金的定投金额分别为____。3.构建定投计划(1)寻找适合自己的定投渠道。□我有过投资股票的经验,熟悉场内操作,可以从场内入手,券商____是,使用的股票交易软件是____。□我是新人,刚开始接触定投,可以从场外开始入手,选择场外的定投平台是____。(2)确定每月的定投日期。我选择每月____日作为定投日进行定投,原因是(比如这是每月发工资后的第一天),将本月定投资金投入到低估值指数基金上。(3)列出投资策略。我的投资策略是:在指数基金低估的时候,坚持每月定投。在指数基金恢复正常估值的时候,坚定持有基金份额。到牛市指数基金高估的时候,分批卖出获利。有了上面的定投策略表之后可以使用下列的定投记录表来记录定投的信息日期操作(买/卖)交易品种(代码)买入或卖出金额成交单价买入和卖出的份额买入和卖出时的估值本书后面还有关于定投的心理建设,但是我觉得写的不够详细,如果想了解这方面的内容可以考虑看《小狗钱钱》或者《穷爸爸富爸爸》这些财商的书可能更好
2025年07月10日
7 阅读
0 评论
0 点赞
2025-07-07
读 《如何有效阅读一本书:超实用笔记读书法》
我平时也有读书的习惯,特别是在通勤的过程中。每年也能读个10几本书,但是记住的并不多,至于在实际生活中使用的知识和技巧那就寥寥无几了。曾今我也安慰过自己,读书并不需要记住,只要有个印象,后面遇到了自己查就好了。但是在最近几年我尝试将阅读的体验通过读书笔记的形式发表在博客中时,我发现读完之后脑袋一片空白,能记住的不多,很多笔记都是通过阅读其他人写的读书笔记或者摘要才能回想起来,甚至有时候读完感觉这本书讲的内容都没什么用但是一旦读到其他人写的读书笔记才发现原来这本书的内容这么有用,自己当初怎么没有感觉到呢。总之读书过程中有种种问题,所以我找来这本书看看如何能改善这种情况。我希望配合这本书中讲的内容以及自己平时读书的习惯形成一种读书方式或者叫读书方法,来尽量吸收足够多的内容供自己所用。书中提倡使用纸质的笔记本来记录读书生活,但是现在都推崇无纸化、数字化了,所以我结合手机应用和自己的博客来实践书中的理论方法如何选择书籍读书第一步就是选择书籍,如何选择呢?书中提到可以可以使用笔记本在平时阅读报纸的广告或者书评时记录下来想读的书,或者如果想了解某一方面的内容就可以以 “我想阅读xx方面的书”在浏览器中进行搜索,根据搜索结果来进行选择。另外,在阅读某书的过程中,书中可能会引用其他书籍的内容,这个时候作者一般会直接给出书名或者通过注释和参考链接的形式给出,我们可以记录下来。根据现在的发展,我可以使用电子版的购书清单,至于书籍的来源,我主要来源自下面几个地方豆瓣排行榜一些推荐书籍的公众号和b站的up主阅读某书时书中列出的其他书籍根据AI搜索的结果来记录书籍有时候这些来源在我们脑海中仅仅是一闪而过,我们在捕捉到这些书籍之后将它记录下来以免遗忘。那么该如何记录呢?本书给出了一个范例书名作者出版社备注博格论指数基金约翰博格(刘寅龙,乔明邦译)中国科学技术出版社ISBN:9787523610299因为市面上可能有同名的书,或者有好几版的,或者同一本书有不同的译版,仅仅靠书名是无法区分的,所以这里列出了关键的信息,备注里面可以列出书籍的 ISBN号,它是书籍的身份证号,根据这个号就可以直接找到想要的书。如果没有这个编号,根据前面几个项目,也可以唯一确定一本书。如何购买书籍书中提到我们可以在网上购买或者去实体书店,作者推荐去实体书店,因为实体书店购书印象更加深刻。除了实体店我们可以在网络上购买或者在微信读书等app上购买,甚至zlibrary上下载电子版。现在我个人的习惯是第一遍读的书在微信读书上或者通过下载zlibrary上的资源再导入到微信读书。如果觉得值得读第二遍或者值得收藏,我会在网络上买一本纸质的书收藏或者再读如何做读书笔记书中介绍的方法是“摘抄+感悟”的方式。在阅读的过程中如果觉得哪句话触动了你,那么就将它记录下来,并在旁边写上感悟。为了写出精练而深刻的读书笔记,你应该在读完一本书以后认真回想需要摘抄哪一页哪一行,思考怎样撰写读书笔记,然后严格地筛选需要摘抄的内容,尽量提炼自己的感想,争取用最短的语句表达深刻的含义。最终在回顾自己的阅读经历时并不需要每个划线的部分都摘抄到笔记本上,因为有些内容可能当初有感悟但是后面发现自己的感悟是错误,并且作者在后面也解释的更为详细。或者有些内容在后面又更精妙的描述和解释,又或者你会发现它必须与前面或者后面几点结合起来一起看才有用。在回顾的过程中不断的提炼自己的观点并且尝试输出,知识不知不觉的就输入到你的脑袋中,并且完成了与作者的一次沟通。对于微信读书来说,我们可以划线并且在划线处写出自己的感悟,最后写读书笔记的时候导出作为参考。我一般用到三种划线:黄色的重点标注:表示这段我不太理解。后续在写读书笔记的时候需要结合全书的内容或者AI工具来深入了解红色的标记:我有一定感悟的内容波浪线:我觉得比较重要的内容这些都是日后写读书笔记重要素材。活用根据书籍不同的内容,我们活用的方式可能不同。学科类的工具书,例如相关的专业书籍可能直接在工作中就用上了,而一些小说、哲学、心理学等文科方面的书可能只能通过读书的笔记方式进行输出。这里我想说说后面我写读书笔记的一些思路针对故事类的书籍,这里一般是小说或者历史故事、纪实文学等偏故事性的书籍。首先就是在尽量不剧透关键情节的情况下描述以下故事。然后列举出我划线了觉得写得好得句子并配上我的感悟。对于非虚构类的书籍,我想分为工具类书籍和理论性的书籍工具类的书籍就是书中的知识和办法我能直接拿来用的,就像本书这样。这种书我结合书中的内容和自己的情况想办法制作一套自己的实践路线。书中的一些重点内容我也会记录并且给出自己的感悟对于理论性的书籍可能暂时没办法实践,例如 《钢铁,病菌与枪炮》、《人类简史》这样的书籍,书中讨论的我是没办法验证和实践的。这种需要记录作者的主要观点以及是如何论证的。每章又在讲解什么内容,有时候作者会有一些发人深省的句子或者观点,这些也值得记录并给出自己的感悟。总结这本书是一本介绍读书方法的书,作者主要通过介绍做读书笔记的方式来进行书籍的阅读。对我来说它是一本帮我审视自己读书习惯的书籍,以及教我如何写读书笔记的方法论的书
2025年07月07日
1 阅读
0 评论
0 点赞
2025-07-05
读 《一本书读懂财报》
这是我读财报相关书籍的第二本。在上一本 《用生活常识就能看懂财报》的书中,对上市公司的财报有了一个初步的认识。知道财报主要由三张表构成,这三张表是一个整体,要用立体的眼光看待这三张表。但是它毕竟是一本入门的书,对于一些专业的分析方式和财报条目没有介绍的很细,在入门之后我需要一本稍微偏专业的书籍再来详细了解一下财报每个栏目的构成以及掌握一些财报分析的方法。《一本书读懂财报》就是我此时需要阅读的书籍在会计的眼中,企业主要从事三种活动:经营活动,也就是做买卖。也就是生产产品、销售产品、回收账款投资活动,为了日后能扩大产能,开展新业务、设计新产品所进行的投入融资活动,也就是搞钱,除了经营活动以外的方式来搞钱。资产负债表除了赚钱之外,企业还有一个最基本的要求,就是保证股东投入的本金不会遭遇损失。投入的本金现在都变成了什么,它们的价值如何是不是还保留着原来的价值。描述这些信息的表就是资产负债表。资产负债表被分成两个部分,左边表示资产、右边表示两个部分:负债和股东权益。左边的资产是按照流动性从高到低,或者说变现难易度从易到难的顺序依次排列,分别是:货币资金:就是可以立马变成钱的资产,包括企业柜上的现金、银行账户的存款、其他货币资金应收账款:核算企业通过销货商品或者提供劳务等经营活动应收取的账款。换句话说就是客户欠公司的钱预付账款:企业按照合同规定预付的款项,它也是资产的一种,存在预付款项表明企业未来有向供货商要求供货的权力其他应收款:企业除存出保证金、买入返售金融资产、应收票据、应收款项、预付款项、应收股利、应收利息、应收代位追偿款、应收分保账款、应收分保合同准备金、长期应收款等以外的其他各种应收及暂付款项。存货:存货主要有生产产品所需的原材料、生产出来的产品,在生产过程或提供劳务过程中耗用的材料和物料等其他流动资产以上就是流动资产包含的内容,所谓的流动资产就是在一个经营循环内或者一年以内能变现成现金的资产,其余的就是非流动资产。非流动资产主要包括以下几个内容:长期股权投资:长期股权投资只包括对被投资企业拥有控制权、共同控制权或能够施加重大影响的投资固定资产:指同时具有下列特征的有形资产:(1)为生产商品、提供劳务、出租或经营管理而持有的;(2)使用寿命超过一个会计年度。无形资产:无形资产主要包括专利权、非专利技术、商标权、著作权、土地使用权、特许权等长期待摊费用:它最初的确是一笔资产,但随着企业的正常运营和时间的流逝,它最终变成了一笔费用,这就叫待摊费用。比如预付的房租、预付的广告费用,甚至开办一家企业所需要的开办费,都是待摊费用其他非流动资产费用和资产的共同特点就是都是需要花钱的项目。但是有些花销能用于日后的生产,这笔开销就是资产。有些钱花出去就消失了或者慢慢消失了,这就是费用。这些资产的价值是如何计算的呢?一般资产有两个价值买入时的价格这个叫做历史成本和现在市场上的价格。那么在计算资产价值时采用哪个数字呢?如果这个资产升值,就当作没看见;如果资产的价值减小了,就把这个减值记下来。因为资产计价体系是一个历史成本的体系,一定要在历史成本的基础上扣除这个资产的减值。除了金融资产与投资性房地产之外,大多数资产都是按照历史成本来计价的。我们再来看看负债这一项,它主要包括流动负债和非流动负债,流动负债主要是一年以内需要支付的款项,流动负债包含以下几个内容短期借款:企业向银行或其他金融机构等借入的期限在一年以下(含一年)的各种借款应付账款:欠供应商的货款预收款项:收了客户的钱但是没有给客户供货其他应付款:未向金融机构或者银行进行的借款其他:应付职工薪酬、应付税款等非流动负债包含以下几个内容:长期借款:企业向银行或其他金融机构借入的期限在一年以上(不含一年)的各项借款。应付债券:一般发行了企业债券的时候会存在这个项目,一般在中国很少有企业会发行债券长期应付款:长期应付款会跟一种交易有关—租赁其他非流动负债因为股东是不能随意撤资的,所以股东权益就是一个永远不同偿还的项目。股东权益是公司总资产中扣除负债的部分,也就说 股东权益 = 资产 - 负债。它主要包含下面几个部分:股本: 在中国,股本必须等于注册资本,或者更准确地说,是实缴到位的注册资本。资本公积: 如果股东实际投入的资金比注册资本多,那多出来的这块,就是所谓的资本公积。不是所有的公司都有资本公积、上市公司一定有。假设一家上市公司发行票面值为1元的股票,共计一亿股,价值发行价为每股20元,那么公司的股本只有1亿,但是会多募集19亿的资金,这多出来的就是资本公积。如果是非上市公司,有一种情况也能产生资本公积。假设小张打算投资小黄的公司,小黄的公司小黄自己当初投入了100万的资金。为了与小黄取得同样的股权,小张要投资多少呢?特别是公司经过多年经营资产已经增长了多倍的情况下,小张可能要投入500万才能获取一半的股权。会计门将小张这500万中的100万作为股本,也就是股本与小黄齐平,而多余的400万作为资本公积。所以 《用生活常识就能看懂财报》书中将它形象的称之为企业不劳而获的所得盈余公积:法律不让企业分配的一部分利润,中国的公司法规定,一家公司有了盈利之后,必须留存至少10%作为盈余公积。未分配利润:未分配利润:企业留待以后年度分配或待分配的利润。资产负债表左边告诉我们投入的钱都变成了什么。右边告诉我们钱都从哪来。利润表利润表表示我们投入的资产有没有赚到钱。利润表中主要有这么几个概念营业收入:企业卖出产品所获得的收益就是营业收入营业成本:卖出的产品则是营业成本营业收入 - 营业成本 = 毛利润税金及附加:指企业经营活动发生的消费税、城市维护建设税、资源税、教育费附加及房产税、土地使用税、车船使用税、印花税等相关税费,这个税并不是全部的税费。这些税不管有没有卖出产品赚到钱,只要企业在正常运转就需要交销售费用:在生产和销售过程中产生的费用就是销售费用。比如生产产品后需要存放的仓库费用、中间的运输费、广告费等等管理费用:管理费用就是与企业的管理环节有关的一切费用研发费用:财务费用:企业会为长期借款和短期借款付出一定的利息,也会因在银行存款而获得一部分利息,这些利息都被记录在这里。也就是说,利润表上的财务费用,实际上是借款利息减去存款利息的净额投资收益:投资收益:企业(金融)债券投资持有期间取得的利息收入。对联营企业和合营企业的投资收益公允价值变动收益和资产减值损失:它们都是公司资产价格变化引起的收益的增减资产处置收益:主要用来核算固定资产、无形资产等出于出售、转让等原因,产生的处置利得或损失。存在这一项往往表明公司在处理非流动资产营业利润:企业利润的主要来源,根据上面的描述,营业收入-营业成本-税金及附加-销售费用-管理费用-财务费用+资产减值损失+公允价值变动收益+投资收益+资产处置收益=企业的营业利润。营业外利润:反映企业发生的除营业利润以外的收益营业外支出:反映企业发生的除营业利润以外的支出利润总额 = 营业利润 + 营业外利润 - 营业外支出所得税费: 利润所需要缴纳的税费,这里的利润是按照税法规定的利润计算方式,而不是这里提到的利润总额净利润 = 利润总额 - 所得税费需要注意的是,虽然利润表反应企业赚了多少钱,但是有收入不等于收到现金,收到了钱却可能没有收入,有费用也不等于要付出现金,付出了现金不一定会产生费用。有收入不一定收到现金这个很好理解,有时候产品卖出去了,客户那边可能会拖欠一部分钱也就是采取赊账。收到了钱却可能没收入,企业收到了客户的钱但是还没有给客户发货。有费用也不等于要付出现金,有时候会产生一些设备的折旧费用,固定资产在不断的损耗。付出了现金也不一定会产生费用,企业预缴了下一年的房租,换回了这所房子在下一年的使用权,得到了一项资产,却没有在当下产生费用。用收入减去所有的成本费用等于利润,而用收到的所有现金减去付出的所有现金就得到了一个叫“现金流”的概念,因此,以上四条论述加在一起就帮助我们推断出一条真理:利润不等同于现金流。所以有时候明明企业赚了很多利润,但是最终确没有钱。从经营活动来看这几张报表上面介绍了资产负债表和利润表,它们并不是单一的孤立的,死板的一些数字。而是鲜活的立体的,准确的描述了企业的经营活动。我们分析财报就是要通过财报还原企业的经营步骤和经营状况。书中举了一个企业的例子来帮助我们进一步加深对财务报表的理解。一家企业在经营过程中涉及了13种经济活动设立公司,股东出资 3200万作为股本。此时资产负债表种左侧的资产一栏多出了3200万的货币资金。右侧股东权益多了3200万的股东股本。之后向银行贷款了5100万,此时左侧的现金资产变为 8300万,右侧多了长期借款 5100万资金到位之后,它花费5700万购置厂房、设备、车辆以及办公用品,此时流动现金变为 2600万,而多出来了 5700万的固定资产之后花费了 150万购买了土地的使用权,在中国土地使用权被算作无形资产接下来就是采购原材料并且开始生成产品了,假设它采购了2400万的原材料,但是只支付了供应商1600万,此时它的应付账款多了欠供应商的800万。而存货多出了2400万,并且现金减少1600万在使用原材料的进行生产的过程中,它用掉了所有的原材料,并且为生产支付了包含水电、工资等在内的1200万费用。那么此时生产产品的价值为 3600万,而产品和原材料都属于存货,也就说此时公司的存货变为3600万生产出产品之后接下来要做的就是将产品卖出去。于是这家公司和客户签订了一些合同。这些产品卖出了4300万,但是企业并没有把存货全部卖光,而是卖出了价值3100万的货物,同时客户只支付了3000万,欠款1300万。此时我们失去了这部分价值3100万的存货,所以此时存货为500万。这笔交易为我们带来了3000万的现金收入。毛利润 = 营业收入 - 营业成本,所以它的毛利润为1200万,因为公司的资产都属于股东,所以说这笔钱可以看作是股东放到公司用作未来经营的一笔追加的投资,所以它被放到了股东权益的未分配利润中为了明年的生产,所以公司又采购了150万的原材料,但是供应商承诺明年会供货。所以此时货币资金减少了150万。虽然货物没有收到,但是公司保留了明年向供应商收货的权力,所以此时应该有价值150万的预付货款假设这家公司花了50万研发出了增加生产效率或者减少污染的新技术。首先货币资金应该减少50万。技术属于无形资产,此时这项技术是否应该记录在无形资产中呢?答案是否定的。首先,会计准则规定,企业的研究支出应被记录在管理费用当中;其次,产品开发阶段的投入,如果满足一定条件的话,可以被记录在无形资产当中。具体而言,研究是指技术的研究;而产品的开发是指技术研究成功后,企业为了将技术应用到产品制造中,设计、制作模具等所产生的花费。再次,会计准则又说了:技术研究成功之后,用于申请专利的这部分费用可以被记入无形资产。也就是说,如果这家公司花了50万元去研究技术、5000元去申请专利,那么,只有5000元能被记入它的无形资产当中。为什么这么规定呢?因为技术研发阶段不确定将来是否能成功,成功之后也不确定是否真的能带来商业利益。所以只有真正能用于生产也就是申请了专利的技术才被当作无形资产。而没有成熟的或者在研发中的技术应该被算在管理费用中。所以这里我们将50万记为管理费用。多了一项管理费用,所以此时利润应该要再减去50万这家公司支付了150万元的销售人员的工资和250万元销售部门的开支。此时利润需要再减去 400万。支出这部分钱会导致现金减少400万这家公司为长期借款付出了130万的利息,也就是最终未分配利润需要减少130万,并且货币资金减少130万这家公司还上缴了100万的税费。所以货币资金减少100万,未分配利润再次减少100万最后企业决定从盈利的钱中拿出100万作为现金分红,此时公司的货币资金再减少100万,同时未分配利润减少100万根据上面列出的,我们可以计算出下面的几项数据:货币资金 = 初始3,200 + 贷款5,100 - 购固定资产5,700 - 购地150 - 付货款1,600 - 生产费1,200 + 销售回款3,000 - 预付150 - 研发50 - 销售费400 - 利息130 - 税费100 - 分红100 = 1,720万未分配利润 = 营业收入 4300 - 营业成本 3100 - 销售费用 400 - 管理费 50 - 利息 130 - 税费 100 - 分红 100 = 420最终的资产负债表 (单位:万)资产本期金额负债和股东权益本期金额流动资产 流动负债: 货币资金1720短期借款 应收账款1300应付账款800预付款项150预收款项 其他应收款 其他应付款 存货500其他 其他流动资产 非流动负债: 非流动资产 长期借款5100长期股权投资 应付债券 固定资产5700长期应付款 无形资产150其他非流动负债 长期待摊费用 股东权益: 其他非流动资产 股本3200 资本公积 盈余公积 未分配利润420资产总计9520负债和股东权益总计9520上述营业活动会得到如下的利润表(单位:万)项目本期金额一、营业收入4300减:营业成本3100税金及附加 销售费用400管理费用50研发费用 财务费用130加:投资收益(损失以“-”号填列) 其中:对联企业和合营企业的投资收益 公允价值变动收益(损失以“-”号填列) 资产减值损失(损失以“-”号填列) 资产处置收益(损失以“-”号填列) 二、营业利润(亏损以“-”号填列)620加:营业外收入 减:营业外支出 三、利润总额((亏损以“-”号填列))620减:所得税费100四、净利润(亏损以“-”号填列)520我们看到,企业分红不体现在利润表中的任何一项。在扣除分红之前,可以看出净利润与未分配利润的关系。也就是说在经营活动中,赚取的利润都变成了资产负债表中的某一项。因此在分析财务报表时我们需要几张表一起来看。现金流量表现金流量表主要描述现金的流向,也就是企业收到钱和付出钱的情况。只要一个人会记流水账,也就会做现金流量表,因为现金流量表本身就是一张流水账单。现金流量表主要分为经营活动的现金流量、投资活动的现金流量、和融资活动的现金流量。经营活动,是指企业投资活动和筹资活动以外的所有交易和事项。投资活动,是指企业长期资产的购建和不包括在现金等价物范围内的投资及其处置活动。筹资活动,是指导致企业资本及债务规模和构成发生变化的活动。前面说,有收入不等于收到现金,收到了钱却可能没有收入,有费用也不等于要付出现金,付出了现金不一定会产生费用。也就是通过资产负债表或者利润表无法直观的表示公司到底收到了多少钱或者花掉了多少钱,所以需要第三张表来描述真正进出的现金。现金流量表向我们展示了资产负债表上货币资金增减变化的原因。根据上面企业经营的例子,我们可以得到如下的现金流量表:项目本期金额一、经营活动产生的现金流: 销售产品、提供劳务收到的现金3000收到的税费返还 收到其他与经营活动有关的现金 经营活动流入现金小计3000购买商品、接受劳务支付的现金1750支付给职工以及为职工支付的现金1200支付的各项税费100支付其他与经营活动有关的现金450经营活动流出现金小计3500经营活动产生的现金流净额-500二、投资活动产生的现金流: 收回投资产生的现金 取得投资收益收到的现金 处置固定资产、无形资产和其他长期资产收回的现金净额 处置子公司和其他营业单位收到的现金净额 收到其他与投资活动有关的现金 投资活动流入现金小计 构建固定资产、无形资产和其他资产支付的现金5850投资支付的现金 取得子公司及其他营业单位支付的现金净额 支付其他与投资活动有关的现金净额 投资活动现金流出小计5850投资活动产生的现金流净额-5850三、筹资活动产生的现金流: 吸收投资产生的现金3200取得借款收到的现金5100收到其他与筹资活动有关的现金 筹资活动现金流入小计8300偿还债务支付的现金 分配股利、利润或偿付利息支付的现金230支付其他与筹款活动有关的现金 筹款活动现金流出小计230筹资活动产生的现金流净额8070我们来从上面列出的公司经营活动来看各个现金流如何变化首先是股东出资3200万,这部分被记录在 吸收投资产生的现金 中向银行贷款 5100万,这部分被记录在 取得借款收到的现金 中购置厂房的 5700万被记录在 构建固定资产、无形资产和其他资产支付的现金 中150万购买的土地使用权同样属于无形资产,因此 构建固定资产、无形资产和其他资产支付的现金 会增加 150万变为 5850万采购原材料价值 2400万,但是实际只支付了 1600万,所以这里只记录 1600万到 购买商品、接受劳务支付的现金 中生产产品过程中,支付了 1200万的水电、和员工工资。这部分被记录在 支付给职工以及为职工支付的现金 这一项中客户购买了价值 4300万的产品,但是只支付了 3000 万,所以在 销售产品、提供劳务收到的现金 这一项中只记录 3000万为了明年的生产,所以公司又采购了150万的原材料,这笔钱被记录在 购买商品、接受劳务支付的现金 中,此时这一项总金额变为 1750万50万的研发费用应该算作管理费,它被记录在 支付其他与经营活动有关的现金 中总共为销售部分和销售员工支付了400万的金额,这部分被记录在 支付其他与经营活动有关的现金,此时这一项变为 450万支付的 130万的利息,被记录在 分配股利、利润或偿付利息支付的现金 中上缴的 100万税费算作 支付的各项税费, 被记录在这一项中公司的分红 100万,也被记录在 分配股利、利润或偿付利息支付的现金。此时该项总金额为 230万通过现金流量表计算得到,筹资活动现金流净额(8070) + 投资活动的净额(-5850) + 经营活动的现金流净额(-500) 最终得到现金剩余 1720。这个1720 正好是资产负债表中的 货币资金 。也就是说这三张表是互相依靠、互相应证的关系。通过现金流量表还可以看到,虽然公司经营过程中产生了利润,并且利润还比较客观但它经营过程中产生的现金流量是负的,也即是说经营活动无法养活它自己,它还需要靠着外部筹资才能活下去,公司的造血能力不足一旦筹资受挫将来可能面临资金链断裂的风险。所以光看资产负债表或者利润表是无法判断企业是否能长久的经营下去。我们要结合三张表一起看财务分析的一些指标和方法同型分析利润表中,我们使所有的项目都除以营业收入,再乘以100%,就能获得这些项目在营业收入中的占比。例如上面的企业的例子,它的净利润是 520 万,占营业收入 4300 万的 12%。 计算每一项资产在总资产中的占比,也就获得了对资产负债表进行同型分析的结果。例如我们计算固定资产 5700万占总资产 9520 的比例为 60%这一步是在进行同型分析。有了同型分析的数据,我们将不同时期的数据进行对比,这就是趋势分析。如果将这些数据与竞争对手、行业龙头或者行业的平均水平进行对比,这就是进行对比分析。分析企业的盈利能力分析企业的盈利能力有这么几个指标:毛利率:毛利润 / 营业收入净利润率:净利润 / 营业收入另外无论企业的经营模式怎样,都可以抽象为从现金开始再到现金的循环,也就是投入-->做生意-->获得回报的过程。我们可以通过一些周转率来衡量企业的赚钱效率。周转率就像餐厅的翻台率一样。餐厅每服务一桌的客人就可以赚一桌的钱,桌子就是餐厅的资产。在同样的时间里,总资产的周转率越高,完成上述循环的次数越多,赚的钱也就越多。因此,总资产的周转率是一个与效率有关的概念。用净利润除以总资产,也便得到了一个新的比率—总资产报酬率。$$ \frac{营业收入}{总资产} * \frac{净利润}{营业收入} = \frac{净利润}{总资产} = 总资产报酬率 $$总资产报酬率:又称总资产利润率、总资产回报率、资产总额利润率,英文缩写ROA,用以评价企业运用全部资产的总体获利能力。净资产报酬率,又称为净资产收益率、净资产利润率等,是净利润与平均股东权益的百分比。净资产 = 资产 - 负债。净资产收益率越高代表股东投资的收益越高$$ \frac{营业收入}{净资产} * \frac{净利润}{营业收入} = \frac{净利润}{净资产} = 净资产报酬率 $$分析企业的运营能力企业的投资取决于 效率和效益的乘积。上面是企业的效益也就是投入资产获得回报的能力。用营业收入除以某项资产就得到该资产的周转率。总资产周转率:企业在一定时期营业收入同平均资产总额(可以用期初与期末资产总额之和除以2得到)的比率应收账款周转率:在一定时期内(通常为一年)应收账款转化为现金的平均次数。应收账款周转率是营业收入除以平均应收账款(可以用年初与年末应收账款之和除以2得到)的比值,它说明应收账款流动的速度流动资产周转率:营业收入与流动资产平均余额的比率,它反映的是全部流动资产的利用效率。固定资产周转率:企业营业收入与固定资产平均净值的比率。它是反映企业固定资产周转情况,从而衡量固定资产利用效率的一项指标。存货周转率:企业一定时期营业成本(也可以用营业收入)与平均存货余额的比率。用于反映存货的周转速度例如我们用4300万的营业收入除以500万的存货得到存货周转率为 8.6。如果我们以一年的天数 360天除以存货周转率得到存货的周转周期为 41.86 天。也就是每 41.86天周转一次营运能力:企业的经营运行能力,即企业运用各项资产以赚取利润的能力。企业营运能力的财务分析比率为各种资产的周转率,如存货周转率、应收账款周转率、流动资产周转率和总资产周转率等,以及相对应的周转周期。企业一般会走效率路线或者差异化路线。企业的盈利 = 效率 * 效益。效率路线就是多做几次生意,减少每次生意的利润。像餐厅或者物流、零售等企业。有的企业会走效益路线,也就是让每次生意的利润最大化,这可能会带来效率的减慢。分析公司的偿债能力用流动资产除以流动负债便获得了流动比率,这个比值越高,说明企业的短期偿债能力越强。前面在介绍资产负债表时提到,存货也属于流动资产,但是相比前几项,存货不是那么容易变成现金的,一旦资金链面临断裂的风险,存货势必也要降价出售它的价值可能也达不到表中给出的价值。当一家公司的流动比率为1,那么它的营运资金一定是不足的。所以我们需要一个新的指标来衡量偿债能力。用流动资产减去存货的差除以流动负债,就得到了速动比率,并用它来衡量企业的短期偿债能力。短期偿债能力可以用流动比率或者速动比例来衡量。长期偿债能力可以依靠资产负债率来衡量,用总负债除以总资产得到资产负债率。什么样的公司才算是好公司对于投资来说能持续给投资者赚钱的公司就是好公司,这句话有两个层面的意思,第一是能给投资者或者说股东赚钱,第二个是能持续。衡量一个股东的投资回报有很多个xx回报率。用净利润除以总资产就得到总资产回报率。用净利润除以净资产就得到净资产回报率。用税后净营业利润除以投资资本就能得到投资资本回报率。那么投资资本回报率与总资产回报率是不是一回事呢?它们并不是一回事,二者也不相等。总资产回报率的分母包含了股东权益和借债,但是公司的利润都是股东的,分子属于股东但是分母却是股东权限 + 负债。二者有点不匹配。而且银行借钱给企业不是为了股东权益而是为了收利息,所以搞出来了一个投资资本回报率。投资资本回报率的分子是税后的利润 + 利息,也就是净利润加上了付出的利息,这个部分就是税后净营业利润。而分母则是投资资本也就是总资产或者说负债加上股东权益。这个回报率考虑了债权人和股权人的投资回报。如何衡量投资资本回报是否合格呢?投资资本回报不光要考虑是否有回报还要考虑回报是否合理。这里涉及到一个机会成本的因素,也就是说投资者投资公司肯定是希望赚的比别的公司要多才行,如果不如别的公司那么投资者直接投别的公司就好了。这个机会成本就是投资资本成本。用投资资本回报率减去投资资本成本如果大于0,表示这笔投资是合格的,也是值得的。如何计算投资资本的成本呢?投资资本主要分为股东和债权人的投资,股东投资希望企业能盈利,而债权人投资则希望拿到利息。盈利方面我们可以以行业的平均盈利水平来计算,而债权人的投资则可以用这笔借债的利息来衡量,最终通过二者的投入比例算一个平均值作为投资资本成本。假设还是上面那家公司,股东投入 3200万,借银行5100万,股权占比 38%, 借贷占 62% 假设借贷利息是7%,行业平均盈利水平是12%。那么可以计算得到这笔投资的加权投资资本成本为 38% 12% + 62% 7% = 8.9%。该企业的投资资本回报率为 620 / 9520 = 6.5%。但是上面的计算有一个小小的瑕疵。因为缴税是根据利润来进行的,而利润需要扣除还银行的利息,支付利息可以减少一家企业的税前利润,从而进一步减少它所要缴纳的所得税。利息越高,所得税越少,这被称为“利息的税盾效应。因此企业要支付给银行的利息被分为如下两个部分:和税率相等的部分由政府承担,而剩余的部分由企业承担。因此这家公司的投资资本成本应该是 38% 12% + 62% 7% * (1 - 7%) = 8.59%一家好的企业最起码是一家赚钱的企业。什么是赚钱?从短期来说,赚钱是有正的经济利润;从长期来说,赚钱是为股东创造价值。如何判断一家企业是否能长期存在呢?首先它的现金流要充足,现金流可以从现金流量表中进行分析。现金流分为经营活动的现金流、投资活动的现金流和融资活动的现金流。每个现金流都有正有负,总共可以有8种情况序号经营活动的现金流投资活动的现金流融资活动的现金流1+++2++-3+-+4+--5-++6-+-7--+8---该类型的企业经营活动现金流为正,表示它光靠做生意就能源源不断的产生现金流。投资活动的现金收入一般来源于处置资产或者有投资的收益,这种企业一般不缺钱不太可能会处置资产,因此这部分的现金来源应该是投资收益。融资活动的现金流也是正,表明它正在进行融资可能要扩大生产,需要进行投资。如果它没有投资计划但是又融到一大笔钱,此时就要小心了。第二类企业与第一类企业唯一的不同是它的融资活动的现金流是负的,此时它可能正在偿还银行欠款或者进行分红。这是在健康发展的企业中常见的情况这种企业通常由第一类企业转换而来,第一类企业融到了大笔钱,同时也计划进行投资,一旦投资开始了那么此时它的投资活动的现金流就会变成负的。营业可以养活自己、又融到一大笔钱打算大干一场,似乎它是一家有野心也正常经营的企业。但是需要警惕投资的风险。不光是要警惕投资的目标是否赚钱而且要警惕那种需要长时间大量的投入会掏空企业的现金。这种企业经营赚了钱,但是它同时在进行投资、还钱以及分红的活动。那么这种企业要看账上是否留有足够的钱应对接下来一年的营业活动这种企业经营活动没赚到钱,主要靠投资和融资来维持,是比较危险的企业,投资活动收益有可能是变卖固定资产的来的,一旦后续无法融资那么它就会变成第六种企业这种情况的公司不光无法赚到钱,同时也在变卖固定资产,同时还在还债,日子十分难过这种企业一般是处于创业阶段或者衰退阶段。初创企业刚刚开始营业还无法赚到钱,并且还有融资用于投资扩大生产。如果将来能转亏为盈,那么将会越来越好。至于衰退期的企业目前在市场上已经没有优势,营业状况不太好,同时它们在扩大投资并且希望有所改变,同时又有借债。一旦投资有误,那么将陷入深渊。这种企业是最可怕的,它只有出去的钱没有进来的钱,如果短时间内无法改善那么就注定倒闭,这种一般是第四种企业变化来的,第四种企业一旦经营不善就会变成第八种不同状态的企业处在不同的发展阶段,具有不同的风险特性和风险来源。这就是现金流量表告知我们的关于公司风险的信息
2025年07月05日
2 阅读
0 评论
0 点赞
2025-07-01
Emacs 折腾日记(二十七)——终端管理
Emacs 号称一个伪装成文本编辑器的操作系统,你几乎可以在Emacs中干任何事情。在Emacs中运行终端自然是小菜一碟。Emacs中有许多其他类型的shell,例如 eshell、term、vetrmterm 终端其中 term 是Emacs中自带的shell,它最终是调用系统中安装的其他shell环境。我们可以直接使用 M-x 调用 term命令,来选择启用一个系统终端。我们可以在这个终端上进行一些操作。但是还有一些执行细节需要优化。控制term窗口的显示首先我们看到在启动终端之后,它占用了一整个窗口,这对于我来说并不友好。一般情况下我只是希望在编写代码之后临时的调用终端执行一些命令,例如编译或者运行代码之类的操作。因此我希望它可以放到下方并且可以快速的关闭退出我们可以通过 shackle 插件来控制窗口的行为。主要有:方向、大小和弹出方式等等。配置 shackle 插件最重要的是变量 shackle-rules 。它的构成如下: CONDITION(:regexp) :select :inhibit-window-quit :size+:align|:other :same|:popupCONDITION 是相关的条件,表示我们要定义哪一类窗口的行为。这个条件可以是正则表达式,可以是字符串,可以是modeselect 控制弹出窗口后是否选中size: 0到1间的数字,控制窗口宽度和高度占整个窗口区域的百分比inhibit-window-quit: 按q退出时不删除这个缓冲区align: 弹出窗口的对齐方式,取值有 ’left, ‘right, ‘below, ‘aboveother: 如果当前 frame 有多个 window,是否复用另外一个 windowpopup: 弹出一个新的 window,而不是复用当前 windowsame: 不弹出 window,复用当前 windowignore: 禁止显示该窗口我们当前的配置可以这么写(use-package shackle :ensure t :hook (after-init . shackle-mode) :custom (shackle-default-size 0.5) (shackle-default-alignment 'below) :config (setq shackle-rules '((term-mode :regexp t :select t :size 0.3 :align t :popup t :quit t))))这里表示 term 窗口在弹出之后占据下方30%的区域进行显示,并且退出后直接关闭窗口。这样我们可以看到使用 term 之后窗口显示在下方,并且像普通buffer那样可以使用vim的命令 :q 来退出快速切换显示和隐藏状态对于终端这种临时窗口,我们一般不会让它长时间驻留在buffer中。想要的时候随时调用、不要的时候随时关闭或者隐藏。对于这种快速打开关闭的需求,我们可以使用 popper 插件。它通过赋予任意缓冲区“弹出”状态,让这些缓冲区不打扰你的核心工作区,只需一键即可调用或隐藏,完美适用于那些需要即时访问但又希望不影响视线的场景。popper-toggle、popper-cycle 和 popper-toggle-type 是三个核心命令。popper-toggle: 快速切换最新一个弹出缓冲区的显示/隐藏状态popper-cycle: 循环切换所有标记为弹出的缓冲区popper-toggle-type: 切换特定类型缓冲区的显示/隐藏状态另外它需要通过 popper-reference-buffers 来定义特定类型的缓冲区,插件会将符合这些规则的缓冲区标记为 POP并且进行管理。popper-reference-buffers 支持正则表达式来匹配缓冲区名。我们可以使用下面简单的配置(use-package popper :ensure t :hook (after-init . popper-mode) :init (setq popper-reference-buffers '("\\*Messages\\*" "\\*Async Shell Command\\*" term-mode help-mode helpful-mode "^\\*eshell.*\\*$" eshell-mode "^\\*shell.*\\*$" shell-mode ("\\*corfu\\*" . hide))) :config (my-leader-def "/" #'popper-toggle "t" #'popper-cycle "T" #'popper-toggle-type) )最终它的效果如下:eshelleshell 与 term 最大的不同在于eshell 是Emacs 自己通过elisp实现的一个仿制的终端,而 term 是真实的系统终端,它调用系统中的shell环境。目前来说使用 term 来打开系统终端能应付大部分的情况,但是学习Emacs,eshell似乎是一个绕不开的坎,并且eshell配置好了,同样好用。eshell里面实现了普通shell里面常用的命令,例如 ls、cd、cp 等等。同时也可以执行elisp代码,例如可以通过find-file 打开一个文件。或者输入简单的算术表达式像 (+ 1 1) 来进行一些数学计算。封装shell命令到eshelleshell里面实现了常见的shell 命令,但是我们在后续会经常性的安装一些好用的工具,来简化我们的工作流程,所以在使用eshell的第一件事就是将shell命令封装到eshell这里我以 autojump 为例。autojump 是一个快速跳转到指定目录的工具,当你通过cd进入过的目录会被记录下来,下一次通过 autojump 不再需要输入全路径,而是直接模糊匹配进行跳转,例如我们多次进入了 ~/.emacs.d/lisp 目录,下一次不管当前目录在哪里只需要输入 j lisp 即可进入。我们希望复刻这种行为到eshell中。定义eshell 中的命令可以通过定义一个以 eshell/ 开头的函数来实现,函数名后面的名称就是可以输入eshell的命令名称,所以这里我们要定义一个名为 eshell/j 的函数。同理,我们想要使用eshll中定义好的命令例如 cd ,可以直接调用 eshell/cd 函数。我们还是使用 use-package 来管理关于 eshell 的配置,最终实现的代码如下:(use-package eshell :ensure nil :config (defun eshell/j (&rest args) (let* ((argstr (mapconcat 'identity args " ")) (target (shell-command-to-string (concat "autojump " argstr)))) (setq target (replace-regexp-in-string "\n" "" target)) (if (file-directory-p target) (eshell/cd target) (error "目录不存在: %s" target)))))上述代码主要通过 autojump 命令来根据输入的目录名称来匹配一个实际对应的路径全名,然后通过 eshell/cd 来完成跳转操作。为什么不直接执行 j 来实现跳转呢?eshell是emacs模拟的shell并不是真实的shell,它是与Emacs绑定的,外部的shell命令无法改变 eshell的环境包括它当前所在的目录。因此我们需要调用eshell自身的命令来改变它的环境。最终的效果如下eshell 的 alias在普通的shell中,我们可以通过 alias 定义命令的别名,例如常用的 ll 或者我喜欢将 vi 和 vim 改成 nvim。eshell中也可以设置别名eshell 中使用 alias 来设置别名,它的语法如下:alias 别名 '命令 [参数] $@*'参数部分传入 $1、$2 等等,代表传入的第一个、第二个参数,或者直接使用 $@* 表示接受输入的所有参数,例如我们定义一下 ll 这个别名alias ll 'ls -l $@*' ; 输入 `ll` 等价于 `ls -l`在 eshell 中输入的 alias 命令仅仅在当前 eshell 环境中生效,想要永久生效可以将上述命令写入到 ~/.emacs/eshell/alias 文件中。eshell 会通过函数 eshell-read-aliases-list 加载对应文件中定义的别名,保存别名的文件路径被保存在 eshell-aliases-file 中,它默认的值为 ~/.emacs.d/eshell/aliaseshell history普通shell中有一个 history 命令可以查看保存的历史,并且可以使用方向键的上和下来输入上一条或者下一条命令。eshell 虽然也能这么干,但是eshell 因为是elisp模拟的终端,背靠Emacs这座大山,它可以配合Emacs的相关插件更高效的利用history命令。这里我们可以配合 consult-history + orderless 来模糊匹配命令(use-package em-history :ensure nil :defer t :custom (eshell-history-size 1024) (eshell-his-ignoredups t) (eshell-save-history-on-exit t)) (use-package esh-mode :ensure nil :hook (eshell-mode . (lambda () (local-set-key (kbd "C-r") #'consult-history))) :bind (:map eshell-mode-map ("C-r" . consult-history)) :config (with-eval-after-load 'evil (evil-define-key '(normal insert) eshell-mode-map (kbd "C-r") #'consult-history))) eshell 直接使用 term 命令上面我们提到,想要调用shell命令,可以通过编写lisp代码封装进行封装,能否直接使用shell命令呢?答案是可以的,eshell中有 eshell-visual-commands、eshell-visual-subcommands、eshell-visual-options 这么三个变量来共同决定哪些命令需要启用term 终端.eshell-visual-commands 接受一个字符串的列表,我们输入的命令在这个字符串列表中,那么就会启用term终端来执行命令eshell-visual-subcommands 来处理带子命令的复杂命令,在特定子命令下才需终端模拟eshell-visual-options 根据命令选项动态启用终端模拟。某些命令仅在特定选项(如 -i 交互式模式)出现时才需终端支持三者优先级:eshell-visual-commands > eshell-visual-subcommands > eshell-visual-options。Eshell 按此顺序检查,匹配任意条件即触发终端模拟。例如我们常见的 git、man、lazygit 等命令无法使用 eshell 中的 elisp 进行模拟,我们可以通过上述函数来封装这些命令。(use-package em-term :ensure nil :defer t :custom (eshell-visual-commands '("top" "htop" "less" "more" "lazygit")) (eshell-visual-subcommands '(("git" "help" "lg" "log" "diff" "show"))) (eshell-visual-options '(("git" "--help" "--paginate"))) (eshell-destroy-buffer-when-process-dies t))结合上述对这些函数的说明,来分析一下这段代码。首先是 eshell-visual-command 中定义的 top、htop、less、more 这些命令需要完成的term终端支持。当运行这些命令时,Eshell 自动切换到term终端,确保交互式界面正常显示(如分页、高亮等)eshell-visual-subcommands 为特定命令(如 git)的子命令启用图形终端,也就是说我们执行 git help 时会触发切换到term终端的操作,而执行 git status 时不会eshell-visual-options 当命令携带特定选项时会切换到term 终端。下面是在eshell 中执行 lazygit 的界面eshell 美化上面介绍了eshell的一些基本用法,现在来介绍如何将eshell进行简单的美化。首先介绍的是 eshell-git-prompt 。它提供了好多好看的主题在安装完插件后,可以在eshell中输入 use-theme 来列出它支持的所有主题,或者输入 use-theme name 来设定一个主题。想要持久化,可以通过函数 eshell-git-prompt-use-theme 来指定一个主题(use-package eshell-git-prompt :ensure t :after esh-mode :config (eshell-git-prompt-use-theme 'powerline))接着介绍 eshell-syntax-highlighting,它是eshell中语法高亮的插件,它是继承自 zsh 中的 zsh-syntax-highlighting。(use-package eshell-syntax-highlighting :after eshell-mode :ensure t ;; Install if not already installed. :config ;; Enable in all Eshell buffers. (eshell-syntax-highlighting-global-mode +1))接下来要介绍的插件是 capf-autosuggest 。它是一个自动补全的插件(use-package capf-autosuggest :ensure t :hook ((eshell-mode comint-mod) . capf-autosuggest-mode) )这样基本上就把我在终端上常用的一些插件和操作习惯给挪到eshell中了。当然我常用的还有一个名为 autojump 的插件。对应的 eshell 中也有一个名为 eshell-autojump 的插件。但是我已经通过别名简单的实现了一个eshell 上的 j 命令,这个插件的实现原理也是这样的,这里就不介绍这个插件了。
2025年07月01日
7 阅读
0 评论
0 点赞
2025-06-22
读 《用生活常识就能看懂财务报表》
前面提到过,我想系统性的学习一下价值投资并且实践里面的一些思想。价值投资简单讲起来就是投资企业的价值而不是价格。要想看懂企业的价值首先应该是要学会看财务报表。所以我最近需要学习一下这方面的知识。本书是我学习看财报的入门书,作为入门书来讲,它通俗易懂,将财报上的常见科目以普通人的日常生活来进行类比,做到了通俗易懂。下面是它的一些具体内容总体来说上市公司每季度会出一个季度报表、每半年会出一个半年报、每年也有一个年报。有这么多报表是不是都要分析呢?我们不用每张都仔细看,只需要重点看年报,至于季度报表只需要简单浏览一下,即可。报表并不是公司自己出了就完了,它需要第三方会计机构进行审核,也就是所谓的审计。要完全审计清楚这一份报表是非常耗时的。一般来说只有年报才会有会计的审计意见。对于财务报表,会计的审核意见有四种,这也是法律规定的,只能在这四种意见中选择其一。无保留意见:在注册会计师审查时未受到任何限制,报表完全准确,能真实反映企业的情况保留意见:有难言之隐,企业有些问题,但是不方便说无法表达意见:企业的报表我看不懂否定意见:完全不及格如果我们要看财报,发现年报上的审计意见不是无保留意见,那么可以直接掠过这家企业,因为它的财报完全不及格。企业的财报主要有三个报表:利润表、资产负债表、现金流量表;利润表告诉你企业到底是赚还是亏、资产负债表告诉你企业将钱都花在了哪里,现金流量表告诉你现金是怎么出入的,以及当前账上还有多少钱。这三个报表是立体的,全方位的,不能只看一张表。另外我们看财报时主要需要判断企业是否具有长期稳定盈利能力。一般建议看连续5年左右的财报利润表在看利润表之前需要注意一些事宜:销货收入多,不一定是好事光看销货收入的绝对值没有意义,要做分类光看单一科目、单一报表没有意义;利润表、资产负债表、现金流量表必须放在一起看阅读利润表的关键是看一家企业是否具有长期稳定盈利的能力以生活常识来看,我们普通人有一份工作收入,有时候又有投资收入或者买彩票中奖的收入;有衣食住行用、教育、医疗、人情世故等开销。最后由收入 - 支出就得到了真正剩余的钱,也就是所谓的利润。按照这个逻辑对照着看报表中的每一项;营业收入:是从事主营业务或其他业务所取得的收入,类似于普通职工的薪水营业成本、营业税费、销售费用、管理费用、财务费用、资产减值损失:这些科目都是花钱的科目,类似于上面的衣食住行用等项目息税前利润:它是在所得税之前、利息之前所赚的钱。所谓的利息就是企业长期欠款需要支付的利息利息收入/支出:一般只有长期欠款才有利息,包括公司欠别人的和别人欠公司的其他收入:除开主营业务的其他收入,例如政府退税、政策奖励、投资收益等等,拿个人来说就像中彩票,这种收入一般不可持续其他支出:主营业务以外的其他支出,例如罚款在利润表中,有这么几个公式:营业收入 - 营业成本 = 毛利润净利润 = 总收入 - 总支出利润表不能单看一个项目,而要从全局来看。例如但看营业收入高,企业不一定好,有可能其他开销也大,最终是亏损的状态。而且收入有多种来源,就像上面提到的有其他收入、利息收入等等。就算只看营业收入也需要看看按照一定的规则区分收入来源根据客户区分:营业收入的来源是分散的还是依靠某个或者某几个大客户。做生意讲究长久,如果长期依靠某一个大客户,一旦大客户转单就会产生蛮大的风险。根据产品线区分:区分哪些产品挣钱多,哪些挣钱少,未将来资源倾斜做准备;如果企业产品线单一也会有一定的风险根据地区分:如果企业的营业收入只在单个或者某几个区域,那么风险较大。如果在多个区域都能取得不错的收益,那么风险就比较小了所以看见销货收入之后必须有一个观念:不是只看见金额大就觉得很好,还要想办法去搜集资料,看细处的信息。如果要增加净利润,最好还是着重于提升收入,成本费用只做适当的管控。财务报表种,字越小越重要!小于6号字的部分,超重要!盈利临界点销售量:公司经营有营业收入、支出方面有固定支出和变动支出两大类。固定支出是不管卖出多少产品支出保持不变,例如人工费用、厂房、仓库、设备维护费用;变动支持是随着售卖产品数量的提高而提高,例如原材料,如果工人的工资是采用计件的方式,那么工资也是变动支出。盈利临界点销售量就是计算卖出多少产品时收支平衡。资产负债表资产负债表主要说明一家公司在经营事业时,拥有多少资产、积欠供货商与银行多少债务,以及向股东拿了多少钱来经营事业资产负债表与我们的存折类似,当天只显示当天的余额。资产负债表只显示制作这张表时的资产与负债。而利润表则表示一段时间内的经营情况。资产负债表有一个重要的恒等式:资产 = 负债 + 股东权益资产负债表分为左右两侧,左侧表示资产,右侧又被分成两部分,分别是负债和股东权益。这里的股东权益是公司资产扣除负债之后,剩余财产归股东所有。如果用钱的走向来描述这张表的话,右侧就是公司的资产来源,包括银行或者其他机构的贷款、欠供应商的钱这些都是负债,股东出资,公司利用这些钱换成了左侧的资产。所以左侧始终要等于右侧。用通俗的语言来解释资产负债表的话,首先我们通过各种渠道取得了一些钱,我们需要留一些现金应急,这些现金在表中被叫做现金与约当现金。也许会借钱给好朋友,这部分是应收账款。有时候会考虑买车、或者换车,车子就是移动资产。我们可以会投入一些股票或者基金或者长期的债券,这部分叫做长期投资,一年以内无法收回。可能会买房、租地,这些是固定资产。我们可能会继续进修、出国读书,这部分就是无形资产。资产负债表的右上方表示负债,用生活中的事件做对比的话,我们要还之前欠朋友的钱,这部分是应付账款。我们欠了银行房贷、车贷,这部分钱需要还几年甚至几十年,所以它们是长期贷款/长期负债。财报这些项目的摆放顺序是有讲究的,不是随意堆砌的,一般是按照资产变现的难易度来排序。要么从难到易,要么从易到难。我国采用的是从易到难的摆放顺序。在财务的世界里,越容易变成现金的项目,它的流动性就越高、要摆在上面。所以第一项就是现金和现金等价物。第二个是应收账款、后面紧接着是存货、预付账款、其他流动资产、机械厂房设备、土地、商誉、无形资产。在财务的世界里,一年以上的才叫长期,否则都是短期,一年内到期的债券也是现金等价物。一年以内到期的叫货币市场、一年以上到期的才叫资本市场。在财务世界里也有着所谓的物质守恒定律,报表中的东西不会消失只会从一处转移到另一处,例如现金流量表中的投资现金一般转化成了资产负债表中的资产。如果发现有项目平白无故多出来了或者消失了,自己也解释不了,在投资时可能就有风险。资产负债表中有时候会出现商誉这一项,书中的解释是商誉就是猪头,我觉得叫冤大头可能更合适。假设A公司总资产有1000亿元,负债400亿、股东权益600亿。B公司的资产为100亿,资产为 100亿,负债为80亿。此时B公司的净值为 100 - 80 = 20亿。如果A公司出资30亿并且是以现金的形式完全并购B公司的话,A公司的资产负债表中现金和现金等价物一栏要减少30亿,但是资产一栏只增加了20亿,那么这多余的10亿去哪了呢?这10亿就是商誉,所以商誉就是买贵了,当了冤大头。在财务领域,商誉 = 收购价 - 净资产。只有在发生并购并且买贵了的时候才会有商誉。当然如果买便宜了,这种状况叫资本公积。就是公司不劳而获的好处。资本公积是多赚的钱,被记录在资产资产负债表右下方,被算作股东权益。股东权益比较复杂,主要有四个部分构成:股本(实收资本):股东按注册资本实际投入的原始资金,如成立公司时股东缴纳的资本资本公积:股东投入超过注册资本的溢价部分(如股票发行溢价)或资产重估增值等,这部分属于不劳而获所得盈余公积:企业从税后利润中强制提取的积累资金(如法定盈余公积),用于弥补亏损或扩大经营,法律规定企业每年税后利润的10%需提取为法定盈余公积,剩余部分可用作未分配利润未分配利润:企业累积的净利润扣除分红和提取公积后的留存部分,可供未来分配或再投资资产负债表的概念就是有钱之后如何处置这些钱,比如有钱之后丢到表的左边就是购置资产、丢到右边就是偿还债务或者作为股东权益。例如公司刚刚开张,几位股东集资5000万然后又找银行贷款5000万,此时股东权益的股本部分增加5000万,负债部分有5000万。我们在公司账上留现金1000万,其余的都用作生产经营。此时左侧各项加起来等于1亿,右侧股东权益 + 负债也等于 1亿。在公司经营一年以后,赚取了2000万的净利润。其中1500万作为投资扩张,300万用于偿还部分债务、剩余200万作为保留。那么未分配利润为2000万。其中1500万体现在资产负债表中的固定资产或者其他投资项目中。现金和现金等价物这部分的现金会增加200万,所以左侧资产总额会增加1700万,右侧增加2000万的未分配利润,减去300万的负债结果仍然是1700万,左侧等于右侧。在上面这个例子中资产负债表左侧与右侧结合起来看就是购置资产来自哪里。刚开始成立的时候来自股东权益的股本和负债。在盈利之后,资产变动来自未分配利润。同时也可以看出钱去了哪里。如何利用资产负债表判断企业的经营能力呢?我们可以看公司的资产为公司做了几轮生意,如果以饭店来类比的话就是看饭店那些桌椅板凳的翻桌率——一段时间内能接待多少桌客人。对于公司来说公司资产一年内帮助公司做了几次生意就是公司资产的周转率公司的资产主要在左边,左边的每一项都可以计算出一个周转率。资产的周转率是衡量资产的使用效率的,即在这一年中为我们做了多少次生意。例如,总资产的周转率:一般计算公式为 $ 总资产周转率 = \frac{主营业务收入净额}{平均资产总额} $其中 $ 平均资产总额 = \frac{期初总资产 + 期末总资产}{2} $主营业务收入净额 = 销售收入 - 销售退回、折扣及折让这个值我们算出来的越大越好,越大代表着资产使用的效率越高。用一年的天数除以周转率就得到这项资产多少天会做成一趟生意,也就是资产的周转周期。这个天数可以使用360天或者365天,只要计算各项周转率使用的天数一样即可。假设总资产的周转率是6那么相当于公司总资产的周转周期是60天/次。也就是总资产每60天能带来一趟生意。其他资产项的周转率计算也是大同小异,分母变成了各个资产项的平均值,分子不变。如果总资产周转率小于1表示这是一个烧钱的行业,这种一般是资本密集型行业,这种公司一般来收高投入高回报或者低回报,意味着风险,普通人投资时尽量避开这种行业。但是如果这种公司的现金大于资产的25%,代表着有充足的现金,未来不会出现资金链断裂而变卖资产的情况。在实际运用时建议先看总资产周转率,然后再看固定资产周转率,接着看存货周转率,最后看看应收账款周转率。但是这些数据要结合具体行业,与行业内的其他企业进行对比。因为不同行业的企业采取不用的赚钱策略,一般零售业靠走效率,而科技企业一般可能三年不开张、开张吃三年。存货的周转率可以越高,存货周期就越短代表着生产的存货在仓库里待的时间越短,这意味着生产的产品越受市场欢迎。而应收账款周转率越大代表收款的时间间隔就越短,也就说明企业在交易中处于强势地位,即使不允许客户赊账也能卖出货。而应收账款周转率在一定程度上能帮助我们识别假交易。企业在有些时候会采用假交易的形式来虚报营业收入导致最后利润表看起来很不错,但是因为假交易是收不到钱的,所以它的应收账款周期越来越大(或者说应收账款周转率越来越小)。而且这种假交易会导致现金资产越来越少。现金流量表我们通过利润表和资产负债表能知道一个企业能否稳定盈利。但是盈利不代表就能生存下去,很多盈利能力不错的公司最后都因为资金断裂而倒闭。公司的资产并不能马上变成现金,而一旦现金以及现金等价物无法维持公司运转就会发生资金链断裂。公司能长期生存下去的关键就是有稳定的现金流。巴菲特就比较关注公司的现金流,他偏爱那种现金流稳定的公司。现金流量表就记录了公司的现金流。公司的现金流量表就像我们日常生活中记录的流水账一样,每一笔现金的进出都会记上一笔。日常生活中我们会记录买菜、加油、购物等支出也会记录工资等到账的情况。公司也是这样,公司一般将现金流分为经营活动的现金流、投资活动的现金流和融资活动的现金流。这几类的现金流都比较简单,我们可以根据字面意思来理解它。运营活动的现金流,主要来自利润表投资活动的现金流,主要来自资产负债表的左边融资活动的现金流,主要来自资产负债表的右边也就是说只要有利润表,期初和期末的资产负债表就可以推导出公司的现金流量表,它们三者是一个立体的关系。如果有现金流入,那么按照类型对应的科目会有以 正数表示的现金金额,如果有流出则是以负数来表示。我们分析现金流量表主要有下面几个步骤:确认经营活动的现金流大于0:如果有公司宣称它的营业额又增长了多少,最终我们需要看它是否真的赚到钱,也就是说经营活动的现金流为正数确认获利含金量:$ 获利含金量 = \frac{经营活动现金流}{净利润} $ ,刚开始公司规模比较小,没有折旧费、分期摊销费用,所以经营活动的现金流就等于净利润。随着公司规模增大,后面会采购更多的设备,因此会有折旧等费用,导致公司公司净利润慢慢的小于经营活动的现金流。正常情况下这个比值一定是大于 100%的。如果小于就代表公司有意外情况或者不为人知的内情、确认经营活动的现金流大于流动负债。流动负债是将来一年以内要到期的债务。如果不满足这个条件,也就是说公司赚的钱连它欠的债都还不上,公司将来会有资金链断裂的风险。确认经营活动的现金流、利润表上的净利润二者变化趋势是否相同。总结这本书适合作为阅读财报的入门书,书中没有高深的会计知识,也没有枯燥的术语,而是采用普通人的生活尝试来将表中的科目进行类比,让我们用生活尝试就能大致明白这些表中到底记录了什么内容,让我们对公司的经营状况有一个初步的认识。对于没有会计基础的读者来说是一本入门特别好的书
2025年06月22日
5 阅读
0 评论
0 点赞
2025-06-16
读 《源代码:比尔盖茨传》
本书是比尔盖茨自己给自己写的一本自传。讲述了盖茨从幼年到早期创建微软的成长经历。盖茨在开篇不久就提到自己热爱读书,我想成功人士都喜欢读书,就像查理芒格所说的,“我所认识的聪明人中,没有一个不是每天读书的,一个也没有”。另外盖茨从小也是一个不服输的人,例如他在于外祖母玩扑克游戏时总会为了赢开动脑筋,想方设法,不断尝试,直到他能赢为止。而且书中也提到他的老师针对这种性格制定了一些计划来激励盖茨努力学习。盖茨也是一个能深入思考、耐得住寂寞的人。盖茨在书中写道:“我会留出完整的时间,独自待在胡德运河,我称为‘思考周’。每年一两次,我会开车或乘坐水上飞机去到那里,待上七天,在不被打扰的状态下专心读书,钻研报刊文章和学术论文,突击学习一些我认为最需要掌握的知识。”盖茨所在的湖滨中学是典型的美国中产子弟学校,里面的学生家世都比较好,要么是工程师,要么是企业高管。该学校采取一种比较开放的教学态度,甚至引入计算机。在这里盖茨接触到了计算机编程并沉迷其中。在这里他结实了保罗、肯特这样的朋友。并且在湖滨中学有一个计算机编程小组,比尔盖茨描述了一种令人神往的友谊。在看到肯特的登山事故后,心理有一种惋惜甚至跟作者一样有一种悲伤的情绪在里面。一个有着个广泛阅读兴趣、强大内驱力、不断挑战自我、 不介意朋友奇怪性格行为的、盖茨此时最好的朋友突然离世,对任何人来说都是一个巨大的打击。我时常也在幻想,如果肯特没有离世而是陪伴盖茨创办微软并且作为微软的功勋不知道当今盖茨会有怎样的成就,当今的计算机技术会不会不一样,微软会不会比现在更大。从盖茨这本自传中,应证了爱迪生的一句话:“天才是1%的灵感加99%的汗水”。在记录湖滨中学这段历史时,编程小组的人总共完成了财务软件、选课软件以及最后为牛郎星计算机编写的basic解释器程序。在此期间盖茨和伙伴们经常夜以继日的编写代码,没有时间玩乐、没有时间好好吃饭、甚至没有时间打理自己,睡觉都是随便打地铺。我想盖茨的成功是必然的,即使他不在计算机领域取得成就也早晚会在其他领域取得同样的成就。而且他的家世对他的成功并没有起到决定性的作用,如果盖茨出生在一个更底层的家庭,他可能没办法接触计算机,不会取得如今这么大的成就,但是也能取得超越普通人的成就。盖茨永远都能在一群同龄人中脱颖而出。从这本书中我们可以窥见计算机发展的一些历史,盖茨最早接触是早期的大型计算机、那是一种需要靠打孔纸带输入程序的计算机,那个时候计算机还是庞然大物,只有科研机构和大型企业才有能力负担计算机的使用费用。随着因特尔集成芯片的推出,第一次有了面向个人的小型机。有了盖茨为之编写basic解释器的牛郎星计算机、也有了苹果公司推出的个人机。在早期计算机主要靠卖硬件赚钱,而软件只是附带的,可以自由的拷贝、修改。在小心机刚刚出现时盖茨就预测未来可以专门靠给计算机编写软件赚钱,并且意识到了软件版权的重要性,以此创建了微软。不得不说盖茨拥有敏锐的商业嗅觉,加上早期的微软主要是盖茨在做日常管理,也说说明他有很好的商业头脑,这与他早期大量读书是分不开的。本书的篇幅不算大,故事也在创建微软之后戛然而止。后面的故事可能还要等盖茨接着出书。本书并没有那种商业大佬自吹自擂,给读者灌输各种大道理或者夹带私货,反而写的十分朴实、真诚,就是一本简单的回忆录。是一本值得阅读的书
2025年06月16日
2 阅读
0 评论
0 点赞
2025-06-15
读《聪明的投资者》
本书作者是价值投资的鼻祖——本杰明格雷厄姆;本书也是价值投资领域非常经典的一本书。读这本书也是因为我在尝试做一些投资,希望学点投资理财的知识。下面我列举一下我从书中学到的一些东西投资与投机价值投资我的理解就是将钱投资到优秀的公司,靠公司良好的经营业绩带来利润的增长,赚得是公司业绩增长的钱。也就是所谓的买股票就是买公司,公司挣钱股票就能挣钱。这本书的开始,格雷厄姆给出了投资和投机的定义。在保留本金的前提下,利用自己的分析来带来资产的增值。最重要的是保住本金、其次是有自己理性的分析,最后才是尽可能的带来较高的收益。不满足这个条件的都是投机。普通人买股票要么在某个股票的价格低点买进、在高点卖出赚取其中的差价;要么靠所谓的内部消息进行买卖,利好则买入、利空则卖出;又或者是根据当前风口买入一些行业股票,比如之前的元宇宙、现在的AI概念股。格雷厄姆说这些方法对普通投资者来说可能风险很大。例如做波段并不是每次都能抓准时机,有可能最后的结果就是追涨杀跌;靠内部消息的话,作为普通投资者来说,消息传到你的耳朵里时在上游的股东或者庄家早就有这个消息了,甚至有时候这些消息就是上游玩家故意放出来误导普通投资者的。最后一种,跟风或者说看趋势,即使你看对了未来的风口也不一定能赚到钱,因为好的风口不一定能带来好的利润,第一个看到桃子的不一定是摘桃子的。防御型投资者的投资建议那么作为普通人该如何投资呢?格雷厄姆将投资者分为了防御型投资者和进攻型投资者。防御性投资者是没有什么专业的背景也不希望花大量的事件在投资这件事上,仅仅希望赚到合理利润的投资者。而进攻型投资者是有相关专业知识,花大量时间自己选股,并且希望能获取合理回报的投资者。格雷厄姆为两种投资者分别制定了不同的投资策略。防御性投资者应该是股债组合,动态调节。具体来说就是持有稳健的债券和优质的股票,股票占比在25%到75%之间根据个人风险承受能力来决定。例如可以债券和股票分别50%。每半年或者一年调仓一次,股票涨的多了,卖掉部分股票补充到债券中,或者股票跌了,卖出部分债券补充到股票中,再次将二者的比例回复到50%和50%。普通人没有特别专业的知识也没有那么多的时间来详细研究一家公司。对于防御型投资者来说什么是优质的股票呢?格雷厄姆也给出了一些优质股票的标准:首先应该分散风险,股票组合里面应该保留不同行业的10到30支股票选择行业龙头公司和财务稳健的公司,格雷厄姆建议选择流动资产是流动负债的两倍,这样不会因为高负债带来财务风险选择长期分红的公司,格雷厄姆建议至少有20年稳健分红历史的公司警惕新兴行业和高科技行业等高成长股,这种行业一般都是高风险高回报的。成长股的市盈率一般特别高,这代表这个公司的股票被严重高估。虽然可能在短期内挣到钱,但是亏损的风险也极大。对于市盈率格雷厄姆建议,7年的平均市盈率不超过25倍、如果只看一年的市盈率,应该不超过20倍另外格雷厄姆推荐使用定投的方式来买入这些优质的股票,在市场高估时候同样的金额买入少量的股票降低风险,在市场低估的时候同样的钱买入更多的份额为未来反弹提供基础进攻型投资者的建议对于进攻型投资者来说,仍然需要至少持有25%的债券。进攻型投资者往往具有更专业的知识、有更多的精力、也愿意花更多的时间和精力去寻找那些优质的股票。进攻型投资者应该在股价处于低估时买入、高估时卖出,通过市场的错判获取超过市场的收益。那么对于进攻型投资者来说,什么样的股票值得购买呢?寻找那些被市场冷落的龙头,可以在一些知名指数中寻找市盈率不高的公司寻找那些股价低于净营运资本的公司,净营运资本 = 流动资产 - 流动负债特殊机会,例如某些超级巨头遇到反垄断的拆分,遇到这种黑天鹅事件导致股价暴跌的机会,这种机会不大,需要我们密切关注市场动态。遇到了也不能盲目的入场,仍然需要理性的分析关于基金的讨论在稳健的市场中,基金一直是方便和容易的投资方式,基金就是将收集大众的钱交由专业的基金经理去打理,做到投资这种专业的事交给专业的人和机构去做。但是基金也没有想像中那么美好。首先我们总是会被市场的高收益神话所迷惑,在追求高收益时往往伴随着高风险大多数投资者都喜欢高收益的基金经理,认为过去的收益代表了他的示例。实际上过去的收益并不能代表未来,过往的高收益可能是运气格雷厄姆说基金的高收益可能跟早期基金的规模不大有关,在规模不大的时候,基金持有的一两只股票上涨有可能带动基金业绩上涨。一旦基金的规模上来了之后,根据基金当初规定的投资策略,基金经理需要拿着这些大量涌入的资金寻找合适的投资机会,而好的投资机会就那么多,基金经理可能会被迫买入普通股票。高昂的管理费也会侵蚀投资者的收益,有些基金设立时并不会考虑投资者的收益,而是赚取管理费。基金经理的利益与普通投资者的利益不一致,导致基金经理并没有多少热情来提高基金收益率羊群效应,当一只高收益的基金被发现后,市场会出现大量模仿该基金投资策略的基金。大量资金买入同样的股票会推高股票价格,增加风险。对于投资者来说该如何选择基金呢?首选指数基金,指数基金可以帮助我们获取市场的平均收益,而且指数基金费用普遍不高选择基金经理与投资者利益一致的基金,要么基金经理自己是老板不会跳槽跳槽到其他基金的,或者基金经理、基金公司自己有大量的钱投入到该基金,这样基金经理才会关注业绩会买的是徒弟,会卖的才是师傅,投资者应该在合适卖出基金呢?格雷厄姆给出了几点建议交易策略突然发生急剧的变化基金经理变动业绩出现异常波动,原本稳健的基金突然大幅亏损或者暴涨或者给自己设定一个止盈值,例如在收益率达到20%之后卖出作为公司股东当我们买了股票之后我们就是公司的股东,我们有权参加公司的股东大会,当管理层不靠谱时有权提议更换管理层,但是好像大多数普通股民并不关注公司的管理层,也不关心公司的运营情况。作为普通股民我们应该关注公司的那些层面呢?应该关注公司的利益分配,也就是公司是否愿意拿出利益来给股东分红。安全边际所谓的安全边际就是安全的底线,通俗的来讲就是以1元买入价值10元的资产比8元的价格买入未来要赚的更多也更安全。以足够低的价格买入合理的资产。目前来说没有通用的标准来判断一家公司的股价是否处于安全边际。需要自己根据实际情况自己去寻找适合的价格标的。总结价值投资的核心是以足够低的价格买入内在价值高的公司,不关心具体的价格,只关心公司的内在价值。公司的内在价值需要自己根据专业知识判断。我最大的领悟就是投资最重要的是要有风险意识,要保住本金。并且它定义了我是一位防御型投资者并且给了我一个通用的投资策略。后面我会根据这个策略来进行相关的实践,尝试每年总结一下自己的投资。
2025年06月15日
1 阅读
0 评论
0 点赞
1
2
...
33