对于使用 Beancount 记录投资帐目的人来说,如何评估自己的投资回报一直是一个未解决的问题 。前一段时间 Beancount 的开发者 Martin 写了一个计算回报率的小工具1,姑且可以算是 v3 版本功能的一个小前瞻,尝试使用之后,虽然目前还是比较粗糙的脚本,但是基本可以计算出来年化的投资回报率了。Beancount 用户 Redio 也写了详细的 Review2,可以作为第一个文档的补充,使用时参考。
fava_investor 3 是另一个试图在 fava 中进行投资回报可视化的插件,目前处于开发中,由于我的投资帐目比较复杂,目前没有办法成功运行。对于简单的投资帐目(例如不包含数字货币),可以尝试使用。
另外还有一些比较小的工具,例如beancount_portfolio_allocation4是一个根据当前市值计算持有资产比例的脚本,方便用来进行资产重新配置。我在此插件的基础上,进行了一些简单的修改,重新命名为beancount_portfolio_report5,用于输出当前各类资产的市值、回报和总体回报率(非年化)。
beancount-boilerplate-cn 有部分净值计算的工具,但是同样不适合我这种比较复杂的投资记账。没有尝试。
beancount.io 在网站上也提供了 Stock Analysis 工具,可惜没有看到开源,处于数据安全顾虑,目前没有体验。从 demo 来看完成度还是比较高的。侧重点在于比较不同风险资产的盈利情况。
读者可以根据自己的实际情况,选用上述工具,进行投资回报的计算。其实我理想中的功能,是类似且慢小账本,绘出净值变化曲线,自动计算回报率,以及和大盘指数进行对比。对于 Beancount 来说,前二者需要的数据都是存在的,大盘指数这个可以通过 beanprice
指定来源来进行对比。只能期待 v3 版本早日出来了。
关于资产价格。计算投资回报的前提是 Beancount 账本文件中有对应资产的价格数据,大部分用户可能没有这个数据或者数据不全,可以使用 bean-price
或者 beanprice
6 (分离出来的新版本)进行资产价格获取。现在新版本的 beanprice
已经支持时间段的价格获取,补全资产的历史价格问题应该不大。
Asset allocation plugin for fava/beancount (personal finance software) https://github.com/redstreet/fava_investor true
Reports on portfolio asset allocations in beancount. Useful for risk analysis and for rebalancing purposes. https://github.com/ghislainbourgeois/beancount_portfolio_allocation true
Reports on portfolio performance in beancount. Useful for risk analysis. https://github.com/wogong/beancount_portfolio_report true
beanprice https://github.com/beancount/beanprice true
机器学习的语境中,经常可以看到 Bottleneck 这个词,其含义差别较大,为了解决自己的困惑,本文整理了几种常见的含义。
information bottleneck theory 由 Naftali Tishby 2000 年的论文 The information bottleneck method 中提出,后来试图解释深度学习的泛化性能。当然关于这个理论本身也有不少反驳意见。
ResNet 中的结构名称,bottleneck design 2015 年底最新给出的,也是当年的 imagenet 比赛冠军。可以说是进一步将 conv 进行到底,其特殊之处在于设计了“bottleneck”形式的 block(有跨越几层的直连)
bottleneck 是我们经常用于描述网络最后一层之前的那些实际完成分类任务的网络层的一种非正式称谓 http://shartoo.github.io/tensorflow-retainmodel/
MLP 中一类隐层 源于1994年的《CONNECTIONIST SPEECH RECOGNITION A Hybrid Approach》,里面首先提出到 BN 层应该要同时比input&output结点数都要少的概念。参考 https://www.zhihu.com/question/51793452
Anki 是一款能让记忆事物变得简单的程序。Anki 比传统的学习方法更为有效,因此你可以大幅减少花在学习上的时间,或是大幅提升学习量。(来自 anki 官方中文介绍)。
我个人很早就耳闻 anki 的大名,2019 年 10月份够买了 iOS 上的官方 APP。但是日常使用仅限于背诵单词,有一搭没一答的在使用。2020 年底学习了 Youtuber Ali 关于 Anki 的课程 Learn Anything With Flashcards The Ultimate Guide To Anki,了解到很多之前不知道的 anki 的强大功能。新的一年开始,希望能坚持 anki 打卡,背诵单词。下面简单介绍一下我使用 anki 的 workflow。
我一直不太习惯背诵单词书,一来没有备考的压力,动力不足,其次没有语境的背诵单词,对我来说印象不够深刻。这么多年的英语学习经历,我几乎没有背诵过单词书。高中积累单词的方法是,在日常考试中遇到的生词,记录到生词本,之后有空没空多翻翻。这样的效果是十分显著的,在后期英语阅读理解速度比较同龄人提高了很多,个人积累的单词量也显著进步。这样的习惯一直断断续续保持着,这么多年使用过有道的单词本,欧陆词典的生词本,用来记录在互联网上浏览遇到的生词,但是效果不佳。原因主要是,互联网上遇到的生词数量太多(有些难度较大的文章可能一篇就会积累数十个),没有了应试压力后很难经常性地回顾,这就导致生词本中不熟悉的单词越来越多,定期背诵带来的沮丧感大增,很难坚持下去。
Anki 通过自己的算法可以完美的解决这个问题。所以要解决的问题是,如何将生词本迁移到 Anki 词库?
最直观的办法是,直接将生词本导出,简单处理下格式,并导入 Anki。这样当然是可行的,但是日常积累遇到的新词如何处理?定期从生词本导入到 Anki 当然是可以的,不过毕竟增加了额外的步骤。永远不要低估自己的惰性,时间长了可能就这多的一步阻碍你继续背诵单词。我们需要的方案是,能够将遇到的生词直接添加到 anki 中,非常幸运的是,现在有很多这样的工具。本文主要介绍我个人经常遇到的两种场景。
幸运的是,有现成方案可以完美解决这个场景需求。大力推荐 在线词典助手 (含Anki制卡功能) 这个 Chrome 扩展,插件安装地址。项目的是开源的,代码托管在 Github。
安装完毕,简单配置后,可以直接在浏览器进行划词翻译,一键添加到预先配置好的 Anki 词库。个人使用一年多,偶尔遇到不能制卡多是配置失效,重新配置即可。
在非浏览器页面遇到生词,查单词后希望添加到 anki,如何解决这个需求呢?具体来说,我查单词的地方默认是命令行,感谢 ydcv,能够在命令行迅速方便的查询单词。但是该工具只是一个非常简单的查词工具,没有更复杂的,例如单词本这样的功能。 最初我是这样解决这个问题的,手动添加了生词本功能。实现的非常简单,就是在查单词的同时,将单词保存到一个文本文件。通过 shell 函数实现:
# youdao
function s() {
local spath="${HOME}/sh/ydcv.py"
$spath $*
echo $* >> ${HOME}/Dropbox/Dat/words.txt
}
在决定使用 Anki 之后,这个实现当然不够,如何能够让在 ydcv 中查询的单词保存到 Anki 词库呢?前段时间特地抽时间搜索了一下,找到了一个在命令行中与 anki 词库交互的工具 apy,该工具没有采用 Ankiconnect 等接口,可以在 Anki 没有运行的情况下,通过读取 Anki 数据库的方式,直接添加新卡片。那么问题就简单了,我们可以用该工具将使用 ydcv 查询的单词和返回的意思直接添加到 Anki 词库,简单升级下上面的 shell 函数:
# youdao
function s() {
local spath="${HOME}/sh/ydcv.py"
output=$($spath $*)
echo "$output"
apy add-single -d Default -m Basic $* $output
apy sync
}
该函数的功能就是,查询单词的同时,将单词和返回的意思直接制卡,保存到 Default 词库,使用的模板是 Basic。目前的处理比较粗糙,没有细分音标,意思,短语等字段。希望更进一步细分就需要处理 ydcv 返回的内容了。当然要达到这个目的,直接修改 ydcv 的代码可能更简单。
至此,通过这两个小工具,我们已经可以覆盖在桌面环境遇到的所有生词了,随手查询添加到 Anki。至于移动端,暂时没有找到非常方便的添加到 anki 词库的方法,我猜测通过 shortcuts 应该是可以实现这一点的,奇怪的是没有搜索到相关方案。不过由于本人大部分查单词的场景都在桌面,暂时先放下这个需求。
希望可以帮助到有需求的人,同样,添加单词只是第一步,更重要的是日常的坚持背诵,Anki 的算法非常有效,但是能否克服惰性还是得看个人。努力吧 XD (Flag:希望 2021 年 Anki 的打卡天数能超过300天。