当下,低代码或者零代码平台是一种潮流。

说白了,就是尽量复用,不用每次需求出来,都需要需求,开发,测试,上线。

量化投资本应该如此,因为在量化投资里,策略的实现本身不是最关键的,关键是策略本身,但对于量化新手,在学习平台,调试策略上心力交瘁,所以,我一直有一个想法,做一个点一点鼠标就可以实现复杂量化策略的平台。

到今天,基本成型了,还在持续优化与迭代中。

图片

支持“投资组合与动态再平衡”,“规则策略”,“机器学习策略”。后续还会扩展强化学习环境。

更重要的是,这都是开源的,都提交到gitee上了。

本次核心进展有几个点:

一是使用wxformbuilder来设计主界面,这个着实省了不少事情,否则boxsizer嵌套确实眼花缭乱。

一个界面设计搞定所有,而且我把界面的核心逻辑外置了,有界面变动的时候,覆盖一下这个文件即可,本身这个文件不会手动做任何修改。

图片

核心功能上,把qlib的alpha158里的一些因子搬了过来。看公式就可以看出来,这就是K线形态,比如($close-$open)/$open就是日内涨跌幅度,($high-$low)/$open就是日内震荡的幅度等等。这个表达式引擎的能力比之talib的技术分析强太多,当然为了方便,我也内置了talib常用的像MACD/布林带等等技术指标进来。

fields += [
    "($close-$open)/$open",
    "($high-$low)/$open",
    "($close-$open)/($high-$low+1e-12)",
    "($high-Greater($open, $close))/$open",
    "($high-Greater($open, $close))/($high-$low+1e-12)",
    "(Less($open, $close)-$low)/$open",
    "(Less($open, $close)-$low)/($high-$low+1e-12)",
    "(2*$close-$high-$low)/$open",
    "(2*$close-$high-$low)/($high-$low+1e-12)",
]
names += [
    "KMID",
    "KLEN",
    "KMID2",
    "KUP",
    "KUP2",
    "KLOW",
    "KLOW2",
    "KSFT",
    "KSFT2",
]

在机器学习模型上,还是深挖LGB。LGB在内存使用效率上改进了XGBoost,效率大差不差,但是使用虽简单,但是参数如何高优,特征如何选择,甚至更简单的,如何有效评估这个模型给出的结果,都需要一个学习过程。机器学习虽然是个黑盒,但还是有很多可以干预的空间。

回归模型的评估,没有分类模型那么直观一点。分类模型准确率,召回率很符合直觉,反正就是对了几个,错了几个。但回归本身就是偏差,所以,使用MAE,MSE或者R2-Score可决系数这个的参数来量化它。

机器学习还需要进一步深入研究,因子持续扩充,未来可以使用遗传算法来自动扩充,然后就是深度学习模型纳入进来。

还有就是强化学习的环境,现在还没有展开,这个也在计划之中。

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐