分享

量化系统界面化,可视化

 AI量化实验室 2023-10-12 发布于北京

量化系统界面化,可视化

数据可视化一直是大数据时代一个很重要的命题。人类的天性,对图表的认知远胜于数据本身。

另外一个就是交互界面。vnpy比较成功,在于它给出了基于pyqt5的界面。另外传统的股票软件像同花顺,大智慧这种winform形态,也适合在电脑上进行操作。

h5形态的web开发部署成本相对较低,但交互起来还是有其不方便的地方,另外最重要的交易策略,出于安全考虑也不太可能云端化。

web适合给大众,to c,需要广泛传播,无需安装。 winform在python下的开发,也非常简单,python简直无敌了!

先搭个架子,如下图:


from PyQt5 import QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from common.logic import basic_info

def init_tree(tree):
root = QTreeWidgetItem(tree)
# 设置根节点的名称
   root.setText(0, 'A')

tree.addTopLevelItem(root)

indus = basic_info.get_indusries()
for indu in indus:
child = QTreeWidgetItem(root)
child.setText(0, str(indu['code']))
child.setText(1, indu['name'])

for sub in indu['sub']:
sub_item = QTreeWidgetItem(child)
sub_item.setText(0, str(sub['code']))
sub_item.setText(1, sub['name'])

def init_left_tree():
# 左侧区域
   dock_left = QDockWidget('行业')
dock_left.setFeatures(QDockWidget.DockWidgetFloatable)
dock_left.setAllowedAreas(Qt.LeftDockWidgetArea)

tree = QTreeWidget()
# 设置部件的列数为2
   tree.setColumnCount(2)
# 设置头部信息,因为上面设置列数为2,所以要设置两个标识符
   tree.setHeaderLabels(['一级行业', '二级行业'])
init_tree(tree)
dock_left.setWidget(tree)
return dock_left

def init_dock(parent):
#初始化一个多tab组件
   tab = QtWidgets.QTabWidget()
tab.addTab(QtWidgets.QLabel("量化选股"), "量化选股")
tab.addTab(QtWidgets.QLabel("行业分析"), "行业分析")
tab.addTab(QtWidgets.QLabel("回测引擎"), "回测引擎")
tab.setCurrentIndex(0)
parent.setCentralWidget(tab)

dock_left = init_left_tree()
parent.addDockWidget(Qt.LeftDockWidgetArea,dock_left)

dock_bottom = QDockWidget('系统运行信息')
dock_bottom.setFeatures(QDockWidget.DockWidgetFloatable)
dock_bottom.setAllowedAreas(Qt.BottomDockWidgetArea)

dock_bottom.setWidget(QTextEdit())

parent.addDockWidget(Qt.BottomDockWidgetArea, dock_bottom)

关于作者:魏佳斌,互联网产品/技术总监,北京大学光华管理学院(MBA),特许金融分析师(CFA),资深产品经理/码农。偏爱python,深度关注互联网趋势,人工智能,AI金融量化。致力于使用最前沿的认知技术去理解这个复杂的世界。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多