Sunday, January 31, 2021

NVIDIA GeForce Game Ready Driver

NVIDIA GeForce Game Ready Driver 安装包包含了好几个软件包:

  1. Graphics Driver
  2. HD Audio Driver
  3. NVIDIA GeForce Experience
  4. PhysX System Software
  5. USBC Driver

对大多数的计算机,只需要装 1 即可。1 也是必选安装项,其它几项都是可选的。

+++++

你是否需要安装 HD Audio Driver?请阅读 Reddit 上这篇讨论 this post on Reddit, 和 NVIDIA 自己的论坛上的这个帖子 this thread

你是否需要安装 PhysX System Software?请阅读 Quora 上这个讨论主题 this post on Quora。大多数的游戏并不使用 PhysX 引擎来模拟硬件,所以极有可能你不需要它。

那么 USBC Driver 有什么用?如果你的电脑没有 USB-C 接口,那么你也不需要它。

+++++

NVIDIA GeForce Experience 让你

  1. 驱动程序不断更新;
  2. 优化游戏;
  3. 提供一些辅助功能比如截图、录制视频、分享打游戏等。

Windows 10 系统如果觉得有必要也会更新你的 GeForce 显卡驱动程序。比如 Windows 10 在我的电脑上装的是 2019 年 11 月 18 日的版本 441.37,而 NVIDIA 网站上的最新版本是 461.40。我不认为我有必要去升级。

整个软件包有五个工具,所以 GeForce Experience 三天两头的更新,这很烦人。

优化游戏最大可能就是使用 PhysX,对你的游戏可能完全无用。

只有 3 里面的录制视频等有点用。截图可以完全用 Windows 10 的快捷键来操作。

+++++

不建议安装太多的基本用不到的东西在电脑里。

 


Thursday, January 28, 2021

GAMESTOP 案例

先让大家对 GameStop 这家公司有个感性认识。大家在加拿大的大购物中心(malls)里或者小的 购物广场(strip plazas)里经常看到的 EB Games 店就是 GameStop 公司的,也是它的主要业务。

网购对传统零售冲击很大,COVID-19 加速了这个进程。很多人认为 GameStop 这样的公司即将死亡,未来命运最好也就是类似 Blockbuster。

GAMESTOP 是做空量最大的股票之一,套利基金和华尔街等大玩家持有它的大量的 naked shorts,赌它会跌到接近零元。

没想到小散户利用 Reddit、Discord 和 FinTwit 等创造的交流环境,Robinhood 和 WeBull 等无佣金的交易平台,联合起来推高 GAMNESTOP 的股票,迫使大玩家不断补空仓降低风险,这样反过来继续推高股价,相当于给自己身上插刀,再加上其它华尔街力量趁机蜂拥上来捞一笔,这种螺旋式的破坏性的趋势像龙卷风席卷一切。

大玩家实在没想到 naked short 的最大风险、最大弱点被小散户集体的力量暴露了。

+++++

此案例中的正反两方都有自己的理由,把规管方置于很尴尬的位置。

Soros 当年做空英镑、里拉、港币,让几个国家的金融系统临近崩溃,有人管吗?美国说 played fair。

套利基金联合起来做空一些公司是常事,有人管吗?

现在小散户联合起来玩大玩家的游戏,专攻大玩家的最弱的一个环节,规管方要管?这逻辑不对头。

+++++

有人建议,限制 naked shorts 的量。但是这对吗?

Soros 暴露了港币和英镑机制的弱点。套利基金暴露了有些公司的弱点。暴露了 underlying assets 的弱点对市场是好事。

利用弱点赚暴利是否应该规管?电影 The Big Short 大家都看过吧,它可是基于真实事例的,这个暴利也不是那么好赚的,需要看得准,坚强的神经。

+++++

争论焦点:利用弱点严重破坏了市场的正常运转是否可以规管?我认为应该管,但是线在哪里?很难认定这个线。

这次的 short squeeze 到目前为止,严重程度还没十分厉害,应该 let it play out。规管方只需要好好观察,风平浪静后再检查一下如何完善规则。

Wednesday, January 27, 2021

Firefox Focus 浏览器

Firefox Focus 是 Mozilla 开发的一个浏览器 App,只能在手机上使用,iOS 版和 Android 版还不一样。

+++++

即使 Safari 或者 Firefox 等都有 private browsing 模式(Chrome 浏览器是 Incognito 模式),但是仍然防止不了用户浏览被跟踪。为什么,看看这个回答

我们首先要了解一下 Firefox  Private Browsing 是什么意思。根据官网说明,在这个模式下,这些信息不会保存:
  • 访问过的页面(Visited pages)不会存放到访问历史记录里,也不会出现在搜索地址条的下拉菜单里;
  • 表单或者搜索条目(Form and Search Bar entries)不会被保存下来;
  • 下载列表条目(Download List entries)在关闭 private browsing 后不被列在下载窗口里;
  • cookie 被临时存在内存中,与常规浏览窗口的 cookie 分开。全部 private 窗口关闭后全部 cookies 被丢弃;
  • 临时网络文件(Cached Web Content)或者保存的离线文件(Offline Web Content and User Data)不会被保存。

在这个模式下,所有 cookie 等都正常工作,第三方 cookie 还是会存在,跟踪器还是会跟踪你,与正常浏览没多大区别,只是在关闭所有 private browsing 窗口后,浏览器把这些 cookie 什么的都丢掉了。

所谓的 private browsing 并不 private。

+++++

我们再来了解一下 Firefox Focus 是怎么工作的。根据官网说明,这个模式下:

  • 已知广告、分析器和社交网络跟踪器被阻止;
  • 其它内容跟踪器也可以设置成被阻止。

对于跟踪保护,它使用 Disconnect  提供的列表来识别和阻止跟踪器。

Firefox Focus 一次只能打开一个窗口,切换到另外一个网址,就不会出现交叉跟踪。

这个十分类似在电脑上安装了 Cookie Autodelete(设置切换网址/关闭 tab 等就自动删掉 cookie)、Privacy Badger(自动识别 tracker)、uBlock Origin(阻止广告,也可以阻止 trackers) 的一个浏览环境。这都比 private browsing 强。

+++++

Firefox Focus Bloomberg 的文章看了三篇就不让你看了。

你在 private browsing 模式下,也无法去掉这个限制,但是 Firefox Focus 可以。这至少说明它在阻止 Bloomberg 的 tracker 方面是有效的。

在电脑上就更容易实现了。比如 Firefox 是你的主浏览器,三篇文章过后不让你看了。你将网址复制到 Edge 打开看就行了,看完就关闭到浏览器,Edge 设置成关闭浏览器删除所有浏览记录。 再看一篇,再打开 Edge。或者装一个 Cookie Autodelete 设置成无延迟自动 delete(它默认是 15 秒),这样不用每次关闭 Edge。

+++++

我在这里提到了 Chrome 浏览器吗?你既然使用了 Chrome 浏览器,我就不认为你很关心被跟踪,因为 Google 是最大的隐私破坏者之一。

Firefox 85 发布:隔离 supercookies

Firefox 85 通过隔离 supercookies,即使用户从一个网站切换到另外一个网站,也不会让supercookie 跟踪用户。

Supercokie 是一种跟踪器,隐藏在用户的浏览器里,即使用户清除了 cookie,Supercookie 还可以继续在线跟踪你。

Firefox 85 是如何隔离 supercookie 的呢?在它的网站上是这么说的:

In Firefox 85, we’re introducing a fundamental change in the browser’s network architecture to make all of our users safer: we now partition network connections and caches by the website being visited. Trackers can abuse caches to create supercookies and can use connection identifiers to track users. But by isolating caches and network connections to the website they were created on, we make them useless for cross-site tracking.

编译如下:对 Firefox 85,我们对浏览器的网路结构进行了根本性的改变,以使我们的所有用户更加安全:我们通过对每一个正在被访问的网站建立一个网络连接和缓存分区。跟踪器可以“滥用”缓存来创建 supercookies,并且可以使用连接标识符来跟踪用户。但是,通过隔离针对每个网站创建的缓存和网络连接,supercookies 无法跨站点跟踪。

+++++

既然有这个功能,Firefox containers add-ons,比如 Facebook container、Google Container、Twitter Container 等,都不需要再安装了。这是我的理解。

+++++

另外一个变化:新版本的书签栏即使选择隐藏显示,它将仍会在新打开的新标签页上显示。这是默认设置,如果用户不喜欢可以在设置中修改。这个功能在 Microsoft Edge 浏览器已经这么做了。

+++++

第三个变化:密码管理器现在允许用户一键删除所有已保存的登录信息,而不必一个一个的删除。

+++++

Firefox 不再支持 Adobe Flash。不再提供设置来重新启用 Flash 支持。 

Tuesday, January 26, 2021

VIM 高亮语法

macOS 系统自带的 VIM 不高亮语法,怎么办?按照这篇文章,用 homebrew 安装了一个 VIM 版本,但是打开的还是系统的 VIM,其实只要重新启动 shell 就可以了。

装一个 vim 装了很多乱七八糟的东西 dependences(用 brew info vim 查看)。比如装了一个 python3.9,只不过是 keg-only dependence。

我系统原来有 Anaconda 的 python3,只在 Anaconda 里用。which python 和 which python3 都是查到系统的 python。现在 which python3 查到的是这个装 vim 附带装上的 python3.9。

brew 安装了 pyenv,但是 pyenv versions 也只显示系统的 python3,pyenv 之前装过的 python 3.8.2 被我卸载了,因为我一般用 Anaconda 下的 ipython 或者 jupyter notebook。

Sunday, January 24, 2021

WSL 2 Debian 安装 pyenv 和 python

WSL 2 Debian 是个 mini 版本,很多东西都没有。

WSL 2 Debian 下面有 .profile,没有 .bash_profile,所以官方安装步骤要改一下。

首先安装 pyenv,一会儿说没 curl,一会儿说 git,不如直接一次性把它的安装环境装好,否则下面安装 Python 也不行。 

然后通过 pyenv 安装 Python 及配置好环境。

其它问题

WSL 2 和随机启动的虚拟机占用的内存太大了,严重拖垮电脑,把它给完全给卸了。但是 PC 机上安装了一个 cygwin,有时需要用到。

Saturday, January 23, 2021

Regular expression 正则表达式

以下摘自 Wikipedia 的 Regular expression 条目。

A regular expression (shortened as regex or regexp; also referred to as rational expression) is a sequence of characters that define a search pattern. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation. It is a technique developed in theoretical computer science and formal language theory.

正则表达式(缩写为 regex 或 regexp; 也有称之为有理表达式)是定义搜索模式的一系列字符。通常,字符串搜索算法会将此类模式用于字符串的 “查找” 或 “查找并替换” 操作,或用于输入验证。它是在理论计算机科学和形式语言理论中开发出来的技术。

The concept arose in the 1950s when the American mathematician Stephen Cole Kleene formalized the description of a regular language. The concept came into common use with Unix text-processing utilities. Different syntaxes for writing regular expressions have existed since the 1980s, one being the POSIX standard and another, widely used, being the Perl syntax.

这个概念出现在 1950 年代,当时美国数学家 Stephen Cole Kleene 对常规语言的描述进行了正规化(regular 的来源)。该概念后来普遍用于 Unix 文本处理实用程序。自 1980 年代以来,存在编写正则表达式的不同语法,一种是 POSIX 标准,另一种是被广泛使用的 Perl 语法。

Regular expressions are used in search engines, search and replace dialogs of word processors and text editors, in text processing utilities such as sed and AWK and in lexical analysis. Many programming languages provide regex capabilities either built-in or via libraries.

正则表达式用于搜索引擎,文字处理器和文本编辑器的搜索和替换对话框,sed 和 AWK 等文本处理实用程序以及词法分析中。许多编程语言通过内置或通过库提供正则表达式功能。

Syntax

语法

A regex pattern matches a target string. The pattern is composed of a sequence of atoms. An atom is a single point within the regex pattern which it tries to match to the target string. The simplest atom is a literal, but grouping parts of the pattern to match an atom will require using ( ) as metacharacters. Metacharacters help form: atoms; quantifiers telling how many atoms (and whether it is a greedy quantifier or not); a logical OR character, which offers a set of alternatives, and a logical NOT character, which negates an atom's existence; and backreferences to refer to previous atoms of a completing pattern of atoms. A match is made, not when all the atoms of the string are matched, but rather when all the pattern atoms in the regex have matched. The idea is to make a small pattern of characters stand for a large number of possible strings, rather than compiling a large list of all the literal possibilities.

正则表达式模式(regex pattern)匹配目标字符串(string)。模式由一系列原子(atoms)组成。原子是正则表达式模式中的单个点,它试图与目标字符串匹配。最简单的原子是文字(literal),但是将模式的多个部件组合起来以形成一个原子将需要使用元字符()。元字符帮助形成:原子;量词(quantifiers)告诉我们有多少原子(以及它是否是贪婪的量词);逻辑“或”字符(提供一组不同选择)和逻辑“非”字符(使某个原子不存在);和反向引用是指先前的完整模式的原子。进行匹配不是字符串的所有原子都匹配,而是在正则表达式中的所有模式原子都匹配。这样做的想法是使小的字符模式代表大量可能的字符串,而不是编译所有所有可能出现的字符的列表。

Depending on the regex processor there are about fourteen metacharacters, characters that may or may not have their literal character meaning, depending on context, or whether they are "escaped", i.e. preceded by an escape sequence, in this case, the backslash \. Modern and POSIX extended regexes use metacharacters more often than their literal meaning, so to avoid "backslash-osis" or leaning toothpick syndrome it makes sense to have a metacharacter escape to a literal mode; but starting out, it makes more sense to have the four bracketing metacharacters ( ) and { } be primarily literal, and "escape" this usual meaning to become metacharacters. Common standards implement both. The usual metacharacters are {}[]()^$.|*+? and \. The usual characters that become metacharacters when escaped are dswDSW and N.

不同的正则表达式处理器支持的元字符个数不一同,大约有十四个元字符,根据上下文或是否被 “转义”(即在前面加上转义序列,在本例中为反斜杠 \),字符可能具有或不具有其文字字符含义。现代和 POSIX 扩展正则表达式更多地使用元字符,而不是其字面含义,这样避免了 “反斜线病” 或 “牙签综合症”,使元字符转义为字面模式是有意义的,但发明正则表示式时,将四个括号元字符()和 {} 设为字面意义,并 “转义” 这些通常的含义成为元字符更有意义。通用标准同时使用了这两种做法。通常元字符是 { } [ ] ( ) ^ $ . | * + ? 和 \。转义变成元字符的常见字符是 dswDSW 和 N。

Delimiters

定界符

When entering a regex in a programming language, they may be represented as a usual string literal, hence usually quoted; this is common in C, Java, and Python for instance, where the regex re is entered as "re". However, they are often written with slashes as delimiters, as in /re/ for the regex re. This originates in ed, where / is the editor command for searching, and an expression /re/ can be used to specify a range of lines (matching the pattern), which can be combined with other commands on either side, most famously g/re/p as in grep ("global regex print"), which is included in most Unix-based operating systems, such as Linux distributions. A similar convention is used in sed, where search and replace is given by s/re/replacement/ and patterns can be joined with a comma to specify a range of lines as in /re1/,/re2/. This notation is particularly well known due to its use in Perl, where it forms part of the syntax distinct from normal string literals. In some cases, such as sed and Perl, alternative delimiters can be used to avoid collision with contents, and to avoid having to escape occurrences of the delimiter character in the contents. For example, in sed the command s,/,X, will replace a / with an X, using commas as delimiters.

以编程语言输入正则表达式时,它们可以表示为通常的字符串文字,因此通常用引号表示;例如,这在 C,Java 和 Python 中很常见,其中 regex re 输入为 “re”。但是,它们经常以斜杠作为分隔符,如 /re/ 中的 regex re。这起源于 ed,其中 / 是用于搜索的编辑器命令,表达式 /re/ 可用于指定行范围(与模式匹配),该行可与任一侧的其他命令结合使用,最著名的是 g /re/p 如 grep(“全局正则表达式打印”)中所述,grep 包含在大多数基于 Unix 的操作系统中,例如 Linux 发行版。sed 中使用了类似的约定,其中搜索和替换由 s /re/replacement/ 给出,并且模式可以用逗号连接以指定行范围,如 /re1 /,/re2 /。由于在 Perl 中使用了这种表示法,因此它是众所周知的,在 Perl 中,这种表示法构成了不同于普通字符串文字的语法的一部分。在某些情况下,例如 sed 和 Perl,可以使用其他分隔符来避免与内容冲突,并避免必须避免内容中出现分隔符。例如,在 sed 中,命令 s,/,X, 将使用逗号作为定界符将 X 替换为 /。

Friday, January 22, 2021

FileZilla WinSCP Cyberduck

很难选择。

FileZilla 和 Cyberduck 能在 Windows 10 和 macOS 上用。

WinSCP 只能装在 Windows 上。我目前在使用 WinSCP,以前都用 FileZilla。

WinSCP 的 overwrite confirmation 设置比较奇特,看这名用户的抱怨,和这个问答

庞大的投资经理人公司

编译:我们不时谈起这种理论:BlackRock Inc. 统治世界。

顺便说一句,我喜欢将 BlackRock 叫做“黑石”,但是它自己的正式中文名字叫做“贝莱德”。常常见到贝莱德,我一时对应不起来是 BlackRock,但是看到黑石,我就立即知道它是 BlackRock。

回归正题。确切地说,这个说法并不单指黑石这家公司,而是像它这样的一小撮庞大的投资经理人公司,比如还有 Vanguard 和 Fidelity 等 —— 它们是大多数上市公司的最大股东之一,在某种程度上,它们叫上市公司应该做什么上市公司就得听。如果它们认为上市公司董事会不应该采用轮选,那么公司就不会有轮选。如果它们认为气候变化是一个紧迫的问题,那么公司就不得不至少会考虑应对这个问题。



Thursday, January 21, 2021

# 符号的叫法

# 在中文中常常叫做“井号”。这是根据象形来起名字,不是很科学。

# 在电话拨号盘上也出现,就各种叫法了,有叫 pound sign - 英镑符号,有叫 number sign - 数字符号。电话盘上如果很大的显示这个符号,也有叫 square - 正方形符号的。

在音乐上,sharp 符号,其实与 # 是有区别的。

# 在 UNIX 或者 LINUX 系统上在中文圈还有被叫做释绑符号,或者释伴符号,来自英文名称 Shebang,其实 shebang 包括 #! 两个符号。

# 最常见叫做 hash 符号。在 Twitter 上 # 后面紧跟的任何一个或多个词汇叫做 hashtag。熟悉 Twitter 的用户都知道怎么用它吧。


LINUX find 命令来查找文件

搜索“linux find 命令”关键词可以找到很多中文解释的 find 的用法。这里不一一列举了。

我这里列出英文互联网上对这个命令用法的提问和回答。

+++++

第一个例子,链接点这里

find . -name  * -exec ls -a {} \;

回复的人提供很有用的资料,比如 explainshell,比如  A Unix/Linux “find” Command Tutorial

 

+++++ $'\0' +++++

第二个例子,链接在这里

read -r -d $'\0'

-r -d 是 read 的两个 options,-d $'\0\ 是一起的。-d 后面是 delimiter。那到底 $'\0' 是个什么 delimiter?最佳回复说得很详细。

为什么要提到这个?在第一个例子中的那篇英文 tutorial 里说到,find 命令的 -print0 将找到的文件用这个 delimiter 串起来。这种做法十分常见,因为这个分界符不是文件名的合法符号。

 

++++

第三个例子。

#!/bin/bash

find . -type f -iname "*txt" -print0 | while read -d $'\0' FILE; do

        NEWFILE=$(echo "${FILE}" | sed -e 's/\.txt/.pdf/gI')

        mv "${FILE}" "${NEWFILE}"

done

find 用到了三个选项,分别是 -type 和 -iname 和 -print0。

因为 find 用到了 -print0,read 用了 -d $'\0' 来读文件。

然后用 sed 将文件名中的 .txt 改成了 .pdf,这个只在输出流中修改了,要实际修改文件,要用 mv 来操作。

还用到了

这么一小段 script 可以用来批量修改文件名,可以根据你的需要定制。这个例子有很多人回复。核心部分其实都在 sed,它可以做出各种更改,当然要与 regular expression 配合。

更多例子例子

+++++ 

第四个例子,链接在这里

只解释 John1024 的回复,因为他用到了 printf 和 sed。

他首先建了一个 bash indexed array。

months=(01 Jan 02 Feb 03 Mar 04 Apr 05 May 06 Jun 07 Jul 08 Aug 09 Sep 10 Oct 11 Nov 12 Dec)

然后用 printf -v 将 printf 的输出结果不显示在 standout 上,而是存到了一个变量 cmd 里。

printf -v cmd 's/[[:digit:]]{2}-%s-[[:digit:]]{4}/%s/g; ' "${months[@]}"

这个变量后来供给 sed 用。

我们可以查看这个变量。

echo "${cmd}"

然后做了 sed:

echo '01-02-2003 01-12-2004' | sed -re "$cmd"

得到需要的输出结果。

+++++

也可以在 macOS 上用 Homebrew 安装一个 rename 来修改文件名,能对付常见的任务。

Linux 系统上 rename 多个版本。很多简单的改名都可以用 rename 来操作。

Windows WSL 2 和 Debian

WSL - Windows Subsystem for Linux 安装教程看这里,现在不需要加入 Windows Insiders Program 就可以安装。

装了 WSL 2,并从 Microsoft store 安装了 Debian。

查看

$ less /etc/apt/sources.list

deb http://deb.debian.org/debian buster main
deb http://deb.debian.org/debian buster-updates main
deb http://security.debian.org/debian-security/ buster/updates main
deb http://ftp.debian.org/debian buster-backports main

做更新

$ sudo apt-get update
$ sudo apt-get dist-upgrade

查看核心

$ uname -r
4.19.128-microsoft-standard

安装 VIM

$ sudo apt-get install vim

在 Windows 上装一个 LINUX 子系统还是有点用处的。

可以看出这个核心是 4.19.128,有点老。想升级一下 kernel 到最新版,怎么办?很多人在网上问。按照下面的步骤就可以了:

  • 到 Windows Settings
  • 到 Update & Security
  • 到 Windows Update
  • 到 Advanced Options
  • 打开 Receive updates for other Microsoft products when you update Windows

经过更新后,再查看:

$ uname -r
5.4.72-microsoft-standard-WSL2

+++++

Windows 10 自身没有什么批量修改文件名的功能,除非你会 Powershell script。装了 WSL 和 Debian,可以在 File Explorer 里打开它的目录:

\\wsl$\Debian

你可以把 Windows 10 上的文件挪到 \home 下你的用户名目录下,利用上面的 script 进行各种批量改名。

你也可以从 WSL 访问 Windows 10 的 C 驱或者 D 驱等。

ls /mnt
cd /mnt/c

再来运行 shell script。

但是对你局域网内的网盘就无法这么操作了。

+++++

即使没有 WSL,也可以安装 Cygwin运行 bash 的 shell script,且对网盘也可以这么操作

 

Tuesday, January 19, 2021

信用卡协议

阅读并充分理解信用卡协议十分重要,也是十分有趣的事。下面我就以 Signature RBC Rewards Visa 的协议(2021 年 1 月版)为例,说说其中的重点。

+++++

信用卡有四大用途。大部分人只用来消费,少数人在紧急情况下会用来提现,更少人会用来做欠款转移和分期付款。

  • 我将这称之为消费,协议中叫 purchases。购买的可以是物品,也可以是服务。可以面对面支付,可以电话支付,可以互联网上支付,可以邮寄表格支付。这些是大家使用信用卡最常见的方式。
  • 可以在 RBC 任何分行,或者其它金融机构(加拿大的银行都可以),或者支持信用卡提现的 ATM 上(一般都有信用卡提现标志)提取现金有费用的!!!后面会提到。
  • 信用卡的欠款转移功能。就是将自己一张信用卡上的欠款转移到另一张信用卡上。为什么要这样做呢?主要有以下原因有(1)自己某张信用卡欠款太多,一时还不上,而且利率很高,于是想把欠款转移到另一张利率比较低或者没有利率的卡上慢慢还。(2)某段时间需要保留现金,于是先不还信用卡的欠款,然后把欠款转移到利率低很多的其它信用卡上,日后再还。不管怎样,欠款转移就是以达到少付、不付利息的目的。这类活动常常会邮寄给你,或者你进入在线银行时弹窗提醒你,或者打电话给你,或者你真的非常需要的话也可以打电话要。一般头六个月有十分好的利息。如果你的其它信用卡欠债,利息很高,的确可以利用这个功能。不过首要任务还是不要欠高利息的债!!!
  • 在某些商家的消费(一般是大额消费)可以转换为每月分期付款,并按照商定的条款偿还,也就是分期付款计划。Home Depot 和 Canadian Tire 的信用卡此类优惠特别多。和房屋贷款一样,每个月需要还本金和利息。

能刷信用卡的地方,或者接受信用卡的地方,你都可以随便用信用卡吗?不是那么回事。你不得用于任何违法(illegal)、不当(improper)或不合法(unlawful)的目的。信用卡公司还不喜欢某些类型的消费,比如与互联网赌博相关的消费。信用卡公司发现此类消费后有可能停掉你的信用卡。搜搜网上的扑克论坛或者赌场论坛,这样的事在加拿大发生得十分频繁。

你在某些商家那里在线消费的时候,尤其大额消费,比如购买飞机票,仅仅填写信用卡信息是不够的,通过不了,要求你必须通过 Visa Secure 来支付(Mastercard 对应的是 SecureCode)。前几年这样的商家有点多,现在基本上看不到这样的商家了。再额外注册并记住另外一个支付密码是额外一层障碍,没多少用户喜欢。

+++++

在你的信用卡正面上显示了这张卡的到期日,上面只显示了月份和年份。到期日是那年那月的最后一天。比如显示的是 07/23,那么到期日是 2023 年 7 月 31 日。

+++++

无论用了还是没用 PIN 或者 Secruty Code (信用卡的 CVV code),只要是未经许可的不明消费,信用卡公司一般都会负责,只不过有时要经过一段时间的调查。请一定要配合调查,否则,信用卡发行公司可以不负责。

现在信用卡的监控很厉害,经常在 24 小时之内就发觉非法消费。有的在几天之内会发现。发现后会打电话给你。不过,有的不明消费需要你自己去发现并打电话报告,所以每个月扫一眼信用卡结单是十分重要的。

你在出远门之前可以提前打电话告知信用卡公司,比如你常住地在多伦多,你要去香港或者中国内地,你可以提前打一个电话。如果你不提前通知,你可能在遥远的地方无法使用你的信用卡。现在大多数信用卡公司都不要求这么做了,但是 Canadian Tire 信用卡有点特殊,不过,它现在支持在线旅行通知“Travel Notification”。

被你的家人,比如你家小孩,偷偷使用了你的信用卡,这也算是未经许可的,但是信用卡公司不负责的。你这属于保管不当。保管好卡的责任在你。这样的纠纷十分多。不过,如果你家小孩消费太离谱,还是可以和信用卡公司商量的,信用卡公司与商家都有联系,或者直接找商家商量。

但是你的钱包掉了,卡在里面,这算是卡丢失。卡被贼偷取了,这算是卡被偷。这也都算是保管不当吧,但是你必须第一时间报失,否则信用卡公司也可能不负责。

+++++

你的信用卡账单(Statement),我叫结单,它的结单期(statement period)并不一定是每个月的第一天开始、每个月的最后一天结束。你需要查看结单的开始日期,结束日期(结单日,Statement Date)。

结单上的全部账户欠款(Total Account Balance)包括:

  • 前一期结单的全部账户欠款
  • + 本期的消费 purchases
  • + 本期的借记项 debits
  • + 本期的提现 cash advances
  • + 本期的利息 interest。不包括分期付款计划利息。
  • + 本期的费用 fees。各种费用下面会提到,不包括分期付款费用。
  • - 本期的还款 payments。结单日之前也可以还款的。
  • - 本期的贷记项 credits。

如果还有分期付款计划,那么还应包括:

  • + 本期的分期付款本金
  • + 本期的分期付款利息
  • + 本期的分期付款费用
  • + 未来的分期付款本金

如果你没有分期付款计划,那么结单上的新欠款(New Balance)就是全部账户欠款;如果有分期付款计划,那么结单上的新欠款就是全部账户欠款减去未来的分期付款本金。

一般信用卡都有 21 天的免息宽限期(grace period)。比如你的信用卡结单日(Statement Date)是 2021 年 1 月 4 日,那么你的欠款到期日(Payment Due Date)是 2021 年 1 月 25 日,截至到这一天,包括这一天,足额还款必须到达信用卡公司并被处理,否则就要收利息。如果这么算下来,欠款到期日正好落在了周末或者假日,那么顺眼到下一个工作日。

如果你在工作日去 RBC 的分行,或者网上银行,或者分行 ATM 上还款,如果在下午六点之前完成付款,RBC 的信用卡可以在当天收到还款款项。信用卡显示的额度可能需要一到三天来更新来反映你的这笔最新付款,但是你的信用卡信用额度(Credit Limit)已经调整了。

如果你通过其它方式来还款,比如通过其它银行,邮寄支票等等,可能需要好几个工作日才能处理完成,相应的信用额度更新也必须在处理完成后才能调整。一般的经验是留五个工作日的宽裕期。

如果你还款额超过你的欠款额,有现金多了出来,但是你能使用的单笔最大消费额度并不一定是你的信用额度加上里面的现金。这个现金怎么来抵消,下面有提到。

你还可以签署预授权付款协议(PAD)在到期日自动处理还款,还款额可以选择最低还款额或者新欠款额。取消 PAD,请至少在离到期日五个工作日之前,否则会等到下期处理。我不建议用 PAD 来付欠款。每期的结单应该仔细阅读。PAD 纠纷只有 90 天的期限。

+++++

必须要正确地理解最低还款额(Minimum Payment),这十分重要。

本期结单的最低还款额(Minimum Payment)包括

  • 前一期的最低还款额
  • + 本期的利息
  • + 本期的费用
  • + $10
  • + 本期的分期付款本金
  • + 本期的分期付款利息
  • + 本期的分期付款费用

当然,如果你本期就没怎么消费,新欠款少与 $10,那么最低还款额就是新欠款。或者你本期只有分期付款计划,没有消费,那么最低还款额就是本期分期付款本金、利息和费用。

***** 有些信用卡是取 $10 或者本期账单欠款的 3% 两者中的大值。*****

最低还款额显示在结单上了,一般是个整数金额。你每个月必须还最低还款额,否则后果严重。这段文字在协议上加重了,就说明了它的严重性。

这一段文字十分有趣:

You must make the Minimum Payment on or before the Payment Due Date shown on your monthly statement. If you do not make your Minimum Payment by the Payment Due Date or if you do not comply with other terms of this Agreement, we can deduct amounts owing on your Account from any other account you have with us and use those funds to pay the amount you owe on your Account, without telling you in advance.

也就是说,RBC 可以从你的其它账户里转钱过来支付最低还款额,甚至可以不提前告知你。

这个其它账户并不一定是以后账户哦,可能是另外一张信用卡,比如这张信用卡因为你还款还多了了有现金余额,也是可以转过的还款的。

什么后果呢?

如果你在欠款到期日到下一个结单日这期间仍然未还最低还款额,那么给你的开户优惠利率(Introductory Interest Rate)、促销利率(Promotional Interest Rate)等都撤销,采用信用卡的标准利率(standard interest rates);你的分期付款计划被取消。

开户优惠利率经常是开卡头几个月低于 1% 的利率,甚至零利率。促销利率一般是欠款转移给的低于 3% 的利率,甚至零利率。

如果任何 12 个月期间,这样的事发生了两次或更多次,那么你的标准(消费和提现)利率会提高 5%。你要再回到标准利率,要连续两个月还款记录合格。

以上两种情况(采用新的标准利率,或者提高的利率)都从接下来的第三期结单的第一天开始生效,对前期的新欠款加上新的消费采取新的利率计算利息。

这些措施是十分可怕的。因为 RBC 标准利率一般是 19.99% (消费)或者 22.99% (提现),提高后是 24.99% 或者 27.99%;或者你需要一次大额付清你的分期全部欠款。

这是信用卡协议最重要的一部分,要仔细阅读。如果你的真的没钱还款,走到这一步,马上联系信用卡公司,请求宽限,并制定计划还债

即使你还了最低还款额,但是没有足额还信用卡新欠款,后果还是很严重,因为标准利率也很高。

从上面可以看出,最低还款额其实没多大意义,就是定了一个惩罚你的线,否则没法定这个线。

+++++

还款额的抵消优先顺序也是很有趣的事。

如果你只还了最低还款额,抵消的优先顺序由高到低是这样的:

  • 本期分期付款本金、利息、费用
  • 利息
  • 费用
  • 剩下的(一般也就是 $10 )哪个欠款项的利率低就抵消那个。

比如,你的信用卡在 2021 年 1 月 4 日结单日的新欠款总额是 $1000,包括

  • 本期的分期 $100
  • 利息 $5
  • 提现 $100
  • 提现收费 $5
  • 消费是 $790

本期的最低还款额是 $100 + $5 + $5 + $10 = $125。

你在免息宽限期内只还了最低还款额 $125,这 $125 抵消顺序如下:分期 $100,利息 $5,提现收费 $5,剩下的 $10 抵消消费,因为消费的标准利率比提现低。

这么抵消后消费欠款是 $780,提现欠款 $100。

如果你还了 $225,头 $125 还是按上面的顺序来抵消。剩下的 $100 按剩下款项的比例来抵消,也就是 $100 x 780/(780 + 100) = $88.64 来抵消消费,$11.36 来抵消提现。

如果你足额还了本期的新欠款,没有什么说的了,全部还清了。

如果你还款多了,多的金额会同样按照上面的优先顺序来下一期的结单,再抵消未来的分期本金。

这段有点模糊:

Credits arising from returns or adjustments are generally first applied to transactions of a similar type, second to any interest and fees, and the remainder to other amounts owing in the same manner as we apply payments in excess of the Minimum Payment. Installment Plans are considered purchases, and credits arising from returns of or adjustments to purchases converted to Installment Plans will not normally reduce the amount of your Installment Plan balance outstanding.

怎么定义 Similar type 交易项?如果之前消费是本期,按经验是退货首先是抵消这笔消费;如果消费是前期的,已经还款了,那么应该按本期还款来处理了。

如果分期计划里的退货或者调整呢,就很麻烦了,你的分期计划不变。你没想到这一点吧。所以使用信用卡分期付款购物是有很风险的。

+++++

对计算利息这一部分有点让人糊涂。

Determination of Interest

***** 针对 new purchases *****

You have a minimum 21 day interest-free Grace Period for new purchases. Your new purchases for each month are those which appear in the Activity Description of that month’s statement (your Current Statement). You can avoid interest on those new purchases (except those converted to Installment Plans) and fees by paying the New Balance in full on or before the Current Statement’s Payment Due Date.

If you do not pay your New Balance in full on or before the Current Statement’s Payment Due Date, you must pay interest on each new purchase appearing on that statement retroactively from the transaction date until the day we process your payment in full for those purchases. Your next monthly statement will include interest accrued on each of those new purchases from its transaction date to the date we prepare that next monthly statement.

We will continue to charge interest on the unpaid portion of those new purchases until the next time you pay the New Balance in full on or before its Payment Due Date. Interest related to your purchases could appear on the first statement you receive after we process that payment. This is interest that was not included in the New Balance you paid in full because it accrued between the date the monthly statement which showed that New Balance was prepared and the date you made your payment.

***** 针对 Fees 和 Cash Advances 和 interest *****

Fees are treated in the same manner as purchases for the purpose of charging interest. The transaction date for a fee is the date that the fee is posted to your Account. Cash Advances are treated differently from purchases and never benefit from an interest-free Grace Period – see the section titled “Cash Advances”. We do not charge interest on interest.

***** 利息计算方法 ******

The amount of interest we charge you on your Current Statement is calculated as follows:

  • We add the amount you owe each day, and divide that total by the number of days in the statement period. This is your average daily balance.
  • We multiply the average daily balance by the applicable daily interest rate(s) (obtained by taking the annual interest rate(s) and dividing it by the number of days in the year). We then multiply this value by the total number of days in the statement period to determine the interest we charge you.

When there is more than one applicable interest rate, we calculate your interest based on the average daily balances for each rate.

这一段应该指的是本期结单上新的有利息的一个个单项记录。

Your Current Statement will show your New Balance, Total Account Balance, Payment Due Date, transaction and posting dates, and your interest rates, including any applicable Introductory Interest Rate, Promotional Interest Rates or Installment Plan interest rates.

+++++

哪些交易记录算提现?

提现没有免息宽限期,自提现之日开始计算利息。每次提现会收一次性的提现费,或者优惠利率费(如果适用此种情况)。

下面是所有提现类型的交易:

  • 从任何金融机构的分行或者 ATM 提取现金;
  • 如果你做欠款转移; 
  • 如果你从你的信用卡账户支付账单(bill payments),或者从你的信用卡账户转钱到你的 RBC 银行账户。(请注意:在商家通过 PAD 付账通常会被处理为消费,而不是提现,因此不会被收利息);
  • 你做了类似现金的交易。这通常包括汇票、电汇、旅行支票和博彩交易。

 +++++

如果之前的 “新欠款” 没有在 “欠款到期日” 之前全额还款,则 “付款到期日” 将从您的月结单期的最后一天起延长至 25 天。这一点十分有趣。欠钱的是大爷,本来给你 21 天免息宽限期,你还钱少了,给你 25 天的免息宽限期。

+++++

各种费用

提现费:加元信用卡每笔提现收 #3.50;如果在国外提现,每笔提现收 $5.00。

优惠汇率费(欠款转移):要看此优惠条款,最高达 3%,最少可以是 0%。

超额费:所有款项超出卡的信用额度,收 $29。一期只能最多收一次。

被拒的还款费:你还款支票或者 PAD 还款被拒了,每次收 $45,并加上因银行账户资金不足引起的任何收费(如果有的话)。

月结单额外副本费:如果你买一份月结单副本,收费 $5.00;如果你在分行或者 ATM 上获取月结单更新,每次收费 $1.50。

原文是这样的:

A fee of $1.50 will be charged to your Account within 3 business days from each monthly statement update obtained from one of our branches in Canada or obtained at an ATM that provides monthly statement updates.

什么是 each monthly statement update?

交易收据复印费:如果索取任何交易收据的复印件,则与你本期结单上的有关的交易将不收取费用。否则,每次都会收取每份 2 元的费用。收据副本并非一定会有。

分期付款计划费用:当利用分期付款计划优惠时,可能会收取一定费用。如果收取费用,则该费用将在分期计划时向你披露,并且是

  1. 一次性费用,最多不超过转换为分期付款计划的总购买金额的 3%,在自付款之日起 3 个工作日内收取转换日期,或
  2. 每月费用,最高不超过转换为分期付款计划的总购买金额的 1.15%,在每个结算期的最后一天收取,只要购买金额的任何部分仍保留在分期付款计划中。如果您的分期付款计划有月费,则在第二个月度对帐单上收取第一和第二个对帐单期间的月度费用。

+++++

介绍 Introductory and Promotional Interest Rates Offers 和 Installment Plans Offers 也是十分有用的知识。如果你不熟悉这一部分,可以仔细阅读一下。我在上面也提供了搜索链接。

+++++

外币转换这一部分是标准的信用卡操作手法。

结单上显示的汇率(至小数点后六位)是转换后的加元金额(四舍五入至最接近的分)除以交易货币金额得出的。由于此舍入,它可能与原始基准利率不同。

外币交易额乘以基准汇率就是转换后的加元金额,但是收取你的加元金额是这个转换后的加元金额 x 102.5%。

有些外币交易直接转换为加元,而另一些交易可能首先转换为美元,然后转换为加元。无论哪种情况,基准汇率都是转换时应用的实际汇率,通常每天设置一次。也就是说 2.5% 只收一次,在最后转换后的加元上收。

如果由 Visa 设置,则可以在 usa.visa.com/support/consumer/travel-support/exchange-rate-calculator.html 上获得转换交易时的原始基准汇率,或者由 mastercard.com/global/currencyconversion 设置 /index.html(如果由 MasterCard 设置)。

Monday, January 18, 2021

耶伦支持市场决定美元汇率 反对任何国家通过贬值本币获得竞争优势

2021 年 1 月 19 日周二,美国候任财政部长(Secretary of Treasury)、前美联储主席耶伦(Janet Yellen)即将出席美国参议院金融委员会(the Senate Finance Committee)会议听证会,接受下一任美国财长的提名的质询预计她会轻松被批准上任。

报道称,耶伦预计在国会听证会上重申由市场决定美元汇率,同时将明确表示美国不会为了竞争优势而寻求贬值美元。

如果询问到汇率政策,耶伦准备说:“美元和其他货币的价值应由市场决定。市场进行调整以反映经济表现的变化,并总体上促进全球经济的调整。”

她还准备说:“美国不会寻求让美元贬值来获得竞争优势。我们应该反对其他国家这么做。

以上文字参考了简中圈的编译,同时对照了英文,进行了以上修改。删除线或者红字是我修改的。

Saturday, January 16, 2021

股票计算成本 Adjusted Cost Base (ACB)

税务局对  Adjusted cost base (ACB) 有长篇大论,涉及到房产、证券等不同投资对象,针对公司、个人等不同实体。我在这里仅谈股票。

+++++

ACB 的计算

先来看看这篇文章,引述内容如下:

The adjusted cost base, or cost basis, of an investment in securities would include the purchase price, as well as any commission paid.

证券投资的 ACB 包括购买成本,也要把支付的交易佣金算进去。

The cost basis is calculated separately for each security owned.

每只股票都要单独计算 ACB。

It is the total cost of all shares of that security owned in all non-registered investment accounts, and is divided by the total number of shares owned in all non-registered investment accounts (Income Tax Act s. 47(1) identical properties) to get the cost basis per share, or weighted average cost per share.  This cost per share is used in calculating any capital gains or losses when some or all of the shares are sold.

如果你有好几个非注册投资帐户,那么要把在所有账户里的同一只股票的所有成本加起来,除以所有帐户里的这只股票里的总股份数(《所得税法》s. 47(1) 条),这样计算出每股成本或每股加权平均成本。每股成本用于计算出售部分或全部股份时的任何资本损益。

所以不建议你到处开股票账户,否则难以跟踪 ACB。你主要用哪家银行就在那里开股票账户。

There can be adjustments to the ACB during the time the shares are owned, such as return of capital (ROC) on mutual funds, exchange-traded funds (ETFs) or income trusts. ROC reduces the ACB of your shares. You may also have an increase to the ACB of your ETFs as a result of reinvested distributions which are included as income on your T5 slip, but are not actually paid out to you.

你买了股票,放在账户里,即使你没卖,或者也没再买,ACB 也可能需要调整,这一般是因为共同基金(Mutual Funds)、ETFs 或收入信托(income trusts)派发了资本回报(ROC - Return of Capital)。ROC 一般是 distribution 的一部分。ROC 减少了你股份的 ACB。

还有一种情况,因为有再投资的分配(reinvested distribution),你的 ETF 的 ACB 也可能会增加,这个作为收入显示在 T5 单据上,但其实未实际支付给你。这收入算发给你了,但是再买了发给你的这家公司的股票,所以这收入要计入报税收入。

说明一下,ROC 也会显示在 T5 上,一般和 dividend report 一起。

很多人不知道这种 ACB 调整。要仔细阅读 T5,T5 也可能没有正确显示这些信息。

If you've transferred your investments from one brokerage to another at some time in the past, it is unlikely that the cost information on your statements is correct.

如果你将证券投资从一家证券经纪公司转移到另一家证券经纪公司,那么你在新的证券经纪公司拿到的月结单上的成本数极有可能是不正确的。

如果你把股票从一家转移到另外一家,转移完成后一定要仔细审核每只股票的 book value。

If you have investments in a US$ account, your brokerage may show the correct US$ cost, but you need the correct $Cdn cost, converted at the exchange rate on the date the investment was purchased. Thus, it is very important to retain the cost information when you purchase investments, including the exchange rate if purchased in a US$ account.

如果你在美元帐户进行投资,则你的证券经纪可能只显示正确的美元成本,但你需要计算正确的加元成本,取购买投资当日的汇率来换算成加元。

卖出同样要取卖出投资的当日的汇率计算投资损益。

其它非加元账户的投资都要取当日的汇率来换算成加元来计算。

这个当日指的是结算日(settlement day),不是交易日(trading day)。

+++++

如何取换算汇率?

如何把外币金额换算成加币金额呢?我们来看看这段文字

Converting Foreign Amounts to Canadian Dollars

将外币金额换算成加币金额

The foreign exchange rate used to convert the foreign currency transaction into Canadian dollars is either

用来将外币交易换成加币的汇率为:

  • the rate in effect on the date of the transaction, or
  • 交易当日的实际汇率(注意,指结算日)
  • the average annual exchange rate for the taxation year
  • 当年度平均的年度汇率

as quoted by the Bank of Canada on the particular day or on the closest preceding day for which a spot rate is quoted, as per the definition of "relevant spot rate" in s. 261(1) of the Income Tax Act.

取 Bank of Canada 在当日或者最接近那天的即期汇率,根据《所得税法》s. 261(1) 条“相关即期汇率” 的定义。

2017 年之前取 Bank of Canada 上公布的当日的 noon exchange rate。2017 年及之后,每天公布一个汇率,取当日汇率即可。

如果当日加拿大是假日,Bank of Canada 就没有当日汇率,如果假期长,连着好几天都没有汇率,那么取之前最接近的有即期汇率的那一天的汇率。

When assets, including investments, are purchased or sold, the exchange rate in effect on the date of the transaction should be used.  Dividends received throughout the year can be converted at either the transaction date rate or the average annual exchange rate for the taxation year, but the method used should be consistent from year to year.

购买或出售资产时,包括投资,应使用当日实际汇率。

整个年度期间收到的股息可以以交易当日汇率或纳税年度的平均年汇率进行换算,但是每年所使用的方法应保持一致。 

因为股息一般是按照季度或者月度来发的,所以大多数人采用平均年汇率来换算。为了准确,当然使用收到股息当日的汇率来计算最准确。

If any income or expense that you have received or paid was converted to Canadian dollars as part of the transaction, then the Canadian dollar amount that you actually received or paid would be reported as your income or expense.  For example:

用换算成加币的金额来报收入或者支出。比如:

  • If you have paid tax-deductible expenses by using your credit card, which converts the amounts into Canadian dollars, you would use the Canadian $ amount that you actually paid.
  • 如果你已使用信用卡支付了可抵税费用,这费用必须换算为加元,那么你将使用换算后的加元金额。
  • If your foreign dividends are received in a Canadian $ account, so that they are converted automatically, the the amount you would report as a dividend is the Canadian $ amount that you actually received.
  • 如果你收到的外国公司股息在你的加元帐户中收到的,已经自动转换成加元了,则你将实际收到的加元金额来报股息。
再次重申一下,股票交易有交易日和结算日,都按结算日来取汇率。

+++++

Scotia iTRADE 在这个页面列出了 2020 年美国和加拿大的股市的所有假日。

以下这些日子 Bank of Canada 不会发布汇率,如果你的美股正好在这些日子,必须往前追溯来查询汇率。 

  • 2020 年 2 月 17 日周一 Family Day,往前追溯要到 2 月 14 日周五,这天的汇率是1.3249。
  • 2020 年 5 月 18 日周一 Victoria day,往前追溯要到 5 月 15 日周五,这天的汇率是1.4094。
  • 2020 年 7 月 1 日周三 Canada Day,往前追溯要到 6 月 30 日周二,这天的汇率是 1.3628。
  • 2020 年 8 月 3 日周一 Civic Holiday,往前追溯要到 7 月 31 日周五,这天的汇率是 1.3404。
  • 2020 年 10 月 12 日周一 Canada Thanksgiving DayMX,往前追溯要到 10 月 9 日周五,这天的汇率是 1.3136。
  • 2020 年 12 月 28 日周一 Boxing Day (observed) ,往前追溯要到 12 月 24 日周四,这天的汇率是 1.2835。

Market Holidays Schedule 很容易搜到。加拿大与美国不同的也就是以上几个假日,其它日子都一样。

+++++

查询某天的汇率也很容易用 EXCEL 做到。

  1. 从 Bank of Canada 下载汇率的 csv 数据,将日期和汇率两栏复制到 EXCEL 表格里去。
  2. 再通过 EXCEL 的 VLOOKUP 函数查询某天对应的汇率。
+++++

2020 年美元与加元之间的汇率不算十分正常。从 2020 年 3 月一直到年底,加元相对美元一直上涨。

按照 Bank of Canada 的汇率数据,2020 年 3 月 18 日的年度最高汇率是 1.4496,2020 年 12 月 17 日的年度最低汇率 1.2718,跌幅 12.27%。


举一个比较极端的例子。

如果你在三月份高点买了某只美元股票,在十二月份全部售出这只股票,以美元计,你可能赚了,但是按税务计,你可能出现资本亏损(Capital loss);如果以美元计,你刚好持平,按税务计,你可能亏损接近 10% 左右。

+++++

关于 Mutual Fund 和 Limited Partnership 的 ROC,如果你的 T5 或者 T3 缺少数据或者不准确,或者你仅仅想核对一下 T5 或者 T3 上的数据,你可以去 CDS 的 Mutual Fund and Limited Partnership Tax Breakdown Service 网站查询。

比较有声誉的 income trust 都会在网站上公布 tax breakdown。比如 RIOCAN 在这个页面列出了它每年的 income tax information。但是如果不足全年怎么办,你只有自己来推算了,或者依靠收到的税单。

比较有声誉的 Mutual Funds 有都会在网站上公布 distributions 的组成,比如 Mawer 在这个页面上列出了它旗下的每只 Mutual Fund 的 distribution 的组成。同样,它也没有每个月的 breakdown。

这是为什么我不再购买 Mutual Fund 或者 income trust 的原因之一。

+++++

ACB 计算实例一:简单的加元股票买卖

你以每股 $30 加元买了 100 股 XYZ Corp.,支付交易佣金 $9.99。ACB 是 100 x $30 + $9.99 = $3009.99。

后来股票涨了,你以每股 $40 加元卖出了全部 100 股 XYZ,交易佣金还是 $9.99。此笔交易完成,你的所得是 100 x $40 - $9.99 = $3990.01。你的资本得利(Capital Gain)是 $3990.01 - $3009.99 = $980.01。

ACB 计算实例二:多次购买的加元股票

大多数投资者会好多次购买某只股票。逐日逐年,他们会以不同的价格购买某只股票来建仓。因此,该股票的平均成本不断发生变化。

要计算该股票的 ACB,只需将购买每次购买该股票的资金加起来。再将 ACB 除以总股数,那么就得出了每股 ACB。

还是以 XYZ Corp. 这只加元股票为例。

你首次以每股 $30 加元买了 100 股 XYZ Corp.。后来又以每股 $35 加元卖出了全部 100 股 XYZ。每次交易佣金都是 $9.99。那么 ACB 将是 $6519.98,总股份是 200,那么每股平均 ACB 是 $32.5999。

后来你把这 200 股全部卖出,卖出价是 $40,交易佣金还是 $9.99,此次交易所得是 $7990.01。你的资本得利是 $1470.03。

但是,如果你只卖出 100 股,卖出价是 $40,交易佣金还是 $9.99,此次交易所得是 $3990.01。你的资本得利是 $3990.01 - 100 x $32.5999 = 730.02。你还持有 100 股 XYZ,平均每股 ACB 不变,还是 $32.5999。

ACB 计算实例三:简单的美元股票买卖 

2020 年 11 月 日(结算日)买了 170 股 IBM,买入价 $110.0000,佣金 $9.99,你的美元成本是 $18,709.99,Bank of Canada 当日美元对加元的汇率是 1.3145,你的加元成本是 $18,709.99 x 1.3145 = $24,594.28。这就是你的 ACB。

2020 年 12 月 7日(结算日)全部卖出了 IBM,卖出价 $124.22,佣金是 $10.46,此次交易美元所得是 $21,106.94,Bank of Canada 当日美元对加元的汇率是 1.2801,换算成加元是 $21,106.94 x 1.2801 = $27,018.99。你的资本得利是 $27,018.99 - $24,594.28 = $2,424.71。

ACB 计算实例四:多次购买的美元股票

以后补充。

ACB 计算实例五:DLR 和 DLR.U 之间的 JOURNAL 

以后补充。

2021 年 1 月 18 日马丁·路德·金日

今天周六,提醒一下大家,这个周末美国是长周末,周一假日,美国股市不开盘。什么假日呢?说出来很多华川粉/张口闭口“黑命贵”者会怒气冲冲,但是人家给你带来了一个长周末,没有他及他们的努力,你觉得你还能那么舒心的过长周末吗?至少要晚很多年或者几十年吧。

对,周一是马丁·路德·金日,他的全名是 Martin Luther King Jr.。他出生于 1929 年 1 月 15 日,1968 年 4 月 4 日被暗杀。这个假日就定在了每年一月份的第三个周一。第一次庆祝这个假日以纪念丁·路德·金是在 1986 年的 1 月 20 日。

刚刚过了圣诞节和元旦节日,接着在 1 月的中间再过一个节日,很多人不喜欢,很多企业不喜欢,很多个人和公司不遵守这个假日。首次指定这个假日也引起了一些争议,当时的共和党总统里根开始也不支持,这个法案也经过了好几年才通过。

每年这个周一在美国会有很多庆祝和游行,祝 King 生日快乐。今年因为疫情,估计不会那么欢快,没多大庆祝气氛,没多少音乐。不管怎么样,过去几十年有很多关于他的歌曲,有很多歌曲提到了或者暗示了他。

比如 U2 - Pride (In The Name Of Love) :

Early evening, April four
A shot rings out in the Memphis sky
Free at last, they took your life
They could not take your pride

他的影响是巨大的,不仅仅在美国,已经传播到了全世界。

如果你有时间,你应该再完整地看看他的著名演讲“I have a dream”,全长十七分钟。

King 的巨大历史影响在于政治意义,不在于他的圣洁。他不是圣人。在中文圈,喜欢传播他的轶闻,说他生活不洁等等。

King 多年来在讲坛上磨练自己的声音和演讲,使它像音乐一样。他抑扬顿挫的声音讲述一系列的不公,有巨大的感染力,听众深感愤怒,同时也有鼓舞人心的积极信息。

现在很多人已经很习惯了几年几十年来的进步,忘记了 King 当时所努力的巨大意义,他为此献出了自己的生命。

搜索了一下,大学英语精读第五册还含有“I have a dream”这篇文章,竟然没删,值得表扬。

路由器无线网 2.4 GHz 和 5 GHz

现在的路由器一般都有两个频谱,一个是 2.4 GHz,一个是 5 GHz。你可以设置一样的 SSID 名字,比如 wifi;也可以设置两个不同的 SSID 名字,比如 wifi24 和 wifi5。

很多设备,比如一些老手机和一些家用智能电器,它们只能与 2.4 GHz 兼容工作;更甚,即使它们有些也能连上 5 Ghz,但是不能正常工作。这些设别不一定是老设备,比如 iRobot 的扫地机器人。

你事先可能不知道你的设别是否能使用 5 GHz,所以你最好不要听信网上的一些建议 disable 2.4 GHz。

因为以上原因,我认为设置不同的 SSIDs (也就是网络名字)是最佳选择。只兼容 2.4 GHz 的设备就只连 wifi24。而兼容两个频谱的设备就无所谓了,一般的建议是,如果信号强,就连 wifi5,如果信号弱,离路由器远,就连 wifi24。

TD BANK 和 Direct Investing 缩写的意思

TD BANK 和 Direct Investing 的各种 transactions 记录条目里的 Description 和 Action 两栏里有很多缩写。这篇文章整理了这些缩写的意思,为大家提供的方便。

Thursday, January 14, 2021

Season 22 Necromancer

Diablo 3 Season 22 Necromancer 送的是 Masquerade of Burning Carnival 六件套。这六件套分别是:

  • Luxurious Bauta (Head)
  • Lavishing Gloves (Hands)
  • Sophistocated Vest (Torso)
  • Extravagant Shoes (Feet)
  • Elegant Pants (Legs)
  • Glamorous Gigot (Shoulders)

Bauta 是戴着斗篷,同时带着一个面具,与这个套装的名字 Masquerade 假面吻合。

Gigot 是法语,指动物,尤其是羊羔或羊的后腿。这里其实指的是 Gigot Sleeve ——羊腿袖,这种袖套类似绵羊的后腿:顶部宽而底部窄。

+++++

有了两件套的效果如下:

Simulacrums no longer take damage, gain all runes, and its cooldown is refreshed on death。

Simulacrums 不会受伤,获得所有神符,死亡时才会刷新其技能恢复时间。

Simulacrum 是个拟仿幻影人,持续时间是 15 秒。15秒后自然死亡消失,此时才开始计算它的 120 秒的技能恢复时间。

没有两件套,Simulacrum 这个技能只能创建一个蓝色的幻影人,有了两件套,因为 Blood and Bone 这个神符,又创建了一个骨头幻影人。效果看下图。


 

我们要搞清楚它的 5 个神符分别是有什么效果。

  • Cursed Form - 使用三个 Curses —— Decrepify,Leech 和 Frailty —— 战技中的任何一个,三个 Curses 战技都将同时施用到目标怪上。
  • Reservoir - 最大 Essense 球的容量增加 100%。
  • Self Sacrifice - Simulacrum 处于激活状态时,如果 Necromancer 遭受致命伤害,则 Simulacrum 会立即被摧毁,死灵法师会恢复生命,而不会死。用完所有其他救生效果后,此效果才会被激活。这相当于多给了一个假死。
  • Blood Debt - Simulacrum 处于激活状态时,耗血技能的成本降低了 75%。这不适用于 Simulacrum 自身。
  • Blood and Bone - 还会创建第二个 Simulacrum of Bone,它将同样重复 Necromancer 的法术(因此每个技能将被同时使用 3 次),但是持续时间减少到 10 秒。耗血成本不变。

建议穿上两件套,试试是怎么样一个效果。

+++++

如果又了四件套,只要有幻影人在,Necromancer 受到的伤害降低 50%,并且所有伤害在 Necromancer 和他们的幻影人之间分配。

如果有了全套六件,Bone Spear 的伤害提高 10,000%。Simulacrums 获得此奖励的三倍,也就是 30,000%。

+++++

Bone Spear 是核心战技,它是二级战技, 而主要作战者现在是三个,Necromancer 自己和两个幻影人。提高此战技杀伤力的武器装备有三件,分别是

  • Gelmindor's Marrow Guards (Legendary Bracers): Bone Spear cast from Simulacrums deals 300-400% increased damage. - 专门为 Necromancer 新设计的一套护腕。
  • Scythe of the Cycle (Legendary Scythe): deals 350–400% additional damage while Bone Armor is active but each cast reduces the remaining duration of Bone Armor by 4 seconds. - 单手镰刀,必须与 Bone Armor 战技配合。
  • Maltorius' Petrified Spike (Legendary Two-Handed Scythe): increases Bone Spear cost to 40 Essence, but it deals 550–700% additional damage. - 双手镰刀,也是专门为 Necromancer 新设计的一件武器。

建议现在穿上六件套,试试 Bone Spear 的效果。

+++++

两个幻影人十分重要,而与之最重要的装备是 Haunted Visions 这个护身项链,有了它,幻影人现在每秒消耗最大生命值的 1%,但是幻影人持续到永远。也就是说 necromancer 不死,幻影人也不会死。如上所述,幻影人的耗血不会因为两件套获得了 Blood Debt 这个神符而降低。

无论是两件,还是四件,还是全套六件,核心都因为 Simularcum, 而它只能打 15 秒,然后 120 秒的恢复时间,所以没有 Haunted Visions,六件套基本是个废物,因此 Haunted Visions 可以说是假面六件套必须的第七件,没有它完全不可行。

建议现在穿上六件套和 Haunted Visions,试试 Bone Spear 的效果,看两个幻影人会不会消失。

+++++

Bone Spear 技能消耗 20 点的 essense,但是每次消耗 40 点的 essense,所以需要快速补充大量的 essense,必须使用一个 primary skill。其实吧,Bone Spike,Grim Scythe 和 Syphon Blood 随便哪个 primary skill 都可以,但是 Grim Scythe - Frost Scythe 可以增加攻击速度,最高可以达 15%,如果你想打很高级别的 greater rift,这个十分重要。

+++++

至此我们基本上已经有了所有技能了。

  • 一个 primary skill 来生成 essense
  • Bone Spear 杀怪
  • Simulacrum 必须的
  • Bone Armor 是武器 Scythe of the Cycle 必须的
  • 一个 Curse 技能,配合 Simulacrum 的 Cursed Form 这个神符。
  • 还有一个 necromancer 必须的辅助技能 Blood Rush

这样六样技能全有了。

+++++

Tuesday, January 12, 2021

Skype 被炸了

Microsoft Skype 已经成了垃圾场。请看下面的投诉:

  • 投诉 1:幾乎每天 skype 都收到中國的垃圾廣告訊息騷擾,反映多次,調過設定,也已經封鎖一堆了,一點用都沒有!
  • 投诉 2:skype 如何设置不接收陌生人的消息?广告太多了~ 
  • 投诉 3:I have been getting spam messages from unknown contacts
  • 投诉 4:Lots of Unwanted contact requests, how to stop them? 
  • 投诉 5:Skype 廣告訊息騷擾
  • 投诉 6:被大量的陌生廣告帳號添加(來電+訊息),導致我的 SKYPE 經常被鎖 / 登出
  • 投诉 7:skype 如何设置拒绝接收陌生人的消息 太多广告了
  • 投诉 8:被廣告群組連續騷擾,但本人帳號被封鎖?

好几个投诉人的账户后来被微软锁了。不解决问题,反而解决提出问题的人。Microsoft 也是绝了。

“Skype 被炸了”,这句话已经成了 Skype 用户的口头禅。从这句话里你可以体会到每天会收到多少广告信息。这就是轰炸嘛,毫不夸张。微软不可能不知道。

微软的客服在上面的投诉中不断回复关闭 Skype 的两个设置选项可以解决问题,但是实际上它们根本无用(当然你还是应该关闭如下两个功能)。

  1. Settings -> Contacts -> Privacy -> Appear in search results,关闭这个功能
  2. Settings -> Calls -> Only allow skype calls from contacts to ring on this device,关闭这个功能

这些炸弹信息几乎都是陌生人请求添加好友的留言,他们根本不在乎你同意还是拒绝,他们每天有无数账户发送这样的请求。

其实微软要真心解决这个问题也很容易,稍微改进一下 Skype 就可以了:

  1. 限制好友请求的留言长度,比如最多 10 个字,且不准含有链接;
  2. 分门别类:单独给所有好友请求开一个列表,不要混在正常信息列表中。


Monday, January 11, 2021

QQ 安全防护进程(Q 盾)

去腾讯官网下载安装 QQ 相当于安装了一个病毒。请看下面的文章:

  • 知乎文章:如何永久禁用“QQ 安全防护进程(Q 盾)”,同时 QQ 还可以正常启动?
  • 知乎上另外一篇文章:如何禁用 QPCore service 启动项?
  • 与病毒无异:火绒回应拦截腾讯程序:QQ 推广产品和病毒行为一致
  • GitHub 上解决办法:我不需要 QQProtect.exe

打 Diablo 3 的时候我发现电脑有时花屏了。我的电脑是游戏电脑,打 Diablo 3 绰绰有余,不应该出现这种现象,以前也没出现这样的问题。我就去找原因,最终发现了“QQ 安全防护进程(Q 盾)”这个自启动进程,在网上找到了以上文章。我建议安装了 QQ 的用户都去看看你的的电脑是否有这个进程。

即使你的电脑足够强大,这个进程在后台存在的同时你也能顺畅玩各种游戏,或者正常进行其它工作,但是它在偷偷地扫描你的电脑,不知不觉地收集和传送信息到远程。你不知道它扫描到什么程度,收集了多少信息,传送了哪些信息。你觉得安全吗?

如果你非要用 QQ,还是去微软应用商店里去下载安装《QQ 桌面版》吧。经过我的测试,这个版本的确没有这个类病毒进程。

Friday, January 8, 2021

BMO InvestorLine 电话热线不正常

今天(2021 年 1 月 8 日周五)上午买了 DLR,再打电话过去请 BMO InvestorLine 的客服帮助卖出 DLR.U,这样完成 Norbert's Gambit。打了几次普通话客服,说太忙,直接挂断。打了英文客服三次,也是直接挂断。

中午十二点多,准备出门,又尝试打了一次电话,这次终于成功了。

总去年最后几天到最近几天,InvestorLine 十分不正常,电话客服更不正常。BMO 已经关闭了在线 security message 服务,需要找客服,打电话已经基本上成了唯一方式。

Thursday, January 7, 2021

HSBC、BMO 做 Norbert's Gambit

我于 2020 年 6 月 16 日 在 HSBC InvestDirect 操作了一笔 Norbert's Gambit。

我先用加元买了 DLR,然后立即卖出 DLR.U。卖出时发现只能结算到加元账户,不管三七二十一,我卖出了再说。

然后打电话到 HSBC,说我账户里刚才有笔交易,你能不能结算到美元账户。女客户很客气很耐心,说以后不要这么操作。要等到 DLR 这笔交易结算后(T+2,隔一天后)打电话过来,将这个 DLR 挪到美元账户,然后我卖出。不过,今天还是帮我特别处理了。也就是在 HSBC 操作 Norbert's Gambit 要有一个 Journal 过程。

+++++

针对 BMO Investorline 的,但是最好参考这个链接。再说明一下:在 BMO 先买 DLR,无法再卖 DLR.U,需要打电话过去叫客服帮卖。这老外用的是 RY,如果你账户有 short 功能,应该能完全按照这老外的操作进行,否则也许也要打电话给客服操作。

这个链接解释的很清楚,就有人反映无意之间触及了这个操作的利息部分,是在 transfer account 时,股票被转走的当天在原账户卖掉股票,结果是 transfer in account 显示 +share, transfer out acct 是 -shr,被收了利息。

因为 BMO InvestorLine 这个利息是每个月 21 号之后才显示的,很多人没注意。HSBC InvestDirect 计算利息是在月中。我曾经找HSBC要回来了接近二千元的利息(不是兑换产生的,其它问题,双方都有责任)。

+++++

6 月 17 日又在 BMO IL 做了一笔 Norbert's Gambit,买 DLR,卖 DLR.U,加元换美元,这次兑换额十分高,最终计算下来的汇率是 1.356098992。以 17 日我在 BMO IL 查的买美元汇率为参考计算。10 万或以上额度级别的兑换,BMO IL 汇率是 1.3624,汇率差是 0.4625%。最低额度级别的兑换,BMO IL 汇率是 1.3739,汇率差是 1.2957%。买卖交易 Commission Cost 全部计算在内了。

Google Docs dictation 功能

都不打算用 Google Chrome 浏览器,但是要用 Google Docs 的 Dictation 功能,这个功能不支持 Firefox,甚至不支持 Chrome 内核的 Microsoft Edge 浏览器,只得把 Chrome 浏览器装上。

Tuesday, January 5, 2021

Matt Levine 休假回来了

彭博社的 Matt Levine 自去年八月份开始修 parental leave,今天(2021 年 1 月 5 日)发了回来的第一篇 newsletter。他的 Money Stuff 备受推崇,我也推荐朋友们订阅。

Monday, January 4, 2021

2021 年伊始市场所处的位置

 在这篇文章里,彭博社的 John Authers 简单地谈到了 2021 年刚开头市场目前的几个关注点:通货膨胀、泡沫(比特币、SPAC、IPO疯狂、股票估值超高等)、VIX 20 左右成常态、COVID-19、乔治亚州补选、Brexit 等等。

Saturday, January 2, 2021

Diablo 3 - Witch Doctor - speed farming - Season 22

Diablo 3 Season 22 Witch Doctor 送的是 Mundunugu's Regalia 六件套。

+++++

有了 Mundunugu's Regalia 其中的 4 件 ,Big Bad Voodoo 打出的 Fetish Shaman 现在可以跟着Witch Doctor 跑,而且持续时长变成了 2 倍。

Big Bad Voodoo 做什么呢?这个技能召唤一个不能走动的 Fetish——也就是 Shaman,在他 20 码之内所有盟友——当然包括 Witch Doctor 自己——的攻击速度和移动速度都提高 15%,持续时长是 20 秒。如果使用它的符(Rune) 丛林鼓(Jungle Drums),时长变成了 30 秒。

所以两件 Mundunugu's Regalia 和 Big Bad Voodoo - Jungle Drums 配合,攻击速度和移动速度都提高 15%,持续时长是 2 x 30 秒,也就是 60 秒。

不过,Big Bad Voodoo 的 Cooldown 默认时长是 120 秒,有点长。但是满 Paragon 点数可以拿到 10% 的 Cooldown Reduction;穿上 Captain Crimson 套装,可以拿到 20% 的 Cooldown Reduction;Gogok of Swiftness 可以拿到最高 15% 的 Cooldown Reduction。三样齐全的话,Cooldown 时长变成了 120 x [(1 - 10%) x (1 - 20%) x (1 - 15%)]  = 120x 0.612 = 72.44 秒。Speed farming 的时候不会穿上 Captain Crimson 套装,所以 Cooldown 时长变成了 120 x [(1 - 10%) x  (1 - 15%)]  = 120 x 0.765 = 91.8 秒。大约 2/3 的时间可用。

+++++

有了 Mundunugu's Regalia 其中的 4 件,Spirit Realm 结束后 30 秒内伤害减少 60%。如何进入 Spirit Realm?只有两个技能,一个主动技能 Spirit Walk,一个被动技能 Spirit Vessel。

Spirit Walk 是指 Spirit 离开肉身——也就是处于 Spirit Realm下,时长是 2 秒,Spirit 在这 2 秒内可以无障碍行走。它的 Cooldown 默认是 10 秒。它的符 Severance 将移动速度提高 100%。

60% 减伤时间是 30 秒,大大超过默认 Cooldown 时长的 10 秒,所以可以做到一直保持 60% 的减伤。但是提速功能大约只能做到 40% 可用。

Spirit Vessel 启动后也只有 2 秒会呆在的 Spirit Realm 中。

+++++

在不调整装备上的 Cooldown Reduction 的情况下,怎么能提高 Big Bad Voodoo - Jungle Drums 和 Spirit Walk - Severance 提速的有效使用百分比?只有一招,在 Kanai's Cube 里放 In-geom

+++++

有了 Mundunugu's Regalia 全套的 6 件,Spirit Barrage 额外叠加 20,000% 的杀伤力,再额外每秒每点恢复的 Mana 叠加 5% 的杀伤力。

理想装备情况下,最高每秒可以恢复 42 点的 Mana,所以总共是 +20,210% 的杀伤力。

随从 Kormac 每秒还可以恢复 7 点 Mana。

被动技能 Spiritual Attunement 还可以每秒恢复 2% 的 Mana,还提高 10% 的 Mana 容量。Mana 最大容量大约在  1200 左右,所有每秒恢复大约 240 点 Mana。

被动技能 Rush of Essence 投 Spirit Spells 时在 10 秒增加 100 点的 Mana,也就是平均一秒增加 10 点的 Mana,但是这个不算在 Mundunugu's Regalia 六件套的功效内。

+++++

Mundunugu's Regalia 全靠 Spirit Barrage 杀怪,而对 Spirit Barrage 杀伤力有帮助的三件装备分别是:

+++++

Voo's Juicer (Legendary Ceremonial Knife): increases damage by 45-60% and adds The Spirit Is Willing and Phlebotomize rune effects to the manually selected rune.

我把这个叫做老巫的榨机,是礼刀的一种。它增伤 45-60%,几乎可以忽略不计,但是额外送两个符,一个是 Phlebotomize——每秒恢复 6437  点的命,一个 Spirit Is Willing——每个 Spirit Bolts 打到怪恢复 12 点的 mana。

这个武器在 speed farming 里不是很重要,但是在 Greater rift 里就有用,而且它比较容易拿到理想值,而且它有五个杀伤调整选项,比 The Barber 多一个,所以一般都穿在身上,而不是放在 Kanai's Cube 里。 

+++++

The Barber (Legendary Ceremonial Knife): instead of dealing direct damage, Spirit Barrage now accumulates on the target. When casting stops, it explodes dealing 400–500% of the accumulated damage to all enemies within 15 yards.

我把这个叫做剃刀,也是礼刀的一种。它是 Spirit Barrage 必需武器。

+++++

Gazing Demise (Legendary Mojo): Spirit Barrage gains the Phantasm rune. Each active Phantasm lasts twice as long, increases the damage of Spirit Barrage by 120%, and also increases the attack rate from Manitou spectres.

这是个咒物,武器配装,我把叫它叫做送终瞥。它附送 Phantasm 这个符。最最重要的,也就是Gaming Demise 必不可少的原因,就是每个 Phantasm 的持续时长 2x,每个 Phantasm 增加 120% 的伤害,而且每个 Phantasm 增加 Manitou 的 attack rate/tick。不用想了,Spirit Barrage 肯定要用 Manitou 这个符了。

Spirit Barrage 默认情况下是花费 100 点 Mana 向目标投放四个 Spirit Bolts,杀伤是 4 x 150%,元素是 Cold

我们首先来看看 Manitou 这个符是什么意思。启用这个符,也不会再召唤 Spirit Bolts,而是召唤一个 Manitou (也是一种 Spectre)盘旋在 Witch Doctor 身上,且随身跟着。Manitou 每 0.5 秒对附近一名随机敌人释放 Spirit Bolts,在 20 秒内造成总计 6000% 的冰冷伤害。一次只能召唤一个 Manitou。所以 20 秒内 Manitou 发出了 40 个投射物

我们还要搞清楚 Phantasm 这个符做什么。启用 Phantasm 这个符的话,是投出 Phantasm (一种 Spectre),Phantasm 在 5 秒内对其自身 10 码范围内的所有敌人造成 750% 的冰冷伤害,每个 Phantasm 每隔 0.5 秒 attack rate/tick 一次。一次最多只能召唤三个 Phantasm。请注意,Phantasm 被认为是准宠物,增加的 pet damage bonus 对它无效,但是增加的攻击速度会对它有效。

根据 Reddit 上一篇帖子的讨论,Manitou 和 Spirit Bolts 等都不算 pet,只有 Phantam 算 pet,且不是标准的 pet。

至于以上武器的作用机理,请看此人的文章,写得十分详细。

有了 Gazing Demise,三个 Phantasm 持续时长 10 秒,每个 Phantasm 每秒投射 2 个投射物(如果 10 码范围有怪),三个加起来是 6 个,10 秒是 60 个。Manitou 在 Phantasm 存在的 10 秒内,每秒投射处 8 个投射物,10 秒是 80 个。如果准时的一轮接一轮发出 Phantasms,那么 Manitou 20 秒内可以发出 160 个投射物。那篇文章说是 200 个,我不知道是怎么算出来的。

+++++

我认为 Lexyu 对 SPIRIT BARRAGE 的打法解释得最清楚简单。

第一个视频是打法指南:Witch Doctor Mundunugu Spirit Barrage Solo Push Guide Season 20 (Patch 2.6.8) Diablo 3

第二个视频是他的实战过程:Witch Doctor Mundunugu Spirit Barrage GR141 Solo Push Diablo 3

下面是第一个视频的文字版本:

Yo,  this is Lex. This is a guide of SPIRIT BARRAGE for pushing greater Rifts.

You can also check out my SPIRIT BARRAGE guide on Speed Runs for the basics. In the speed video SPIRIT BARRAGE is spammed for rapid explosions.

In this video I will be going over advanced techniques to build up explosions for leaderboard climbing.

The tool-tip for THE BARBER is poorly worded and misleading. SPIRIT BARRAGE is not a channelling skill that is held down until released. Holding the skill down would make back to back casts in the same way rapid clicking does. Phantasms do not explode when you stop casting like the THE BARBER tool-tip says, instead they explode when expired. You can have a maximum of three phantasms out at one time. Casting out one after three is to cause the oldest one to explode releasing its accumulated BARBER damage.They will also explode on their own after time which is 10 seconds with the GAZING DEMISE bonus.

Let's go over the basic location. Make sure you keep BIG BAD VOODOO and SOUL HARVEST active. LOCUST SWARM needs to be cast once every eight seconds to activate RING OF EMPTINESS. Cast PIRANHAS - PIRANHADO on top of your follower to group enemies up followed by three casts of SPIRIT BARRAGE to place phantasms. SPIRIT WALK is used to allow the phantasms to build up three seconds of BARBER damage. After coming out of SPIRIT WALK, SPIRIT BARRAGE is once again cast three times to blow up the first three phantasms.

Remain close to enemies for GRAVE INJUSTICE, SWAMPLAND ATTUNEMENT and CONFIDENCE RITUAL which you are getting some pickup radius as a secondary stat on gear will be helpful.

If enough enemies die in range and activate grave Injustice SPIRIT WALK can be used again immediately.

This rotation can be repeated as long as there are enough enemies to kill, keeping you safe and constant SPIRIT WALKs. Be sure to drag for more enemies when density is low.

Here is another quick pop rotation chain. Notice how back to back SPIRIT WALKs keep me from getting frozen or killed.  You should stand in an OCULUS RING while damage is being accumulated for bigger explosions. Standing still will also mess our ENDLESS WALK’s 100% damage multiplier.

You can also let phantasms build our BARBER damage for longer. A shield pylon will allow you to keep phantasms active for the full 10 seconds without risk. This will accumulate more damage from trash before they die, doing more damage to elites. These phantasms expire on their own with casting. Don't forget you still need to put down three new phantasms afterwards.

The full duration of rotation can be hard to survive without shielding. Let's go over my favourite rotation to use - the single pop. Start the same way as the quick pop rotation. Casting three phantasms followed by SPIRIT WALK.  When you come out of spirit walk only cast SPIRIT BARRAGE once to explode your first phantasm. If enough enemies died to cool down SPIRIT WALK use it. Your second and third phantasms will be left to continue accumulating damage. Keep popping just enough phantasms to get back into SPIRIT WALK. This rotation keeps trash alive longer, doing more damage to elites. It's also safer if you go back to Spirit walk after one cast of SPIRIT BARRAGE. You can still do the second or third cast if SPIRIT WALK isn’t ready.

At the rift guardian, SPIRIT BARRAGE needs to be spammed to stack BANE OF STRICKEN. The MANITOU really makes the boss fight faster, but I am using THE SPIRIT IS WILLING to replenish mana. If you want to use MANITOU you need to replace a passive with RUSH OF ESSENCE for mana regeneration.

Check D3 planner for all the variants and details.