Tuesday, December 23, 2014

今夜的灯光不属于我




果然选择了一条比较艰难的道路。我时常告诫自己,年轻的时候要去多经历一些,哪怕道路不是那么平坦也要坚定地走下去。可是事情往往是说起来容易,真正实践起来就变得无比困难。困难本身并没有什么变化,随着时间的推移,外部的环境可能会有细小的变化,但是终究还是和最初的状况相差无几。更多的是心理上的,很容易就会怀疑自己,否定自己。其实我可以想得明白,在某一个时刻做出某一个决定,那时往往不是是非对错的问题,往往也不存在是非对错的问题。就是那么决定了而已。

“现在”是一个非常奇妙的时间点,既无法纠结未来,过去的也无法纠结。前两天无意间看到一篇文章,大意上是说我们应该始终相信过去的决定是正确的。从某种程度上我是赞成这样的一种态度。 最近一段时间情绪有些低落,我也明白了一个道理,那就是一个人比自己想象的还要孤独很多。几乎没有人可以真正理解另一个人,最好的情况也不过是无条件的支持。这样的支持一般来自父母和身边最好的一两个朋友,剩下的就无关紧要了。如果说目前有什么压力,那也就是看着日渐苍老的父母,在看着自己的无所作为感到一种对于自己的无能的愤怒。

生活在这样一个时代,我们似乎已经没有办法知道自己以后会去做什么。但我仍然想知道自己以后想去做什么,想拥有怎样一种生活。我始终坚信需要把握住大的方向,不然就会迷失在细节和琐碎之中。 我并不知道挣扎会不会让人变得更加强壮。然而自强不息的呐喊已经深深根植在心中。没有理由退缩,没有理由放弃。
 
很快新的一年就要到来,希望自己能给自己一个交代。

Saturday, November 29, 2014

How to add application to the launcher in Ubuntu





To add application to the launcher in Ubuntu, we need create a .desktop file in the /usr/share/applications

The .desktop file has the following format:



[Desktop Entry]
Name=pyCharm
Type=Application
Exec=/home/username/Programs/pyCharm/pycharm-community-3.4.1/bin/pycharm.sh
Terminal=false
Icon=/home/username/Programs/pyCharm/pycharm-community-3.4.1/bin/pycharm.png
NoDisplay=false
Categories=Development;IDE
Name[en]=pyCharm





Sunday, November 23, 2014

睡不着阿睡不着



这几天真是悲剧,不知道为什么晚上总是睡不着。 好像去年这个时候也是这样的情况。可能是床垫太软了。

看了看原来的的状态,有些还挺有意思的。整一年过去了,想来现在的心境又和原先相差甚远,看着一年前的状态,感觉像是另一个人一样。

希望明天好运。



旅途中擦肩而过的朋友
总有一天你会再次想起我
我看过 席卷旷野的爱火
激情燃烧之后默默地衰弱
我去过 遥远大陆的尽头
想象你在身边一直陪着我
那是孤单的滋味 坠入大海的错觉
挣扎显得无所谓 到底要不要迷醉
不想睡 我要想你一整夜
回忆过去的甜美 拒绝明天的安慰
黑夜消散在空中 你会轻轻祝福我
笔尖在颤动
阳光 一丝温柔




Wednesday, November 19, 2014

Install Java7, Java8 and Javaplugin for firefox in Ubuntu


The methods mentioned here have been tested. (11/19/2014)




Install Oracle Java7 in Ubuntu


sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

see : http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html








Install Java8 in Ubuntu


1. download jdk file
2. decompress the file tar xvzf jdk1.8*.tar.gz
3. relocate JDK 8: mv jkd1.8* / usr/lib/jvm
4. Install Oracle Java JDK 8
    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8*/bin/java 1065
    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8*/bin/javac 1065
    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8*/bin/jar 1065
    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8*/bin/javaws 1065
5. check or set the system java version in Use with: 

    sudo update-alternatives --config java

see : http://tutorialforlinux.com/2014/03/15/how-to-install-oracle-jdk-8-on-ubuntu-12-04-precise-lts-32-64bit-easy-guide/





Install Java plugin in Firefox


;;; install the Icedtea plugin
sudo apt-get install icedtea-plugin

;;; create a symbolic link
ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

alternatively, one may find the plugins directory  in /usr/lib/mozilla

see : http://askubuntu.com/questions/354361/how-to-install-java-plugin-in-firefox

Sunday, November 16, 2014

《黑客与画家》读后感...真的是切身感受到了...



花了两个下午的时间快速浏览了一下《黑客与画家》。 和《out of control》一样,这也是一本分析潮流的书。 作者主要讨论了网络对程序开发的影响指出了桌面软件将会慢慢被别的东西取代这一趋势。书的最后部分讨论一下不同编程语言之间的区别,然后赞美了一下lisp这个语言,显然作者对lisp有一种带着崇敬的喜爱。

之前就想学一个新的编程语言,现在对machine learning 比较感兴趣,网上有些文章也指向了lisp。只不过一直没有下决心,毕竟是一个和传统流行语言不太一样语言。 比较有意思的是,好像用lisp可以写出能编写程序的程序,这一点还是挺吸引人的。今天找了本简单的教材看了看,确实挺有意思,值得学习一下开拓一下视野。

结果悲剧的事情来了。在安装第二个版本的common lisp的时候,一不小心把/bin 文件给删了,只得重新安装系统然后就是再把原来的软件一个一个的全部都安装回来。所以书上说的好,以后电脑或者其他电子设备只应该是一个连接网络的工具,而其他诸如软件,数据就应该在服务器上或者其他什么地方,总之个人的电子设备不应该负责存储数据。如果真是那样的话,就不会遇到这种重装系统再重装软件的情况了。

《黑客与画家》好像是2001年的书。作者提到的好多概念,现在正在慢慢地被实现。像云计算,网络硬盘,微软的online office 等等已经是习以为常的事物。不得不承认,这个世界上总有一些人看的比别人要远,总有一些人是走在时代的最前沿。 然后还有一些人生来就是为了超越时代的。


顺便记录一下分区,不然以后忘记了就不好了。
sda6 -> /
sda7 -> /boot
sda8 -> /home
sda9 -> /usr
sda10 -> /var
sda11 -> /temp

Wednesday, November 5, 2014

Collect 100 Trading Mistakes []~( ̄▽ ̄)~* 乾 (1)






It is always true that when stock price drops, someone will enter. The stock price will rebound for a moment and this is called "reaction"...... And this time I made a mistake because I respond to such reaction of the market. It seems that this is one of the frequent mistakes in trading. People tend to over-react.

I covered my short position at 20.00+ T.T

One lesson learned from this is that the position is very important. Even though I still believe the price will continue to drop, I am hesitating to short P again.
╮( ̄▽ ̄)╭ 





Friday, October 17, 2014

动物精神 -- 摘抄



文艺分析家们认为,故事也是有套路的。他们宣称,在人类历史上只有少数打动人心的故事被不断讲述和传述。只有故事的名称和细节有一些变化。1916年乔治?波尔第大胆宣称,基本的戏剧情景只有36种。


罗纳德?托拜厄斯在1993年写道,其实只有20种基本的结构,他将其命名为“求索(quest)、冒险(adventure)、追击(pursuit)、营救(rescue)、逃离(escape)、复仇(revenge)、迷局(riddle)、争斗(rivalry)、迫害(underdog)、诱惑(temptation)、变异(metamorphosis)、转型(transformation)、成熟(maturation)、爱情(love)、乱伦 (forbiddenlove)、奉献(sacrifice)、发现(discovery)、贪索无度(wretched excess)、升华(ascension)和堕落(descension)。 当然,这些作家没有抓住人类故事的所有方面,但他们的各种概括与现实已经非常接近。


我们的动物精神理论中所有的因素对于理解1890年代的萧条非常重要:与经济失败的故事、以及萧条发生之前若干年内腐败增加的故事结伴而来的信心破灭;强烈的对于经济政策不公平的感觉;未能准确认识消费价格下降造成后果的货币幻觉等。因此第一部分中的每一章都和理解经济萧条有关。


“一种对危机普遍感到的切身痛苦,和对人类完美失去信心及深感怀疑的失望情绪。” 这种对危机的深刻感受,完全是来自人们受到的毫无原则的自私自利、腐化堕落,以及诡计多端的不公平的政治的影响。

Friday, October 10, 2014

有的时候真是不能忍

相较于市场没有朝向对自己有利的方向发展,没有按照自己的既定计划行事更加让人觉得沮丧。越来越觉得想要捕捉一天之内的波动其实非常困难,甚至是不太可能的一件事情。总有一种感觉,90%的时间价格是逆着自己的想法走。一买就跌,一卖就涨。 虽然这有可能是因为每次都没看准,从而夸大了自己的不走运,但还是会在想是不是broker在搞什么鬼,尽量的想刺激client多进行交易。

今天得到的另外一个教训就是不要太在意小的波动。Trend is your friend. 没有波动才不太正常,但是看准了大的趋势就不应该害怕,担心自己错过最好的进行操作的时机。实际上,从来就没有最好的时机,不可能有人总能在最低点买入,在最高点卖出。 很多书上也都强调,不要去predict, 而要在看到market 给出confirmation之后再进行操作。市场会有reaction,再加上现在好多trade都是有电脑和算法在背后操作,说不定散户的操作都能被detect到,然后算法做出某些操作故意扰乱人的心理都是有可能的事情。

容忍波动和及时止损是一个相当具有艺术性的问题。一方面要有自己的一套规则,另一方面要适当的相信直觉。investment也好,纯粹的trading也好,并不会有明确的规则告诉我们应该怎么做,从某种角度说,如果真有某些规则,那一定也是告诉我们不能做什么。人们讨论股票交易已经很多年了,翻一翻市面上的书,基本上翻来复去说的都是同样的东西。这么多年过去了,还是很多人不断的在被所谓的human nature 所击败。

虽然经常被市场的走势弄得很沮丧,对自己的操作有时候也忍无可忍,可是实际上,trading也许是对错误容忍度比较高的一个活动。错很多此不是很重要,关键要控制犯错的成本,一旦有机会看准了,就应该放开手去大干一场。最最忌讳的就是犯错的时候过分乐观,走运的时候又小富即安。



Wednesday, September 17, 2014

O yeah, practice!


O yeah, prepare for interview, need some practice :)


from random import randint

level_1 = 2
level_2 = 2

keyboard_input = ''
while keyboard_input != 'quit' :
    num1 = randint(10 ** (level_1 -1), 10 ** level_1)
    num2 = randint(10 ** (level_2 -1), 10 ** level_2)
    ans = num1 * num2
    print ("%d * %d \n" % (num1, num2))
    ans_input = raw_input()
    while int(ans_input) != ans :
        if ans_input == '-1' :
            print (ans)
            break
        ans_input = raw_input('wrong answer\n')

    print('correct\n')
    keyboard_input = raw_input('next?')








Friday, September 12, 2014

《止学》心卷



《止学》心卷

欲无止也,其心堪制。惑无尽也,其行乃解。

不求于人,其尊弗伤。无嗜之病,其身靡失。自弃者人莫救也。

苦乐无形,成于心焉。荣辱存异,贤者同焉。事之未济,志之非达,心无怨而忧患弗加矣。

仁者好礼,不欺其心也。智者示愚,不显其心哉。

Wednesday, September 10, 2014

《止学》 辩卷



《止学》 辩卷


物朴乃存,器工招损。言拙意隐,辞尽锋出。

识不逾人者,莫言断也。势不及人者,休言诲也。力不胜人者,勿言强也。

王者不辩,辩者少威焉。智者讷言,讷者惑敌焉。勇者无语,语则怯行焉。

忠臣不表其功,窃功者必奸也。君子堪隐人恶,谤贤者固小人矣。


Friday, September 5, 2014

灵之舞 --- 摘抄



无法确信周围的世界即是真实,
在这个慵懒的夜里也无心追问何为有意义的生活。
一杯淡茶,好像也挺幸福。



----- 摘抄 -----

“若起正真般若观照,一刹那间,妄念俱灭,若识自性, 一悟即至佛”

悟不是神的启示,也不是本性的必然发展和推演,而是
一念之间即成正果。但实际上,这种一念之间的转化既不是任意性,也不是自由选择,而是纯
粹的偶然性。顿悟并不是有规律可寻的,也不是立意要得到即可得到的;顿悟除要有“悟性”、
“慧根”外,还要有“缘分”,即机缘。




人生在某些人那里或许也就是这么回事。人追求着生命,企图把握生命本身;人渴望着纯
粹,想在最本真、最直接的意义上把生命捏在手中把玩和欣赏。就在这种追求和渴望中,生命
消失了,或不如说,一点一点地流失了。人似乎一直都在“准备生活”,为将来的“正式的”生活
“订基础”,到了老年,又为下一代人的生活打基础,却从来没有自己好好地生活过,他总是来
不及体验生活。在这种烦忙与奔波中,人漫不经心地将自己生命的鳞片逐一丢弃、失落,直到
将生命本身也整个地失落。难道是因为对生命的祈求过高,所以不能不陷入深探的失望吗?难
道应该指责的是生命本身的无聊、而不是人自己的懒惰和妄想(尽管通常把这称之为“操劳”和“现
实”)吗?我们该到哪里去寻找自己的生命呢?


最为震撼人心的,是托尔斯泰在《安娜 卡列尼娜》中对死的那段著名的描写:那支蜡烛,
她曾借着它的烛光浏览这充满了苦难、虚伪、悲哀和罪恶的书籍,比以往更加明亮地闪烁起来,
为她照亮了以前笼罩在黑暗中的一切,摇曳起来,开始昏暗下去,永远熄灭了。

真诚是一种表演。人们之所以真诚,是因为他们在表演着真诚。

真正的真诚,是在意识到这种真诚有可能是虚伪时才产生的,是对自己的真诚永不满足和
随时拷问。而一旦人意识到这一点,他就在表演真诚。与虚伪完全隔绝、不知道虚伪为何物的
真诚是不存在的。


意识到一切人(包括自己)都有可能虚伪,因而都有可能被看作虚伪,这是真正的真诚观
念的萌芽。不会说谎是愚笨,不愿说谎才是诚实。真正的真诚是一种选择,它背后有一个无限
可能的谎言世界;但真诚的人选择了真诚,并将它表演了出来,对别人,也对自己。


与此相类似的是人对死亡焦虑的克服。对死亡的恐惧感是全靠自欺才得以摆脱的。人们常
说,人和动物的重要区别之一是他知道自己是必死的。但其实反过来说也一样:每个人暗地里
都相信,哪怕凡人皆有死,但唯独自己是不死的。他甚至无法不相信这一点。他设想自己死后
的情况时不能不用自己活着时的眼光,他“看到”亲人们在他的棺材前哭泣,“感到”人家把他放入
阴冷潮湿的墓穴。哪怕他是个无神论者,他也在用自己心灵的眼注视着他死后的大地、山川、
太阳和永恒的星空。并不是人首先知道自己是要死的,然后才构想出死后生活(地狱、天堂、
彼岸)来安慰自己;相反,正是对死后生活的想象才使“死”的概念第一次建立起来(作为生前
生活和死后生活的边界。因为存在只能和另一种存在交界,决不能和纯粹的虚无交界)。

如果这种恐惧不及时地转化为对生活的热爱和对不死的自信,它很可以使
一个人的精神陷于崩溃;但这一步一经做到,它就成了一个人终生不懈地追求生命、创造生活
的动力。


只有在普遍自我意识形成之后,
人才不再以惊奇陌生的眼光看待生人,而有可能以惊异的眼光来看待自己,这个过程一般在青
少年时代即可完成。但中国人常常由于某种原因而将它推延到中年以后,甚至一辈子也未能对
自己发生惊异感,而对外部陌生的世界永远抱一种儿童式的胆怯,表现出不知所措的尴尬。


科学从其历史来说,是从原始巫术、神话、宗教
世界观和炼金术中一步步孕育出来的;然而从其精神实质来说,它是排斥情感、漠视体验的,
它本质上是一种(思维的)操作和技术,即借用概念、符号、数字的媒介对某个客观对象在思
想上进行间接的控制,而不是敞开全身心直接吃去容纳、吸收和欢迎一个对象。



人格的第一个前提是孤独意识。没有意识到人有孤独的权利的人,也就没有意识到人格。
所谓孤独的权利,是指人作为精神主体的存在肯定自己的孤独性、唯一性,是对孤独的需要,
即把自己与别人区别、划分开来的需要。用日常的话来说就是:“我需要独自呆一会儿”,“我需
要一个人静一静”。


通常,这种孤独感的爆发总是在经世济民
的理想遭到破灭,而又尚未彻底绝望,未遁入佛、道门径以求超脱的节骨眼上,作为一种过渡、
犹疑和眷恋不舍之情来抒发的。李白的孤独感最明显地体现了这一点:弃我去者,昨日之日不
可留;乱我心者,今日之日多烦忧。长风万里送秋雁,对此可以酣高楼。蓬莱文章建安骨,中
间小谢又清发。俱怀逸兴壮思飞,欲上青天揽明月。抽刀断水水更流,举杯消愁愁更愁。人生
在世不称意,明朝散发弄扁舟。


然而,他们终于发现,历史似乎注定他们只能是平凡的、渺小的一群,轰轰烈烈、伟大和万古
流芳早已不属于他们,自虐的自我悲壮感在下一瞬间立即变味,成为荒唐、无聊和滑稽。当人
们从热烈的、煞有介事和庸人自扰的群体氛围中退出来,便突然发现自己是那么的孤独和一无
所有。这一代人的情结中,永远交织着摆脱群体意识之后的轻松和对孤独的沉重的畏惧,总是
情不自禁地回忆起自己青少年时代的纯真和激昂,为过去时代的音符而击节、而泪如泉涌。


“自由对许多人来说是一种梦寐以求的目标,可对另一
些人来说却是一种威胁,原因何在?” “人除了具有向往自由的内在愿望之外,大概总不会还有
向往屈从的本能愿望吧?

一方面,人日益摆脱外界权威而获得了独立,他可以最大限度地自己决定自己的命运;
但另一方面,人却日益孤独,产生了个人的无意义感和无权力感。因此,“一方面,人失去了以
前他曾享受的那种安全,失去了以前那种无可非议的所属感,无论在情感还是精神上都感到茫
然不知所措,深感孤独与忧虑;另一方面,他可以自由行动,独立地思考,成为自己的主人,
可以按照自己的意愿生活而不必听命于人。”


人一旦把自己看作自由的,他就不得不面临最尖锐的逻辑矛盾。自由等于荒谬。


人们把死当作一种尚未到来的
东西推得远远的,淡化死的意义,把平静默然地对待死当作勇敢高尚,把“想到死”视为胆小懦
弱。但其实,“畏死”需要一种更大的勇气,它揭破了日常生活中平静无忧、自得其乐的自欺性
质,提出了追究一切烦忙的终极根源的大问题。

人们说,爱就是“占有一个人的心”,而不光是占有其肉体。但这样说是自相矛盾的,或仅仅
是象征性的说法。因为“心”是不能“占有”的,能“占有”的就不是“心”。真正的爱是永远的焦虑、
担扰,是对被爱者的自由所抱的恐惧和期望,是对对方的“真心”的永无止境的试探和对无望的
爱的永怀希望的追求,是在无条件的奉献和自由的获取这两者之间的永恒的矛盾,是幸和不幸
的不断交替和互渗:在幸福中埋藏着不幸的预感,在痛苦的间歇中才有片刻的销魂。有人说,
爱只有在想象中才能不灭。有人说,爱本身就是一种自欺欺人。他们道出的实际上是这样一种
真实:爱是一种表演,一种痛苦的表演;爱是一种艺术,一种造爱、但永远无法臻于完善的艺
术。




鲁迅指出:“中国人的不敢正视各方面,
用瞒和骗,造出奇妙的逃路来,而自以为正路。在这路上,就证明着国民性的怯弱、懒惰,而
又巧滑。一天一天的满足着,即一天一天的堕落着,但又觉得日见其光荣”。

把自己从群体中区别开来,哪怕孤独而死;坦然欣然地生存,哪怕将遭践踏和删刈;在生
命的临界点上喷涌奔突,为同归于尽的毁灭而大笑歌唱:这是数千年中国传统中从未有过的自
由感,这是自由意志的个性在中国大地上的首次诞生。

Saturday, August 30, 2014

Reading Notes : Secret of Wealth

Note:

1. Set goals for yourself
2. Save 10% of what you make
3. Invest now, in the market and in yourself
4. Get out of debt

Quote:

If you choose not to decide, you still have made a choice.

The quality of a person’s life is in direct proportion to their commitment to excellence.

Successful people don’t make excuse.

The rich have been getting richer using other people’s money for centuries.

Not starting is a bigger mistake than making a bad investment.

The only reason you are where you are in life is because you chose to be where you are.

Think hard and ask yourself “how can I realize these dreams if I keep doing what I’ve been doing?” The answer is that you can’t, which is why you need to stop making excuses and take action.

The best thing about the future is that it comes only one day at a time.

If you don’t know where you are going, you will end up some place else.

Cherish your own vision and your dreams as they are the children of your soul; the blueprints of your ultimate achievements.

How you spend your time is more important than how you spend your money. Money mistakes can be corrected, but time is gone forever.

A penny saved is two pennies earned.

They delay purchases they don’t need right away until their next shopping trip and often they find that they didn’t really need the item.

If your life is without failure, you haven’t taken enough risks.

In the long run, men hit only what they aim at, therefore, they had better aim at something high.

If you think education is expensive, try ignorance.

Deciding to commit yourself to long-term results rather than short-term fixes is as important as any decision you will make in your lifetime.

Do not wait for an opportunity to be all that you want to be. When an opportunity to be more than you are now is presented and you feel impelled toward it, take it. It will be the first step toward a greater opportunity.

Book Recommendation:

Believe and Achieve by W.Clement Stone
The Richest Man in Babylon by Geoge Clason
The Millionaire Next Door by Thomas J. Stanley


Friday, August 29, 2014

读《浪潮之巅》




历史的车轮滚滚前行,顺之者昌, 逆之者亡。 而大潮将至, 能者勇者乘风破浪,慵懒之人则只能迎来被浪潮吞没的命运。也许这就是所谓的历史的必然性,个人无法逃脱,公司无法逃脱,一个国家同样也无法逃脱。

而只有站在浪潮之巅,才能顺势而为从而走得更远。

那是一个拒绝平庸的年代,一个群星闪耀的年代。

摘抄:

1. 成功的公司各有各的绝招,失败的公司倒是有不少共同之处。

2. 一个人一辈子赶上一次大潮就足以慰平生了。

3. 一个公司的基因常常决定它今后的命运。

4. 过于超前市场的技术不仅导致成本过高,而且维护为用也是巨大的。

5. 我们社会的科技和生产力发展就必须和商业联系起来。 一个技术,一种产品只有当他被证明在商业上是成功的,才能真正地为我们这个社会接受。

6. 当一个人往下走的时候是不需要扶的,当他往上走时恰恰需要你扶一把。

7. 一个小公司要想成功, 有很多因素必须同时具备:
    * 创始人很重要,任何梦想家都不足以成事, 因为所有成功者都是实干家  
    * 成功的创业者必须有个小而精的团队
    * 他们的技术必须是不容易被别人学会和模仿的
    * 找到一个能盈利的商业模式
    * 判断力和执行力
    * 外部环境与时机
    * 好运气
















Sunday, August 17, 2014

随便写写(2)






随意在网上挑了本书,只是因为喜欢作者的名字与书名。

有的时候与喜欢的文字相遇也是一种缘分。 作者应是博学,可惜自己功力不够,不能尽赏书中言语之精妙。不免好奇,究竟是什么样的经历造就了这样奇特的文字。


《即兴判断》 木心

一有幸福可言,就意味着灾祸的存在,幸福是指灾祸竟已过去和灾祸犹未到来,那一段时空状态才是所谓幸福,别的还能指什么,别的没有指什么了。
 
中国文化精神的最高境界是欲辩已忘言。
欧陆文化精神的整体表现是忘言犹欲辩
 
修身——好玩。齐家——不好玩。治国——好玩。平天下——不好玩。因为,因为修身可能。齐家不可能。治国可能。平天下不可能。比起来,治国最好玩,堪惜很少大玩家。
 
词句与想法互为先后,想法带出词句,是语言。文学之胜于语言,正在乎最珍贵的想法,往往是被词句带出来的。
心灵有时像杯奶,小事件恰似块方糖,投下就融开了,一路甜甜地踅回来。
 
博比爱大多了,爱一定要使被爱的人明了处于爱中,所以烦恼郁毒,而博者不求受博者有知觉,便能随时恣意博去,博之又博,惊讶与快乐莫须再分。
 
江畔的大阳伞下,老人瞑目端坐,娟娟少女斜签着捧书朗读,前面是一望无际的松花江,男性气概的熏风吹得畅洋,使我既羡慕那位老的,也羡慕那位少的,更羡慕那本被捧着的书。

Friday, August 15, 2014

Something a beginner investor should read.



List :



Let us read, and let us dance; these two amusements will never do any harm to the world.

Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde.

                                                                                                                                               -----  Voltaire



Tuesday, August 12, 2014

Keep investing on a regular basis




Just to save money is not enough, we should keep our saving growing. Here is a very simple strategy: keep investing on a regular basis. 


We will use R to test this very simply idea. Suppose that we start from 2004-05-10 and we keep investing 1000 to MDY every 20 business days. The transaction cost is 10/trade. The period is intentionally selected so that it can go through the financial crisis. 

To estimate the annualized return of this strategy, we will compare the final market value of our investment to our total investment and use the formula :
(finalValue/initialInvetment) **(1/numYears)-1
Note that this formula will provide an approximate estimation of the annualized return, because the time of investment being in the market does not cover the whole period. The test shows that we can get about 6% annualized return each year from this very simply strategy.

The R script is attached at the end of the post. The results of the strategy heavily depends on the parameters of the algorithm and the studying period.

We can improve this strategy by making it more flexible. For instance, when the market condition is not good, we can try to invest more money to the equity market, believing that the economy or the market will come back sooner or later.


------------------------------------------------------R script -------------------------------------------------------

 library(tseries)


ustart  <- "2004-05-10" # start date
uend    <- "2014-08-08" # end date

ticker  <- "mdy"
quote   <- get.hist.quote(instrument=ticker,
                          start=ustart,
                          end=uend,
                          quote=c("AdjClose"),
                          provider="yahoo",
                          compression="d")

dates <- rownames(as.data.frame(quote))
quote <- as.double(quote)

# --------------------------------------------------

ptr                                   <- 0
l                                      <- length(quote)

amount                           <- 1000
investmentPeriod            <- 20
transactionCost              <- 10
totalInvestment               <- 0
shares                             <- 0
totalInvestment_std         <- 0
shares_std                       <- 0

dateIndex                        <- array()
annualizedReturn           <- array()
annualizedReturn_std     <- array()

count                              <- 0
level_low                        <- 0.03
level_high                       <- 0.05
extra_amount                <- 250


while (ptr < l) {
 
  ptr <- ptr + 1
 
  if (ptr %% investmentPeriod == 0 ) {
    count <- count + 1
    dateIndex[count] <- ptr
    if ((annualizedReturn[ptr-1] < level_low) && (count > 6)) {
      extra_amount          <- min(500,amount * (level_low - annualizedReturn[ptr-1]) * 15)
      totalInvestment            <- totalInvestment + amount + extra_amount
      shares                          <- shares + (amount + extra_amount) /quote[ptr]
    
      totalInvestment_std     <- totalInvestment_std + amount
      shares_std                   <- shares_std + amount / quote[ptr]
    
    
      # } else if ((annualizedReturn[ptr-1] > level_high) && (count > 6)) {
      # extra_amount <- max(-200, amount * (level_high - annualizedReturn[ptr-1]) * 2)
      # totalInvestment <- totalInvestment + amount + extra_amount
      # shares <- shares + (amount + extra_amount) /quote[ptr]
      #
      # totalInvestment_std <- totalInvestment_std + amount
      # shares_std <- shares_std + amount / quote[ptr]
    
    
    } else {
    
      shares                         <- shares + amount / quote[ptr]
      totalInvestment           <- totalInvestment + amount
    
      shares_std                   <- shares_std + amount / quote[ptr]
      totalInvestment_std    <- totalInvestment_std + amount
    }
  }
 
  if ((totalInvestment == 0) || (count < 6)) {
    annualizedReturn[ptr]    <- 0
  } else {
    currentValue                    <- quote[ptr] * shares
    currentValue_std             <- quote[ptr] * shares_std
    portionOfYear                 <- count * investmentPeriod / 252
    aReturn                           <- ((currentValue - count * transactionCost)/totalInvestment) ** (1/portionOfYear) - 1
    aReturn_std                    <- ((currentValue_std -count * transactionCost)/totalInvestment_std) ** (1/portionOfYear) - 1
    annualizedReturn[ptr]          <- aReturn
    annualizedReturn_std[ptr]    <- aReturn_std
  }
}



# --------- plot ----------

plot(quote, type="l", ylab="", xlab="", xaxt="n")
uPoints <- cbind(dateIndex, quote[dateIndex])
points(uPoints, pch=17, col="blue")
par(new=TRUE)
plot(annualizedReturn, type="l", col="red", ylab="MDY",xlab="",xaxt="n", yaxt="n", ylim=c(-0.15,0.15))
lines(annualizedReturn_std, type="l", col="green", ylab="return",xlab="",xaxt="n",yaxt="n",ylim=c(-0.15,0.115))
lines(rep(level_low,l),type="l", col="lightgrey")
lines(rep(level_high,l),type="l", col="lightgrey")
legend("bottomright", legend=c("price","simple","aggressive"), col=c("black","green","red"), lty=1, cex=0.45)
y_grid <- c(-0.15,-0.1,-0.05,0,0.05,0.10,0.15)
axis(4,at=y_grid, label=y_grid)
nDates <- trunc(l / 252) * 4
cc <- trunc(l/nDates)
pos <- c(1:nDates) * cc
axis(1,at=pos, label=dates[pos],las=2)
title("Invest On a Monthly Basis")


# ---------- not important --------
annualizedReturn[l]
annualizedReturn_std[l]
(quote[l]/(mean(quote[1:15]))) ** (252 /l) - 1

Sunday, August 10, 2014

随便写写(1)(test)


 

行走在荒原,
注定孤独的灵魂;
沉在夜底的星,
看尽人间凄美的故事。