那一切都源于阿谁做死的idea。
先介绍一下布景:
我入市的时候刚好是上上轮大牛市(07年)的尾端,然后在一地鸡毛的行情中赔得惨绝人寰。所幸08、09年后起头时来运转,一不小心就掐住了命运的咽喉,抓住了人生中的第一只大牛股(恒生电子),又立马满血新生过来,而且还活得非常滋润。
因为其时我做的是长线啊,不消每天逃涨杀跌,快进快出,只需要安恬静静地做个美须眉就好,看着恒生电子的股价不竭的往上层,利润不竭的扩大,我觉得世间人世间最美好的工作莫过于此,详见
哪些股票值得持有 10 年? - 此缠非缠的答复。每天的光阴除了偶然看看盘,感触感染一下快感之外,就是跟各类伴侣小聚,吃吃小暖锅、喝喝小酒,唱唱KTV……现下回想起来,那样的日子,大要是我前半生最快活的光阴。
做为一只股市老鸟、韭菜的收割机、人生的赢家,其时我整小我的形态都长短常飘然的——炒股嘛,我看其实挺简单……
曲到有一天,不晓得是哪根神经不合错误,我特么历来不看科幻小说的人竟然看完了一本科幻小说,然后自行推翻了我阿谁“炒股,我看其实很简单”阿谁幼稚好笑的设法。
原因是那本书写得其实太好了,书中讲述了一个及其牛逼的计算机系统,它能够按照所搜集到的数据模仿出气候变革的过程,还能预测将来的气候,准确率可达100%,秒杀如今一切气候预报。更为奇异的是,它以至能指出气候变革的某些关键点和关键要素,只要在那里略微影响一下,人类就能完全把持气候。
(嗯,详细书名我忘了,详细的故工作节我也忘了,总之如今,就只记得阿谁超牛逼的系统了)
那本书带我的震撼水平,丝毫不亚于原始人看见飞机大炮——我特么一介文人,在之前的印象中,计算机顶多就是查查材料写写稿,偶然炒炒股票,它竟然还能干那事儿?霎时脑洞大开:我炒股那么天才,能不克不及也弄一个如许的系统,来模仿股票变革,来预测股市行情。如许的系统若是能弄出来,会不会超等牛逼,会不会受万寡注目?
预测行情,那可是世界超等难题啊!那么多年来,历来没有哪个牛人能做到那一点,大数学家牛顿没做到,高文手利弗莫尔也没做到!如许的的超等难题,若是我能处理,会不会得诺贝尔奖?
那一霎时,我似乎已经看到诺贝尔奖经济学奖在向我招手。
只要有足够全面的数据,只要足够准确的模子,系同一定可以模仿出股市运动的标的目的,预测到行情变革的标的目的——那是一个入门级科幻小说喜好折所坚信的逻辑,那是一个对科学蒙昧无畏者想要终生达成的信念!
鸡血充溢了我全身上下每一寸皮肤,每一个细胞,那特么是一件何其伟大的事业,我又是多么的幸运,被上天选中来停止那一项开天辟地的工做。
好吧,是我想多了。因为后面的履历告诉我,年轻人,光有鸡血是不敷的!!
那么,让我们起头吧,不克不及光说不练。但是,要弄如许一个系统,要从何起头呢?
起首得掌握一门编程语言吧!
对,编程语言是人与计算机交换的东西,是让计算机从命号令的砝码,是搭建一个伟大的股票智能系统的基石!要完成我如斯天才般的设想,哪能依靠他人,那事儿非本身来不成。于是,我撸起袖子,筹办去书店,找本编程册本停止自学。
幸亏其时还没有被鸡血冲昏思维,在去书店的途中,我给一位读大学时的老友打德律风。他其时在学校时计算机学得超等牛逼,还参与过什么编程大赛拿过大奖,其时在国内更好的互联网公司工做。我在德律风中跟他简单说了说我天才设想,并让他保举一本进修编程语言的书。我想,他既然计算机那么强,保举的书必然也不会让我绝望。
公然他想了想,然后告诉我,去学学强大的Java吧,能够先买本《Java编程思惟》看看,但是,可能会有点难……
对,我需要的就是要一门足够强大的编程语言,才气实现阿谁强大的股票智能系统;
难,难就对了,我那件事儿可是曲奔诺贝尔经济学奖去的,怎么可能不难?
当,我在琳琅满目标册本中找到传说中的《java编程思惟》时,它厚重的体形让我心里感应无比的踏实。在我心里深处,总觉得书越厚越好,你看看《资治通鉴》,再看看《本钱论》,不通盘都是大块头嘛?那本书那么厚,看来我是选对了。
至此,我已经来到了计算机科学的门口,只差那么一小步,就能跨门而入。
我谢绝了一切伴侣聚会的吃喝玩乐,只为了能把股票炒得更好,哦不,应该是为了心中阿谁梦想。我白日阅读新闻,看盘炒股,到了晚上,挑灯夜读,进修编程。当屏幕上第一次显示出“hello,world”的字样时,那股兴奋劲,丝毫不亚于收成了人生中的第一个涨停板。
然而好景不长,在编完第一个法式后,我起头郁闷起来——那本书为何如斯笼统、晦涩难懂,什么设想形式,什么多态,完全越看越含混。我越看心里越沮丧,心里越沮丧我越是要硬着头皮看,读那么一本天书,让我几乎到了奔溃的边沿。我只是一介文人啊,干嘛要学那劳什子编程!
但是什么样的困难都不克不及阻遏我要完成那一严重创造奔向诺贝尔经济学奖的决心啊,骚年!
在跟老友停止了深条理的沟通切磋之后,我末于搞大白了问题所在:《Java编程思惟》固然很牛逼很典范,但受寡却可能是那些有编程根底的人,如我那般根底较差的(底子没根底可言),仍是先找本很根底的Java教程来学比力好!!
啊啊啊,我弄死你,你不早点告诉我,我向德律风那头怒吼。
但是我就只晓得《Java编程思惟》啊,我就是看那自己弄懂Java的,德律风那头觉得很无辜。
推倒重来。
我再次奔向书店,买了本《21天学通Java》。买那本书没此外原因,就是觉得那书名字牛逼,做者敢那么大的口气,必然有过人之处。
每天根据书中的摆设,没日没夜的搞了二十来天之后,我似乎入了门,起头会写迭代求解斐波拉契数列的小法式,学会了数组、类、多态、接口等根底常识,还能无障碍阅读各类大中小型法式。从理论上说,Java已经学完了,但是关于我要做的事,若何实现阿谁智能股票系统,仍然是没有半点眉目。
我不能不再次打德律风向伴侣请教。他略一揣摩,然后一本正经的告诉我:你那个事儿可能跟算法有很大的相干,要不你再去学学算法吧。接着,又给我保举了一本叫做《算法导论》的书。
固然那本书取了个相当谦善的名字(导论嘛,你懂得),但它的内容却一点都不谦善。良多年之后,我才懂得,那本书在IT界的重量,相当于《九阴实经》在江湖中的地位。难,其实是太难了。书开篇不久,就有一章是专门讲若何预算问题的时间复杂度的,我看了一边,就彻底懵逼了——每个字我都认得,但连在一路就不晓得它是在讲什么!!还有那些参差不齐的符号,莫明其妙的数学用语,莫非我还要从头去大学修一边高数课么?XXX,我要跟你拼了,你保举的就没本勤学的书啊!我特么一外行人,需要的是循序渐进,不是吗吗吗吗吗???
但是什么样的困难都不克不及阻遏我要完成那一严重发现奔向诺贝尔经济学奖的决心啊,骚年!
我硬着头皮往下读,我头悬梁锥刺股往下读,我要程门立雪,我要凿壁借光。
幸运的是,一旦跨过那部门(预算问题时间复杂度),后面的内容其实也没那么难理解。我又没日没夜地起头折腾起来,在那段时间除了股票,每日念念不忘的只要形形色色的算法:甚么堆排序、快速排序,完满是小case;什么动态规划、贪婪法,也都不是问题;什么最短途径,NP问题,貌似也没那么恐惧……我起头渐入佳境,在做出版中大部门习题之后,快感连连。
但,刷题和编程都不是我的目标呀,我打娘胎起就没筹算过为IT事业斗争末身。不要因为走得太远,而忘记为什么动身!我始末要的是智能股票预测系统啊!!!固然我如今玩懂了Java,能刷各类算法题,但是关于若何来做那个系统,心中、脑海仍是一片空荡荡。
他是什么样的?
要建什么样的模子?
需要搜集那些数据?
会接纳什么样的算法?
鬼才晓得!!
我不由得再次向阿谁计算机超等牛逼的伴侣请教,他人究竟结果是计算机方面的高手,他必定懂怎么来弄。但是那回,他很实诚很率直的跟我熟,他也不晓得从何动手,究竟结果他底子不熟悉那个行业(股票),本来他认为我学会了编程,弄得了算法,凭着我对那个行业的理解,本身会晓得怎么弄……
我被那一大盆冷水浇下来,心里已经没有了半点温度。
但是什么样的困难都不克不及阻遏我要完成那一严重发现奔向诺贝尔经济学奖的决心啊,骚年!
我起头接纳软件工程的办法,冥思苦想整个系统的构架,期望将其要具备的功用复原成数学模子,然后通过模块设想,用编程的办法来实现它。我大白那个世界上没有人可以帮忙我,因为特么的那个其实是太难了!
我只能单独上路!!
我每时每刻都在思虑阐发,白日黑夜,没有尽头。我一边又一边的揣摩研究,那事实是一个样的智能系统,需要什么样的数据,又需要什么样的算法,才气模仿出过去、如今的行情,才气预测未来的走势。
那绝对是一项庞大的工程,亦是一项开天辟地的工做。阿谁时候,哪有什么大数据,哪晓得什么云计算,哪传闻过阿尔法狗,哪见过收集神经进修算法,我只能在暗中中一步一步的摸索,祈求一个不经意间能碰到光亮。
那项工做必定是极其困难,极其艰苦的啊,要否则其别人早就弄出来了不是,哪还会有我的位置?
就在如许的慰藉与自我慰藉中,我沿着那条道渐行渐远。
我需要的系统,里面会包罗A股中的一切数据,既有大盘的涨跌起伏,又有个股的形态万千;
我需要的系统,此中会包罗大量的参与者,它们会按照差别的风险偏好对差别情况做出决策;
我需要的系统,会有得当的自适应算法,参与者会按照市场的情况自行进修,不竭的前进;
……
但是啊,我找遍整本《算法导论》,都没有发现任何现有的算法可以帮忙我实现那套系统,就比如一小我在江湖,翻遍了《九阴实经》,却发现没有任何一种功夫可以旗开得胜。那是一种什么样的沮丧啊,知难而进的心思好像潮浪一般,一波又一波的向我袭来。
但是什么样的困难都不克不及阻遏我要完成那一严重发现奔向诺贝尔经济学奖的决心啊,骚年!
在徘徊了不晓得几时日,末于有一天,在某个偏远恬静的角落,我找到了别的一种算法,我突然间灵光一现,觉得那或许、大要、可能是能实现那套系统的唯一算法。
那是一套完全差别于传统算法的另类弄法,它是那个世界的异类,将我带进了另一个全然差别的世界,它就是进化算法。但是在阿谁年代,市道上底子不会有任何的册本和材料来介绍那类算法啊,为了彻底的研究它,搞懂它,可以运用好它,必需要去阅读最顶尖最新的学术期刊。
我是一介文人啊,怎么做得了那么困难的事儿呢?
我蒙昧无畏的注册了知网,花钱买下了会员。我专门找一流期刊中介绍进化算法的文章停止进修,在被虐过千遍万遍之后,在进修了一大堆之前前所未闻的数学常识之后,在综合考察了鱼群算法、蚁群算法、遗传算法、模仿退火算法诸多进化算法的好坏性之后,我总算探了然那条独一的路——将遗传算法与模仿退火算法停止连系,来处理我的问题!!
系统中要包罗A股中所有的数据,那必定需要相当大的内存呀,但通俗PC的内存有限,底子用不外来怎么办?所以我不能不又进修了操做系统原理,进修了各类内存调度算法,进修了B树、B+树、B-树各自的适用性……我还自行研究了《计算机构成原理》一书,我还自行购置了功用远甚PC的办事器;
系统要模仿出市场的参与者的决策,而那些主体的行为又是同时停止的,但是那明显与计算机的挨次施行指令是相悖的啊?于是我不能不啃完了典范的《Java并发编程理论》,进修了若何协调个线程中的同步和异步,进修了若何对Java内存模子停止办理,起头测验考试实在践每个线程池要放几个线程比力适宜,同步法式要入编写才气效率与平安更大化……到了后期,办事器的资本底子不敷用,我不能不再次购买硬件,然后接纳Socket编程,实现着盗窟的散布式并行计算。
系统中的每个主体形态都是纷歧样的,会有着差别的进修才能、资金体量和决策才能,在综合利用遗传算法和模仿退火算法等自适应算法的过程中,在寻优、穿插、变异和裁减等步调中,需要停止排序,对不合错误?那个时候,《算法导论》的能力就出来了。那是一本最全面讲解了排序算法的册本啊!各类各样的排序算法早已耳熟能详,它们各自的适用范畴早已了然于胸。如今看起来,同窗诚不欺我,假使不是按照他的建议,有了那么多的沉淀,其时底子不知从何动手。
就如许搞了一年半摆布,我的数学功底和计算机程度早已脱胎换骨。每次相聚,我都能与阿谁的同窗就某些问题的时间空间复杂度争论得面红耳赤,对某些系统的构架情况、耦合水平讨论得兴趣盎然……他十分看好我,觉得以我的程度,能够秒下一大票计算机研究生,能够随意挑一家国表里一流的互联网公司,能够找个合理的工做而不消吊儿郎当地成天炒股……
但是我还有抱负啊,怎么能够为了那点小钱放弃如斯宏伟的事业呢,什么样的困难都不克不及阻遏我要完成那一严重发现奔向诺贝尔经济学奖的决心啊,骚年!
于是我愈加勤奋了,我立誓要在我有生之年完成那一伟大的课题。
……
好吧,那就是炒股带给我的生活影响。它让我从一介文人,一个以每天能吃吃小暖锅、喝喝小酒为乐的无为青年,摇身一酿成为了一位精通算法、硬件和编程的工程师,并且仍是全栈的!!