如果我们买一本Python量化的书籍来看,就会发现当中基本上都在说怎样编程,但是很少会提到金融的部分,难道说搞量化的都不需要会金融了吗?
那是因为讲Python编程非常容易,讲金融太复杂。书是要卖的,不了解量化或者刚入门的朋友会感觉自己跟着写几句程序就能量化交易了,他才会去买这本书。做量化交易需要你去研究策略,研究中的一个大问题就是过拟合(overfitting),过拟合的策略样本外容易失效。如果你本来就是数据挖掘大佬,仅仅将金融市场视为普通的数据集,不懂金融可能也不要紧。因为你感觉模型失效了你就赶紧弄一个新模型出来就可以解决问题了。很多高频策略纯靠数据挖掘虽然容易失效,但是架不住挖得快。但是咱们如果不是数据挖掘大佬,那还是希望从源头上减少模型失效的可能性对不对。这时候就需要咱们多思考策略的逻辑,反映了什么市场规律,一般想的越清楚你自己就越自信,客观上只要逻辑长期正确模型也不太容易失效。
不懂金融基本没法思考策略逻辑。没有基础的话至少也要对市场运行机制有一定理解,进一步的看对权益、固收、衍生品等哪方面感兴趣,逐渐补充金融理论知识。这个过程中你可能会发现书本上的金融知识也各种不靠谱,但你得先把书本弄明白了才能二次加工不是。总之,入门量化交易随便做做可以不懂金融,要做的长远懂金融必不可少。而且,现在也有很多直接提供量化交易接口的,我们搞掂金融的问题,量化工具还需要担心吗,大把等着我们,还能试用,完全不是个问题,基本上我们需要的功能都会具备,想下面这个:
| 名称 | 功能 | |
| 基本函数 | Init | |
| Deinit | ||
| Logon | ||
| Logoff | ||
| QueryData | ||
| QueryHistoryData | ||
| SendOrder | ||
| CancelOrder | ||
| GetQuote | ||
| Repay | ||
| GetExpireDate | ||
| 单账户批量函数 | QueryDatas | |
| SendOrders | ||
| CancelOrders | ||
| GetQuotes | ||
| 多账户批量函数 | QueryMultiAccountsDatas | |
| SendMultiAccountsOrders | ||
| CancelMultiAccountsOrders | ||
| GetMultiAccountsQuotes | ||
综上,量化交易头脑的部分是量化策略,工具的部分是计算机编程;对于个人来讲,一般合二为一自己全包;对于机构来讲,工具(编程)的部分可以找专业的人来帮你实现,最后价值的大头永远是策略部分。