FAQ > 金融建模 > 建模问题 > 平台使用

Q:天软行列数据与数据大小的估算    

  • A:在天软中,对于数据的提取,导出导入等做了一定的上限设置,该设置是为了保证服务器的正常服务,避免用户不合理命令引起服务器异常。
    比如常见需要注意的:
    1、select一次性提取的数据点数不能超过2亿个单元格的量
      相关FAQ:Q:select能提取到最大的数据结果集是多少
    2、用户程序一次性返回的结果集不能超过1GB的量
      相关FAQ:Q:天软对数据返回结果集的大小做了最大上限设置
    3、导出.STM的数据文件默认情况下一次性不得超过200M等
      相关FAQ:Q:客户端导入导出数据的大小限制或导出.STM数据时报错:”导出过程中发生错误!“

    那么,对于数据点数,数据行列数与数据文件大小,该如何估算?
    这里,我们以取行情数据表格为例,给出一个大小对照情况,供用户参考估算:
    参考说明:
    1、以行情数据为例,对数据大小按行列进行估算,数据大小实际还与数值类型相关,所以,该种对照只是估算,仅作为参考。
    2、天软行情表格字段数为58列,下面的交易明细与分钟线的转换是在全字段的情景下测试,日线的转换设定为20个字段的情况下测试。
    3、换算成高频行情的量按股票的日量为单位,交易明细一日设定为4800行,分钟线240行。
    4、下面的取数时间为一般情况下的时间估算,根据取数方式及服务器当前的状态,效率存在快慢差异属于正常现象。
    5、天软说明中数据大小(单位为M或G的)是指导出为STM文件的大小。
    6、下列数据大小均是在保存行情表字符串列名的情况下记录,若无须列名,转成自然数字列名数据的存储大小要更小,以日线数据为例(20个列名),字符串列名->数字列名后数据大小缩小的比例约为69%。
     注:少量的情况下这个比例会更低,大量(超过10M)的情况下比较接近这个比例。

    数据大小(STM)数据点行*列换算成交易明细换算成分钟线高频取数时间换算成日线
    1M4.6万798*581支股票1/6 日3.3日0.05s2420*20(约1000个票1日的量)
    10M46万7980*581支股票1.7日33日0.5s24200*20(约1000个票1月的量)
    100M462.84万79800*58964日约等于4个票1年的量19285日约等于77个票1年的量2.4s242000*20(约1000个票1年的量)
    1G4739.48万817152*58约40个票1年的量约790个票1年的量25s2420*1024*20(约1000个票10年的量)

    建议:
    1、在做大数据下载时,强烈建议数据进行分批处理,可参考:FAQ:Q:如何合理下载大量高频行情数据?
    2、用户在导出数据文件时,建议不要导成大数据文件,导出容易出问题外,导入大数据也是一个不好解决的问题。