本文1千字
行动课上,给自己订立的目标是,60天内学会用python编写10套完整的交易策略模型。
根据自己订立的详细行动计划,依照MVP最小可行性原则。在6月22日进行了第一版的程序编写。当时的计划如下:
万事开头难,思路不够清晰,编程能力又弱。这时候,首先运用《成功,目标与动机》中给出的一个方法,在面对复杂困难的事情时,多想“是什么”,用最具体的行动来指导自己。第一步:是获得数据,在平安证券上,找到下载数据的地方,下载了1只股票的数据,选择txt格式。第二步:是用python代码在终端里读取并显示所有的数据。之后的每一步,我都不断的告诉自己,只要实现最小可行性的目标即可,只要功能可以实现,就继续往下进行。
出乎意料的是,我想象中需要用一周才能完成的任务,只用了1天多的时间就完成了。总共的代码量只有154行,真的是非常简洁的实现了6个功能目标。
这时候,积极性来了,由于有第一版打基础,脑子里产生了很多思路,需要完善的东西越来越多。于是,第二版内容诞生了。
思路丰富是一回事,用代码实现又是另一回事。由于前面的效率比我预想的要好,所以这次我给自己的预期是2天完成。可惜现实能力差距较大,加上我中间有一天时间心情不好,几乎没有任何进展。所以整整用了5天时间才完成第二版的内容。其中标黄的部分,是没有完成的,原因包括数据部分不支持;数学计算公式无法确定,故代码无法编写。这次代码写了将近500行,并做出了图像展示,但效果真的是惨不忍睹。
通过第二版的编写,我发现很多需要注意的问题。
第一点:代码的可复用性,兼容性非常的重要,这样可以给后期的开发大大节省时间成本和维护成本
第二点:代码逻辑和代码编写的简洁也非常重要,复杂冗长的代码,确认bug的时候非常麻烦,不仅开发成本高,维护成本更高
第三点:是注释的重要性,多写注释,跟代码一样多都不要紧,因为我自己写的代码,写了400多行,回头再去找前面模块的逻辑,我都已经晕头转向的了。
考虑到后面增加的功能会越来越难,前面的代码结构是非常重要的。接下来第三版的思路已经确定,我将面临更多的挑战。
到这里,我需要明确一件事,我在搭建整个交易系统,学习所有这些步骤:数据的抽取清理,指标的编写,结果的展示等等。其实并不是最重要的事情,这只是我需要了解整个系统必经的路。最重要的事情只有一件,做出稳定赚钱的策略。只会写交易系统,那就只是一个程序员,我一定要结合自己的优势——交易经验,设计出很多可以稳定赚钱的策略,这才是我真正的核心竞争力,是别人一时半会学不走的东西。所以,下一阶段,第三版的改进我会慢慢推进。更多的精力要投入到尝试各种方法去设计出更多更赚钱的交易策略。
大家有任何建议都可以提,我非常需要反馈,因为做正确的事太重要了,如果方向错了,越努力越遥远。