健谈始于戊戌年
健谈始于戊戌年
暂无个人介绍
IP属地:未知
0关注
7粉丝
0主题
0勋章

健谈2022年5月美股价值投资精选

大盘股(Rego_LargeCap) 每个月,我按照下列价值投资的标准在美股市场筛选股票: · 公司市值 > 100亿美元; · 上市时间 > 10年; · 股息率(分红比率,Dividend Yield) > 5% · 净资产收益率(Return on Equity)> 5%; · 市盈率(PE) < 15倍; · 市净率(PB) < 2倍。  利用2022年5月7日收盘数据,选出的股票如表1所示。 表1 注:本表按照市盈率高低来排序 和3月相比,由于美股下跌,所以有更多的公司进入了我们的股票池。其中来自油气行业有5家公司、银行业有5家公司、通信行业有3家公司。 需要指出,原油价格在3月初创出新高,然后有所回落。虽然有5家油气公司入选,但是只有1家是美国的公司(能源转换),其余公司分别在欧洲和南美洲。这也就是说明,大部分美国的油气公司,包括巴菲特买的西方石油(代码OXY),价格并不便宜。虽然我们不知道巴老什么时间,什么价格买入西方石油,但是他应该是赚钱了。 最近三个月,我们的大盘股组合收益率战胜了标普500指数。 组合详情见: https://**.com/P/ZH2350680 2.中盘股(Rego_MidCap) 如果把公司市值超过100亿美元的条件修改一下,变成市值介于20-100亿美元之间,那么就可以选出表2中的15家公司。  表2 注:本表按照市盈率高低来排序 这里面的美国公司包括了我们熟悉的主街资本和纽约社区银行,也新增了著名的鞋店富乐克(FL)。这是一家总部位于纽约市的运动鞋零售商。这家公司第一次进入我们的股票池。 另外,这次入选的巴西公司也比较多,不仅有钢铁行业,还有公共事业公司。看来巴西入选“金砖五国”也是名不
健谈2022年5月美股价值投资精选

面向对象的Python:堆栈的创建和应用

今天继续讲堆栈。 在之前过程化的方法创建堆栈中,我们定义了两个函数:push()和pop()。如何在面向对象的方法中,创建和使用它们呢? 在Python中,可以在类的内部创建这两个函数。创建的方法和前文中的构造器类似。当然,在创建它们之后,我们自己还有其他人需要调用这两个函数。(这一点和前文中介绍过隐藏在类中的列表不同。不是所有人都能访问隐藏在类中的列表。) 我们知道,类的私有(private)部分要用两个下划线开头。而对于公共(public)部分,则不使用两个下划线。事实上,Python对公共部分的规定是最多只能有一个下划线,没有下划线也可以。我们来看下面的程序。 class my_stack2: def __init__(self): self.__stack2_list = [] def push(self, val): self.__stack2_list.append(val) def pop(self): val = self.__stack2_list[-1] del self.__stack2_list[-1] return val stack2_object = my_stack2() stack2_object.push(3) stack2_object.push(2) stack2_object.push(1) print(stack2_object.pop()) print(stack2_object.pop()) print(stack2_object.pop()) 在my_stack2类之中,首先是构造器。接下来就是push()和pop()这两函数,它们都增加了self这个参数,而且放在第一个的位置上。  不知道这段程序大家看起来是不是似曾相识?为了说明问题并且方便对比,我们再看一次前文中过程化程序定义和使用堆栈的程序: my_
面向对象的Python:堆栈的创建和应用

面向对象的Python: OOP基础

从本文开始,我将向大家介绍面向对象(Object-Oriented)的Python程序设计。我会首先介绍面向对象的程序设计(Object-Oriented Programming,即OOP),及其和过程化程序(Procedural Style Programming)的区别,然后还会介绍类(Class),对象(Object),属性(Property)和方法(Method),以及继承(Inheritance)和多态性(Polymorphism)等OOP中的概念。 好了,下面就让我们从OOP的基础开始讲起吧。 1. OOP基础 我们先来介绍一些OOP的基础知识。需要说明,这些OOP的基础知识不仅在Python语言中使用,而且在其他的语言如JAVA, C#中也都类似。我们这里将会以Python语言为案例进行说明。 通常,当我们开始学习编程的时候,首先接触到的都是过程化程序。古老而经典的程序设计语言如C, FORTRAN都是过程化程序。在过去的几十年里,过程化程序曾经是软件开发的主流。即使在现在,它也依旧被广泛应用,而且将来也不会消失。过程化程序适用于某些不是特别大,不是特别复杂,但却有很多特例的项目。 OOP就相对年轻了。它主要适用于特别大,特别复杂,需要很多程序员共同开发的项目。当我们把一个大型开发项目,分成小且独立的组成部分,就可以使得项目容易实现。 过程化程序设计就好像自己在家做饭,需要一个菜一个菜的准备,甚至吃完了以后收拾餐桌和洗碗都要一个人完成。这样的方法对于一个人,或者一个三口之家是完全可行的。而OOP类似于食堂或者大餐厅的方法,有人负责洗菜,有人负责切菜,有人负责凉菜,有人负责炒菜,还有人负责做汤和主食(这些都是对象)。当客人来的时候,可以同时做几十桌的饭菜。 具体到Python而言,它既是过程化程序,也可以作为OOP。而且Python在这两个方面都有不多
面向对象的Python: OOP基础

面向对象的Python:构造器(Constructor)

前文中我们介绍了什么是堆栈,如何用过程化的程序创建堆栈及其不足之处。为了弥补这些不足,我们可以用面向对象的方式改进堆栈创建的方式。不论用什么方法,我们的目的都是要创建堆栈,并且用列表存储堆栈。当然,不是说一定要用列表存储堆栈,只是本文中使用列表存储堆栈。 下面,我们就用最基础的面向对象的方法开始,介绍如何创建堆栈。 首先,创建名叫my_stack2的类。 class my_stack2: 我们希望这个类有两个功能:  首先,这个类能够存储堆栈。也就是说,我们需要把列表存储在这个类之中。 其次,我们不希望所有人都能看到这个列表,所以要隐藏该列表。 那么,如何实现这两个目标呢?与其他语言不同的是,Python无法定义一个参数存储堆栈,而是需要通过特殊的语句手动实现。这个听起来有点复杂,如何实现呢? 简单地讲,我们可以通过类之中的特殊函数实现上面的两个目标。这个函数有两个特点: 命名又特殊之处 当创建新的对象时,该函数被隐含地调用 这个函数就是构造器(Constructor)。顾名思义,构造器就是用来构造新的对象。构造器包含了对象的结构,必须在初始化的时候运行。下面,就把构造器加入类中: class my_stack2: def __init__(self): print("健谈始于戊戌年(2018)") stack2_object = my_stack2() 这里有几点需要说明:  构造器的名字一定叫__init__ 构造器至少有一个参数。这个参数用来表示新创建的对象。我们可以通过这个参数控制对象,给对象添加新的属性。 参数约定俗成的名字叫self。虽然这只是Python中的一个习惯,而且不遵守这个习惯并不是错误,但是为了程序的可读性,建议遵守这个习惯。 运行上面的程序,输出结果为: 健谈始于戊戌年(2018) 注意:在运行程序时,我们调用了构造器。但是并
面向对象的Python:构造器(Constructor)

健谈2022年10月美股精选

1.美股大盘股组合 每个月,我都会按照下列价值投资的标准,在美股市场筛选股票: 1.公司市值>100亿美元; 2.上市时间>10年; 3.股息率(分红比率,Dividend Yield) >5% 4.净资产收益率(Return on Equity,简称ROE)>5%; 5.市盈率<15; 6.市净率<2。 根据2022年9月30日收盘的数据,选出以下10只股票,见表1。 表1 首先声明,这次我只选了美国公司的股票。由于最美股下跌比较大,越来越多的美国公司股票进入本股票池。至于一些外国公司的股票,如巴西的淡水河谷,英国的英美烟草,这次就不在列出了。 接下来,我们来看一下表1里列出的公司。第一个是0.5倍市净率,4倍市盈率的派拉蒙全球它就是大名鼎鼎的电影公司Paramount。它的总部就在纽约曼哈顿,距离时代广场不远。没想到这么有名的公司也会进入我们的选股池。看来电影、传媒行业最近问题比较严重。 2020年疫情刚刚爆发的时候,这个公司的股价跌倒了9美元,然后涨了10多倍,到达101美元。现在又跌了80%,股价不到20美元。看起来这公司的股价和它们的logo类似,101美元就是山顶了。 另外一个没想到的公司是英特尔(Intel)。这个名气更大,可谓家喻户晓。电脑的CPU不是赛扬,就是英特尔。时过境迁,没想到这么成功的企业股价也能从66美元跌到25。尽管如此,英特尔的市值还是超过1000亿美元。 在2000年IT泡沫破灭的时候,英特尔也有类似的表现。尽管那时股价也层暴跌,但后来还是走出了危机。目前,英特尔市净率接近1,不到6倍市盈率,估值不高 需要之处,英特尔是道琼斯指数的成分股。道琼斯指数只有30只成分股,能进入我们的选股池非常罕见。 无独有偶,还有另一只道琼斯指数成分股入选:威瑞森通信(Verizon)。这家公司目前市值1600亿美元,1.8
健谈2022年10月美股精选

2021年投资总结之三

1.美股组合收益 今天来聊聊美股。老规矩,先谈收益率,见表1 表1 组合名称 起始日期 收益率 标普500收益率 超额收益 Rego_Park_Value 2021.01.01-12.31 26.29% 26.89% -0.07% Rego_Park_MidCap 2021.08.01-12.31 9.21% 8.44% 0.77% Rego_Park_Value组合2021年收益率26.29%。这个收益率基本上和标普500指数收益率相当。(组合详情见:https://**.com/P/ZH2350680) Rego_Park_MidCap组合2021年收益率9.21%。该组合创建于2021年8月,同期标普500指数的收益率为8.44%。Rego_Park_MidCap组合略微战胜标普500指数。(组合详情见:https://**.com/P/ZH2902902) 2.Rego_Park_Value组合 Rego_Park_Value组合是公司市值超过100亿的大盘股组合。由于原油价格低迷多年,2021年选中的公司基本上以油气公司为主,其中包括企业产品伙伴(EPD),能源转换(ET),麦哲伦油气(MMP),英国石油(BP),巴西石油(PBR)。由于2021年原油价格上涨幅度比较大,超过50%,所以这些油气类公司的表现也还不错。 以能源转换(ET)为例,2021年开盘价格为5.66美元,6月14日创出新高11.25美元,12月31日收盘价为8.23美元。 除了油气股以外,Rego_Park_Value组合还长期持有英美烟草(BTI)。这个股票基本上在30-40美元之间波动,稳定高分红。BTI这个股票更像是一个债券。 到了2021年末,由于美国的公司基本上估值都比较高,所以Rego_Park_Value组合开始持有了一些南美洲、亚洲和欧洲的公司。这些公司包括:淡水河谷(Vale
2021年投资总结之三

AWS机器学习之实验性数据分析:建模前的数据清洗和准备

前文中,我们已经介绍了如何接入、转换和存储数据。但是此时的数据依旧千头万绪,并没有清晰地表带出其中的含义。例如,这些数据可能存在缺失,或者有噪音有偏差,或者并不是全部的数据。所以,为了能够更好的理解数据,我们还需要清洗数据。这样才能更加有效地构建机器学习模型。这就是本文要介绍的内容。 1.利用描述性统计(Descriptive Statistics)更好的理解数据 在清洗数据之前,我们需要做的第一件事就是利用描述性统计更好地理解数据。描述性统计可以帮助我们洞察数据,更加有效的预处理数据,为机器学习模型做好准备。通常,描述性统计可以分为以下一些类型。 总体统计(Overall Statistics):包括数据的行列数。由于这些信息和数据的维度有关,所以很重要。例如,从其中可以看出数据是否有过多的特征。这就说明有高维度的问题,会导致模型表现变差。 多元统计(Multivariate Statistics):是指变量之间的相关性。这个我们在后面还会详细介绍。 特征统计(Attribute Statistics):这个主要针对数值型变量,包括平均值、标准差、方差、最大值和最小值等参数。 2. 多元统计 2.1相关性 由于数据之间的相关性会影响模型表现,所以发现这些相关性很重要。在有多个变量或者特征(Features)的时候,我们需要查看这些变量之间的相关性。如果两个变量之间的相关性很高,就会影响模型的表现。当变量之间的相关性过高,且应用于同一模型预测某一反映变量(Response Variable),就会带来问题。例如,模型的损失不收敛。所以,我们要注意数据中那些高度相关的变量。 2.2散点图 我们可以利用散点图直观地表现数值型变量的关系。当一个数据集中有两个以上数值型变量的时候,我们可以用散点图画出它们的关系。这样就可以发现变量之间的特殊关系。例如,在下图中,我们可以看出,有一些
AWS机器学习之实验性数据分析:建模前的数据清洗和准备

AWS机器学习之数据工程:批处理和流处理数据

在前面的文章里,我们介绍了数据的存储。由于数据的多样性,AWS使用数据湖和S3存储各种数据。对于机器学习模型而言,存储数据是第一步。如果想在机器学习的模型中使用数据,我们还需要把数据导入Amazon S3或其他的AWS的服务中。 数据湖(Data Lake)服务的一个核心优点是能够快速导入各种类型的数据。但是,有时数据可能并不存储在数据湖中,而是存储在数据库,本地存储平台,数据仓库或者其他地方。如果想利用这些数据构建机器学习模型,就先需要把数据接入类似于S3之类的服务中。 导入数据有两种方法:批处理和流处理。我们在这里分别介绍。
AWS机器学习之数据工程:批处理和流处理数据

AWS架构的评估

我们已经介绍了很多AWS的云服务。你可以单独使用其中某一项服务解决问题,也在AWS上创建无数架构解决问题。这些架构可以简单,也可以复杂。但是,如何评估这些架构的优劣呢? 我们来看一个例子。如果有一个三层架构:一个负载均衡器、一个实例、一个数据库。这个看起来没问题。但是,如果我们把这个架构改造为一个负载均衡器、两个实例、两个数据库,而两个实例和两个数据库分别位于两个可用区,那么就更加可靠了。即使有一个可用区出了问题,还有另一个可以工作。 这只是一个案例,类似的问题还有很多。AWS有一些评估架构的工具。接下来,我们会介绍完善架构框架(Well-Architected Framework)。它是用来评估架构是否完善的工具。理论上讲,完善架构框架由5个支柱组成:卓越运营、安全性、可靠性、性能的效率和成本优化。
AWS架构的评估

去老虎APP查看更多动态