打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
AI量化投资平台构建:原始序列呈现及画图

昨天我们把时间序列呈现出来,计算了基本的风险,收益及相关的时间序列统计特征。

今天我们基于时间序列计算”因子“。我们的观点——”一切皆因子“。

以我们之前做了深入分析的RSRS及其衍生指标体系,对于一个指标,我们先来可视化分析。

点击”指标可视化“,希望呼出独立窗口,用来呈现指标可视化的情况。

第一步,我们要加载数据,我们需要封闭一个”表格化“的控件,用来呈现表格数据。

class PandasGrid(wx.grid.Grid):
def __init__(self,parent,nrow=10,ncol=20):
super().__init__(parent,-1)
self.CreateGrid(numRows=nrow, numCols=ncol)

def show_df(self,df):
self.ClearGrid()
self.df = df

self.SetRowSize(0, 60)
self.SetColSize(0, 150)

for i,col in enumerate(list(df.columns)):
self.SetColLabelValue(i,col)

for i,row in enumerate(list(df.index)):
self.SetRowLabelValue(i, row)

i = 0
for index, row in df.iterrows():
for j in range(len(row)):
self.SetCellValue(i,j,str(row[j]))
i += 1

Pandas的Dataframe可以直接呈现在界面上,这个很有用,我们大量的中间数据格式都是datafame,可以直接在界面上呈现出来。它继承自wx本身的的Grid。

PandasGrid的使用也非常简单,直接当成一个Page直接嵌到tabs里使用。

self.panel_raw = widgets.PandasGrid(tabs)
tabs.AddPage(self.panel_raw,'原始数据')
#当数据到达的时候,直接show_df即可,使用起来非常之方便。
if 'raw' in data_dict.keys():
raw = data_dict['raw']
self.panel_raw.show_df(raw)

另外有一个非常通用的组件,就是把matplotlib的画图,整合的wxpython的窗体里。

import matplotlib
matplotlib.use("WXAgg")
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas

class MatplotlibPanel(wx.Panel):
def __init__(self,parent,id=-1):
super(MatplotlibPanel, self).__init__(parent,id)

self.TopBoxSizer = wx.BoxSizer(wx.VERTICAL)
self.SetSizer(self.TopBoxSizer)

self.figure = matplotlib.figure.Figure(figsize=(4, 3))
self.ax = self.figure.add_subplot(111)

self.canvas = FigureCanvas(self, -1, self.figure)
self.TopBoxSizer.Add(self.canvas, proportion=-10, border=2, flag=wx.ALL | wx.EXPAND)

def show_data(self,data):
#print(data)
self.ax.clear()
data.plot(ax=self.ax)
self.ax.grid(True)
self.canvas.draw()

一、创建一个垂直化的boxsizer;

二、声明一个Figure对象,Figure对象上设定坐标轴——可以有子坐标轴。

三、从Figure里得到画布FigureCanvas,把画布添加到布局器BoxSizer里

明天继续特征提取以及可视化。

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Writing a graphical application for scientific programming using TraitsUI
我用 Python,3分钟快速实现,9 种经典排序算法的可视化
Matplotlib 中文用户指南 7.3 事件处理及拾取
ML之NB:利用朴素贝叶斯NB算法(TfidfVectorizer+不去除停用词)对20类新闻文本数据集进行分类预测、评估
pandas可视化(2)【官方文档解读】-- 条形图、直方图
Python学习教程:Matplotlib库基础分析—自动调整函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服