CFA笔记 - Income Statements

名词

Revenue: the amount charged for the delivery of goods or services in the ordinary activities of a business. 也叫sales或者turnover

Revenue需要注意的问题是comparable,因为它存在adjustment。有的公司会单独列出net revenue来表示一个已经adjusted的数,有的则还是用revenue这个名但是在note中注明已经adjust——这个时候就要看清楚要用adjusted对比adjusted。[1]

Gain and losses: increases and decreases in economic benefits which typically do not arise in the ordinary activities of the business. 比如卖地

Operating profit: gross profit减去operating expenses(例如selling, general, administrative, and research and development expenses), 特别注意对于金融公司来说interest expense也算在operating expenses里面。此外,operating profit不一定就是EBIT,还有其他因素会影响。

Income: increases in economic benefits during the accounting period, in the form of inflows or enhancements of assets or decreases of liabilities that result in increases in equity, other than those relating to contributions from equity participants. 在IFRS中,income包括了gains and losses。

Expenses: decreases in assets, or increases in liabilities, that result in decreases in equity, other than those relating to distributions to holders of equity claims.

Direct write-off method: wait until such time as a customer defaulted and only then recognize the loss. 等到真的违约才记录损失。

Depreciation: the process of systematically allocating costs of long-lived assets over the period during which the assets are expected to generate economic benefits. 但是depreciation通常是用在physical的资产的,对无形资产是用amortisation.

Operating activities: generally involve producing and delivering goods and providing services and include all transactions and other events that are not defined as investing or financing activities.

Read More

速食 - clion full remote dev (ssh)

无论是远程的还是本地的clion都是用 Jetbrains破解 里的进行破解。本地的就是用官方安装包安装了之后执行jetbra的 script/install.sh就行了。本地clion在新增了SSH连接到远程之后,不需要让它下载clion,我们自己来。

远程以Archlinux为例,使用AUR的clion进行安装,并且要安装clion-jre。然后执行jetbra的 script/install.sh。安装好之后Clion的目录在/opt/clion,根据官方文档执行bin/remote-dev-server.sh registerBackendLocationForGateway就能够把我们自己安装的这个Clion注册成IDE Backend了。此时在本地Clion的Remote Development - SSH中,我们已经建立的连接的右上角小齿轮点开Manage IDE Backends就可以有Backend了。

Clion IDE Backends

如果打开远程项目的时候弹出了Jetbrains Gateway的注册对话框的话直接关掉(点Exit)就行,这种情况一般是因为我们在远程还没有装好Clion的情况下就用本地Clion尝试连接导致jetbra补丁没生效。

这个部署模式是full remote模式,官方称为thin client(或者Remote with Gateway),所有的源文件和compile都由远程完成,本地不需要承载太多的计算量,很适合我的渣渣M1。与之相对的是网上搜索到处都是的Remote with local sources,所有东西都在本地,只有在build、debug等阶段才同步到远程。

Read More

游戏业又受冲击

正文

今天打开微博热搜,发现一个很有冲击力的新闻:所有网络游戏须设置用户充值限额。点进去一看,不仅干涉游戏策划怎么做活动,还要设置充值限额:

网络游戏不得设置每日登录、首次充值、连续充值等诱导性奖励。网络游戏出版经营单位不得以炒作、拍卖等形式提供或纵容虚拟道具高价交易行为。所有网络游戏须设置用户充值限额,并在其服务规则中予以公示,对用户非理性消费行为,应进行弹窗警示提醒。

这个文件的名称叫做《网络游戏管理办法(草案征求意见稿)》,虽然想说看条文的样子应该还有实施细则,也就是说这个“充值限额”既可以大到比如年总额、月总额,也可以小到单次总额,对于游戏业的影响是完全不同的。不过仔细一想,现在的单次充值就那么几个档位,对单次进行限额好像没有什么实际意义;而根据新闻反映的现象,是小屁孩们偷拿父母手机进行了几万的充值而且是几天或者几个月内做的,那么这个限额的理解应该更加接近于年总额。这样的话,游戏股的暴跌就不难理解了,这就是相当于直接减少他们的年收入嘛!

让我们来看看现在的股市如何。2023年12月22日的15:00:

  1. 腾讯控股(HK0700):-13.31%
  2. 网易-S(HK9999):-26.64%。跟腾讯一样因为是港股所以下午4点才收市。
  3. 同花顺游戏指数:跌10.16%,而且是下午开市直接一条瀑布到这个位置。知名游戏股完美世界、巨人网络、游族等等都是跌停状态。

不得不赞叹在中国经商的刺激,这头说要营造良好的营商环境,刺激经济活力;那头说游戏行业在疫情对经济打击的情况下作出了积极的贡献;还有一头说要救市;结果没高兴多久呢一棒槌砸下来当场昏迷、不省人事。

年报指标

那么为什么网易比腾讯跌得多呢,其实可以根据他们的年报来分析。大公司有一个好,投资者关系的网页做得好看。腾讯的报表可以在这里看到而且是繁体中文的,网易的在这个网页上则是英文版。

腾讯的年报用“戲”字搜索,在2022年年报的第10页就可以看到:

Read More

2023年柯南剧场版

今天栗子突然想去看电影,于是我就一起去了。第一次在A32看电影,之前还不知道这个广场居然也有电影院。

可能柯南也不是什么高热度题材,所以整个场只有三对情侣来看,电影院给的也是小厅。电影本身没有特别突出的优缺点,毕竟柯南本身就是大脑关机的乐子IP——不过这是建立在两个人一边看一边可以吐槽的基础上的,要是一个人来看的话可能真会无聊。柯南的老三样还是一如既往全勤,真相只有一个、昏睡毛利叔、黄金右脚等等都有。两位女主角也算是各有表现,毛利兰终于不是打酱油角色了,但是明显灰原哀还是那个“陪你左右”的定位——这样说来是不是天降系变成了青梅?至于接近结尾的灰原哀在水里给柯南人工呼吸的那段,前面的女孩子对她的男孩子激动地说“卧槽卧槽卧槽”,这个反而是整部电影最乐的地方了。

有一说一,看这种电影我的想法倒是只有“这么多年了看看还能整出什么花活”,看到作者的创作力依然这么整蛊,确实是挺开心的。所以至少我个人很难评价它是烂片,算是中规中矩吧。

Read More

CFA笔记 - Intro to Financial Reporting

Questions

  1. describe the objective of financial reporting and the importance of financial reporting standards in security analysis and valuation
  2. describe the roles of financial reporting standard-setting bodies and regulatory authorities in establishing and enforcing reporting standards
  3. describe the International Accounting Standards Board’s conceptual framework, including qualitative characteristics of financial reports, constraints on financial reports, and required reporting elements
  4. describe the roles of the statement of financial position, statement of comprehensive income, statement of changes in equity, and statement of cash flows in evaluating a company’s performance and financial position

1

The objective of financial reporting is to provide financial information that is useful to users in making decisions about providing resources to the reporting entity and in influencing management’s actions that affect the use of the entity’s economic resources.

为“金主”决定是否提供资源给目标提供信息,为管理层决定如何使用经济资源提供信息。

因为现实世界存在不确定性,所以准备报告的时候会面临 estimate 和使用不同 policy 的情况,就需要 standards 来 increase consistency in financial reports.

2

Standard-setting bodies set the standards and regulatory authorities recognise and enforce the standards.

Qualitative Characteristics

Fundamental:

Read More

github actions 单repo build多个docker image

示例repo:docker-jekyll - sieveLau

多个docker image可以单纯是tag不一样,也可以是连名字都不一样。至于platform不一样的话,docker/build-push-action本身就支持这个功能。

原理是使用github actions的matrix功能把Dockerfile跟其他属性连接起来,从而生成多个image。比如示范repo做的就是build两个tag出来。

1
2
3
4
5
6
7
./
|-- .github/
│ `-- workflows/
│ `-- docker.yaml
├── Dockerfile.cli
├── Dockerfile.server
└── entry.sh

显然Dockerfile.cli是给clitag用的。我们有两个tag,所以就是两个Dockerfile,用一个1x2的matrix来跑。首先我们需要把对应关系定义好,用matrix的include来进行定义:

1
2
3
4
5
6
7
8
9
10
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- dockerfile: ./Dockerfile.cli
tag: sievelau/jekyll:cli
- dockerfile: ./Dockerfile.server
tag: sievelau/jekyll:server

有了这个matrix定义,github actions在运行时就会自动创建两个jobs,各带一组变量:

1
2
3
4
5
6
7
8
9
10
11
12
{
"matrix": {
"dockerfile":"./Dockerfile.cli",
"tag":"sievelau/jekyll:cli"
}
}
{
"matrix": {
"dockerfile":"./Dockerfile.server",
"tag":"sievelau/jekyll:server"
}
}

那么自然我们就可以在docker/build-push-action里面用${{ matrix.变量名 }}语法来访问对应的文件和tag了。至于build不同架构的image,比如同时build m1用的arm64和普通的amd64,就直接在platforms里面用逗号分隔写上就好。

note

platform的格式是os/arch,一般来说os直接写linux,然后arch常见的就是amd64、arm64等。不确定的话可以在自己的机上build之后,用docker inspect <image-name>看。

Read More

2023东北之行

17号到25号我和栗子去东北三省进行了走马观花的旅行。主要目的地包括三个省会和长白山。这次旅行可以用高开低走来评价,哈尔滨是体验最佳的,长白山是最次的,另外两个则属于鸡肋。

住在机场旁边

17号是星期五(工作日),栗子是晚上下班之后才过来的。由于不想把18号一整天都浪费在交通上,所以经过规划之后我们坐早上的(几乎是)最早的一班机过去哈尔滨,7点55就要起飞,因此只能住在机场旁边了。

酒店在3号线高增站下车还要步行接近3公里的村子里。刚出地铁站就有一堆拉客(打车)的,还有一个女的说距离有4公里而且走不过去的,这我就不信邪了,硬是走了过去——根据步行速度大概是15分钟一公里来算,我走了差不多半个钟,确实是两公里多,根本没有4公里,果然这种人嘴里真是一句话都不能信。高增站旁边是空港小镇,不过看起来挺冷清的,除了一个团建基地有一群人在露天烧烤唱歌之外其他店要么关门要么没人——这种努力但是并没有得到好结果的总是会让我感到悲伤。

不过这段路确实是没有打算让人步行的,会经过一个涵洞,涵洞的那条路连人行道都没有——是完全没有建设人行道,而不是被占用。好在车不多,我头铁走过去了。

订酒店的时候以为所谓奔驰送机是说说而已,没想到是真的:奔驰的十几人的商务车,10分钟送到航站楼。不用打车又剩下一笔。

在行程的最后一站——沈阳——我们也是住在机场附近,沈阳2号线4站就到桃仙机场的地方。这个就没有什么好说的了。

哈尔滨市区

在我们去哈尔滨之前,东北地区刚刚经历完一场降雪降温过程。我们在哈尔滨住的是在圣索菲亚教堂附近的一条巷子里的酒店,而那条巷子到处都是雪压紧之后变成的冰。我脑子里一直都在重复“南方人一定要小心,在东北摔跤是真的能骨折的”这句话,而在目睹了一个本地大哥因为玩手机差点扑街之后,我就变成了“小心别摔倒”提醒机器人了——一看到冰就会提醒栗子小心。

登记入住之后没有多停留,我们去旁边的面馆(夫妻店)补了一下热量。东北的冷让人不经意间就会吃得多的同时多餐:虽然厚重的衣服提供了足够的保暖,在行动的过程里不会觉得冷,但是外界温度很低所以身体会消耗更多能量来发热,导致饿得快。这顿面给我们展示了东北的物价水平:16元一大碗面,肉也是一点都不吝啬。

Read More

New Bing是真香

昨天一时兴起,想要改造一下之前写的那个python工具,让它不仅可以自动根据iptables的日志count那些被Drop的IP,而且还可以根据需求输出ip对应的最新的几条log,方便我快速提交abuseipdb。但是由于我对python浅尝辄止,根本不会写class,所以只能求助new Bing了。我详细地描述了我这个class需要多少个field,每个field是什么用的,需要什么method,需要怎么initialize,想要怎么print之后,它给我写了一个符合要求的出来。看来AI对于这种非常多人提问过而且比较容易用的语言确实是非常在行啊。

这就说明AI是个很有潜力的工具,毕竟懒人必备(其实如果真不行那我就用c++写了,那个我熟),懒人必备的工具都会发展成功的!

附上repo:python count iptables deny entries

Read More

换了个水龙头

这段时间厨房的水龙头开始漏水,甚至有时候会发出很大的嗡嗡嗡声音,而且是导致全屋水管一起共鸣的那种嗡嗡声。到了昨天,它彻底开始快速漏水了。没有办法,看了一下发现好像可以用扳手拧下来,于是决定换一个。

其实水龙头的脖子是可以拧下来的,但是因为这个太老了,所以那个头卡住了,我以为拆不下来,于是大力出奇迹硬是连接口带脖子一起拧下来了。然后一看,这个水龙头内壁全都是铁锈甚至有浆,或许还有一点黄泥(?),工作环境看起来相当恶劣;水管里面闻一闻其实也有点味道,时间久了确实是这样。

Read More