AI量化投资平台,从wxPython开始

经过这段时间的思考与构思,一个基于基金与指数的"AI量化投资平台”的思路基本成型。

主动型基金,以长期持有“固收+”组合为准,期望不低于10%的长期年化收益。被动型基金,以定投低估值的优质指数型基金(宽基+优质行业型、策略型基金),期望不低于12%的年化收益。


另外以分析指数为主,以场内ETF或场外联接基金为标的,以统计学、机器学习技术为工具,挑战不低于年化20%的投资收益。

之前过于强调回测,认为策略就是回测拿到结果,事实上这是错的。这个过程有点像“凑”数,对于投资过程没有实质的认知提升与帮助。投资是科学与艺术的结合体,更应该拆开来看,不要试图去建造一个“黑盒子“。

所以,一个可以辅助我们投资分析,提升投资效率的自动化平台构架就成为基础工具。

由于是投资研究,对于界面与可视化是有要求的。之前也做过分析,在thinter,wxpython与pyQT5之间,我们强烈推wxPython。它的功能比thinter全,但易用性相当,pyQT5功能强大,但是使用上不够pythonic,更像是一个C++版本的外挂。


一、数据加载之后,做指标计算,然后可视化。

二、时间序列分析。

三、因子分析。

四、策略构建与回测。

五、策略改进。

今天说说wxPython的基本使用情况。

wx.Frame是GUI程序里容器的概念,有菜单,有工具栏,任务栏等。


在窗体上,需要确定控件排布规则,自动对齐的控件有两个方向的BoxSizer。水平对齐:

#创建水平boxsizer,并设置为平铺到整个窗口 self.boxH = wx.BoxSizer(wx.HORIZONTAL) self.SetSizer(self.boxH)

主窗体中间,我们需要放置一个多Tabs,在wxPython里有一个控件叫Notebook。

self.tabs = wx.Notebook(self) self.boxH.Add(self.tabs,-1, wx.ALL | wx.EXPAND) self.tabs.AddPage(PageTimeSeries(self.tabs),'时间序列分析')

notebook里的控件可以使用wx.Panel作为容器。

import wx class PageTimeSeries(wx.Panel): def __init__(self, parent): wx.Panel.__init__(self, parent)


多个时间序列,最基础的可视化,到年化收益,风险指标,相关性,年度收益的分析。


涉及多个指数,可以看出指数随时间变化的趋势,历史风险收益情况等。

现在可以开始做时间序列分析,我们使用的库是statsmodels。

statsmodels是一个Python软件包,为scipy提供了补充,以进行统计计算,包括描述性统计以及统计模型的估计和推断。

比较scikit-learn来看,statsmodels更关注统计推断,提供不确定估计和参数p-value。相反的,scikit-learn注重预测。其实是统计学与机器学习是两个不同的方向。

明天继续。

(公众号: 七年实现财富自由(ailabx),思想者,行动派;用数字说基金,用基金做投资组合,践行财富自由之路)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 伦敦大学学院龚晖:当代的技术创新,大多源自跨越学科的资源整合,而非从无到有的发明创造。投资不是赌博而是博弈,关键在...
    三也视界阅读 3,566评论 1 16
  • 算法技术解构 1、Python基础知识 (1)IPythonIPython的开发者吸收了标准解释器的基本概念,在此...
    shenciyou阅读 5,472评论 0 10
  • 量化交易平台 国内在线量化平台: BigQuant - 你的人工智能量化平台[https://link.zhihu...
    梅_梅阅读 683评论 0 1
  • 史上最全量化资源整理 有些国外的平台、社区、博客如果连接无法打开,那说明可能需要“科学”上网 量化交易平台 国内在...
    春风在抱阅读 4,510评论 3 15
  • numpy介绍:一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广...
    readilen阅读 9,319评论 0 33