今天继续开发“低代码策略平台”。
咱们开源的Quantlab和DeepAlpha,尤其是DeepAlpha因子挖掘平台,对于环境的配置是比较高的,很多同学解决不了。
因此,我希望把这此功能平台化,大家可以直接使用。——当然大家希望自己读代码,仍然是可以从星球获得每周迭代升级的版本。
DeepAlpha通用因子挖掘:支持GPlearn遗传算法和深度强化学习挖掘因子(代码+数据下载)
Quantlab3.3代码发布:全新引擎 | 静态花开:年化13.9%,回撤小于15% | lightGBM实现排序学习
咱们平台的框架是Django。
没有使用前后端分离的架构,一是由于SEO等效果不好——老一代程序员,对于静态化和SEO还是有执念的。二是工程化引入的技术栈确实重,且没那么熟。——bootstrap+jquery构用了。bootstrap都只用3。
我们把精力还是花在策略和因子上。
今天的核心工作——通过jquery调用回测api(django+ninjia提供),同步得到回测结果后,动态渲染到网页上,包括回测结果指标和曲线绘图(使用g2.min.js)。
效果还不错,明天加载etf列表,可以手动修改调仓模式等参数,添加回测区间等等细节。
{%extends 'common/base.html'%} {% block main %} <div class="container"> <ol class="breadcrumb"> <li><a href="/">首页</a></li> <li>“零代码”创建AI智能量化策略</li> </ol> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"><a href="#pick" aria-controls="pick" role="tab" data-toggle="tab">选择ETF列表</a></li> <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">规则配置</a></li> <li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">调仓配置</a></li> <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">高级配置</a></li> </ul> <!-- Tab panes --> <div class="tab-content"> <div role="tabpanel" class="tab-pane active" id="pick"> <div class="row" style="padding-top:10px"> <div class="col-md-6"> </div> <div class="col-md-6"> <table class="table table-striped"> <tr> <td>名称</td> <td>代码</td> </tr> <tr> <td>沪深300ETF</td> <td>510300.SH</td> <td><button class="glyphicon glyphicon-remove" aria-hidden="true"></button></td> </tr> </table> </div> </div> <div> </div> <div role="tabpanel" class="tab-pane" id="profile">规则配置</div> <div role="tabpanel" class="tab-pane" id="messages">调仓配置</div> <div role="tabpanel" class="tab-pane" id="settings">高级配置</div> </div> <div> <button class="btn btn-success" id="backtest">策略回测</button> </div> </div> </div> {% endblock %} {%block js%} <script> $(".glyphicon-remove").click(function(){ $(this).closest('tr').remove() }); $('#backtest').click(function(){ console.log('点击回测!') $.post("http://127.0.0.1:8000/api/strategy/run", { "task_id": 7, "start_date": "20100101", "end_date": "" } ); }); </script> {%endblock%}
吾日三省吾身
最近理财类的书,个人成长,心理,幸福的书读得比较多。
还是之前的观点: 理到极致,基本是通识。
道理都是相对有效的,如果数学上的“哥德尔不完备理论”——”自洽必不完全”。
自洽一定是在边界内的自洽,没有所谓放之宇宙皆通用的公理。
哪怕是欧氏几何,那5条公理,比如过直接外一点有且仅有一条直线与已知直线平行。如果没有没有平等线,或者有无数条平等线的情况,就可以导出黎曼几何和罗巴切夫斯基几何。而后者是广义相对论的基础。
每个人的经验都带有他自身成长经历,经验,教训价值观,偏见。
比如有人告诉你有一笔不小的本金后,只要不折腾,尤其不投资,就卖理财;有人说就要投资,复利对抗通胀。
其实,需要理解作者的本意,尤其是他的隐含假设条件,以及客观环境的变化等等。
这就对于个人批判性思维要求非常重要。
如果从海量的信息中,无偏见的,真正获得自己成长需要的信息。
如无必要,勿加实体,保持专注。
搞不清楚哪条路更好,选择难的那一条。
咱们AI量化工作室目前两线并进。
一是成熟的ETF策略,要做成产品化,方便大家实盘使用。
二是前沿技术做因子挖掘的探索。
目前咱们的系统后台使用django,因为会有大量需要配置的东西。
如果涉及前后端分离的架构,django有类似fastapi的库:django-ninjia,使用起来也很方便。
暂定是前后端不分离。
这里有一个核心问题:
策略如何存,以及策略的回撤结果如何存?
如果使用mongo,那就是一股脑一个json,怎么存都可以,但显示、排序的时候都不好用。——django+mysql支持JsonField,可以保存和修改json,在后台就够用了。
结果里的时间序列,以及回测用的时间序列,肯定都是存储在mongo里。
吾日三省吾身
读了大量理财投资类的书,无外乎储蓄,投资。
投资的长期主义,长期向上,定投,恒定市值等。
理念其实很简单,但年轻时候的自己不懂,现在和很多年轻人讲,甚至周边的年龄相仿的人,也讲不明白。或者说,大家觉得明白,但是不以为然。——其实,理财的概念,复利的概念大家都知道——公式并不复杂,只是需要本金达到一定的体量超过100万,才会有感觉。
为何富人会越来越富?富人的复利是肉眼可见的。
富人的风险承受力也是很强大的,因此更容易长期主义和分散投资。
这也就是知易行难之处。
投资起步,效果很不明显,这需要很强的信念。
但起步的本金往往需要来自投资理财之外。
打工的工资是有天花板的。那一次时间销售多次,或者构建一个自动化的平台,这些理念,其实年轻的时候,或多或少也知道。
比如,特别想做一款软件,或者开发一个网站,然后有持续的广告收入,或者会员收入等等,其实都知道。就像现在告诉很多朋友类似的理念,大家显然都同意,然后反问——怎么做呢?
比如,你说写书啊,卖课啊,知识付费,做自媒体,短视频啊。。。
确实,从评论者/观察者,到参与者,到创造者。这是成长型思维,积极型思维,生产者思维。————看到一个机会,就觉得和自己有关系,我如何可以参与进去,同时认为自己是可能学习和改变——成长型思维的关键。比如短视频浪潮。
比如早年对加密货币不以为意,各种批评甚至嘲笑,着实是固定型思维之体现。
看见成功的人或事,不要简单评价人家只是运气好,而是看他身上有没有值得学习的点,有没有可以借鉴的经验,有什么可以为我们所用。
——简言之,一定要躬身入局!
我会用我的一生去奋斗出一个绝地反击的故事,这个故事关于独立,关于梦想,关于勇气,关于坚忍,它不是一个水到渠成的童话,没有一点点人间疾苦,这个故事是,有志者事竟成百二秦关终属楚,这个故事是,苦心人天不负,卧薪尝胆,三千越甲可吞吴。 精准努力
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/103509
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!