原始行情的字段主要有:代码、名称、现价、今开、最高、最低、总额、总量、现手,买一价~买五价,买一量~买五量,卖一价~卖五价,卖一量~卖五量,等等。
加工行情的字段主要有:涨幅、涨跌、量比、涨速、均价、市盈率、市净率、换手率、流通市值等。
财务数据有31个字段左右,不一一列举。
行情类型:传统行情(平均6秒一次),Level2行情(平均3秒一次)。
注:行情同财务数据合并后,字段数超过100个,主要作为报价表的数据源。
2、分笔数据
对于一个股票或指数,将其每一笔行情数据累加在一起,就构成其的分笔数据,因行情类型不同而由其得到的分笔亦有不同,Level2分笔数据量比前者的大一倍,因而用来做各种运算会更加精细。
不同行情&炒股软件的分笔存在一定差异,而且每一条记录可能存在多笔合成的情况。
注:大智慧全推数据,只要网络足够快和正常,大智慧会将每一条分笔数据全推给收费的用户,方便其在本地使用更为复杂的指标等等。
3、1分钟线、分时走势数据
注:当天不开盘、无分时走势数据的,用昨收盘作为数据绘图即可。
注:分时走势数据主要作为分时走势图的数据源,也可以租来计算实时净流量
注:另小看分时,不少公司还算不好、玩不转它。
4、日线、5分钟线、15分钟线、30分钟线、60分钟线、周线、月线、季线、半年线、年线、多日线
其中,1分钟线可以合成5分钟线、15分钟线、30分钟线、60分钟线;日线可以合成周线、月线、季线、半年线、年线、多日线等。
注:各种线主要作为技术分析图的数据源。
5、理财产品/金融终端基础数据
股本变更:小心大小非
实际控股人:后台到底硬是不硬
经营分析(产品、行业、地区):暴利产品、行业,独有地区优势
经营范围、主营业务:哪些部分盈利
分析评价
公司公告
研报摘要
交叉持股:有的上市公司专门从事投资,且收益比主业还要高
除权除息数据
全球财经资讯
分价表
财务数据、历史财务(资产负债表、利润表、现金流量表)
综合财务评估(综合能力、盈利能力、偿债能力、成长能力、资产经营、市场表现、投资收益)
资金明细、资金流量、累计净流量
大小单统计、日成交分析、日成交金额比例
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线里的位置信息(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(DataDepthEstimate,深度数据估算系统)和SUP(主力资金系列)是对Level2逐笔数据和盘口队列数据进行分析统计得到的指标系列。
此外,对当日或多日统计的DDE进行排序,或者过滤出连续N日飘红的股票,是一种选择强势股的有效方法。
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、等等
进一步实现过程举例:(证券数据)
前面介绍了股票软件的各种数据,其中上市以来的日线以及每日的分笔是有一定数据量的,尤其L2构成的分笔数据(高频数据),无论是日线还是分笔数据,它们的数据结构是固定的,即有规律的,那么我们就可以据此定义自己的“新华字典”:
第一部分:整个文件描述区域,描述目录(股票集合)区域、数据区域等信息。
第二部分:目录区域,分别描述所有股票的列表(代码名称数据分块及其数据位置信息),上一步中约定位置数据描述了这一部分的起始位置,通过循环这一部分就可以分别得到所有股票的代码、名称及其这个股票存储分块和存储位置,以及数据总个数等。
第三部分:数据区域,通过上一部分,可以搜索到指定的股票信息,并得到这一部分中该股票的分块、数据位置个数据个数,据此就可以将这个股票的所有数据读出来。
有了这三个部分组成的“新华字典”(自定义数据结构下的数据文件),今后就可以通过它的第一、第二部分找到要查询的股票在第三部分的位置并将其数据读取出来。本文只为抛砖引玉,故到此为止。
注:在我个人电脑上映射过8G文件,和映射几个兆的一样的速度,映射成功后,就可以直接操作内存的方式去使用了。更大的文件我电脑上没有,所以暂时没有尝试。
12、开发平台选择
1、windows之mfc/win32:前者肿,后者复杂性过大。
2、基于win32的directui:结合xml界面布局和轻量级的脚本,将开发难度大大降低,且性能高效,加良好的可扩展式插件开发,使其流行起来。
3、Qt:linux和mac版wps,以及linuxkde都是基于qt实现的,一次开发windows/linux/mac/...处处运行(各个平台需要分别编译),加上集成GUI组件、插件式开发以及脚本等一系列资源,使得qt开发很high。
4、.Net:公共运行时体积较大、性能存在局限等多种因素,使得.net应用有所限制。
以下是Qt平台下的代表和经典产品:
使用Qt的企业:谷歌、三星、RIM
13、插件式集成
万点金融理财终端就是这种模式的案例之一。这样方式下,拿到主程序后,大家可以各自开发分配的部分,最终轻轻松松组合起来成为一个完整的应用和产品。
14、业务定制系统
15、Qt(c++)控件与产品开发预览
16、表格任意结果的绑定与展示定制
qml(脚本方式已完成,待续)
17、stockforios(ipad/iphone)
18、stockformulaenginer股票指标计算引擎库
19、开始windows8应用开发之旅
20、qtforandroid(c/c++)
qt是基于c/c++的一套完整的开发架构与解决方案,目前qt已经能够直接编译成apk并在android设备上运行和使用起来。