金融理财终端、股票软件数据剖析: 20、qt for android(c/c++)

1、行情数据

  通达信、飞狐等桌面行情&炒股软件当天首次登录时,会下载代码表、除权数据、财务数据等,通达信还有相关提示“正在下载....数据"。登录完毕通常进入主界面,即报价表窗口。使用过通达信报价表后,不难发现,左边部分为行情,右边部分则为首次登录时装载的财务数据。其中,左边的行情又分为原始行情,和通过原始行情和财务数据通过计算得到的部分。

  原始行情的字段主要有:代码、名称、现价、今开、最高、最低、总额、总量、现手,买一价~买五价,买一量~买五量,卖一价~卖五价,卖一量~卖五量,等等。

  加工行情的字段主要有:涨幅、涨跌、量比、涨速、均价、市盈率、市净率、换手率、流通市值等。

  财务数据有31个字段左右,不一一列举。

  行情类型:传统行情(平均6秒一次),Level2行情(平均3秒一次)。

  注:行情同财务数据合并后,字段数超过100个,主要作为报价表的数据源。 

 2、分笔数据

   对于一个股票或指数,将其每一笔行情数据累加在一起,就构成其的分笔数据,因行情类型不同而由其得到的分笔亦有不同,Level2分笔数据量比前者的大一倍,因而用来做各种运算会更加精细。

  分笔数据的字段主要有:时间、价格、现手,买一价~买五价,买一量~买五量,卖一价~卖五价,卖一量~卖五量。

  不同行情&炒股软件的分笔存在一定差异,而且每一条记录可能存在多笔合成的情况。

  注:大智慧全推数据,只要网络足够快和正常,大智慧会将每一条分笔数据全推给收费的用户,方便其在本地使用更为复杂的指标等等。

 

 3、1分钟线、分时走势数据

   1分钟线由分笔数据合成而得到的,主要字段有:时间、开盘、最高、最低、收盘、金额、数量。而分时走势数据则是1分钟线的的简化版,即由时间、成交价、成交量、成交额这么几个字段组成。

  注:当天开盘后,由于各种原因,股票可能会停盘一断时间(比如一个小时或半天甚至更长时间)后才开盘;也可能市场交易冷淡,某些分钟不存在交易而没有数据,这时建议补充这些分钟的数据,使当天的1分钟&分时走势数据具有完整性,好处在于无须考虑再次考虑这样那样的情况之下,即可绘制出正确的图形。

  注:当天不开盘、无分时走势数据的,用昨收盘作为数据绘图即可。

  注:分时走势数据主要作为分时走势图的数据源,也可以租来计算实时净流量

  注:另小看分时,不少公司还算不好、玩不转它。

 

4、日线、5分钟线、15分钟线、30分钟线、60分钟线、周线、月线、季线、半年线、年线、多日线

  主要字段均为:时间、开盘、最高、最低、收盘、金额、数量。

  其中,1分钟线可以合成5分钟线、15分钟线、30分钟线、60分钟线;日线可以合成周线、月线、季线、半年线、年线、多日线等。

  注:各种线主要作为技术分析图的数据源。  

 

5、 理财产品/金融终端基础数据

股本变更:小心大小非

实际控股人:后台到底硬是不硬

经营分析(产品、行业、地区):暴利产品、行业,独有地区优势

金融理财终端、股票软件数据剖析: 20、qt for android(c/c++)

经营范围、主营业务:哪些部分盈利

分析评价

公司公告

相关报道

研报摘要

交叉持股:有的上市公司专门从事投资,且收益比主业还要高

除权除息数据

全球财经资讯

分价表

代码表、行业、版块及其相关统计(行业涨跌分布)

财务数据、历史财务(资产负债表、利润表、现金流量表)

综合财务评估(综合能力、盈利能力、偿债能力、成长能力、资产经营、市场表现、投资收益)

资金明细、资金流量、累计净流量

用户关注、用户关注分布

大小单统计、日成交分析、日成交金额比例

60日内机构资金增减

行业财务指标排行-营业收入

行业交易数据排行-涨跌

CPI/PPI/PMI/利率/M1&M2/资金与股市/进出口/外储/GDP/预警指标

 

除以上外,还有以上的数据及其交叉计算出来衍生数据,也还有其它。

6、信息地雷与图形的对应关系

1)分时

  1分钟一个点,分时全天240分钟、240个点,假设给这240个点分别标记为0-239,那么第1分钟的信息地雷则对应0,第2分钟的信息地雷则对应1,以此类推。

  2分钟/n分钟1个点,类推下即可。

2)K线

  分时始终都是240个点,而K线的点数即周期数,是跟随交易日而递增的。

  K线处在整个周期时,可以看作一张全景图,而当缩放和平移时,从周期的角度可以看作是这个全景图的局部。

  在全景图下,第一点标记为x1,最后一点标记为x2。假设周期为1000,则x1=0,x2=999,这时标记第一天的信息地图为0,第二天则为1,以此类似。

  当我们缩放到最近100天时,x1=全景的x2-100=1000-100-1=899,x2=999,若要转换x1和x2基于0开始,则x1和x2均需要分别减去x1(899),得到x1'=0、x2'=100。这时,全景图中第932天信息地雷的id则对应932-899=33,在x1'和x2'之间,是合理的,否则不画出来。

  注:由于每个股票的上市交易时间不同,所以全景图中第一点的日期不一定相同。用此法将信息地雷与K线图对应起来,在处理同一股票数据时,必须保证该股每次全景图的x1所在周期的日期一致,否则信息地图与K线对应的ID(编号)每次均需要重新计算。

  注:信息地雷的来源有年报、季报、公告、业绩预批、研报等,其中,分时图的信息地雷其实构成了K线图的信息地雷的数据源。

  注:一条信息地雷可以增加两个字段用来存储其在分时、K线里的位置信息(id),该表最好作分区表+索引。

  注:还有简单办法就是用信息地雷的时间与时间轴对比,存在的则在该时间轴上相应位置画出即可。

7、各种坐标轴

  技术分析图中,价格轴(Y轴)有以下类型

1)普通

  又分为按固定行高分段和自动分段两种类型,后者用到数据函数进行分段,仔细对比大智慧、同花顺、通达信就能够发现区别。

2)等比

3)等分

4)百分比坐标

5)百分比坐标2

6)对数坐标

7)黄金分割坐标

  最大价格和最小价格这段距离看到100%,则分成这么几段100% 80.9% 61.8% 38.2% 19.1% 0%

8)整数坐标

  大盘小数位为0,个股精确到小数第一位

注:等比、等分、百分比、对数坐标等计算方法暂不公开

 8、交易接口

   参考《深圳证券交易所数据接口规范》,网上可以下载到的。交易部分主要是股票、基金的委托(买入、卖出、撤单),包含认购、申购、赎回等,无论是直接调用交易所的该接口,还是透过券商、第三方渠道,最终交易信息都会先写入到交易所的数据库,然后,才做进一步的交易的。

  所以说,交易部分其实玩的按到交易所或第三方的接口规范、协议之类把交易信息写入到交易所的数据库,仅此而已。不同开发商、券商,定的协议不同,要是提供api直接调用还好,要是仅提供协议,可能会有一定差别的,但最终的结果只是把交易数据写入到交易所交易数据库是相同的。

9、DDE系列决策指标

  DDE(Data Depth Estimate,深度数据估算系统)和SUP(主力资金系列)是对Level2逐笔数据和盘口队列数据进行分析统计得到的指标系列。

  此外,对当日或多日统计的DDE进行排序,或者过滤出连续N日飘红的股票,是一种选择强势股的有效方法。

   详见大智慧相关软件,不仅技术分析中能够运用,分时亦可以。其中大智慧Wp7手机版的DDE、SUP免费提供广大用户使用。

 10、全推实时行情

  行情软件中,大智慧收费版、和讯行情提供了全推功能,此外,第三方接口如数畅、银江、Helloworld均提供了类似的功能。有了全推行情,做行情服务器(行情、分时等)就有了实时数据源,用来看行情也比点播行情快,做实时计算的时效性也要好很多。

11、大数据量文件的高效使用

  日常中,系统及应用、服务的安装、运行和使用,无不用到I/O(输入/输出)。在c/c++语言中,读文件用fread函数,写文件用fwrite函数,.net、java等语言中也有相同功能的类似函数,通常都是对打开成功的文件来回地读、写、移动文件指针或位置,费时费力,尤其大数据量的文件更加明显。就算要将数据缓存起来,至少也是要经过这个费时费力的过程的,那么有没有比IO更好的选择?

  windows/linux下都有内核对象共享文件内存,通过它不必操作文件,也无须做缓存,只要在内存映射完成后,就可以直接在内存中操作这些数据。在Windows平台上,最大可支持的文件长度为16EB,几乎可以满足任何大数据量文件处理场合的要求。

  应用案例:

  1、多个进程共享数据(c++中的SendMessage和PostMessage也是基于内存共享实现的)

  2、流媒体(h264)系列,如视频、监控等服务,通过它可以逐步载入从指定位置开始的数据,或快速将新的文件写回文件;对于客户端的请求,可以从指定位置开始实时续传视频数据,以便观看视频内容或直播。

  3、“缓存”的一种更高效方式,如门户、搜索引擎、云平台等很多应用均可使用,在内存中快速读写而又不像对象形式的缓存那样占用内存开销,因而特定场景时完全可以采用。

  4、(彩色)语法编译器

  5、编译器

  6、证券数据,尤其高频数据

  7、等等

  进一步实现过程举例:(证券数据)

金融理财终端、股票软件数据剖析: 20、qt for android(c/c++)

  前面介绍了股票软件的各种数据,其中上市以来的日线以及每日的分笔是有一定数据量的,尤其L2构成的分笔数据(高频数据),无论是日线还是分笔数据,它们的数据结构是固定的,即有规律的,那么我们就可以据此定义自己的“新华字典”:

  第一部分:整个文件描述区域,描述目录(股票集合)区域、数据区域等信息。

  第二部分:目录区域,分别描述所有股票的列表(代码 名称 数据分块及其数据位置信息),上一步中约定位置数据描述了这一部分的起始位置,通过循环这一部分就可以分别得到所有股票的代码、名称及其这个股票存储分块和存储位置,以及数据总个数等。

  第三部分:数据区域,通过上一部分,可以搜索到指定的股票信息,并得到这一部分中该股票的分块、数据位置个数据个数,据此就可以将这个股票的所有数据读出来。

  有了这三个部分组成的“新华字典”(自定义数据结构下的数据文件),今后就可以通过它的第一、第二部分找到要查询的股票在第三部分的位置并将其数据读取出来。本文只为抛砖引玉,故到此为止。

  

注:在我个人电脑上映射过8G文件,和映射几个兆的一样的速度,映射成功后,就可以直接操作内存的方式去使用了。更大的文件我电脑上没有,所以暂时没有尝试。

12、开发平台选择

  1、windows之mfc/win32:前者肿,后者复杂性过大。

  2、基于win32的direct ui:结合xml界面布局和轻量级的脚本,将开发难度大大降低,且性能高效,加良好的可扩展式插件开发,使其流行起来。

  3、Qt:linux和mac版wps,以及linux kde都是基于qt实现的,一次开发windows/linux/mac/...处处运行(各个平台需要分别编译),加上集成GUI组件、插件式开发以及脚本等一系列资源,使得qt 开发很high。

  4、.Net:公共运行时体积较大、性能存在局限等多种因素,使得.net应用有所限制。

  以下是Qt平台下的代表和经典产品:

  VLC
  Skype
  Elements
  Autodesk Maya
  Adobe Photoshop
  Arora(一款跨平台的开源网页浏览器)、
  eva(Linux版QQ聊天软件)、
  FreeMat(一个自由开源的数值计算环境和编程语言 )、
  Gadu-Gadu(即时通信软件)、
  Google地球(Google Earth)(三维虚拟地图软件)、
  ImageVis3D、KDE(著名的桌面环境)、
  Elibs(一个许多KDE程序都使用的共享库,如Amarok、K3b、KDevelop、KOffice等)、
  Last.fm播放器(著名的互联网音乐社区网站的桌面客户端)、
  Motorola A760(UI 以 Qt/Embedded 建构)、
  MythTV9(开源的数字视频录制软件)、
  Opera(著名的网页浏览器)、Qterm(跨平台的BBS软件)、
  QtExtended、Quantum GIS、Skype(一个使用人数众多的基于P2P的VOIP聊天软件)、
  SMPlayer(跨平台多媒体播放器)、TeamSpeak(跨平台的音效通信软件) 、
  Tlen.pl:波兰人发明的 instant messaging client TOra、
  VirtualBox(虚拟机软件)、
  Xconfig(Linux的Kernel配置工具) 、
  chmcreator(开源的chm开
  wps2012(windows/linux/mac)
  linux kde
      PerfectDisk

  使用Qt的企业:谷歌、三星、RIM

 13、插件式集成

  QQ的安装目录“TencentQQPlugin”下就有四十多个插件,使得其主程序不必有大改动的前提下得到扩展,轻松集成各种各样应用。这样的模式大到开发工具Visual Studio、Eclipse,小到360安全卫生,都是这么玩的。

  万点金融理财终端就是这种模式的案例之一。这样方式下,拿到主程序后,大家可以各自开发分配的部分,最终轻轻松松组合起来成为一个完整的应用和产品。

 14、业务定制系统

  同一家公司,同一行业或领域内,不同需求产生不同产品,但这些产品在绝大部分构成上是相同的。原始如oa,crm等系统,可能同一公司有很多套代码,甚至有了还需要重复去开发,因为需求、情况略有不同,有的公司相同的个东西是一批人一套,多么的浪费资源(时间、人力、成本等)。

      IDE的普及以及业务和技术经验等积累到一定程度之后,就有可能打造出业务定制系统,比如国内两大家财务软件(也是跟国外学习的)就有这样的装备,可以在短时间内快速定制全行业各种常规的系统和产品,满足且避免不了的二次开发。如此就整合了不少资源,在很大程度上避免重复的现象。

 15、Qt(c++)控件与产品开发预览

16、表格任意结果的绑定与展示定制

http://www.cnblogs.com/chuncn/archive/2012/07/30/2615481.html

 qml(脚本方式已完成,待续)

17、stock for ios(ipad/iphone)

 

18、stock formula enginer股票指标计算引擎库

http://code.google.com/p/stock-formula-enginer/

19、开始windows8 应用开发之旅

20、qt for android(c/c++)

  qt是基于c/c++的一套完整的开发架构与解决方案,目前qt已经能够直接编译成apk并在android设备上运行和使用起来。