AI量化投資平臺構(gòu)建:原始序列呈現(xiàn)及畫圖

昨天我們把時間序列呈現(xiàn)出來,計算了基本的風險,收益及相關(guān)的時間序列統(tǒng)計特征。

今天我們基于時間序列計算”因子“。我們的觀點——”一切皆因子“。

以我們之前做了深入分析的RSRS及其衍生指標體系,對于一個指標,我們先來可視化分析。



點擊”指標可視化“,希望呼出獨立窗口,用來呈現(xiàn)指標可視化的情況。

第一步,我們要加載數(shù)據(jù),我們需要封閉一個”表格化“的控件,用來呈現(xiàn)表格數(shù)據(jù)。

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可以直接呈現(xiàn)在界面上,這個很有用,我們大量的中間數(shù)據(jù)格式都是datafame,可以直接在界面上呈現(xiàn)出來。它繼承自wx本身的的Grid。



PandasGrid的使用也非常簡單,直接當成一個Page直接嵌到tabs里使用。

self.panel_raw = widgets.PandasGrid(tabs) tabs.AddPage(self.panel_raw,'原始數(shù)據(jù)') #當數(shù)據(jù)到達的時候,直接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()

一、創(chuàng)建一個垂直化的boxsizer;

二、聲明一個Figure對象,F(xiàn)igure對象上設定坐標軸——可以有子坐標軸。

三、從Figure里得到畫布FigureCanvas,把畫布添加到布局器BoxSizer里

明天繼續(xù)特征提取以及可視化。

(公眾號: 七年實現(xiàn)財富自由(ailabx),思想者,行動派;用數(shù)字說基金,用基金做投資組合,踐行財富自由之路)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容