分类
想法

2019-11-27-历史原来可以这样学

哇,历史原来可以这样学

林欣浩

第2章 为什么人类不养老虎当宠物?

说“纯天然”一定比“人工”好,其实没有什么道理。 古人只吃“纯天然”的药物,可靠这些药物根本治不好肺炎、肺结核等感染类疾病。这类病在中国古代都属于绝症,只能静养等死。在今天,我们平时有个感染根本不当回事,是因为我们有了人工合成的抗生素。这说明在有些情况下,“人工”要比“纯天然”更好。

哈哈哈哈哈哈!

中国古人长久以来都认为大自然和人类之间的关系是完美的、和谐的,大自然原本的样子最符合人的本性。因此,天然的食物就是最理想的食物。即使今天,许多人仍持有这种观点,比如认为地里的白菜、萝卜、黄瓜,直接拔出来洗洗就吃,说这是最健康的。要是送到工厂里,磨碎了,加了人工添加剂,制作成饼干,送到超市里,就说不太自然、不太健康了。 中国的道家、儒家、佛家的学者都相信这个说法,他们用不同的方式主张过“天人合一”。 然而,他们错了。 中国古代的那些学者们不知道进化论,不知道人类和大自然还有一个进化的过程。 比如,我们今天吃的麦子就和它的祖先大不一样。原始的麦子结出来的麦粒又少又难吃,麦粒成熟以后也不像今天那样结成沉沉的麦穗,而是会自动掉到地上。因为只有这样,麦粒才可以生根发芽,繁衍出下一代。但是掉到地上的麦粒很难被人类收集,原始人在种植麦子的时候,刻意选择那些麦粒大又好吃、成熟后麦粒不会掉落到地上的品种,久而久之,麦子才变成了今天我们熟悉的样子。这样的麦子再种到野外,是没法存活的。 再比如,豌豆和油菜的祖先是外貌普通的杂草,莴苣(莴笋)的祖先有毒,它们的野生状态都没法食用。

第4章 历史是否存在必然性?

有奶就是娘,归根到底谁出钱 军队就听谁的。唐代的藩镇之祸,原因就在于节度使掌握了财政权,军队就变成了节度使的私人军队。

话说周王室其实也不傻,刚开始分封诸国的时候,规定各地的兵权都掌握在周王室的手里,没有周王室的命令,诸侯不能随意调动军队。但军队不是凭空变出来的,需要用钱粮来供养,需要百姓来服役。周王室直辖的领土有限,只能供养中央军。地方军队必须由诸侯国供养。久而久之,这些军队也就变成了诸侯国的私人部队,周王室的指挥权就名存实亡了。

以今天的科技实力,一个独裁者其实有能力管理全球的,为什么没有出现这样一个独裁者呢?

社会制度从夏、商的“部落联盟”,到周朝的“分封制”,再到周以后的“郡县制”,这背后的逻辑是一样的:独裁者想尽可能扩大自己的权力。随着社会生产力的不断提高,社会能赡养的官员越来越多,独裁者有能力直接管辖的领土不断扩大,社会制度也就随之发生了以上的变化。

第5章 为什么一口锅的大小属于国家机密?

中国并不是最早使用青铜器的国家。 我们在学中国科技史的时候,如果不时刻把中国文明和世界文明做比较,很容易留下这样的印象:中国的科学技术在古代一直远远领先于全世界,件件发明都是世界第一,好像要不是有喜马拉雅山和太平洋拦着,中华文明当时就能统一全球了。 这个感觉,有时是对的,有时是错的。 其他的不说,只说青铜器。目前发现的世界上最早的青铜器文明,是两河流域(今天的伊拉克一带)的苏美尔文明,比夏朝开国的时间还要早两千多年,那时的中国地区还处在新石器时代。不仅是青铜器,包括书写、历法、宗教、建筑、数学、艺术等等文化,苏美尔文明都远比当时的中华文明更先进。

第8章 最有用的和最没有用的知识

不知道为什么我想到老毛,老毛的诗词水平挺高的,所以他治国不行,饿死2000万,大炼钢铁,文革十年,全是他搞出来的。

要想成为艺术家,就必须在精神的某一方面达到极致,毫不妥协,这样作品才能与众不同,才能给别人留下深刻的印象。 然而政治不同,政治是妥协的艺术。在现实世界里,没有一个人是天下无敌的超人——哪怕是最有权力的皇帝,有三个普通人上来一起揍他,也能把他揍死了。政治家之所以拥有政治权力,是因为别人肯同你合作,既然是合作,就需要互相妥协。 艺术和政治,一个是极致的理想主义,一个是极致的现实主义。作为艺术家的屈原,注定搞不好政治。

这点我没整明白,我一直以为楚辞是屈原的作品集呢。

《离骚》是屈原最有名的文学作品之一。这里要注意,《楚辞》并不都是屈原写的。《楚辞》是汉代人编辑的一本诗歌集,收集的是有楚地风格的文学作品,其中最有名、影响力最大的,是屈原的作品。

我想起了革命样板戏。

前面我们讲“礼制”,讲道德的时候,一直在讲如何提高社会的生产力,在讲道德如何节约国家的管理成本。现在这帮艺术家们倒好,讲的都是什么自由奔放、无拘无束,没给国家建设贡献点儿力量吧,他们还破坏道德秩序,还给国家帮倒忙了! 如果把“国家强盛”当作衡量对错的标准,那么除了那些能弘扬道德,或者能让劳动者稍事休息以便更好地投入劳动的文艺作品外,其他的艺术品都不应该留下。

直白而深刻,近于道也。

人之所以为人,人之所以不同于动物,就在于人不仅掌握物质,还拥有精神世界。 没错,任何人都离不开物质,离不开金钱。我们只有足够的金钱,才能让自己所爱的人不受风吹日晒之苦,在这繁华盛世中保持一丝为人的尊严;才能在朋友受苦受难的时候不是假惺惺地说几句“没事,有我呢”,而是实打实地帮人家解决问题;才能在父母生病住院接到缴费单的时候不会一边打电话四处哀求一边跪在地上揪自己的头发。 但是,我们又不能只有金钱。 生活在物质世界,人永远是不自由的。一者,人的能力有限却欲望无穷,任何人都要品尝欲壑难填的痛苦,忍受梦想难以实现的无奈。再者,世上不存在永恒不变的物质,无论多么强大的人,都不可能保证自己永远富有、永远健康、永生不死,任何人都会面临即将失去一切的绝望。 唯一能超越这些现实束缚的,是可以肆意妄想的精神世界。 一个人不需要生在大富大贵的家庭里,不需要卑颜屈膝地依赖别人提携,不需要任何外部条件,只要他肯读书、肯听音乐、肯思考,就有可能实现精神自由。 屈原是自由的,李白是自由的,每一个追求精神生活的人,都可以是自由的。

第9章 “国学”一点儿都不神秘

其实挺有道理的,即使到了今天还成立。

孔子和周人不一样,孔子拒绝谈论和神鬼有关的事。在孔子看来,礼制的权威性并不是来自于神鬼,而是来自于“仁”。 “仁”是什么呢?“仁”就是仁爱之心。最初始的“仁”,就是对亲人的爱。父母爱子女,子女爱父母,天下人莫不是如此,这就是“仁”。 那“礼”又是什么呢?是因为我们有了“仁”,自然而然地就会去守“礼”。 好比我们对父母要恭敬,这是“礼”。我们为什么要这么做呢?孔子认为,这不是被人逼的,不是因为害怕天上降罪才这么做,而是因为我们内心天生就有对父母尊重的感情,这种感情驱使我们做出各种尊敬父母的“礼”来。 这个理论的好处是,给“礼制”找到了一个很可靠的论据,让普通百姓也能接受“礼”的观点。 在周朝的分封制下,贵族和平民是截然不同的两个阶级。贵族受到很好的教育,经过漫长的学习,他们可以学会繁琐的礼制。可是百姓整天辛苦劳作,谁有工夫和动力去学那些没用的礼制规矩呢?所以孔子之前的礼制,只属于贵族,不属于百姓。 孔子的“仁”就不同了。每一个老百姓,他天生就有感情,天生就知道爱父母、爱子女,“仁”对他来说是自然而然的事。老百姓不需要识字,不需要念书,只要你一提醒他,他就能认识到人人内心都有“仁”。当孔子把“仁”和“礼”的关系打通以后,普通老百姓也就很容易接受“礼”的内容了。他想想自己和父母、子女的关系,就会点点头说:“对,没错,儿子就得听爹的话。”儿子必须听爹的话,这就是“礼”最基础的内容,也就是“孝”。所以才会明白,为什么中国的历代王朝都特别强调“孝”,甚至“以孝治天下”。因为“孝”是“礼”的基础,也是社会秩序的基础。

挺深刻的洞见,跟经济学也扯上了关系。

中国幅员辽阔,人口众多,朝廷该怎么保证全国百姓不生乱、不闹事呢?如果靠严刑峻法,那需要培养大批官员,建立大量的监狱,这是一笔不小的成本。孔子的办法是,通过“教化”,让百姓从自身的情感出发,认同每个人都应该遵守“礼”,让每个人自觉地去服从“礼”,这样,国家就能用很少的成本维护社会秩序。可以说,没有了孔子的这套“礼”,古代帝王就没有办法统治中国这么大的国土,中国也很难保持常年稳定和统一。

孔子主张“有教无类”,主张教育对象没有限制,无论是贵族子弟还是平民百姓都可以找他念书。孔子也不收昂贵的学费,只要学生送一点儿干肉当作拜师礼就可以。由于孔子出众的学问和先进的教育理念,使得他教出的学生最有名,对社会的影响力也最大。再加上之后两千年来,学校都以教授儒学为主,所以孔子被后人推崇为教育的祖师爷。过去的学校都要摆放孔子的牌位。

道可道,非常道。有时间我要好好研读一下道德经,感觉道德经里面的道跟佛教里面的佛性很接近。

老子关心的是世界的本质。 老子认为,这个世界的本质叫作“道”。这个“道”不是一个实物,而是超越一切概念、语言和文字,不能用任何语言来形容的。这个东西本来是没有名字的,“道”这个名字是老子为了叙述方便才起的。 老子认为,世上所有的东西,大到宇宙星辰,小到个人微尘,都要遵守“道”的规律。 “道”有点像我们熟悉的物理定律。我们知道,自然规律不是一个实物,但是大到宇宙,小到微尘,都要遵守自然规律。 自然规律和“道”的主要区别是,自然规律是什么,我们还是可以用语言说清楚的,可是“道”不行,“道”是超越语言的,没法说清楚。 你或许会说:你这个“道”连说都不能说,那你说这么个“道”还有什么用呢? 有用。 如果宇宙万物都遵守同样的“道”,那么人和大自然和宇宙也 应该遵守同样的规律。那么人和宇宙就不应该是矛盾的,甚至二者还能超越物质的屏障,合二为一。所以中国古人常有“天人合一”的思想。认为人生的最高境界就是和宇宙合为一体,自己是宇宙的一部分,宇宙也是自己的一部分。

第10章 改变中国命运的男人

统一全国知识分子的思想,这件事的重要性秦始皇也意识到了。 世界上所有的独裁国家,为了防止被颠覆,都要用暴力强制统一国家的意识形态。说白了,就是要求知识分子不能想不该想的事,不能说不该说的话。知识分子是国家的精英,万一他们质疑独裁者的合法性,并且得到了广泛的认同,这独裁者的统治不就岌岌可危了吗? 中国历朝历代的统治者都干过统一意识形态的事。区别是,秦朝以后的诸朝,钦定的意识形态都是儒家,只有秦朝钦定的是法家。

坑儒好像坑的不是知识分子是方士,就是那些炼丹的人。

“坑儒”杀了四百多人,固然恐怖异常,但全国有千千万万的读书人,秦始皇只“坑儒”一次,是断不了读书人的血脉的。

可惜那些书的备份后来被项羽一把火给烧了。其实项羽的破坏力比秦始皇大得多,好像项羽五次在咸阳纵火。

“焚书”也不是很彻底。政府搜集禁书的力度有限,而且所焚烧的禁书在皇宫内留有备份,所以秦始皇焚书并没有彻底销毁太多的图书。

还有更狠的呢,就是当代的敏感词,现在微信公众号里面都被迫自我审查,这是一种精神上的自我阉割。只不过现在不是大一统的时候,我们有一种办法叫做翻墙,可以自由地发表自己的想法。

真正狠的是后来乾隆的那种做法:在全国范围内过筛子一样地查找禁书,找到的彻底销毁。还把一部分禁书编到了《四库全书》里,却在不注明的情况下悄悄把其中“忤逆”的文字给篡改了,让后世的知识分子读的全是修改版还不自知。

第11章 农民起义都是正义的吗?

还有个技术因素,就是秦军的两个主力军团一个在北方打匈奴,一个在南方打广西,都没来得及调回来。如果两个军团有一个在国内,陈胜吴广他们那些农民军队可能很难造反成功。其实秦朝派大将带领修阿房宫的20万囚徒就差点把造反的军队给灭了,可惜遇到了项羽这个bug,3万人敢打20万,而且还赢了,更过分的是把20万投降的秦朝军队活埋了,当然他可能也是不得已,毕竟3万人带着20万俘虏,万一俘虏一个暴动,他就挂了。

简单地说,秦帝国的灭亡是秦朝统治者自己造成的。先是自损国力自毁长城,又把珍贵的民力拱手送给了叛乱一方。秦帝国全线崩溃的种子早就被自己埋下,陈胜、吴广等人的造反,只是顺势而为罢了。

精辟。

其实,并不是只有“某朝末年”才有百姓造反,也不是只有“民不聊生”的时候才会有英雄出世。百姓造反什么时候都有,什么结果都有。 因为所谓的“民不聊生”“民心思变”都是史学家的事后之言,是站在后人的角度先看到王朝灭亡的事实,再倒推出“民不聊生”的结论。身处历史之中的民间英雄们,他们可不知道自己正值可以大展宏图的“王朝末年”,还是国力尚足的“太平年间”。他们也顾不上考虑这件事,情势逼人,反了也就反了,能反出什么结果来,不试试谁也不知道。 绝大多数的结果,都是悲剧。 大多数“好汉”,不过是占了一个县城,杀了几个差役,东奔西跑在山里躲了些日子,就被官兵剿灭了。这样的人在历史上根本留不下名字,顶多在地方志或者朝廷的文件里留下一个“王二麻子”“李大胆”之类的外号,具体的来龙去脉史学家们根本不屑于记录。 少数“英雄”幸运一点儿,纠集了上千上万号弟兄,打下一两个州府,扯出了自己的旗号,甚至大言不惭地称了回皇帝,没高兴两个月也身死梦破了。这样的人或许能在史书中留下一笔,但也仅仅是一笔,如果不去读史书原文,你也不会接触到他们。 还有极少数更厉害的角色,打下半壁江山,成了割据一方的军阀,在群雄中笑傲过,在中原上驰骋过,但最终还是功亏一篑,成为了帝国镇压部队的功绩,或者是其他英雄的垫脚石。这样的人历史书上也不是全都能提到,只能挑其中最有名的几位提一提罢了。

这本书到处都要划线。写的太好了。

为什么陈胜、吴广能掀起反秦的大旗,能席卷大秦的半壁江山?他们有什么过人之处吗? 不能说一点儿过人之处都没有,他们肯定要比一般的百姓更有领导能力,更善于鼓动百姓,要不然大泽乡好几百人,也不能让他们来当领袖。但是,他们的能力并没有超过历史上那些只占了几个县城就被剿灭的流寇。 在陈胜、吴广之前,也有很多类似的起义者,但是因为时机不对,刚冒头就被地方军镇压了。在陈胜、吴广之后,也有很多类似的起义者,同样是因为时机不对,只能投奔已有的起义军,给陈胜、吴广这样的人当将领。 陈胜、吴广能够在历史上留下名字,是因为他们起事的时候正好赶上秦政权崩溃的临界点。假如他们没有赶上,也会有其他什么张三、李四之流的赶上。到那个时候,被歌颂的人民大英雄就是张三或李四了。 所以,是历史创造了陈胜、吴广,而不是他们创造了历史。

说的太对了。我不喜欢儒家的一点就是感觉儒家治国的本领太差,仁义道德根本没办法用来治国,幸好中国历朝都是外儒内法,靠法家手段来治国。另外一点,就是这里提到的,他们为了维护理论的正确,经常会漠视事实,甚至编造事实来证明理论的正确。得民心者得天下明显就不正确,枪杆子出政权才是事实,哪个朝代立国不是武力打下来的?

我们知道有一句话叫“得民心者得天下,失民心者失天下”。这是儒家的史学观,认为人间万物的根本大道是“仁”,君王施仁政就可以“得民心”,得民心就得天下。君王施暴政则会“失民心”,失民心就会失天下。 这句话后半句没有问题,前面以秦帝国的崩溃为例子讲过了。 但是前半句有问题。 问题的关键,就在刚刚说过的一句话里:广大百姓的生活方式是“趋乐避苦”。在老百姓被逼到绝路的时候,“民心”的作用非常明显,决定了百姓们支持哪个政权。可是在尚有一丝活路的情况下,你再“得民心”,也很少有人愿意冒着被杀的风险放弃家园去跟你造反。百姓不在乎哪一方更正义,百姓只想苟活而已。 我们可能会有一种错误印象:以为大众总代表着进步,以为老百姓都是公正的道德审判员,自觉的站在道德水平高的统治者一边。 事实恐怕不全是这样。 否则,怎么会有鲁迅笔下“哀其不幸、怒其不争”的麻木的中国人? 事实是,大部分百姓未必有多高的道德觉悟,只有“趋乐避苦”的人性本能(想想一开始说的那个自私的基因),正义的口号喊一喊可以;要我去牺牲?对不起,您去吧,我的命就一条,我可不去,人死了就什么都没有了呀。 人的本性如此,不用避讳,也不用苛求。

这是我前面提到的。

秦帝国在灭亡时,也犯了战略错误。在百姓遍地造反的时候,秦军的主力部队都在边疆—— 一支在北方修筑长城,一支在南越驻守。古代交通不便,这两支远在天边的部队不能及时回防,那支驻守南越的军队后来干脆就没有回去保卫朝廷,就地独立了。

第13章 为什么商人不事生产还能大富大贵?

锄禾日当午,汗滴禾下土。

汗滴禾下锄

一直到现在也很少有人能够明白这个道理。

比如在一个社会里,原本胖人和瘦人都拥有同样多的面包。通过人们自发的交易行为,胖人把面包卖给了瘦人,瘦人吃得更饱,胖人可以用钱购买更适合自己的商品。这样每个商品都用在最需要它的地方,整个社会的资源利用率也就提高了。 所以,交易是可以给社会带来好处的,好处是让社会的资源得到最有效的分配。 问题是,交易过程会产生不菲的成本。 胖子想要把面包卖给瘦子,他就得知道附近有哪个瘦子家里正好缺面包。万一本村没有,他还得想办法知道隔壁村子有没有人缺面包,就算有,那个人肯出多少价钱,这个价钱是否能抵得上来回的路费也未可知,打听这些消息要花费很多时间和精力(这叫交易的信息成本)。而且就算邻村有人想买面包了,胖子为了专门卖个面包,得出个远门,又花路费又花时间,这未免也太不划算了(这叫运输成本)。然后,就算找到合适的瘦子了,这个陌生的瘦子是不是一个本分的人呢?他会不会是个骗子或者强盗呢?胖子对此一无所知,为此,胖子可能还需要雇一个保镖保护自己(这叫风险成本)。 以上这些,都是交易过程中的巨大成本。 商人的价值在于,他们通过自己的劳动降低了这些成本。他们为了能多赚钱,到产品的生产地广泛了解产品的价格和质量,又到消费者中打广告,降低了交易的信息成本。商人把商品统一收集起来,统一运输、保管,降低了交易的运输成本和保管成本。商人拥有一定的武装力量,在消费者中建立了信誉,降低了交易的风险成本。 因为商人们的存在,整个社会可以用很低的成本,把产品分配到社会最需要的地方。商人们虽然没有生产半个产品,但是他们大大提高了社会的总效用,对社会是有贡献的。 而且贡献还不小。

1000多年前人们就明白的道理到今天还有人不明白或者装不明白。支持国营的人不是蠢就是坏。

在盐、铁国营之前,盐、铁商人们生产是为了给自己赚钱,他们自然努力降低生产成本,提高产品质量。当产业归国营以后,经营者是官员,他们只求完成朝廷的任务,买卖好坏和他们的利益无关。这些官员一有机会就上下其手,贪污克扣,反正亏的又不是他们自己的钱。至于盐、铁工厂,只需要生产一些粗制滥造的产品应付任务即可——不愁卖不出去,因为现在只有国营一家商店了,质量再差老百姓也没别处买去,甚至还得哭着求着,花钱行贿才能把这粗制滥造的东西买到手。

第28章 有史以来最完美的政治制度

没有一个完美的制度可以一直用下去,这可以看作诸行无常的又一个应用场景。

古代王朝随着时间的推移,会出现一些没法解决的问题,如人口增多、土地兼并、官员贪腐等,这个“制度被破坏”也是一个几乎无解的问题。到了北宋末年和南宋的时候,国家里出现了不少权臣,皇帝也犯了不少的错误,甚至还出现了童贯这个权倾天下的大宦官。 即便最后制度还是被破坏了,总的来说,宋朝制度在避免武将政变、宦官专权方面做得很好。明清吸收了宋朝的经验,因此明清两朝也是一样,有大权在握的宦官、权臣,但这些宦官和权臣都不能威胁皇权,只要皇帝一皱眉头,他们立刻灰飞烟灭。唐朝宦官可以随意废立皇帝的事,再也没有发生过。因此我们可以说,宋朝实行的政治制度,是中国古代政治史上的一次进步,让中国的君主制度更加稳定了。

第32章 突破古代帝国极限

这段话最好写到历史教科书里面去。

元朝和蒙古帝国不是一个概念。蒙古帝国是包括中国以及四大汗国在内,横跨欧亚的庞大帝国。而“元朝”从面积上来说,只是其中一部分,也就是忽必烈所统治的中国全境,以及外蒙古、俄国东部这一地区。也就是说,我们不要以为蒙古帝国征服了欧洲,就认为元朝征服了欧洲,甚至认为“我们中国人当年打得欧洲人找不着北”。其实面对蒙古帝国,当时的中国人和欧洲人的地位是一样的,都是被践踏的战败者。 但另一方面,也不要因为元朝是蒙古人建立的,就认为元朝不属于中国历史的一部分。这是因为我们在谈论“中国”这个概念的时候,我们谈论的并非是一两个统治者的民族血统——如果这么说,那皇室有鲜卑血统的隋唐也不应该算是“中国”了——我们谈论的是中华传统文化是否得以延续。忽必烈按照中国传统习惯,遵守国号、年号、庙号、谥号这一礼教系统,连国号都取自中文典籍。他又倡导儒学,兴办科举,他更没有禁止中国人学习中国文化,禁止中国人说汉语,因此我们应当认为元朝是中国历代王朝中的一部分。这就像我们认为由满族人统治的清朝是中国的一部分一样。

第34章 狠君主架不住懒子孙

其实由于马尔萨斯定律,一个皇朝稳定之后,人口就倍增,土地又没有办法倍增,所以如果不能解决多余人口的吃饭问题,王朝肯定要毁灭的。真要解决这个问题,只能靠发达的工商业,或者是对外殖民扩大土地。
明朝之所以走向灭亡,固然有统治者自身的原因,但主要原因还是一些古代社会根本无法解决的难题。比如历朝历代都会出现的土地兼并,地主豪强隐瞒人口问题。因为土地兼并得太厉害,在明朝的鼎盛时期,甚至发生了全国人口不断增加,财政收入却在减少的怪现象。

明朝之所以走向灭亡,固然有统治者自身的原因,但主要原因还是一些古代社会根本无法解决的难题。比如历朝历代都会出现的土地兼并,地主豪强隐瞒人口问题。因为土地兼并得太厉害,在明朝的鼎盛时期,甚至发生了全国人口不断增加,财政收入却在减少的怪现象。

多尔衮应该是皇太极弟弟吧。

他的哥哥多尔衮

第35章 中国的另一面

我感觉这个比较接近真相。

金钱和物资,这是欧洲人开始环球航行、地理大发现的根本动力。有的书上把哥伦布、麦哲伦时代的环球航行写成了“人类对真理的伟大探索”,这么说虽然也对,但航海家们根本的动机是为了地位和财富。在发财的梦想下,欧洲的航海家们开始四处航行,拼命寻找绕过中亚,从海上直接到达亚洲的办法。

第36章 走向巅峰与自我毁灭

说实话,我觉得这一套其实对于皇权来说是挺有利的。

清朝的最高权力结构同明朝最大的不同,在于权力进一步集中在了皇帝的手里。明朝的最高权力机构是内阁,内阁首辅相当于宰相。虽然权力比过去的宰相要小,但好歹也是宰相。在理论上,内阁还有拒绝执行皇帝命令的权力(称为“封驳”)。而满清呢,虽然也有内阁,但内阁的权力很小,只负责执行命令。权力比内阁更大的南书房和军机处也只是皇帝的私人秘书处。他们是贯彻皇帝个人意志的工具,没有以天下为己任来对抗皇帝的权力。 更可怕的是从雍正开始,清廷还使用了“秘密奏折制度”。清朝之前,官员给皇帝的报告啊、意见啊,称为“奏章”,大部分奏章都对官员公开。比如明朝,奏章先要提交内阁,然后由内阁再上奏给皇帝。所以奏章里写了什么内阁都知道。雍正的时候,除了继续使用公开的奏章,还广泛使用秘密的“奏折”。奏折是清朝特有东西,它是官员跟皇帝之间交流的私人文件,文件内容是不公开的。奏折制度非常有利于皇帝控制群臣。通过奏折,皇帝可以向不同大臣询问同一件事情。比如各地的灾情、粮价、某些官员的行径。被询问的大臣不知道其他人在奏折里是怎么跟皇帝说的,所以谁也不敢撒谎,这样皇帝就把群臣牢牢地掌握在了自己的手里。雍正时,连地方的中层官员都可以给皇帝上奏折,这就是等于全国中层以上的官员都接受皇帝的直接领导,这皇帝的权力能不稳吗? 明朝的皇帝为了扩张自己的权力,建立了锦衣卫、东厂这样特务机关来监督和惩治大臣。清朝的皇帝权力更大,他们却用不着养特务机关,因为靠着奏折制度,他们把全国大臣都变成提供情报的特务了。

非常合逻辑,如果之前朝代的皇帝也这么重视皇子的教育,情况肯定也不一样。

皇帝大权独揽是有风险的。权力都在皇帝一个人的手里,皇帝要是昏庸无能怎么办?皇帝大权独揽也就意味着事必躬亲,皇帝要是懒得管理朝政怎么办?当年朱元璋处心积虑地把大权都集中在皇帝的手里,结果就是因为他的子孙懒,又搞出了内阁、司礼监,朱元璋这不是白费劲了吗?尤其是雍正大规模使用秘密奏折制度以后,全国那么多官员都要给皇帝上奏折,皇帝每天要批阅海量的文件。最惨的是为了保密,连文件回复都得自己亲自写,皇帝天天都要累疯了,万一有皇帝把笔一扔不想干了怎么办? 为了解决这个问题,清朝拥有中国历史上最为严酷的皇家教育制度,尤其是康熙以后。清朝的皇子从六岁就要开始读书(康熙的皇子四五岁就开始读书)。幼年时每天上半天课,年长后每天要学习近十二小时。每天从凌晨五点就要起床读书,一直学到下午四点。除了在特别热的日子里可以休息半天外,平时全天只能休息一两次,每次不能超过一刻钟。一年的休息日只有五天,什么五一十一中秋端午大小长假大礼拜统统没有,寒暑假更是痴人说梦,甚至连除夕那天只是提前放学,还不能全天休息。这样的学习节奏要一直保持到结婚,一般是十五岁到二十岁。皇子一结婚就要搬出皇宫,到外面去住了。但还是得每天回来学习,只是稍微松懈一些,只上半天课。 学习的内容包括各种初高级儒学课本、前辈皇帝编写的教材。语言方面要学满、蒙、汉三语(乾隆除了通晓满、蒙、汉语外,还懂得维吾尔语和藏语),艺术方面要学习书画写字,体育方面要学习骑马射箭(康熙时还有游泳课),绝对的德智体全面发展。 常年严酷的教育,导致清朝的皇帝都十分勤政。比如雍正登基后的作息是:每天早晨四点多起床,读书到七点吃早饭。吃完早饭见大臣到中午,下午开始批海量的奏折直到深夜。

说实话,这招挺聪明的。

经过谨慎的考虑,雍正设计了“秘密立储制度”。 具体的做法是,皇位继承不再遵守嫡长子继承制度,只凭皇帝个人选择。这个选择在皇帝生前是不公开的。皇帝当着王公大臣的面,把写有传位人名字的圣旨放到密封的盒子里,把盒子放到乾清宫“正大光明”匾的后面。等到皇帝去世以后再当众打开宣读。为了防止圣旨被篡改或者意外丢失,还写了一封一模一样的圣旨,藏到圆明园内(乾隆是随身携带)。 在传统的继承制下,太子早早被确立,他也就成了其他皇子的众矢之的,是各种污蔑、阴谋的中心。太子为了自保,也要想办法培植势力,甚至抢先出手去干掉下一个顺序继承人。皇子之间的敌对关系是十分明显的。 在秘密立储制度下呢,一个皇帝有数个乃至数十个皇子,到底谁是继承人大家只能猜。皇子之间互相攻击也就缺少了明确目标,你也不知道谁是自己的竞争者,陷害所有的兄弟、到处树敌也不是办法。所以皇子最好的竞争方式是老老实实做好自己那点事,讨父皇的喜欢而不是攻击别人。这样就把皇子之间的内斗减少到最低限度。 其他的好处还有很多:太子本人不知道自己被选中了,所以不会骄傲自大,去威胁父皇,更没有理由去谋杀父皇及早夺位。群臣也不会过早地攀附在太子身边钻营巴结。老皇帝本人也自由了很多,发现接班人不妥可以随时撤换,反正群臣只知道皇帝换了道圣旨,也不知道具体是谁换成谁了,对朝政不会有影响。这套制度还能防止伪造遗诏。过去的遗诏是皇帝临终时委托身边人写的,想要伪造遗诏太容易了。在秘密立储制度下,两份诏书都是皇帝亲笔写成,就没法伪造了。 更重要的是,秘密立储制打破了嫡长子继承制,改成了“立贤不立长”,这对于看重皇帝个人能力的清朝极为重要。总而言之,秘密立储制是一个在“立贤不立长”的原则下,把皇子内斗降低到最小程度的聪明制度。

我觉得还要加1个补丁,就是扩大皇子的范围,不要仅限于皇帝的孩子,要把堂兄弟孩子过继过来几个,至少保证20个皇子有继承皇位的权利,这些皇子都接受严格教育,总能选到一两个靠谱的,而且继承皇位之后,一起受教育的那些皇子也可以任命各省总督之类的,配合密折上奏的方法,这些皇子应该是没有办法造反,但是能够很好的帮助治理国家。

作为中国最后一个王朝,清朝集历代统治经验之大成,建立了一套有史以来最为完善的独裁制度。清朝皇帝的权力是中国历史上最大的,清朝的统治也是有史以来最稳定的。

好吧,这一点其实是难免的。至少清朝宦官外戚文武官员造反的情况少了很多。我们老百姓可能就是皇权的代价吧😂

谈到汉唐盛世的时候,我们对唐宗汉武开疆拓土的事迹津津乐道。殊不知,清朝的疆域是中国历史上除了元朝外最大的。我国的东三省、西藏地区、台湾地区、以及蒙古都囊括在清朝的疆域之内。曾经骁勇一时、入侵过中原的周边各民族都被清政府一一打服。一些之前王朝控制得不稳的地区,被清朝牢牢掌握。从这个角度上来看,清朝的武功也是很成功的。 那我们能不能说,清朝是中国历史上最成功的王朝呢?对于统治者来说,是的。对于老百姓来说,可就不是了。中国历朝历代的政治家不断地尝试和努力,他们的目标是建立一个最为稳定的政治制度。到了清朝这里,可算是努力成功了。但普通的老百姓可不懂什么国家大事,他们想要的就是能吃饱饭,能有人身安全,如果再少干点活,多赚点钱,生活多一些娱乐,那就更好了。可统治者不在乎。 中国的皇帝们天天说“水能载舟亦能覆舟”,说的好像很看重百姓一样。可他们真正在乎的其实只是“舟”,水在他们眼里不过是载舟的工具。水只要老老实实的不掀起大浪就好,谁又会去在乎水高兴不高兴? 清朝的人口达到了历史顶峰,可是粮食产量没有等比例的上升。人口多了,人均粮食却少了,老百姓更穷了。在乾隆末年,英国使者在中国见到的是触目惊心的饥馑和贫困。“康乾盛世下”的老百姓,过的是饥饿、野蛮、如乞丐一般的生活。这样的王朝纵然有着辽阔的疆土和堆积如山的金银,却和老百姓没有半点关系。

第41章 心中天堂与人间地狱

想想那画面太美丽。

和外国传教士辩论教义时,杨秀清曾得意洋洋地质问外国人:你们知道上帝多高吗?肚子多大?长什么颜色的胡子?胡子多长?戴什么帽子?有几个孙子?几个孙女?耶稣原配是谁?生了几个儿子?几个女儿?都多大?外国人哪里想到这还带给上帝家查户口的啊,直接被问崩溃了。

第42章 如何让一个人相信上物理课是浪费时间

重点就是一句话,爱国主义是教育出来的。说的更直白一点 ,爱国主义是洗脑洗出来的。

咸丰相信的那个普遍的爱国之心,其实都是不存在的。 为什么这么说呢?我们今天都知道我属于中华民族,我是中国人,我应该爱自己的祖国。我们觉得这是理所当然的事,民族和国籍不是一个人天生就带来的属性吗?不是的。在古代,很多底层百姓并不知道自己属于什么民族,是哪国人。原因很简单,没有人告诉他。你要让一个人爱国,爱本民族,你先得告诉他国是什么,民族是什么。你光拿张地图指给他看,说“这是中国”,“你是中国人”这还不管用。你还得告诉他国家和你是什么关系,为什么国家值得你去爱。 换句话说,爱国主义是教育出来的。中国古代可没有这样的普及教育。古代的普通百姓接受的是儒家的道德教育,传统儒家道德不讲“爱国主义”,只讲“三纲五常”,只要求百姓听父辈、族长和官府的话。而且对于普通百姓,你就算跟他讲“你要忠于朝廷,忠于皇帝”这种话也没有用,因为朝廷和皇帝离他太远了,他在生活里根本接触不到,也就不可能产生感情。他们只对自己的村落、宗族、家庭产生感情。 说白了,传统农村的底层百姓只爱自己村子,只爱自己的家。改朝换代的时候,只要没人来杀人抢劫、过度收税,底层百姓并不在乎谁是统治者,并不会觉得自己成了亡国奴。正因为这个原因,在清末的列强入侵中,我们能看到大量中国百姓和侵略者合作的例子:他们同侵略者交易,为侵略者提供食水、担负物资、指引道路。因为在这些百姓看来,只要外国人没有伤害他和他的家族,他们和外国人就没有什么仇恨,大家什么交易都可以做。

我现在真的觉得,如果有机会穿越到过去,是很有可能改变历史的,因为思想的改变真的很重要。像咸丰光绪这些人,他们是不可能意识到什么是现代科学现代国家这些东西,所以只要他们脑袋里面有了这些概念,行为就会完全不一样。而穿越过去的人只要受过现代科学教育就有这些概念。

咸丰等清政府统治者的错误在于,他们是深受儒家教育的知识精英,已经把“忠君爱国”当成理所当然的事。结果他们以己度人,以为普通百姓有和自己一样的情感,错误地估计了形势。咸丰将要为这个错误付出巨大的代价。

第44章 只写课后习题不背概念定义

直到今天也不好说,中国现在是契约精神占上风还是儒家道德占上风,可见儒家道德力量的强大。

古代中国商业活动不发达,契约精神就不强。当然,任何社会都要有一定的契约精神,否则人和人就没法合作下去。儒家也讲“守信”,也讲“言必信,行必果”。但儒家的核心精神是礼教纲常,当契约精神同纲常出现矛盾的时候,契约精神必须让位。比如当皇帝对大臣说话不算数的时候,父亲对儿子说话不算数的时候,都不会有人指责说“你不对啊,你怎么没有契约精神呢?”而是“君要臣死,臣不死是为不忠。父叫子亡,子不亡则为不孝。”——他是皇帝(你爹)啊,他让你干吗就干吗,哪儿那么多废话!

百无一用是书生说的就是这种人。

古代官场政治斗争的一大办法是通过奏章和奏折进行言论攻击。这些敌视洋务运动的传统儒生,他们就靠撰写洋洋洒洒的道德文章来攻击洋务派官员。这种靠道德文章攻击政敌的方法称为“清议”,清朝末年的这群“清议”官员,就被称为“清流派”[24]清流派我们并不陌生,明朝末年的东林党就是这种人。再往上,还可上溯到北宋的司马光,东汉末年的“党人”。这些人的共同特点是在决定国家政策的时候,不懂得“儒表法里”的道理,不知道治理国家需要制定实际的政策,需要经济学知识,而认为只要万事遵守儒家道德,宣传儒家大义,保证官员高风亮节就能解决一切问题。 清末的清流派官员也受到火烧圆明园的刺激,也知道国家处于危难之中,但是他们给国家开出的药方还是儒家传统的那一套:对国事,就是广开言路,整顿吏治,强调忠孝。对经济,就是体恤百姓,鼓励农桑,缩减政府开支。对军事,就是向军队进行道德宣讲、令其“激发天良”;多拨军款、高额悬赏、募集乡勇;胡乱谋划各种纸上谈兵的“妙计”。对外政策,就是强硬对外,积极主战,谁主张和谈谁就是卖国贼。这些清流派如此不切实际,却受到了朝廷的支持。

第46章 即便撞沉了吉野号

中国最早的密码泄露惨剧。

回到甲午战争爆发前,定远、镇远等军舰到访日本长崎市那一次。在到访期间,清军水兵在逛妓院时和日本人发生冲突,后来爆发大规模械斗,双方各有死伤。在骚乱中,日方凑巧捡到了清方电报的译电本,掌握了清方制造电报密码的方法——注意啊,是制造密码的办法,不是密码本身。为了进一步破解密码,在甲午战争开战前,日方外交官故意给清方驻日公使递交了一份用汉语写成的外交文书。清方公使立刻用电报把这份文件报告传给国内,电报被日方截获后,由于事先知道文件的内容,又知道了清方是如何制造密码的,因此很快破解了清方的电报密码。结果清朝在战争期间就一直都没有更换密码,于是谈判时,清方的内部交流日方知道得一清二楚。谈判这事最关键的一点,就是知道对方的底线。知道对方的底线在哪,卡着底线咬紧了不放,就能获得最大的利益。日方掌握了清方的底线,还时时以开战做威胁,无奈之下,朝廷只好指示李鸿章接受日方的一切要求,签订了《马关条约》。条约规定,清方赔款两亿五千万两白银、放弃朝鲜宗主国地位、割让辽东半岛、台湾岛、澎湖列岛。 《马关条约》的条件极为苛刻,两亿五千万两白银是史无前例的巨款,远远超过清政府的财政收入,简直是漫天要价。割让辽东半岛、台湾岛、澎湖列岛这么多领土更是耻辱之至。条约公布后,国内立刻舆论大哗。当时在绝大多数人的印象里,日本还是万年的穷困小国,大清打赢日本根本是没有悬念的事。因此很多人听到战败的消息都震惊了:你李鸿章搞了洋务运动那么多年,花了那么多钱建设水师,结果被一个小弱国打得溃败,你是干什么吃的?你还跟日本签订丧权辱国的条约,你是无能呢?是懦弱呢?是里通外国呢?还是三者都有呢?

第48章 出卖队友的老戏迷

康有为为人狂妄却缺乏基本的政治经验。用姜鸣先生的话说,康有为“仿佛是个旧小说旧戏文看得太多的土乡绅。”康有为完全不熟悉清廷高层的政治形势和规则,经常用自己幼稚的想象去揣测高层的动向。举个例子,光绪曾宣布要和慈禧在天津阅兵。这件事前面讲过,这是在维新变法开始前,慈禧罢免翁同龢后早就预定下来的计划,为的是向清廷高层宣布慈禧仍旧掌握兵权。但是康有为认为这是慈禧要利用阅兵的机会发动兵变来控制光绪——这是极为幼稚的猜想,就像刚才说的,慈禧要夺回光绪的权力,只需要把军机大臣召集起来,让光绪下道上谕就完了,根本不需要这么费劲。而且也没听说哪个军事政变在三个月前就对外预告了,还迟迟不动手的。

想不到你是这样的康有为?我没有看更多的资料,但是从这本书里面描述,我得出的结论是康有为就是一个好为大言的无用儒生。

康有为呢,对于这些复杂的人事关系完全不知道。当初康有为还没有被光绪重用的时候,他到处讲学、组织学会,声势搞得很大。那时候朝野人人都在讲维新,搞维新是最时髦的政治风向,在这个大潮里,袁世凯也参与过康有为的学会。袁世凯其实是在未雨绸缪,给自己的政治前途多铺条路。康有为却天真地以为袁世凯是真心认同维新党。实际上等到康有为真的开始变法后,袁世凯早就看清康有为变法并不可行,私下里抱怨康有为把朝政搞得一团糟。 康有为看错了人不说,而且他还为人过于狂妄,这犯了政治斗争的大忌。有一个著名的段子,说他一次被光绪皇帝召见的时候,荣禄也在场。荣禄问康有为,你如何能推行变法啊?康有为竟然当众回答:“杀掉一两个阻挠新法的一、二品大员就可以了。”[29]你算算他这一句话得罪多少人?嘴皮子上厉害也就算了,康有为还真动手,用实际行动来得罪人。他要建立“制度局”冒犯了整个清廷高层,这还不算,他还提出彻底废除科举考试。 从维新的角度讲,废除科举当然是对的,教育是国家之本嘛。但是你得看看当时的环境。当时满朝官员都是经过科举考试的学霸,他们的功名都是从科举上找来的,你突然废科举,不就等于否认了他们的功名资本吗?当年李鸿章搞洋务运动,也知道科举误国,几次上书要求改革科举。李鸿章可不是要废掉科举,只是想在现有的考试科目之外再增加一个“西学”,结果连这都受到严厉的批评,根本搞不下去。最后在他和奕訢的努力下,只能勉强增加了一个“算学”,这还是个早在唐朝就有的科举科目。当然,甲午战争后的环境不太一样,人们急于求变,呼吁废除科举的声音也比过去更大了。废科举不再是绝对不能讨论的话题,当时提出废除科举的也不是只限于康有为一党,包括光绪、慈禧,也支持废科举。

按照作者的说法,清朝是没有救了。

戊戌变法是一场在理想主义外表下的政治闹剧。戊戌变法之所以失败,最关键的原因在于维新派不可能像日本明治维新那样,掌握能震慑全国的武力。 为什么这么说呢?从表面上看,变法失败的直接原因是慈禧贪恋权力、破坏变法;是康有为犯有严重的政治幼稚病,他错误地想象清廷高层的政治动向,幼稚地相信袁世凯,又自私地让光绪陷入危险境地。然而,就算退一步说,假设康有为没有犯上述错误,甚至再退一步说,假设慈禧太后突然驾崩了,光绪亲政了,其实变法仍旧不能成功。因为快速的变法需要成批干掉既得利益者,清廷绝大部分高官、贵族、军事统领都是既得利益者,他们不会答应。 当初康有为主张建立“制度局”时,还轮不到慈禧反对他,满朝的王公贵族、高级官员都一致反对。这些人反对的理由也冠冕堂皇:你在国家已有的机构之外另立新机构,你这是扰乱国家制度,这是乱政。旧的国家制度经过上百年的检验,已经被证明是稳定的,你现在搞个没人监督制衡的新机构,你会不会大权独揽威胁皇权?你康有为是不是有野心?咱们再退一步说,假设慈禧太后已经死了,光绪英明神武,控制了京畿的军权,把朝臣都控制在股掌之上,朝廷中所有大臣都一致服从光绪了。这戊戌变法能成功了吗?还是成功不了。 因为晚清朝廷权力下移,地方势力极大,就算中央听了光绪的,地方上也未必会听。当时的情况是,别说地方上的保守派了,就连那些主张洋务、眼光相对开放一些的官员,也都反对朝廷变法。这一则是因为有些洋务派还相信“中学为体,西学为用”,不主张康有为那种激进的改革。二则是因为,剧烈的变法和各省督抚的利益是矛盾的。我们说过,变法的关键在于消除特权阶级。

第50章 大哥你们到底是干吗来的呢?

这个荣禄挺逗的,再次说明了事实是检验真理的唯一标准。

古人不傻,“刀枪不入”这种传说验证起来太容易了,直接抓住几个义和团首领开一枪试试就行。当时的直隶总督裕禄就干过这事儿,“砰砰砰”几枪都打死了,然后就上奏朝廷说这帮人只会装神弄鬼,连普通的拳脚武艺都不行。

最关键的问题是,什么叫“公正”?在学校里,两个同学吵架,一个同学嘴太臭了,用脏话侮辱对方的母亲。另一个同学正好是单亲家庭,一听就急了,“咣”,给骂人的孩子来一拳。老师来了,把两个人都叫到办公室。现在问你,老师该处罚谁,才算是“公正”?被人侮辱母亲,该不该揍他一顿?要我说,该。但是老师绝对不会这么说。假如这次允许被骂母亲的孩子打人,那下次别人骂你父亲,你能不能打?要是被骂二叔呢?要是不许打,那二叔招谁惹谁了?这次骂人用的是脏话,是该揍,可他下次没用脏话,给别人的母亲起了个外号,那该不该揍?再下次没起外号,就是客观评价一下别人亲人的缺点,该不该揍?就算该揍,是该揍一拳还是两拳,是打够五分钟还是打残为止?这里面到底怎么处罚算是公平,怎么不算呢?当老师判决某个孩子没错的时候,另一方会不会不服气,觉得老师“偏心眼”呢?实际上每个人都有自己的看法,根本没有统一的答案。 所以老师处理这件事的方式非常简单粗暴,就问:“谁先动的手?”谁先动手,谁就错了。这合理吗?当然不合理。正因为老师简单粗暴的规则,所以“聪明的”坏孩子可以用不带脏字的语言围攻嘴笨的孩子还不受惩罚,嘴笨的孩子因为不堪侮辱奋起反抗,结果反倒被叫到办公室里罚站。这太不合理了。但是,这不合理的处罚能保证老师“公正”。因为老师在开学之初就公布了“谁先动手谁就错了”的规则,并且每一次都严格执行它。这样,哪怕嘴笨的学生心里面委屈、有怨气,他也得承认这个处理结果本身没有问题,老师没有“偏心眼”。

有见地。

要做到被处理双方都服从判决,都觉得处罚者“公正”,需要具备两个条件:第一,把所有的规则都事先向大众公开,并让大部分人接受。第二,每次处理案件的时候,都严格执行规则。

第54章 围观的热血青年和第一个扔板砖的

慷慨歌燕市,从容作楚囚。引刀成一快,不负少年头!

点评

我也是冲着这个作者来看这本书的,我原本很不喜欢看宋朝和清朝的历史,因为觉得太憋屈了。但是这本书我全部都看下来了,包括那个北宋亡国那一段和清朝亡国那一段。我甚至对慈禧太后产生了同情,在那种历史条件下,她没有什么别的选择,就像河流里面的鱼没有办法改变河水的流向一样。

分类
想法

2019-11-20-how-to-read-a-book

How to read a book

abstract

  1. Read the whole thing!
    Major arguments and evidence matter more than details. Grasping the structure of the whole is more important than reading every word.
  2. Decide how much time you will spend!
    Real-world time is limited. If you know exactly how long you can actually spend on reading, you can plan how much time to devote to each item.
  3. Have a purpose and a strategy!
    You’ll enjoy reading more, and remember it better, if you know exactly why you’re reading.
  4. Read actively!
    Never rely on the author’s structures alone. Move around in the text, following your own goals.
  5. Read it three times!
    First time for overview and discovery. Second time for detail and understanding. Third time for note-taking in your own words.
  6. Focus on parts with high informaion content!
    Tables of contents, pictures, charts, headings, and other elements contain more information than body text.
  7. Use personal text markup language!
    Mark up your reading with your own notes. This helps you learn and also helps you find important passages later.
  8. Know the author and organizations!
    Authors are people with backgrounds and biases. They work in organizations that give them context and depth.
  9. Know the intellectual context!
    Most academic writing is part of an ongoing intellectual conversation, with debates, key figures, and paradigmatic concepts.
  10. Use your unconscious mind!
    Leave time between reading sessions for your mind to process the material.
  11. Rehearse and use multiple modes!
    Talking, visualizing, or writing about what you’ve read helps you remember it.

Full text:

How to Read a Book, v5.0
Paul N. Edwards
University of Michigan School of Information
pne.people.si.umich.edu

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. The terms of this licence allow you to remix, tweak, and build upon this work non-commercially, as long as you credit me and license your new creations under the identical terms. Quasi-permanent URL: pne.people.si.umich.edu/PDF/howtoread.pdf

How can you learn the most from a book — or any other piece of writing — when you’re reading for information, rather than for pleasure?

It’s satisfying to start at the beginning and read straight through to the end. Some books, such as novels, have to be read this way, since a basic principle of fiction is to hold the reader in suspense. Your whole purpose in reading fiction is to follow the writer’s lead, allowing him or her to spin a story bit by bit.

But many of the books, articles, and other documents you’ll read during your undergraduate and graduate years, and possibly during the rest of your professional life, won’t be novels. Instead, they’ll be non-fiction: textbooks, manuals, journal articles, histories, academic studies, and so on.

The purpose of reading things like this is to gain, and retain, information. Here, finding out what happens — as quickly and easily as possible — is your main goal. So unless you’re stuck in prison with nothing else to do, NEVER read a non-fiction book or article from beginning to end.

Instead, when you’re reading for information, you should ALWAYS jump ahead, skip around, and use every available strategy to discover, then to understand, and finally to remember what the writer has to say. This is how you’ll get the most out of a book in the smallest amount of time.

Using the methods described here, you should be able to read a 300-page book in six to eight hours. Of course, the more time you spend, the more you’ll learn and the better you’ll understand the book. But your time is limited.

Here are some strategies to help you do this effectively. Most of these can be applied not only to books, but also to any other kind of non-fiction reading, from articles to websites. Table 1, on the next page, summarizes the techniques, and the following pages explain them in more detail.

Read the whole thing!

In reading to learn, your goal should always be to get all the way through the assignment. It’s much more important to have a general grasp of the arguments or hypotheses, evidence, and conclusions than to understand every detail. In fact, no matter how carefully you read, you won’t remember most of the details anyway.

What you can do is remember and record the main points. And if you remember those, you know enough to find the material again if you ever do need to recall the details.

Table 1. Summary of reading strategies and techniques

Strategies and techniquesRationale
Read the whole thingMajor arguments and evidence matter more than details. Grasping the structure of the whole is more important than reading every word.
Decide how much time you will spendReal-world time is limited. If you know exactly how long you can actually spend on reading, you can plan how much time to devote to each item.
Have a purpose and a strategyYou’ll enjoy reading more, and remember it better, if you know exactly why you’re reading.
Read activelyNever rely on the author’s structures alone. Move around in the text, following your own goals.
Read it three timesFirst time for overview and discovery. Second time for detail and understanding. Third time for note-taking in your own words.
Focus on parts with high information contentTables of contents, pictures, charts, headings, and other elements contain more information than body text.
Use PTML (personal text markup language)Mark up your reading with your own notes. This helps you learn and also helps you find important passages later.
Know the author(s) and organizationsAuthors are people with backgrounds and biases. They work in organizations that give them context and depth.
Know the intellectual contextMost academic writing is part of an ongoing intellectual conversation, with debates, key figures, and paradigmatic concepts.
Use your unconscious mindLeave time between reading sessions for your mind to process the material.
Rehearse, and use multiple modesTalking, visualizing, or writing about what you’ve read helps you remember it.

Decide how much time you will spend

If you know in advance that you have only six hours to read, it’ll be easier to pace yourself. Remember, you’re going to read the whole book (or the whole assignment).

In fact, the more directly and realistically you confront your limits, the more effective you will be at practically everything. Setting time limits and keeping to them (while accomplishing your goals) is one of the most important life skills you can learn. So never start to read without planning when to stop.

Have a purpose and a strategy

Before you begin, figure out why you are reading this particular book, and how you are going to read it. If you don’t have reasons and strategies of your own — not just those of your teacher — you won’t learn as much.

As soon as you start to read, begin trying to find out four things:

  • Who is the author?
  • What are the book’s arguments?
  • What is the evidence that supports these?
  • What are the book’s conclusions?

Once you’ve got a grip on these, start trying to determine:

  • What are the weaknesses of these arguments, evidence, and conclusions?
  • What do you think about the arguments, evidence, and conclusions?
  • How does (or how could) the author respond to these weaknesses, and to your own criticisms?

Keep coming back to these questions as you read. By the time you finish, you should be able to answer them all. Three good ways to think about this are:

  1. Imagine that you’re going to review the book for a magazine.
  2. Imagine that you’re having a conversation, or a formal debate, with the author.
  3. Imagine an examination on the book. What would the questions be, and how would you answer them?

Read actively

Don’t wait for the author to hammer you over the head. Instead, from the very beginning, constantly generate hypotheses (“the main point of the book is that…”) and questions (“How does the author know that…?”) about the book.

Making brief notes about these can help. As you read, try to confirm your hypotheses and answer your questions. Once you finish, review these.

Know the author(s) and organizations

Knowing who wrote a book helps you judge its quality and understand its full significance. Authors are people. Like anyone else, their views are shaped by their educations, their jobs, their early lives, and the rest of their experiences. Also like anyone else, they have prejudices, blind spots, desperate moments, failings, and desires — as well as insights, brilliance, objectivity, and successes. Notice all of it.

Most authors belong to organizations: universities, corporations, governments, newspapers, magazines. These organizations each have cultures, hierarchies of power, and social norms. Organizations shape both how a work is written and the content of what it says. For example, university professors are expected to write books and/or journal articles in order to get tenure. These pieces of writing must meet certain standards of quality, defined chiefly by other professors; for them, content usually matters more than good writing. Journalists, by contrast, are often driven by deadlines and the need to please large audiences. Because of this, their standards of quality are often directed more toward clear and engaging writing than toward unimpeachable content; their sources are usually oral rather than written.

The more you know about the author and his/her organization and/or discipline, the better you will be able to evaluate what you read. Try to answer questions like these: What shaped the author’s intellectual perspective? What is his or her profession? Is the author an academic, a journalist, a professional (doctor, lawyer, industrial scientist, etc.)? Expertise? Other books and articles? Intellectual network(s)? Gender? Race? Class? Political affiliation? Why did the author decide to write this book? When? For what audience(s)? Who paid for the research work (private foundations, government grant agencies, industrial sponsors, etc.)? Who wrote “jacket blurbs” in support of the book?

You can often (though not always) learn about much of this from the acknowledgments, the bibliography, and the author’s biographical statement.

Know the intellectual context

Knowing the author and his/her organization also helps you understand the book’s intellectual context. This includes the academic discipline(s) from which it draws, schools of thought within that discipline, and others who agree with or oppose the author’s viewpoint.

A book is almost always partly a response to other writers, so you’ll understand a book much better if you can figure out what, and whom, it is answering. Pay special attention to points where the author tells you directly that s/he is disagreeing with others:

“Conventional wisdom holds that x, but I argue instead that y.” (Is x really conventional wisdom? Among what group of people?) “Famous Jane Scholar says that x, but I will show that y.” (Who’s Famous Jane, and why do other people believe her? How plausible are x and y? Is the author straining to find something original to say, or has s/he genuinely convinced you that Famous Jane is wrong?) Equally important are the people and writings the author cites in support of his/her arguments.

Read it three times

This is the key technique. You’ll get the most out of the book if you read it three times — each time for a different purpose.

a) Overview: discovery (5-10 percent of total time)

Here you read very quickly, following the principle (described below) of reading for high information content. Your goal is to discover the book. You want a quick-and-dirty, unsophisticated, general picture of the writer’s purpose, methods, and conclusions.

Mark — without reading carefully — headings, passages, and phrases that seem important (you’ll read these more closely the second time around.) Generate questions to answer on your second reading: what does term or phrase X mean? Why doesn’t the author cover subject Y? Who is Z?

b) Detail: understanding (70-80 percent of total time)

Within your time constraints, read the book a second time. This time, your goal is understanding: to get a careful, critical, thoughtful grasp of the key points, and to evaluate the author’s evidence for his/her points.

Focus especially on the beginnings and ends of chapters and major sections. Pay special attention to the passages you marked on the first round. Try to answer any questions you generated on the first round.

c) Notes: recall and note-taking (10-20 percent of total time)

The purpose of your third and final reading is to commit to memory the most important elements of the book. This time, make brief notes about the arguments, evidence, and conclusions. This is not at all the same thing as text markup; your goal here is to process the material by translating into your own mental framework, which means using your own words as much as possible. Cutting and pasting segments of text from the book will not do as much for you as summarizing very briefly in your own words. Include the bare minimum of detail to let you remember and re-locate the most important things. 1-3 pages of notes per 100 pages of text is a good goal to shoot for; more than that is often too much. Use some system that lets you easily find places in the book (e.g., start each note with a page number.)

Notebooks, typed pages, or handwritten sheets tucked into the book can all work. However, notes will be useless unless you can easily find them again. A very good system — the one I use — is to type notes directly into bilbiography entries using citation manager software such as Endnote, Zotero, or Bookends. See below for more on citation managers.

On time and timing

First, because human attention fades after about an hour, you’ll get more out of three onehour readings than you could ever get out of one three-hour reading. But be careful: to get one full hour of effective reading, you need to set aside at least one hour and fifteen minutes, since distraction is inevitable at the beginning (settling in) and end (re-arousal for your next task) of any reading period.

Second, make a realistic plan that includes how much time you will devote to each of the three stages. For a 250-page book, I might spend 15 minutes on overview, 4 hours on detailed reading, and 20-30 minutes making notes — but I’d adjust these periods up or down depending on how difficult the text is, how important it is to me, and how much time I have.

Focus on the parts with high information content

Non-fiction books very often have an “hourglass” structure that is repeated at several levels of organization. More general (broader) information is typically presented at the beginnings and ends of:

  • the book or article as a whole (abstract, introduction, conclusion)
  • each chapter
  • each section within a chapter
  • each paragraph
    More specific (narrower) information (supporting evidence, details, etc.) then appears in the middle of the hourglass.

The Hourglass Information Structure: General -> Specific -> General

You can make the hourglass structure of writing do a lot of work for you. Focus on the following elements, in more or less the following order:

  • Front and back covers, inner jacket flaps
  • Table of contents
  • Index: scan this to see which are the most important terms
  • Bibliography: tells you about the book’s sources and intellectual context
  • Preface and/or Introduction and/or Abstract
  • Conclusion
  • Pictures, graphs, tables, figures: images contain more information than text
  • Chapter introductions and conclusions
  • Section headings
  • Special type or formatting: boldface, italics, numbered items, lists

Use PTML (personal text markup language)

Always, always, always mark up your reading. This is a critical part of active reading. Do this from the very beginning — even on your first, overview reading. Why? Because when you come back to the book later, your marks reduce the amount you have to look at and help you see what’s most significant.

Don’t mark too much. This defeats the purpose of markup; when you consult your markup later, heavy markup will force you to re-read unimportant information. As a rule, you should average no more than two or three short marks per page. Rather than underline whole sentences, underline words or short phrases that capture what you most need to remember. The point of this is to distill, reduce, eliminate the unnecessary. Write words and phrases in the margins that tell you what paragraphs or sections are about. Use your own words.

Page vs. screen

Printed material has far higher resolution (~600 dpi) than even the best computer screens (~100 dpi); see the illustration of 300 vs. 600 dpi, below. For this reason you will read more accurately, and with less fatigue, if you stick with the paper version. Still, we inevitably read much more screen-based material now.

Markup on the screen: It remains difficult to mark up screen-based materials effectively.

The extra steps involved are distracting, as is the temptation to check email or websurf. Also, with screen-based markup you often have to click on a note in order to read it, which means you’re less likely to do it later. It remains far easier to mark up a printed copy! However, if you’re disciplined, recent versions of Acrobat, Apple Preview, and third-party PDF viewers such as PDFpen, iAnnotate, and Goodreader allow you to add comments, highlighting, and so on to PDFs. Voice recognition can make this a lot easier. Today, I routinely read and annotate PDFs on an iPad, using voice recognition when I want to make a note. Some of these readers, as well as ebook readers such as Kindle, allow you to export only your highlights and notes. This is a great way to make yourself a condensed version of a document. Paste it into the notes field of your citation manager and it’ll always be at your fingertips. Hunt around on the web for ways to do this kind of thing on an industrial scale (especially with Kindle books).

When taking notes about something you’re reading (as opposed to marking up the text), you’ll be tempted to cut and paste the original text in lieu of making your own notes in your own words. Cut-and-paste can sometimes work well, especially for things you might want to quote later. However: in general it defeats the two main purposes of note-taking: (a) learning and remembering (by rephrasing in your own terms), and (b) condensing into a very short form. The same is true of links: though useful for keeping track of sources, keeping a URL will not by itself help you remember or understand what’s there, even though it may feel that way.

Use a citation manager

It’s hard to overemphasize the huge advantages of citation manager software such as Endnote, Bookends, Zotero, Mendeley, CiteULike, etc. They let you keep track of your growing library, easily enter and format citations in your word processor (saving you the incredible irritation of doing it yourself). Most of them can pull in citations directly from the web, record web links, find DOI’s, and so on. Some have their own web search tools built in. Some, such as Bookends (Mac only), will automatically rename documents with AuthorDate-Title, a huge help with the extremely annoying problem of uninformative filenames.

None of these packages are perfect. All have both advantages and disadvantages, and the more sophisticated ones have steep learning curves. Look for one that can handle all major document formats, including books, journal articles, newspaper articles, online sources, interviews, and so on. Be wary of managers that only handle PDFs, since so many other formats are still important.

If you use the notes field of your citation manager in a disciplined way, your notes will always be easy to find. When your library starts reaching into the thousands of items, this is a godsend.

Use your unconscious mind

An awful lot of thinking and mental processing goes on when you’re not aware of it. Just as with writing or any other creative thought process, full understanding of a book takes time to develop.

Like the body, the mind suffers from fatigue when doing just one thing for many hours. Your ability to comprehend and retain what you read drops off dramatically after an hour or so. Therefore, you should read a book in several short sessions of one to two hours apiece, rather than one long marathon.

In between, your unconscious mind will process some of what you’ve read. When you come back for the next session, start by asking yourself what you remember from your previous reading, what you think of it so far, and what you still need to learn.

Rehearse, and use multiple modes

Reading is exactly like martial arts, baseball, or cooking in the sense that learning and memory depend crucially on rehearsal.

So — after you’ve read the book, rehearse what you’ve learned. Quiz yourself on its contents. Argue with the author. Imagine how you would defend the author’s position in your own writing.

Reading, writing, speaking, listening, and visualizing all engage different parts of the brain. For this reason, the best forms of rehearsal use multiple modes of thinking and action. Don’t just contemplate privately. Instead, talk about the book with others. Bring it up in classes. Write about it. Visualize anything that can be visualized about its contents. All of this helps fix your memory and integrate your new learning into the rest of your knowledge.

Hang in there!

When I give presentations on these ideas, students often tell me a few weeks later that they “tried it a few times and just couldn’t do it,” so they stopped.

You will have to practice these techniques for a considerable length of time — at least a few months — before they come to seem natural, and they will never be easier than the comfortable, passive way we’ve all been reading for many years.

Hang in there. The rewards of these techniques are great, or so say the hundreds of students who’ve told me so years later. Learning to read like this can be a critical key to a successful career as a student, scholar, or professional in almost any field.

分类
其他

2019-11-12-比特币定投时机分析

比特币定投时机分析

前几天我写了比特币定投的文章,我当时选的是每个月第一天买入1000块钱比特币,然后我就想如果是在其它日期买入收益是怎样呢。然后代码如下:

echo 'simple policy: buy 140 usd on the first day of everymonth:'.PHP_EOL;
$btc = [];
$money = [];
$max = [];
for ($i=0;$i<32;$i++) {
    $btc[$i] = $money[$i] = 0;
}
foreach ($result as $row) {
    $i = ltrim(explode("-", $row[$keys[0]])[2], "0");
    $price = $row[$keys[1]];
    $spend = 140;
    $btc[$i] += $spend/$price;
    $money[$i] += $spend;
}
for ($i = 1; $i < sizeof($btc); $i++) {
    echo 'on '.$i.'st day of month buy '.$btc[$i].' BTC for '.$money[$i].' USD';
    echo '. ROI is '.($last_price*$btc[$i]/$money[$i]).PHP_EOL;
}
echo PHP_EOL;

结果如下:

simple policy: buy 140 usd on different days of everymonth:
on 1st day of month buy 22.171847894906 BTC for 11060 USD. ROI is 18.745575707508
on 2st day of month buy 22.483835796744 BTC for 11060 USD. ROI is 19.009351323391
on 3st day of month buy 22.683132436126 BTC for 11060 USD. ROI is 19.177850144936
on 4st day of month buy 22.873776562158 BTC for 11060 USD. ROI is 19.339033548082
on 5st day of month buy 22.663165006578 BTC for 11060 USD. ROI is 19.160968333188
on 6st day of month buy 22.829619605275 BTC for 11060 USD. ROI is 19.301700278335
on 7st day of month buy 22.895282529045 BTC for 10920 USD. ROI is 19.605385580803
on 8st day of month buy 22.758523723982 BTC for 10920 USD. ROI is 19.488278089274
on 9st day of month buy 22.772445297502 BTC for 10920 USD. ROI is 19.500199227019
on 10st day of month buy 22.693920417488 BTC for 10920 USD. ROI is 19.432957840135
on 11st day of month buy 22.499652101912 BTC for 10920 USD. ROI is 19.266604565037
on 12st day of month buy 22.281754478063 BTC for 10920 USD. ROI is 19.08001735314
on 13st day of month buy 22.068019586461 BTC for 10920 USD. ROI is 18.896994717075
on 14st day of month buy 22.068686013953 BTC for 10920 USD. ROI is 18.897565383452
on 15st day of month buy 22.379413146748 BTC for 10920 USD. ROI is 19.163643132924
on 16st day of month buy 22.212017346347 BTC for 10920 USD. ROI is 19.020300974674
on 17st day of month buy 22.181794017372 BTC for 10920 USD. ROI is 18.994420533262
on 18st day of month buy 21.982156192808 BTC for 10920 USD. ROI is 18.823469311231
on 19st day of month buy 22.179971247115 BTC for 10920 USD. ROI is 18.992859682739
on 20st day of month buy 21.974796783756 BTC for 10920 USD. ROI is 18.817167399388
on 21st day of month buy 21.872727840678 BTC for 10920 USD. ROI is 18.729765071755
on 22st day of month buy 21.729407841843 BTC for 10920 USD. ROI is 18.607039185536
on 23st day of month buy 21.647836522888 BTC for 10920 USD. ROI is 18.537189112343
on 24st day of month buy 21.504258966867 BTC for 10920 USD. ROI is 18.41424267816
on 25st day of month buy 21.636898731196 BTC for 10920 USD. ROI is 18.527823007195
on 26st day of month buy 21.575032925006 BTC for 10920 USD. ROI is 18.474846898118
on 27st day of month buy 21.486862408557 BTC for 10920 USD. ROI is 18.399345887391
on 28st day of month buy 22.420571564532 BTC for 11060 USD. ROI is 18.955863474289
on 29st day of month buy 21.492371373023 BTC for 10360 USD. ROI is 19.398877480778
on 30st day of month buy 20.996120074596 BTC for 10220 USD. ROI is 19.210566469857
on 31st day of month buy 12.562011754005 BTC for 6440 USD. ROI is 18.240021560587

结论是除了31号以外没有太大差别,因为不是每个月都有31号。

我又想到另外一个问题,就是这个简单策略从不同的时候开始对应的收益是多少呢?

for($year = 2013; $year < 2020; $year++){
    $btc = 0;
    $money = 0;
    foreach ($result as $row) {
        if (strtotime($row[$keys[0]]) < strtotime($year.'-01-01')) {
            continue;
        }
        if (explode("-", $row[$keys[0]])[2]=='01') {
            $price = $row[$keys[1]];
            $btc += 140/$price;
            $money += 140;
        }
    }
    echo 'start from '.$year;
    echo ' buy '.$btc.' BTC for '.$money.' USD';
    echo '. ROI is '.($last_price*$btc/$money).PHP_EOL;
}

结果如下:

start from 2013 buy 22.171847894906 BTC for 11060 USD. ROI is 18.745575707508
start from 2014 buy 14.422215949735 BTC for 9940 USD. ROI is 13.567431233189
start from 2015 buy 11.074658072271 BTC for 8260 USD. ROI is 12.537250354511
start from 2016 buy 4.6269273232684 BTC for 6580 USD. ROI is 6.5753489208709
start from 2017 buy 1.399094962316 BTC for 4900 USD. ROI is 2.6699500225044
start from 2018 buy 0.49292426430722 BTC for 3220 USD. ROI is 1.4314505327275
start from 2019 buy 0.26423599874152 BTC for 1540 USD. ROI is 1.6044392685404

结论当然是开始定投的时间越晚,收益越低。

同样如果动态调整买入数量,得到结果是:

on 1st day of month buy 54.68896148375 BTC for 24198.152323714 USD. ROI is 21.133405659588
on 2st day of month buy 48.267456335385 BTC for 21573.03055174 USD. ROI is 20.921618237196
on 3st day of month buy 51.927616303556 BTC for 23261.473649997 USD. ROI is 20.874360617497
on 4st day of month buy 54.068655783724 BTC for 23821.542164162 USD. ROI is 21.224023525604
on 5st day of month buy 56.741726914806 BTC for 24986.400799988 USD. ROI is 21.234931601517
on 6st day of month buy 53.217372045735 BTC for 24506.095243249 USD. ROI is 20.306324724596
on 7st day of month buy 49.480430048546 BTC for 23050.151453025 USD. ROI is 20.072973050566
on 8st day of month buy 43.009364229676 BTC for 21216.65825486 USD. ROI is 18.955622929084
on 9st day of month buy 44.911577713843 BTC for 21182.432421281 USD. ROI is 19.825972595816
on 10st day of month buy 46.503338955097 BTC for 21126.39968875 USD. ROI is 20.583094305775
on 11st day of month buy 49.933543814475 BTC for 22750.574451838 USD. ROI is 20.523529101953
on 12st day of month buy 46.670234156205 BTC for 22531.934998415 USD. ROI is 19.36838946566
on 13st day of month buy 44.246103969017 BTC for 22059.150509462 USD. ROI is 18.755915647944
on 14st day of month buy 45.929917738979 BTC for 22048.423270757 USD. ROI is 19.479156609693
on 15st day of month buy 46.619072138652 BTC for 22018.097956519 USD. ROI is 19.798662171002
on 16st day of month buy 45.994781276714 BTC for 22525.160165509 USD. ROI is 19.093814083309
on 17st day of month buy 44.01241958069 BTC for 22716.862562778 USD. ROI is 18.11669251188
on 18st day of month buy 42.904043520119 BTC for 22212.986120989 USD. ROI is 18.061062625519
on 19st day of month buy 45.26385493709 BTC for 22631.051873757 USD. ROI is 18.702463569818
on 20st day of month buy 45.857495755562 BTC for 22263.487782646 USD. ROI is 19.260570739059
on 21st day of month buy 45.105945523037 BTC for 21563.342732128 USD. ROI is 19.560039371102
on 22st day of month buy 44.572688867049 BTC for 21267.952653427 USD. ROI is 19.597251599066
on 23st day of month buy 43.274217689149 BTC for 20151.421970835 USD. ROI is 20.080547395047
on 24st day of month buy 42.184610969101 BTC for 20127.810971946 USD. ROI is 19.597899330555
on 25st day of month buy 41.603369954415 BTC for 19646.816392842 USD. ROI is 19.801055612622
on 26st day of month buy 43.569844882186 BTC for 20399.918765522 USD. ROI is 19.971449891362
on 27st day of month buy 46.073866974541 BTC for 22240.262415163 USD. ROI is 19.37165724189
on 28st day of month buy 49.860591240701 BTC for 23312.017117417 USD. ROI is 19.999981317215
on 29st day of month buy 48.409926306664 BTC for 21470.517141603 USD. ROI is 21.083559590936
on 30st day of month buy 51.125198054587 BTC for 22318.755862658 USD. ROI is 21.419880376601
on 31st day of month buy 23.662189356623 BTC for 11086.585427419 USD. ROI is 19.957637817137

start from 2013 buy 54.68896148375 BTC for 24198.15 USD. ROI is 21.133405659588
start from 2014 buy 34.138451267446 BTC for 18978.9 USD. ROI is 16.819955805149
start from 2015 buy 13.124232059274 BTC for 11972.62 USD. ROI is 10.250300012662
start from 2016 buy 5.0865272908385 BTC for 9908.83 USD. ROI is 4.800108353695
start from 2017 buy 1.9449513947794 BTC for 8228.12 USD. ROI is 2.2103466625796
start from 2018 buy 1.2345328381095 BTC for 6817.58 USD. ROI is 1.6932623616336
start from 2019 buy 0.22404450624699 BTC for 1383.58 USD. ROI is 1.5141907571945

跟简单策略类似,哪一天买入对结果影响不大,同样买入越晚收益越低。

我就换了一个思路,不是每个月固定时间投,而是每次价格下跌5%,我就买入1000块钱:

echo 'buy when price down policy:'.PHP_EOL;
$btc = 0;
$money = 0;
foreach($result as $i => $row){
    if($i == 0){continue;}
    $yesterday_price = ($result[$i-1][$keys[1]] + $result[$i-1][$keys[4]]) / 2;
    $price = $row[$keys[1]];
    if($price < $yesterday_price*0.95){
        $buy = 140;
        $btc += $buy/$price;
        $money += $buy;
        echo $row[$keys[0]].' '.$row[$keys[1]].' '.$row[$keys[4]].' ';
        echo 'buy '.$buy/$price.' BTC for '.$buy.' USD'.PHP_EOL;
    }
}
echo 'BTC: '.$btc.PHP_EOL;
echo 'Spend money: '.$money.PHP_EOL;
echo 'Final value: '.($btc*$last_price).PHP_EOL;
echo 'Final ROI: '.(($btc*$last_price)/$money).PHP_EOL;
echo PHP_EOL;

结果如下:

BTC: 16.835854779097
Spend money: 7840
Final value: 157429.88937822
Final ROI: 20.080343032936

就是花了7840usd(56000人民币)买了16.835854779097个比特币,价值157429.89usd(1124499.21人民币),收益率20.08倍收益。
可以看到这种方案跟简单定投方案的收益率差不多。

不过这种方案收益率跟起投时间的关系更密切:

echo 'buy when price down policy:'.PHP_EOL;
for($year = 2013; $year < 2020; $year++){
    $btc = 0;
    $money = 0;
    foreach($result as $i => $row){
        if (strtotime($row[$keys[0]]) < strtotime($year.'-01-01')) {
            continue;
        }
        if($i == 0){continue;}
        $yesterday_price = ($result[$i-1][$keys[1]] + $result[$i-1][$keys[4]]) / 2;
        $price = $row[$keys[1]];
        if($price < $yesterday_price*0.95){
            $buy = 140;
            $btc += $buy/$price;
            $money += $buy;
        }
    }
    echo 'start from '.$year;
    echo ' buy '.$btc.' BTC for '.$money.' USD';
    echo '. ROI is '.($last_price*$btc/$money).PHP_EOL;
}

结果是:

start from 2013 buy 16.835854779097 BTC for 7840 USD. ROI is 20.080343032936
start from 2014 buy 7.2568342363667 BTC for 5880 USD. ROI is 11.540427475479
start from 2015 buy 5.5110740890794 BTC for 4900 USD. ROI is 10.51700762599
start from 2016 buy 2.0373331871337 BTC for 4060 USD. ROI is 4.6923245762494
start from 2017 buy 1.2092733133323 BTC for 3640 USD. ROI is 3.106526798747
start from 2018 buy 0.30747030774609 BTC for 2380 USD. ROI is 1.2080314607537
start from 2019 buy 0.070211328288695 BTC for 700 USD. ROI is 0.93791000479273

如果是从2019开始用这种策略投资,收益是负的。因为2019没有几次买入的机会。

前面的几种策略里面我都是只有买入,如果加入买出能否获得更多收益呢?
代码:

echo 'buy when price down policy and sell when price up:'.PHP_EOL;
$max_roi = 0;
for ($buy_ratio = 0.1; $buy_ratio <= 1; $buy_ratio += 0.01) {
    for ($sell_ratio = 0; $sell_ratio <= 0.1; $sell_ratio += 0.01) {
        $btc = 0;
        $init_money = 11060;
        $money = $init_money;
        foreach ($result as $i => $row) {
            if (0 == $i) {
                continue;
            }
            $yesterday_price = ($result[$i - 1][$keys[1]] + $result[$i - 1][$keys[4]]) / 2;
            if (strtotime($row[$keys[0]]) < strtotime('2013-01-01')) {
                continue;
            }
            $price = $row[$keys[1]];
            if ($price < $yesterday_price * 0.95) {
                //best buy ratio is 0.5 for 2013-2019
                $buy = $money * $buy_ratio;
                if ($buy < 10) {
                    continue;
                }
                $money -= $buy;
                $btc += $buy / $price;
            }
            if ($price > $yesterday_price * 1.05) {
                // best sell ratio is 0 for 2013-2019
                $sell = $btc * $sell_ratio;
                if ($sell < 0.01) {
                    continue;
                }
                $btc -= $sell;
                $money += $price * $sell;
            }
        }
        //echo 'BTC: '.$btc.PHP_EOL;
        //echo 'money: '.$money.PHP_EOL;
        //echo 'Final value: '.($btc*$last_price+$money).PHP_EOL;
        echo 'Buy Ratio: '.$buy_ratio.' , sell ratio '.$sell_ratio.' get '.$btc.' BTC with '.$money.' ';
        $roi = ($btc * $last_price + $money) / $init_money;
        $max_roi = $roi > $max_roi ? $roi : $max_roi;
        echo 'Final ROI: '.$roi.PHP_EOL;
        //echo PHP_EOL;
    }
}
echo 'max roi :'.$max_roi.PHP_EOL;

我的策略很简单,就是价格下跌了5%就买入全部金额的一定比例比特币,价格上涨了5%就卖出一定比例比特币。

结果发现买入比例49%,卖出比例0的时候能得到最高的ROI, 93.036942129554。这个比例高于直接起始的时候直接买入比特币的策略,因为有一部分的比特币是降价之后才买的。同时卖出比例为0,说明这个策略里面不能卖出比特币。其实也很好理解,因为比特币总体是上涨的,一旦你卖出,因为价格升高,你后面买回来的比特币就越少。总体收益也就减少了。

同时这种策略跟市场紧密相关,

如果从2013开始买入,最佳买入比例是0.49, 最佳卖出比例是0.

如果从2014开始买入,最佳买入比例是0.13, 最佳卖出比例是0.

如果从2015开始买入,最佳买入比例是0.46, 最佳卖出比例是0.

如果从2016开始买入,最佳买入比例是0.99, 最佳卖出比例是0.

如果从2017开始买入,最佳买入比例是0.56, 最佳卖出比例是0.

如果从2018开始买入,最佳买入比例是0.09, 最佳卖出比例是0.01.

如果从2019开始买入,最佳买入比例是0, 最佳卖出比例是0.

所以这种策略没有太多的价值,因为我们无从判断未来行情走向。同时如果从2019年开始用这种策略,最优选择是不要买。:)

类似,如果记录上一次的卖出价格做为参考点:

如果从2013开始买入,
Buy Ratio: 0.45 , sell ratio 0 get 102.70933163813 BTC with 306.1478853125 Final ROI: 86.865077379783
如果从2014开始买入,
Buy Ratio: 0.16 , sell ratio 0 get 21.895526577296 BTC with 1146.5311163133 Final ROI: 18.615619685547
如果从2015开始买入,
Buy Ratio: 0.61 , sell ratio 0 get 40.768021693446 BTC with 255.8665746 Final ROI: 34.491169763761
如果从2016开始买入,
Buy Ratio: 0.99 , sell ratio 0 get 29.992604158107 BTC with 110.59999999999 Final ROI: 25.367770564549
如果从2017开始买入,
Buy Ratio: 0.92 , sell ratio 0 get 12.312205165812 BTC with 70.783999999999 Final ROI: 10.415968708755
如果从2018开始买入,
Buy Ratio: 0.1 , sell ratio 0 get 1.2671786688341 BTC with 2811.3036061319 Final ROI: 1.3255449010102
如果从2019开始买入,
Buy Ratio: 0.96 , sell ratio 0 get 3.0243124957152 BTC with 17.695999999999 Final ROI: 2.5585577745758

跟上一种策略的结果类似,没有太大价值。

我还不死心,又想到一个策略,就是下跌5%就买1000块,上涨5%就卖掉5%。

echo 'buy when price down policy and sell when price up:'.PHP_EOL;
$btc = 0;
$invest = 0;
$return = 0;
foreach($result as $i => $row){
    if($i == 0){continue;}
    $yesterday_price = ($result[$i-1][$keys[1]] + $result[$i-1][$keys[4]]) / 2;
    $price = $row[$keys[1]];
    if($price < $yesterday_price*0.95){
        $buy = 140;
        $btc += $buy/$price;
        $invest += $buy;
        echo $row[$keys[0]].' '.$row[$keys[1]].' '.$row[$keys[4]].' ';
        echo 'buy '.$buy/$price.' BTC for '.$buy.' USD'.PHP_EOL;
    }
    if($price > $yesterday_price*1.05){
        $sell = $btc * 0.05;
        if($sell == 0){continue;}
        $btc -= $sell;
        $return += $price*$sell;
        echo $row[$keys[0]].' '.$row[$keys[1]].' '.$row[$keys[4]].' ';
        echo 'sell '.$sell.' BTC for '.($price*$sell).' USD'.PHP_EOL;
    }
}
echo 'BTC: '.$btc.PHP_EOL;
echo 'Invest money: '.$invest.PHP_EOL;
echo 'Final value: '.($btc*$last_price+$return).PHP_EOL;
echo 'Final ROI: '.(($btc*$last_price+$return)/$invest).PHP_EOL;
echo PHP_EOL;

结果是

BTC: 3.2084003878113
Invest money: 7840
Final value: 76196.536163102
Final ROI: 9.7189459391712

就是花了7840usd(56000人民币)买了3.2084003878113个比特币,价值76196.53usd(544260.93人民币)加上中间卖出比特币获得了46195.20usd(329965.71人民币),9.72倍收益。

可以看出这种策略的收益率不到每逢价格下跌5%就买入1000块钱的策略的一半,不过这种策略的优势在于,投入的资金小于卖出比特币获得的资金,也就是很多时候你是用你的盈利来投资,所以比较能够承受住价格波动带来的损失。这种策略里面卖出比例为0的时候收益率最高,也就变成了每逢价格下跌5%就买入1000块钱的策略。

综合所有的结果,我的结论是老老实实也定投,各种策略能跑赢定投的不多。定投的日期也无所谓,只要不是每个月31号就行。

分类
想法 编程 逻辑

2019-11-08-关于定投的思考

昨天我写了一篇比特币定投收益分析的文章,发到群里面之后,小伙伴们纷纷发表意见。其中两种意见比较有价值。

一种意见是历史不代表未来,我是同意这一点的。

因为未来是无法预测的,定投是否成功的关键还在于选择的标的,说的更直接一点在于你自己的判断和对这个判断的信心。

如果判断失误,定投是没有意义的,而且可能投的越多亏的越多。

至于怎么做出判断,每个人都有自己的标准,当然有些是理性的,有些只是碰运气,没有人能百分之百判断正确。

比较靠谱的方法是看长期的趋势,就是巴菲特所说的价值投资,标的短期价格没有任何人能够预测,但是长期来看是跟它本身的价值一致的。

可惜长期趋势也不是那么容易判断的,在某一个时间点,我们其实是没有足够的信息判断所谓的长期趋势向上还是向下,掌握的信息越多当然越有利,但是没有人敢说自己有百分之百的把握。

即使是一些明显会向上的行业,具体到你投资的那个标的是否能够增长还是不一定的。比如按照现在的中国人口变化趋势,中国老龄人口比例是不断升高的,所以20年内养老行业肯定是上升趋势的,可是没有哪个标的叫做养老行业。

你只能具体到某一个公司,这个公司可能是做疗养院,养老院,保健品或者其他跟养老行业有关的事情。

一旦涉及到具体的公司,你要考虑的就不仅仅是整个长期的趋势了,你要考虑运作这个公司的人是否靠谱,公司的运营方法是否得当,公司的成本管理是否合理,公司有没有受到政策的影响等等一系列的因素。

这其实是一件很专业的事情。巴菲特就是因为擅长这件事变成世界最有钱的几个人之一。

另外一种意见说定投是没有意义的,就像昨天那篇文章里面每个月1000块钱投79个月,有个小伙伴说你还不如开始定投的那个月一次拿79000块钱买成比特币,删掉软件,放到今天再看。

我稍微算了一下,如果这么操作的话,收益有69.38倍,比我用定投的收益20.1倍强多了。

我差点同意了他的意见,感觉只要选择标的是对的,而且你有信心,直接一把梭哈收益比定投还要好。

不过我又回头仔细想了一下,这么思考是不对的,因为你一把梭哈,结果是不太确定的,如果你在2017年最高点梭哈你就悲剧了,因为直到今天价格(2019-11-08, 9,242.60USD)也不到最高点(2017-12-17, 19308.3USD)的一半,你的收益是-52%,就是亏了一半多,俗称腰斩。

而如果用定投的话,即使你是在最高点那一天买入,然后每个月再投1000块钱,到今天为止收益也有60%。

$btc = 0;
$money = 0;
$init_price = ($result[0][$keys[1]]+$result[0][$keys[4]])/2;
echo 'initial price on '.$result[0][$keys[0]].': '.$init_price.PHP_EOL;
foreach ($result as $row) {
    if (strtotime($row[$keys[0]])>strtotime('2017-11-30')){
        if (explode("-", $row[$keys[0]])[2]=='17') {
            $price = ($row[$keys[1]]+$row[$keys[4]])/2;
            $spend = 140*($init_price/$price);
            $btc += $spend/$price;
            $money += $spend;
            echo $row[$keys[0]].' '.$row[$keys[1]].' '.$row[$keys[4]].' ';
            echo 'buy '.$spend/$price.' BTC for '.$spend.' USD'.PHP_EOL;
            $init_price = $price > $init_price ? $price: $init_price;
        }
    }
}
echo 'total:'.PHP_EOL;
echo 'buy '.$btc.' BTC for '.$money.' USD'.PHP_EOL;

结果如下:

2017-12-17 19475.80 19140.80 buy 5.0604000119016E-5 BTC for 0.977077215498 USD
2018-01-17 11431.10 11188.60 buy 0.021132865240077 BTC for 239.00953593549 USD
2018-02-17 10207.50 11112.70 buy 0.023787539157875 BTC for 253.57754617687 USD
2018-03-17 8321.91 7916.88 buy 0.041003859231437 BTC for 332.92652962444 USD
2018-04-17 8071.66 7902.09 buy 0.042375837907192 BTC for 338.45052038501 USD
2018-05-17 8370.05 8094.32 buy 0.039887960431049 BTC for 328.36506954108 USD
2018-06-17 6545.53 6499.27 buy 0.063541463744209 BTC for 414.44284312523 USD
2018-07-17 6739.65 7321.04 buy 0.054691369482636 BTC for 384.4991959854 USD
2018-08-17 6340.91 6580.63 buy 0.064759503785061 BTC for 418.39625926941 USD
2018-09-17 6514.06 6281.20 buy 0.066044070848885 BTC for 422.52552898495 USD
2018-10-17 6590.52 6544.43 buy 0.062672239975984 BTC for 411.59836923627 USD
2018-11-17 5578.58 5554.33 buy 0.087239801476468 BTC for 485.61642912769 USD
2018-12-17 3253.12 3545.86 buy 0.23390771030276 BTC for 795.16692209714 USD
2019-01-17 3651.87 3678.56 buy 0.20122093521853 BTC for 737.51799007698 USD
2019-02-17 3633.36 3673.84 buy 0.20250235419038 BTC for 739.86260126998 USD
2019-03-17 4047.72 4025.23 buy 0.16590808085281 BTC for 669.68382066035 USD
2019-04-17 5236.14 5251.94 buy 0.098296958985144 BTC for 515.47318479645 USD
2019-05-17 7886.93 7343.90 buy 0.046610624688886 BTC for 354.95925041511 USD
2019-06-17 8988.92 9320.35 buy 0.032254477185794 BTC for 295.27796575177 USD
2019-07-17 9471.21 9693.80 buy 0.029438383903566 BTC for 282.09346094784 USD
2019-08-17 10358.72 10231.74 buy 0.025503510657795 BTC for 262.56450802945 USD
2019-09-17 10281.51 10241.27 buy 0.025671998916176 BTC for 263.43039295846 USD
2019-10-17 8047.81 8103.91 buy 0.041447134508633 BTC for 334.72125569289 USD
total:
buy 1.6699492846915 BTC for 9281.1362573038 USD

最后结果是花了9281.14USD(66293.85人民币)买到了1.6699492846915个比特币,这些比特币今天(2019-11-08)的价格是107,479.85元人民币。1.62倍的收益。

所以定投策略还是有意义的,它的作用就在于你不用去判断现在是什么点位,能不能进去投,只要你判断这个标的长期是增长的,你随时可以开始定投,几乎可以保证你是盈利的。

分类
想法 编程 逻辑

2019-11-07-定投比特币收益分析

有一个朋友,我们认识很多年了。2013年的时候,记得某一天我跟他说比特币你可以了解一下,现在好像涨到一千块一个了,你可以花一万块钱买上十个,然后放起来,过几年再看,肯定不是现在的价格。他一脸蒙逼,然后事情就过去了。

到了今年的某一天,那个朋友跟我说,现在比特币好几万一个了,当初应该买一点的,我说你现在买也不迟呀。然后他就决定以后每个月给我一千块钱让我帮他买比特币。

今天我心血来潮就想算一下,如果从2013年起每个月买一千块钱比特币,现在有多少收益。(你看,为了朋友感觉扎心,我也很拼的。)

首先要拿到比特币价格的历史数据,google一下之后,我在coinmarketcap找到从2013年04月28日到今天的数据。
直接chrome里面右键copy element,把数据复制到一个history.html文件里面。

数据大概长这样:

<table class="table">
<thead>
<tr>
<th class="text-left">Date</th>
<th class="text-right">Open*</th>
<th class="text-right">High</th>
<th class="text-right">Low</th>
<th class="text-right">Close**</th>
<th class="text-right">Volume</th>
<th class="text-right">Market Cap</th>
</tr>
</thead>
<tbody>
<tr class="text-right">
<td class="text-left">Nov 06, 2019</td>
<td data-format-fiat="" data-format-value="9340.86427973">9,340.86</td>
<td data-format-fiat="" data-format-value="9423.23703723">9,423.24</td>
<td data-format-fiat="" data-format-value="9305.90931362">9,305.91</td>
<td data-format-fiat="" data-format-value="9360.87991187">9,360.88</td>
<td data-format-market-cap="" data-format-value="23133895764.6">23,133,895,765</td>
.
..
...
<tr class="text-right">
<td class="text-left">Apr 28, 2013</td>
<td data-format-fiat="" data-format-value="135.300003052">135.30</td>
<td data-format-fiat="" data-format-value="135.979995728">135.98</td>
<td data-format-fiat="" data-format-value="132.100006104">132.10</td>
<td data-format-fiat="" data-format-value="134.210006714">134.21</td>
<td data-format-market-cap="" data-format-value="-">-</td>
<td data-format-market-cap="" data-format-value="1488566728.25">1,488,566,728</td>
</tr>
</tbody>
</table>

一看这个数据很归整,每一行7个数据,分别是日期,开盘价格,最高价格,最低价格,收盘价格,交易量和总市值。我就写了个php脚本来分析:

<?php
$html = file_get_contents("history.html");
$doc = new DOMDocument();
$doc->loadHTML('<?xml encoding="utf-8" ?>'.$html);
$trs = $doc->getElementsByTagName('tr');
$ths = $trs[0]->getElementsByTagName('th');
$keys = [];
foreach ($ths as $th) {
    $keys[] = trim($th->nodeValue, "*").PHP_EOL;
}
$result = [];
foreach ($trs as $tr) {
    $tds = $tr->getElementsByTagName('td');
    $row = [];
    if ($tds->length > 0) {
        for ($i = 0; $i<sizeof($keys); $i++) {
            if ($i == 0) {
                $tds[$i]->nodeValue = date('Y-m-d', strtotime($tds[$i]->nodeValue));
            }
            $row[$keys[$i]] = str_replace(',', '', $tds[$i]->nodeValue);
        }
    }
    if ($row) {
        $result[]=$row;
    }
}
// reverse order
$result = array_reverse($result);

然后我就计算如果每个月一号买1000块钱的比特币,最后能买到多少币:

(因为拿到的价格是用美元计算的,为了方便计算,我就把1000块写成140usd)

$btc = 0;
$money = 0;
echo 'simple policy: buy 100 usd on the first day of everymonth:'.PHP_EOL;
foreach ($result as $row) {
    if (explode("-", $row[$keys[0]])[2]=='01') {
        $price = ($row[$keys[1]]+$row[$keys[4]])/2;
        $btc += 140/$price;
        $money += 140;
        echo $row[$keys[0]].' '.$row[$keys[1]].' '.$row[$keys[4]].' ';
        echo 'buy '.(100/$price).' BTC for 100 USD'.PHP_EOL;
    }
}
echo 'total:'.PHP_EOL;
echo 'buy '.$btc.' BTC for '.$money.' USD'.PHP_EOL;

输出结果是这样的:

buy 140 usd on the first day of everymonth:
2013-05-01 139.00 116.99 buy 1.0937927262784 BTC for 140 USD
2013-06-01 128.82 129.30 buy 1.0847667751433 BTC for 140 USD
2013-07-01 97.51 88.05 buy 1.5089458935115 BTC for 140 USD
2013-08-01 106.21 104.00 buy 1.3320013320013 BTC for 140 USD
2013-09-01 135.14 138.34 buy 1.0238408658768 BTC for 140 USD
2013-10-01 132.68 132.18 buy 1.0571622744091 BTC for 140 USD
2013-11-01 203.90 206.18 buy 0.68279360124854 BTC for 140 USD
2013-12-01 1128.92 955.85 buy 0.13430738162963 BTC for 140 USD
2014-01-01 754.97 771.40 buy 0.18344176051678 BTC for 140 USD
2014-02-01 828.61 832.58 buy 0.16855386801028 BTC for 140 USD
2014-03-01 549.92 565.61 buy 0.25100176597671 BTC for 140 USD
2014-04-01 457.00 478.38 buy 0.29934358228741 BTC for 140 USD
2014-05-01 447.63 457.76 buy 0.30925899336198 BTC for 140 USD
2014-06-01 623.69 630.23 buy 0.22329973204032 BTC for 140 USD
2014-07-01 641.39 640.81 buy 0.21837466853845 BTC for 140 USD
2014-08-01 586.20 594.92 buy 0.23706312652398 BTC for 140 USD
2014-09-01 477.79 474.88 buy 0.29391079807278 BTC for 140 USD
2014-10-01 387.43 383.61 buy 0.36314588088815 BTC for 140 USD
2014-11-01 338.65 325.75 buy 0.421432871764 BTC for 140 USD
2014-12-01 378.25 379.24 buy 0.36964184345668 BTC for 140 USD
2015-01-01 320.43 314.25 buy 0.4411672023697 BTC for 140 USD
2015-02-01 216.87 226.97 buy 0.6308579668349 BTC for 140 USD
2015-03-01 254.28 260.20 buy 0.54423884310372 BTC for 140 USD
2015-04-01 244.22 247.27 buy 0.56969622983174 BTC for 140 USD
2015-05-01 235.94 232.08 buy 0.59826503140891 BTC for 140 USD
2015-06-01 230.23 222.93 buy 0.61788330832377 BTC for 140 USD
2015-07-01 263.35 258.62 buy 0.53642929670288 BTC for 140 USD
2015-08-01 284.69 281.60 buy 0.49444630842854 BTC for 140 USD
2015-09-01 230.26 228.12 buy 0.61084689558881 BTC for 140 USD
2015-10-01 236.00 237.55 buy 0.59127864005913 BTC for 140 USD
2015-11-01 315.01 325.43 buy 0.43719942539504 BTC for 140 USD
2015-12-01 377.41 362.49 buy 0.37842951750237 BTC for 140 USD
2016-01-01 430.72 434.33 buy 0.32368071209757 BTC for 140 USD
2016-02-01 369.35 373.06 buy 0.37715009226708 BTC for 140 USD
2016-03-01 437.92 435.12 buy 0.32071840923669 BTC for 140 USD
2016-04-01 416.76 417.96 buy 0.33544182480353 BTC for 140 USD
2016-05-01 448.48 451.88 buy 0.31098671642454 BTC for 140 USD
2016-06-01 531.11 536.92 buy 0.26216492046104 BTC for 140 USD
2016-07-01 672.52 676.30 buy 0.20758885544402 BTC for 140 USD
2016-08-01 624.60 606.27 buy 0.22748137496242 BTC for 140 USD
2016-09-01 575.55 572.30 buy 0.24393431197456 BTC for 140 USD
2016-10-01 609.93 613.98 buy 0.2287749916252 BTC for 140 USD
2016-11-01 701.34 729.79 buy 0.19564959158148 BTC for 140 USD
2016-12-01 746.05 756.77 buy 0.18631639184999 BTC for 140 USD
2017-01-01 963.66 998.33 buy 0.14271224623979 BTC for 140 USD
2017-02-01 970.94 989.02 buy 0.14286005836854 BTC for 140 USD
2017-03-01 1180.04 1222.50 buy 0.11654332498106 BTC for 140 USD
2017-04-01 1071.71 1080.50 buy 0.1300988286459 BTC for 140 USD
2017-05-01 1348.30 1421.60 buy 0.10108668182967 BTC for 140 USD
2017-06-01 2288.33 2407.88 buy 0.059622546691907 BTC for 140 USD
2017-07-01 2492.60 2434.55 buy 0.056827983722842 BTC for 140 USD
2017-08-01 2871.30 2718.26 buy 0.050093388388353 BTC for 140 USD
2017-09-01 4701.76 4892.01 buy 0.029185606909484 BTC for 140 USD
2017-10-01 4341.05 4403.74 buy 0.032019065066171 BTC for 140 USD
2017-11-01 6440.97 6767.31 buy 0.021198823768121 BTC for 140 USD
2017-12-01 10198.60 10975.60 buy 0.013223640090299 BTC for 140 USD
2018-01-01 14112.20 13657.20 buy 0.010083041045179 BTC for 140 USD
2018-02-01 10237.30 9170.54 buy 0.014427159333548 BTC for 140 USD
2018-03-01 10385.00 10951.00 buy 0.013123359580052 BTC for 140 USD
2018-04-01 7003.06 6844.23 buy 0.020220563012691 BTC for 140 USD
2018-05-01 9251.47 9119.01 buy 0.015241844524476 BTC for 140 USD
2018-06-01 7500.70 7541.45 buy 0.018614360314184 BTC for 140 USD
2018-07-01 6411.68 6385.82 buy 0.021879273295566 BTC for 140 USD
2018-08-01 7769.04 7624.91 buy 0.018188963846186 BTC for 140 USD
2018-09-01 7044.81 7193.25 buy 0.019665600510182 BTC for 140 USD
2018-10-01 6619.85 6589.62 buy 0.02119691403213 BTC for 140 USD
2018-11-01 6318.14 6377.78 buy 0.022054329264835 BTC for 140 USD
2018-12-01 4024.46 4214.67 buy 0.033984170658795 BTC for 140 USD
2019-01-01 3746.71 3843.52 buy 0.036889527721821 BTC for 140 USD
2019-02-01 3460.55 3487.95 buy 0.040296466863352 BTC for 140 USD
2019-03-01 3853.76 3859.58 buy 0.036300746498923 BTC for 140 USD
2019-04-01 4105.36 4158.18 buy 0.033883783463262 BTC for 140 USD
2019-05-01 5350.91 5402.70 buy 0.026037767782168 BTC for 140 USD
2019-06-01 8573.84 8564.02 buy 0.016338095888285 BTC for 140 USD
2019-07-01 10796.93 10583.13 buy 0.013096314977601 BTC for 140 USD
2019-08-01 10077.44 10399.67 buy 0.013673804555428 BTC for 140 USD
2019-09-01 9630.59 9757.97 buy 0.014441505712647 BTC for 140 USD
2019-10-01 8299.72 8343.28 buy 0.016823889923692 BTC for 140 USD
2019-11-01 9193.99 9261.10 buy 0.015171966107995 BTC for 140 USD
total:
buy 22.313812243429 BTC for 11060 USD

就是从2013年5月1号起每个月的1号买1000块钱比特币,到2019年11月1号,总共79个月,共花了79000块钱,买到了22.313812243429个比特币,这些比特币今天(2019-11-07)的价格是1,429,726.68人民币。18.1倍的收益。

我想起之前读过的一本书叫做价值平均策略,大概的意思是动态的调整每个月投资的额度,具体算法我不太记得了,我就自己想了一个简单粗暴的动态策略,用已知的最高价格作为参考值,把最高价格除以当前价格做为系数,这样价格越低买入的越多。代码如下:

$btc = 0;
$money = 0;
$init_price = ($result[0][$keys[1]]+$result[0][$keys[4]])/2;
echo 'initial price on '.$result[0][$keys[0]].': '.$init_price.PHP_EOL;
foreach ($result as $row) {
    if (explode("-", $row[$keys[0]])[2]=='01') {
        $price = ($row[$keys[1]]+$row[$keys[4]])/2;
        $spend = 140*($init_price/$price);
        $btc += $spend/$price;
        $money += $spend;
        echo $row[$keys[0]].' '.$row[$keys[1]].' '.$row[$keys[4]].' ';
        echo 'buy '.$spend/$price.' BTC for '.$spend.' USD'.PHP_EOL;
        $init_price = $price > $init_price ? $price: $init_price;
    }
}
echo 'total:'.PHP_EOL;
echo 'buy '.$btc.' BTC for '.$money.' USD'.PHP_EOL;

输出结果是这样的:

buy 140*(local high price/current price):
initial price on 2013-04-28: 134.755
2013-05-01 139.00 116.99 buy 1.1515609112047 BTC for 147.39403882964 USD
2013-06-01 128.82 129.30 buy 1.1326340212648 BTC for 146.17774678444 USD
2013-07-01 97.51 88.05 buy 2.191614613927 BTC for 203.33800388015 USD
2013-08-01 106.21 104.00 buy 1.7077573806559 BTC for 179.49383949384 USD
2013-09-01 135.14 138.34 buy 1.0089781766947 BTC for 137.96767588123 USD
2013-10-01 132.68 132.18 buy 1.0915681447006 BTC for 144.5563694027 USD
2013-11-01 203.90 206.18 buy 0.45535113653299 BTC for 93.365197034725 USD
2013-12-01 1128.92 955.85 buy 0.026418631819663 BTC for 27.538385529339 USD
2014-01-01 754.97 771.40 buy 0.25055122877977 BTC for 191.21693953629 USD
2014-02-01 828.61 832.58 buy 0.21153272498137 BTC for 175.6980237059 USD
2014-03-01 549.92 565.61 buy 0.46908729631231 BTC for 261.64047582763 USD
2014-04-01 457.00 478.38 buy 0.667175394006 BTC for 312.03126002266 USD
2014-05-01 447.63 457.76 buy 0.71210624326671 BTC for 322.36693579562 USD
2014-06-01 623.69 630.23 buy 0.37125859892633 BTC for 232.76429118285 USD
2014-07-01 641.39 640.81 buy 0.35506235979481 BTC for 227.63047886445 USD
2014-08-01 586.20 594.92 buy 0.41843512452875 BTC for 247.1110471417 USD
2014-09-01 477.79 474.88 buy 0.6431780306908 BTC for 306.3682072491 USD
2014-10-01 387.43 383.61 buy 0.98188892677318 BTC for 378.5378190496 USD
2014-11-01 338.65 325.75 buy 1.3223820109383 BTC for 439.29530403371 USD
2014-12-01 378.25 379.24 buy 1.0173312201919 BTC for 385.30911299159 USD
2015-01-01 320.43 314.25 buy 1.4491273531296 BTC for 459.86607424214 USD
2015-02-01 216.87 226.97 buy 2.9632159415969 BTC for 657.59688175919 USD
2015-03-01 254.28 260.20 buy 2.2053584452988 BTC for 567.30640646867 USD
2015-04-01 244.22 247.27 buy 2.416500048966 BTC for 593.84280453315 USD
2015-05-01 235.94 232.08 buy 2.6649395101285 BTC for 623.62249476518 USD
2015-06-01 230.23 222.93 buy 2.8425822771077 BTC for 644.07229234707 USD
2015-07-01 263.35 258.62 buy 2.1425210354757 BTC for 559.16585244363 USD
2015-08-01 284.69 281.60 buy 1.8202808285906 BTC for 515.40341521129 USD
2015-09-01 230.26 228.12 buy 2.7782086533372 BTC for 636.73764125834 USD
2015-10-01 236.00 237.55 buy 2.6030619162413 BTC for 616.33998521803 USD
2015-11-01 315.01 325.43 buy 1.4231781994891 BTC for 455.73012304041 USD
2015-12-01 377.41 362.49 buy 1.0662772066542 BTC for 394.4692526017 USD
2016-01-01 430.72 434.33 buy 0.78007032906727 BTC for 337.39991907982 USD
2016-02-01 369.35 373.06 buy 1.0590794814936 BTC for 393.13559892782 USD
2016-03-01 437.92 435.12 buy 0.76585736967879 BTC for 334.31205901219 USD
2016-04-01 416.76 417.96 buy 0.83778878317957 BTC for 349.65952654782 USD
2016-05-01 448.48 451.88 buy 0.72008505131324 BTC for 324.1678884002 USD
2016-06-01 531.11 536.92 buy 0.51173989609801 BTC for 273.27678061478 USD
2016-07-01 672.52 676.30 buy 0.32085453816226 BTC for 216.38750908201 USD
2016-08-01 624.60 606.27 buy 0.385293610276 BTC for 237.12317304021 USD
2016-09-01 575.55 572.30 buy 0.44304302441539 BTC for 254.2734677876 USD
2016-10-01 609.93 613.98 buy 0.38968816276562 BTC for 238.47161964524 USD
2016-11-01 701.34 729.79 buy 0.28500862887461 BTC for 203.94219952066 USD
2016-12-01 746.05 756.77 buy 0.25846530139145 BTC for 194.21341211855 USD
2017-01-01 963.66 998.33 buy 0.15164308156174 BTC for 148.76110479666 USD
2017-02-01 970.94 989.02 buy 0.15195736845904 BTC for 148.91518194249 USD
2017-03-01 1180.04 1222.50 buy 0.10112881684416 BTC for 121.48301381038 USD
2017-04-01 1071.71 1080.50 buy 0.14523101359762 BTC for 156.28381988746 USD
2017-05-01 1348.30 1421.60 buy 0.087679987206416 BTC for 121.43239828153 USD
2017-06-01 2288.33 2407.88 buy 0.035166334572328 BTC for 82.574246040956 USD
2017-07-01 2492.60 2434.55 buy 0.054164404460803 BTC for 133.43807271952 USD
2017-08-01 2871.30 2718.26 buy 0.044156899397747 BTC for 123.40881929884 USD
2017-09-01 4701.76 4892.01 buy 0.017004233055095 BTC for 81.567350478488 USD
2017-10-01 4341.05 4403.74 buy 0.03512760693623 BTC for 153.59177292994 USD
2017-11-01 6440.97 6767.31 buy 0.015397662640547 BTC for 101.68831975094 USD
2017-12-01 10198.60 10975.60 buy 0.0082487905532152 BTC for 87.330770465944 USD
2018-01-01 14112.20 13657.20 buy 0.0076883305976663 BTC for 106.75016384942 USD
2018-02-01 10237.30 9170.54 buy 0.020642872076286 BTC for 200.31677919851 USD
2018-03-01 10385.00 10951.00 buy 0.017080419081473 BTC for 182.21391076115 USD
2018-04-01 7003.06 6844.23 buy 0.040550382242634 BTC for 280.7564512623 USD
2018-05-01 9251.47 9119.01 buy 0.023040055422503 BTC for 211.628438669 USD
2018-06-01 7500.70 7541.45 buy 0.034364078094468 BTC for 258.45480865435 USD
2018-07-01 6411.68 6385.82 buy 0.04747601421011 BTC for 303.78714592694 USD
2018-08-01 7769.04 7624.91 buy 0.032811371521298 BTC for 252.54830631514 USD
2018-09-01 7044.81 7193.25 buy 0.038355079751556 BTC for 273.05096340372 USD
2018-10-01 6619.85 6589.62 buy 0.044560878258085 BTC for 294.31279226192 USD
2018-11-01 6318.14 6377.78 buy 0.048238764192504 BTC for 306.21774554345 USD
2018-12-01 4024.46 4214.67 buy 0.11454122324716 BTC for 471.86001434617 USD
2019-01-01 3746.71 3843.52 buy 0.13496297887131 BTC for 512.20002555917 USD
2019-02-01 3460.55 3487.95 buy 0.16104320456432 BTC for 559.50435345758 USD
2019-03-01 3853.76 3859.58 buy 0.1306891631676 BTC for 504.02497491359 USD
2019-04-01 4105.36 4158.18 buy 0.11386552694181 BTC for 470.46616825235 USD
2019-05-01 5350.91 5402.70 buy 0.067238182215101 BTC for 361.52659432507 USD
2019-06-01 8573.84 8564.02 buy 0.02647349902264 BTC for 226.84955998007 USD
2019-07-01 10796.93 10583.13 buy 0.017010093009046 BTC for 181.83840456949 USD
2019-08-01 10077.44 10399.67 buy 0.0185433075381 BTC for 189.85667411075 USD
2019-09-01 9630.59 9757.97 buy 0.020683947066558 BTC for 200.51597436839 USD
2019-10-01 8299.72 8343.28 buy 0.028071220864445 BTC for 233.59466442348 USD
2019-11-01 9193.99 9261.10 buy 0.022829278840654 BTC for 210.65819781968 USD
total:
buy 51.375763838804 BTC for 22893.725512278 USD

最后结果是花了22893.72USD(就是163526.57人民币)买到了51.375763838804个比特币,这些比特币今天(2019-11-07)的价格是3,290,352.13元人民币。20.1倍的收益。

两者‌‍‍‌‍​‌‌‍​‌‌‌‌‌​‌‌‌‍‍​‍‍‍‍‌​‌‌‍‌​‌‍‍‌‍​‌‌‍​‍‌‌‌‌​‌‌‌‌‌​‍‍‍‌‌​‍‍‌‌‌​‌‍‍‌‍​‌‌‍​‍‍‍‍‌​‌‌‌‌‍​‌‌‍‌​‌​‌‍‍‌‍​‌‌‍​‍‌‌‌‌​‌‌‌‍‍​‌‍​‌‌‌‌‌​​‌‌‌‌​‍​‍​‌‍‍‌​‌‌‌​​​​‍​‌​‍‌‍‌​‌‌‌‌​​‌‍‌‌​‌‍​‍‍‍​‍‍‌​‍‍‍​‍‌​‍‍‌​‌‌‌​‌‌‌‌​‌‌‍​‍‍‍​​‍‌‍‌​‍‍‍​‍‍​对比,后一个方案虽然收益多了两倍,但是投入的资金也翻倍了,而且每个月还要计算投多少钱进去,感觉不太值得,当然如果看最后结果的话,

79000变成1,429,726.68 (八万变成一百四十万)

163526.57变成3,290,352.13 (十六万变成三百二十万)

可能很多人还是愿意选择第二个方案,因为16万虽然不是小数目,但是努力一下还是可以拿出来的,最后的收益也更有吸引力的。

友情提示,本文章只是历史数据分析,并不构成任何投资建议,比特币风险很大,你需要强大的心脏来承受价格的巨大波动。