量化投资专家系统开发与策略实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5 产品原型图

作为一个实际的项目,技术是需要围绕产品的改变而改变的,而一般的产品经理很难把握未来一年内的市场趋势,虽然量化投资专家系统相对成熟稳定、功能相对固化,但这并不表示不需要增加或修改既定的功能,因为在一年的时间里,公司很可能增加一个部门或成立一个特殊业务的子公司。这对于产品经理来说,无疑是一个很大的挑战,因为很难预测公司具体业务的发展规划,所以就很有可能修改原来定好的需求说明。修改需求说明是一件非常麻烦的事情,如果是外包项目,就会产生很多额外的预算,甚至会使整个外包项目都可能无限期顺延甚至失败。如果由自有团队来做,技术总监同样也会非常害怕修改需求说明。

为了解决需求不能被修改与不修改体验差的两难问题,我们建议一方面需要产品经理或技术总监非常有经验、有先见之明,提前做好规划、减少改动,另一方面技术总监采用迭代开发的方式,尽可能合理地留出一些扩展,并做好“拥抱”变化的准备。

折中的办法是自有团队以《需求说明书》为辅,以产品原型为主,但是原型图的修改和版本要保留,所有修改的责任在于产品总监,并不在于技术总监,技术总监在给出建议的同时需要服从产品总监的修改决定,保证工期。

如果是外包团队,那么产品总监不断修改《需求说明书》几乎是不现实的,因为这个成本太高了。因此,以下项目的修改是以自有团队为前提的。

1.产品原型

Axure RP是一个专业的产品原型设计工具。在国内的Web设计工具中占有很高地位,可以说是产品经理的一个必备工具。产品经理之所以喜欢Axure RP主要得益于它的可视化操作、灵活的JavaScript脚本和一键生成HTML页面的功能。Axure RP 7.0界面如图2-2所示。

图2-2 Axure RP 7.0界面

Axure RP 7.0界面功能如下。

图2-2中的区域1是菜单栏,包括文件、编辑、视图、项目、布局、发布、团队和帮助。其中,【文件】菜单主要包括新建、打开、保存和打印页面功能;【编辑】菜单主要包括粘贴、复制、查找、替换、撤销功能;【视图】菜单主要是控制主界面的面板和工具栏;【项目】菜单不太常用,主要是进行与样式、全局变量相关的设置;【布局】菜单主要有对齐、分布、图层、组合等功能;【发布】菜单最常用的功能就是预览,预览的快捷键是F5键,此外还可以生成说明书和原型文件;【团队】菜单和【帮助】菜单一般项目用不到。

图2-2中的区域2是常用工具按钮,包括新建、打开、保存、预览等。

图2-2中的区域3是站点地图,通过站点地图可以看到站点的目录结构,双击某一个节点可以快速进入这个页面。

图2-2中的区域4是部件库,常用按钮、图形、控件全在这里,只要将其拖曳到绘制中心(区域5)即可。

图2-2中的区域5是页面的绘制中心。

图2-2中的区域6是页面注释、交互与样式面板,通过这些面板既可以对页面进行说明,也可以对具体的按钮添加事件,同时还可以修改相关样式。

图2-2中的区域7和区域8与区域6相互关联,当选中一个按钮时才会显示出这个按钮所具备的交互功能、注释、属性和样式。

图2-2中的区域9是部件管理,一般不常用。

Axure RP这款软件最大的特点就是上手容易,只要把想要的部件从部件库里拖到对应的绘图区域就可以了,如果还想做得更真实一些,就再添加一些交互事件,比如超链接。

原型图工具有了,最重要的是一个网站的设计思想,比如页面大小、元素布局和功能要求。要想做出一个好的原型图,80%的时间都要用在思考上。

例如,量化投资专家系统该有哪些功能,这些功能具体应该怎样实现等,这些都是产品经理要考虑的事情。

通常,我们会以用户角色扮演的方式来进行设计,比如管理员应该看到什么、员工应该看到什么、交易员又应该看到什么,然后把他们共有的部分做成一个公用的模块。

这样划分后,就可以把整个量化投资专家系统划分为登录、专家系统、管理员、统计分析、消息任务、账户管理、组织机构和常用窗口几个部分。

例如,登录模块可以使用下拉列表的形式,做成让不同用户进行选择的公用模块,如图2-3所示。

图2-3 登录模块

其中,图2-3中所标注的1、2、3是交互事件,交互事件必须在预览之后才能生效,这些交互事件主要是一些跳转按钮,比如单击【忘记密码】按钮后打开忘记密码页面,单击【登录】按钮后打开默认首页等。

2.专家系统

专家系统是一个大模块,这个大模块下面又包含很多小页面,这些小页面又有一个共同的菜单。共同的菜单可以使用母版的方式来生成,这样只要修改母版里面的内容,所有调用这个母版的菜单就一次性都修改好了。另外,专家系统默认是一个列表页,在这个页面里面添加了高级搜索和分页符。列表页如图2-4所示。

图2-4 列表页

专家系统模块包含专家、策略、规则、记录和顾问共5个子模块,这些子模块之间的关系如图2-5所示。

图2-5 专家系统子模块之间的关系

3.添加专家

添加专家时,一般需要添加专家的个人信息和专家级别,如果基本信息不够,管理员还可以通过【+】按钮添加自定义字段。如果觉得整个表单下次还有用,则可以单击【存为模板】按钮存储当前设计好的表单。已有的表单模板可以通过【默认模板】下拉菜单进行选择。添加专家页面如图2-6所示。

图2-6 添加专家页面

如果只想添加会员,而不添加那么多个人信息,则可以单击图2-6中的【只添加会员】按钮,进入会员添加页面,如图2-7所示。

图2-7 会员添加页面

4.专家列表

专家列表页和专家系统默认页是同一个页面,如图2-4所示。专家列表主要包括专家的ID、代号、真实姓名、专家级别和该专家最新的策略,同时为了方便浏览,还可以通过真实姓名、专家级别和最新策略进行排序。单击【重置密码】按钮可以重置这个专家的登录密码,单击【编辑】按钮可以修改这个专家的个人信息。

专家列表中还有一个【高级搜索】按钮,在专家数量很多时可以进行高级搜索。

5.新增条件策略

在正常情况下,最好给交易员一个可视化的操作界面,通过一些选择就可以完成一个相对简单的策略。新增条件策略就是这样一个可视化操作界面,由于股票和期货有所不同,所以把股票和期货分别做成了两个页面,股票页面如图2-8所示。

图2-8 股票新增条件策略页面

期货页面如图2-9所示。

图2-9 期货新增条件策略页面

当然还可以更加精简,只要根据价格进行条件下单就好。一般为了方便条件下单,还可以提供一些经典的策略供交易员修改,比如波浪线、折线、射线等,如图2-10所示。

图2-10 经典策略页面

6.新增逻辑策略

一般掌管较多资金的交易员的策略都是逻辑上非常清晰的组合策略,其中股票池、策略池、决策树、回测、模拟等都是经过严格验证的,这个功能在JavaScript交互部分较多,如图2-11所示。

图2-11 逻辑策略页面

7.新增脑电策略

由于很多优秀的交易员或金融分析师并不能很好地总结出策略思想,只有一种感觉,所以就需要借助脑电波控制仪、摄像头和屏幕录制软件对其所进行的操作(包括最终决策)进行机器学习,从而找出这位交易员的策略思想。其中,机器学习后的交易指令过程如图2-12所示。

图2-12 机器学习后的交易指令过程

图像化演示部分的脑电、屏幕等录制过程如图2-13所示。

图2-13 录制过程

8.新增修正策略

修证策略是一个很重要的功能,它是一个真正意义上的Web编译器(编程语言开发环境)。新增条件策略、新增逻辑策略、新增脑电策略最终都会变成计算机可以理解并执行的代码,为了更好地完善我们的策略,需要一个能够更细致地修改代码的页面,其中第一期应该开发基本的源码编辑功能,第二期需要完善一些提高工作效率的功能,如图2-14所示。

图2-14 修正策略页面

9.添加规则

添加规则非常简单,就是一个文章编辑页面,主要是为策略审核提供一个参考的依据,避免审核员过于主观地推荐策略上线,如图2-15所示。

图2-15 规则页面

10.评价规则

评价规则页面就是已经添加规则的文章列表页,由于比较简单,所以类似的列表页就不展示了。

11.记录

这里主要是交易的模拟记录,方便交易员、审核员直观地感受策略的运行效果,如图2-16所示。

图2-16 记录页面

单击图2-16中的【回测】、【模拟】、【明细】等按钮可以看到这个交易策略的具体表现,如图2-17所示。

图2-17 交易策略的具体表现页面

12.投顾系统

投顾系统更多地是为集团的大型投资并购业务服务的,主要在一级市场,而非二级市场。

13.管理员

管理员页面是一个很重要的模块,也是整个系统的初始模块,在管理员页面可以管理员工、分配权限、修改模块、添加插件、查看日志和维护系统。管理员页面的功能框架如图2-18所示。

图2-18 管理员页面的功能框架

14.员工管理

员工管理页面就是一个简单的列表页,通过列表页可以看到员工的账户名称、真实姓名、登录的时间及登录的IP地址。单击列表页中的【重置密码】按钮可以修改该员工的密码,单击【编辑】按钮可以编辑该员工的基本信息,如图2-19所示。

图2-19 员工管理页面

15.专家管理

专家管理页面和员工管理页面类似,这里不再列举。

16.模块管理

本系统的所有权限都是通过模块来确定的,模块是权限的最小单元,主要包括名称、简介、排序、URL、Token 和函数集,其中 URL、Token和函数集是不能写错的,否则系统将无法调用这个模块或模块下的具体函数。添加模块页面如图2-20所示。

图2-20 添加模块页面

编辑模块页面和添加模块页面非常相似,这里就不展示了。

17.添加插件

插件是模块的一个综合体,很多时候需要在系统上留出一定的扩展,以满足意外需求,这时候就可以通过插件的形式把单独开发好的程序上传到插件目录里。插件的上传一共分为三步,第一步是客户端上传文件,如图2-21所示。

图2-21 客户端上传文件页面

第二步是配置插件,很多插件都需要连接到指定的数据库中,如图2-22所示。

图2-22 配置插件页面

第三步就是插件管理,对已经添加的插件决定是否启用,如果配置文件出现了改动,在这里就可以进行修改,而不用重新上传插件,如图2-23所示。

图2-23 插件管理页面

这里还有一个需要说明的地方,就是插件上传完之后并不能马上使用,即便启用了也不行,因为只是上传了源码文件,系统并不知道这个源码文件怎么该调用,这时候还要在模块管理中添加新上传的具体模块。

18.角色管理

添加角色(与编辑角色相似)是角色管理中的一个核心功能,在添加一个角色时,需要根据用户类型进行权限选择,管理员的权限和员工的权限是分开的,为了方便管理员编辑权限,我们把已有的模块都列了出来并加以区分,管理员只需要勾选对应的模块即可,如图2-24所示。

图2-24 添加角色页面

19.权限设置

权限设置就更简单了,找到指定的员工,然后选择一个对应的角色,单击【确定】按钮即可,如图2-25所示。

图2-25 权限设置页面

20.流程管理

为了适应集团不同的业务需求,我们需要一个动态的流程管理系统,这个系统指明什么人拥有使用什么模块的权限,然后在其使用后通知给下一个人,下一个人接收到通知后选择同意或不同意,直到结束。下面以添加流程为例进行讲解。

我们需要设置流程的名称,指定员工或某个角色下的所有员工(一般员工都对应着权限),当这个员工在数据库中成功增加一条记录(表示完成了一个申请)时,系统就以消息的形式发送给审批者,审批者可以是直接上级,也可以是某个具体的员工或全部下属。如果审批者是多人,则可以设置通过率来决定这个申请是否通过。同时为了防止延期,还要增加一个时限的字段,比如两天。

以上仅仅是动态流程中的一个环节,动态流程可能会有很多环节,这时可以通过【+】按钮来增加下一个环节,如图2-26所示。

图2-26 动态流程页面

单击图2-26中的【预览】按钮,会弹出流程辅助测试页面,通过预览可以查看流程是否有漏洞,如图2-27所示。

图2-27 流程辅助测试页面

21.数据接口

在数据维护中,数据接口是一个关键点,不管是维护自己的数据库,还是连接第三方的数据库,都不希望反复输入账户名和密码,特别强调安全的数据库除外,这时候就可以做一个数据接口来保存所有的账户名和密码。一般数据接口主要包括地址、账户名和密码这3项,如图2-28所示。

图2-28 数据接口页面

22.导入数据

导入数据时一般需要做一个简单的字段映射,如果数据库中没有对应的表,那么系统会根据字段直接生成一个表,字段默认是字符串类型。为了安全起见,只能从默认数据库中导入、导出数据。如图2-29所示为导入数据页面。

图2-29 导入数据页面

23.导出数据

导出数据页面如图2-30所示。

图2-30 导出数据页面

24.系统维护

系统维护页面更像是一个仪表盘,方便管理员了解当前系统运行的基本情况,比如请求量、剩余空间和系统日志等,如图2-31所示。

图2-31 系统维护页面

我们还可以做一些与预警相关的设置,这样就不用总盯着屏幕工作了,比如磁盘预警设置,如图2-32所示。

图2-32 预警设置页面

25.异地容灾

异地容灾页面相对简单,主要就是备份和恢复数据,由于工程项目较大,所以可以使用第三方工具,如图2-33所示。

图2-33 异地容灾页面

26.统计分析

统计分析也是一个非常重要的大模块,这个模块从一定意义上说就是一个简单辅助决策系统,统计分析的框架如图2-34所示。

27.概述

概述页面也是默认页面,主要介绍某个策略指定周期内大概的交易情况,比如累计收益、年化指标、最大回撤等,如图2-35所示。

图2-34 统计分析的框架

图2-35 概述页面

28.播放设置

如果对播放的速度、日期等有特殊要求,可以单击【设置】按钮进行相关的设置,如图2-36所示。

29.交易明细

交易明细页面与成交记录页面相似,此处不再赘述。

图2-36 播放设置页面

30.统计视图

为了方便展示统计的结果,可以做几个直观的统计图,比如散点图、条形图、折线图等。条形图如图2-37所示,其他统计图类似。

图2-37 条形图

31.消息任务

消息任务模块和正常的邮件类似,单击【+】按钮可以选择用户,如图2-38所示。

图2-38 消息任务页面

同时,消息任务也支持自定义设置,比如签名、多邮箱管理和常用内容管理等,如图2-39~图2-41所示。

图2-39 邮件签名页面

图2-40 邮件收发页面

32.账户管理

在账户管理页面中,用户可以修改并完善自己的信息,这个修改过程会被日志记录,同时为了方便集团内部交流,还可以生成一个二维码名片,如图2-42所示。

图2-41 常用内容管理页面

图2-42 账户管理页面

33.绑定账号

个人账户页面还有很多与员工切身利益相关的功能,比如为了方便密码找回和多账户登录,系统还增加了一个绑定账号的功能,绑定账号页面如图2-43所示。

除绑定账号的功能外,还有考勤功能,目前考勤功能是导入考勤机的数据,而不是只有系统登录的时间。

除此之外,为了方便用户管理自己的模块,还可以通过自定义菜单把这些模块分门别类地进行管理,自定义菜单页面如图2-44所示。

图2-43 绑定账号页面

图2-44 自定义菜单页面

34.组织机构

专家系统另一个比较常用的功能就是组织机构了,默认的企业通讯录就是一个组织机构的形式,同时为了符合企业的实际需要,还设置了一些不对外的私密部门,比如X实验室。组织机构添加页面如图2-45所示。

图2-45 组织机构添加页面

其实专家系统还有很多原型图,但是大多数都是一些比较雷同的列表和表单,在这些页面中字段是很重要的,一个也不能少,不能因为节省时间而忽略某些字段。另外,由于产品中的字段和学术上的字段存在差异(产品是为了用户体验而使用的人性化命名),所以字段最好有专业的说明。如果没有说明,则要由产品负责人对开发人员进行培训和讲解,从而避免歧义。

最后,要加强产品原型图的版本控制,不能在原型图还没有定稿的时候就交给研发团队。