当前位置: 首页 > news >正文

学前端什么网站好wordpress 作者 链接

学前端什么网站好,wordpress 作者 链接,wordpress编辑器添加短代码按钮,js 曲线 网站由于不同期货品种的交易时间存在差异#xff0c;且不同期货合约的活跃度各不相同#xff0c;因此基于期货快照行情数据合成分钟K线的计算方法在时间对齐上需要进行不同的处理。 本教程旨在提升 DolphinDB 在具体业务场景中的应用效率#xff0c;并降低其在实际业务中的开发…由于不同期货品种的交易时间存在差异且不同期货合约的活跃度各不相同因此基于期货快照行情数据合成分钟K线的计算方法在时间对齐上需要进行不同的处理。 本教程旨在提升 DolphinDB 在具体业务场景中的应用效率并降低其在实际业务中的开发难度。为此我们开发了 FuturesOLHC 模块通过调用该模块中定义的函数用户可以轻松实现以下需求 基于期货历史快照行情数据合成分钟K线基于期货历史快照行情数据合成主连行情基于期货实时快照行情数据合成分钟K线 本教程的内容将按以下流程展开首先详细介绍如何基于期货历史快照行情数据合成分钟K线接着讲解如何基于期货历史快照行情数据合成主连行情然后说明如何基于期货实时快照行情数据合成分钟K线最后介绍 FuturesOLHC 模块的结构与功能并通过该模块中定义的函数实现上述三种场景的示例。 本教程适用多个交易所包括中国金融期货交易所 、 大连商品交易所 、上海期货交易所 、上海国际能源期货交易所、郑州商品交易所 、广州期货交易所。 1. 基于历史快照行情合成分钟 K 线 1.1 期货快照数据特征 Tick 数据是市场上最为精细和完整的记录包含了所有市场事件的信息比如每一次交易的发生或每一个新订单的增加。它记录了市场每个事件的数据因而被视为最精确的数据形式。与之相比快照数据是对 Tick 数据的一个切片统计换句话说它是对市场信息在时间维度上进行一定频率切片后得到的统计结果。如果将市场信息视为一个时间序列数据流那么快照数据相当于对这个数据流进行定时截取呈现某一时刻的市场状态而 Tick 数据则是该数据流的完整记录。因此Tick 数据提供更高的精度而快照数据的精度则依赖于采样的时间间隔。 在中国期货市场快照行情数据采样频率为 500 毫秒即每隔 0.5 秒推送一条数据但推送频率并非严格等间隔。不同的数据供应商和交易所提供的快照行情字段也可能有所不同因此即使采样频率为 500 毫秒具体的字段和数据格式也会有所差异。 本教程针对期货数据进行了统一处理期货快照行情数据表中的常见字段如下:  字段名称数据类型数据说明MarketSYMBOL交易所代码InstruIDSYMBOL期货代码TradeDayDATE交易日ClearingDayDATE结算日TradeTimeTIME交易时间LastPriceDOUBLE最新收盘价PreSetPriceDOUBLE前一日结算价PreCloPriceDOUBLE前一日收盘价OpenPriceDOUBLE最新开盘价HighPriceDOUBLE最高价LowPriceDOUBLE最低价VolumeINT成交量TurnoverDOUBLE成交金额OpenIntINT持仓量SetPriceDOUBLE结算价ULimitPriceDOUBLE当日涨停价LLimitPriceDOUBLE当日跌停价…………快照行情字段太多详情参考附录 其中涉及到分钟 K 线计算的重要字段有 字段名称数据类型数据说明LastPriceDOUBLE最新收盘价PreSetPriceDOUBLE前一日结算价PreCloPriceDOUBLE前一日收盘价OpenPriceDOUBLE最新开盘价HighPriceDOUBLE最高价LowPriceDOUBLE最低价VolumeINT成交量TurnoverDOUBLE成交金额OpenIntINT持仓量SetPriceDOUBLE结算价ULimitPriceDOUBLE当日涨停价LLimitPriceDOUBLE当日跌停价 基于上述字段期货快照行情数据合成的分钟 K 线指标及计算规则如下(计算窗口为左开右闭): 字段名称数据类型数据说明计算规则OpenPriceDOUBLE开始价计算窗口内的第一条快照行情的最新价 如果开盘后没有成交则为 0 如果盘中计算窗口缺失快照行情则填充上一根 K 线的收盘价HighPriceDOUBLE最高价计算窗口内的最高价 如果开盘后没有成交则为 0 如果盘中计算窗口缺失快照行情则填充上一根 K 线的收盘价LowPriceDOUBLE最低价计算窗口内的最低价 如果开盘后没有成交则为 0 如果盘中计算窗口缺失快照行情则填充上一根 K 线的收盘价ClosePriceDOUBLE收盘价计算窗口内的最后一条快照行情的最新价 如果开盘后没有成交则为 0 如果盘中计算窗口缺失快照行情则填充上一根 K 线的收盘价VolumeLONG成交量计算窗口内的所有快照行情成交量求和如果缺失快照行情填充 0ValueDOUBLE成交金额计算窗口内的所有快照行情成交金额求和如果缺失快照行情填充 0VwapDOUBLE均价计算窗口内的成交金额/成交量OpenIntINT持仓量当前持仓量PreSetPriceDOUBLE昨日结算价昨日结算价SetPriceDOUBLE结算价当日结算价在当日交易中按分钟收盘价计算ULimitPriceDOUBLE涨停价当日快照行情中的涨停价如果盘中计算窗口缺失快照行情填充上一根 K 线的涨停价LLimitPriceDOUBLE跌停价当日快照行情中的跌停价如果盘中计算窗口缺失快照行情填充上一根 K 线的跌停价PreClosePriceDOUBLE昨收价当日快照行情中的昨收价如果盘中计算窗口缺失快照行情填充上一根 K 线的昨日收盘价 1.2 快照数据合成的规则  1.2.1 最高价和最低价的处理  快照行情是时间间隔的数据切片。快照行情中的最高价和最低价数据反映的是从开盘到最新切片时刻的最高价和最低价而不是切片间隔内的最高价和最低价。但是 K 线中最高价和最低价则是计算窗口内的最高价和最低价。因此我们不能简单的以快照行情的最高价和最低价来合成 K 线的最高价和最低价。 如果 K 线窗口内的快照行情最高低价高低于 K 线考虑窗口前的快照行情最高低价则窗口内的快照行情最高低价就是 K 线的最高低情况价。譬如窗口内切片数据的最新价分别为 [3.0, 3.0, 3.11, 3.10]最高价分别为 [3.12, 3.12, 3.12, 3.12]该窗口前一切片的最高价为 3.11那么该窗口内最高价为 3.12。如果该窗口前一切片的最高价为 3.12该怎么计算最高低价呢此时与业界的常用做法一致我们选择 lastPrice 的最大小值作为 K 线的最大小值。分钟 K 线的最高价的自定义计算函数如下:  defg high(deltasHighPrice, highPrice, lastPrice){if(sum(deltasHighPrice)0.000001){return max(highPrice)}else{return max(lastPrice)} } 参数说明:  deltasHighPrice: 同一个期货合约相邻两个切片快照的当日最高价highPrice的差。该差大于0表示日内的最高价发生在该区间此时区间内的最高价为该值highPrice: 快照行情的当日最高价 lastPrice: 快照行情的当日最新价  注意此算法为近似算法计算窗口内的每个切片最后一条 LastPrice 价格有可能反映不出来整个时间窗口内的最高价和最低价。譬如上面的例子中K 线窗口前一切片的最高价为 3.12 根据算法最高价为 lastPrice 的最大值 3.11但实际上很有可能存在一个成交价 3.12。要得到 K 线真实的最高价和最低价只能通过逐笔成交数据来计算而非现在的快照数据。 同理分钟 K 线的最低价的自定义计算函数如下:  defg low(deltasLowPrice, lowPrice, lastPrice){sumDeltas sum(deltasLowPrice)if(sumDeltas-0.000001 and sumDeltas!NULL){return min(iif(LowPrice0.0, NULL, lowPrice))}else{return min(lastPrice)} } 参数说明:  deltasLowPrice: 同一个期货合约相邻两个切片快照的当日最低价LowPrice的差 。该差小于0表示日内的最低价发生在该区间此时区间内的最低价为该值lowPrice: 快照行情的当日最低价 lastPrice: 快照行情的当日最新价  1.2.2 成交量、成交额和成交笔数的处理  快照行情中的成交量、成交金额和成交笔数都是日累计求和值所以在进行滚动窗口计算前需要先求出两笔相邻快照的增量。使用DolphinDB 内置的 deltas 函数和 context by SQL 语句进行数据预处理具体处理代码下文会详细介绍。  1.2.3 开盘以后没有成交  部分成交不活跃的期货09:00:00 开始交易后一直没有成交但是快照行情会正常推送。  针对开盘以后一直没有成交的计算窗口本教程处理规则如下:  OpenPrice, HighPrice, LowPrice, ClosePrice, Volume, Value 为 0 PreClosePrice, ULimitPrice, LLimitPrice 为快照行情中对应的值  1.2.4 盘中计算窗口内没有成交  部分成交不活跃的期货会出现盘中某些计算窗口内完全没有成交但是快照行情会正常推送。  针对盘中没有成交的计算窗口本教程处理规则如下:  OpenPrice, HighPrice, LowPrice, ClosePrice 等于前一根 K 线的 ClosePrice Volume, Value 为 0 PreClosePrice, ULimitPrice, LLimitPrice 等于前一根 K 线对应的值  1.3 分钟 K 线计算步骤 以下部分将详细介绍附录中模块关于历史期货快照数据进行分钟 K 线计算的步骤 1.3.1 根据不同期货品种生成分钟 K 线对齐表 由于不同期货品种的交易时间不同需根据各期货品种的交易时段及交易代码生成一个用于对齐分钟K线的对齐表。该对齐表将包含每个期货品种在其交易时段内的完整分钟数据。 以上证50指数、沪深300指数、中证500指数和中证1000指数期货为例它们的交易时间为 9:30-11:30 和13:00-15:15。为了计算 1 分钟 K 线数据对齐表将包括这些指数期货在 9:30-11:30 及 13:00-15:15 两个时段内的每一分钟数据。 注意关于对齐表的详细生成部分可 参考附录模块。 1.3.2 定义计算分钟 K 线的函数 原始快照行情数据的初步处理 以原始行情数据表为参数对原始行情数据表按分钟频率进行处理包括:  计算同一个期货的两笔相邻快照的最高价和最低价的变化幅度 利用  deltas 函数计算相邻元素之差后续一分钟 K 线中 Volume、Turnover 应为一分钟内的DeltasVolume、DeltasTurnover 之和。计算同一个期货的两笔相邻快照的成交量、成交金额和成交笔数的增量生成表 tempTB1 。 进行 N 分钟窗口和 N 分钟步长的聚合计算  针对处理后的快照行情 tempTB1 进行窗口为 N 分钟、步长为 N 分钟的滚动窗口计算生成表 tempTB2。重要处理步骤如下:  调用了自定义函数 high 和 low 计算 K 线的最高价和最低价调用 DolphinDB 内置函数 interval以 60 秒作为 duration 对数据基于日期时间进行降频处理。在此步骤时针对盘中计算窗口缺失快照行情的情况统一用0填充后面会针对全部为 0 的 K 线填充数据进一步处理聚合计算变量包括交易所代码期货代码交易日结算日以及降维之后的日期时间。 注意 : 对于 interval 函数具体用法与参数可参考文档  interval函数。参数中的  label 字符串表示将分组区间的哪一个边界作为 label 输出可取值为 left 或 right。本教程中期货数据的分钟频数据根据分组区间 右边界输出可根据具体需求调整 label 参数。 对齐每日 K 线填充缺失快照行情计算窗口 对于聚合计算后生成的分钟频表 tempTB2 中的期货代码进行标准化处理后提取 tempTB2 表中期货代码并将 tempTB2 的分钟频数据和每个期货对应品种的时间段对齐得到表 result 。 针对 result 进行如下处理得到最终 K 线表 res :  针对盘中没有成交的计算窗口OpenPrice, HighPrice, LowPrice, ClosePrice用前一根 K 线的 ClosePrice 填充 PreClosePrice 用前一根 K 线对应的值填充删除盘中交易时间、收盘价为空的数据SortCo 数据全部大写处理 2. 基于历史快照行情合成主连行情 在期货市场中我们主要关注主连合约的报价即主力合约的连续表现。在不同市场中主连合约的切换遵循特定的规则。一般来说各市场的主力合约需符合以下通用规则: 每个期货品种只能选定一个主力合约主力合约的最后交易日必须晚于当前日期。如果某个合约今天是最后交易日通常它不会被选为主力合约主力合约通常基于日成交量、持仓量或者用户确定的切换日期来确定。 基于期货快照行情数据合成的主连行情表结构相比于上文中的分钟指标表结构增加了以下几个列 字段名称数据类型数据说明计算规则backwardFactorDOUBLE后复权因子后复权因子 前一次后复权因子*前主力合约ClosePrice/主力合约PreClosePriceforwardFactorDOUBLE前复权因子前复权因子前一次前复权因子*主力合约PreClosePrice/前主力合约ClosePrice 期货市场中最活跃、交易量最大的合约称为主力合约。当交易者滚动持仓时关注点转移至下一个主力合约可能导致合约之间的跳空即相邻合约之间出现较大的价格差距。为处理连续合约的跳空问题采取复权调整历史数据以更准确地反映资产的真实价值。一般有两种复权方法 前复权向前复权: 将历史数据调整为当时价格变动前的价位适用于回测和研究分析。后复权向后复权: 将历史数据调整为当时价格变动后的价位更符合实际操作情况。 2.1 定义 adjustFactor 函数计算复权因子 2.1.1 计算后复权因子 后复权方式的思路是以首日合约价格水平为基准调整后续合约价格以保证连续性。 adjustFactor 函数以 result 主力分钟频 K 线表temp 主力日频表作为输入参数并通过主力日频表获得需要更新的交易日。首先设置后复权首日因子为1并将首日与后续日期数据分开分别存入表 temImprove0 和表 temImprove1。将首日之后数据的表格与完整日期的表格 temImprove 进行左连接将当日与前日对比判断主连行情是否改变。计算后复权因子adjustFactor:若主连行情未改变后复权因子不进行调整若主连行情发生改变通过公式 backwardFactor前一日复权因子* forwardClosePrice前一日主力合约收盘价/ PreClosePrice当日主力合约前一日收盘价计算后复权因子复权因子连乘:计算出当日复权因子之后通过 cumprod 函数将复权因子进行连乘用于后续调整价格在进行左连表格操作时需要找回首次出现的主连行情代码。注意首次复权值均为 1 因此对结果没有影响。比如5 月 14 日左连至 5 月 13 日数据但 5 月 14 日出现了 rr 品种而 5 月 13 日没有该品种在左连时 5 月 14 日的 rr 品种会丢失因此需要对首日丢失的数据进行复权找回。 2.1.2 计算前复权因子 前复权方式的思路是以最新主力合约价格水平为基准调整历史合约价格以保证连续性。 首先设置最后一日前复权因子为 1并将最后一日与之前日期数据分开分别存入表 temImprove0 和表 temImprove1。将最后一日之前数据的表格与完整日期的表格 temImprove进行左连将当日与后一日对比判断主连行情是否改变。计算前复权因子adjustFactorRes:若主连行情未改变前复权因子不进行调整若主连行情发生改变通过公式 forwardFactor后一日复权因子* backwardPreClosePrice后一日主力合约收盘价/ ClosePrice主力合约收盘价计算前复权因子复权因子连乘:计算出当日复权因子之后通过 cumprod 函数将复权因子进行连乘用于后续调整价格找回左连表格时首次出现的主连行情代码。注意:首次复权都为1因此不影响结果 2.2 将前后复权因子以及对应 OHLC 价格加入终表 将主力分钟频 K 线表、上一步计算输出的后复权因子表 adjustFactor、前复权因子表 adjustFactorRes 进行左连接以此将复权因子数据以及对应的 OHLC 价格加入目标表。 2.3 计算 startDate 到 endDate 的主连行情 定义聚合函数以 startDate 和 endDate 作为参数输入计算这段时间的主连行情。 通过 temporalAdd 函数分别计算出 startDate 和 endDate 前一个交易日的日期startDate1、endDate1。并从库表中导入 startDate1 到 endDate 的分钟频 K 线数据 res 。从分钟频 K 线数据 res 中获取需要计算的交易日。判断主力合约:分别计算每日结束时的成交量和持仓注意:国债期货与商品期货判断主力方式不同 商品期货代码持仓量成交量最大提取当日主力记作 tb。国债期货主力计算逻辑为持仓量最大提取主力记作 tbCN。 从 res 提取 startDate 到 endDate 分钟频数据并根据 tb 中前一日主力代码确定分钟频数据里的当日主力得到主连行情 result。从库表提取历史主连行情表并与前一步生成的新的主连行情 result 进行合并。通过 group by处理 result 得到日频数据 tempt用于计算复权因子。最后调用第一步定义的 adjustFactor 函数得到主连行情。 3. 基于实时期货快照数据合成 K 线 本部分将详细介绍如何在 DolphinDB 中搭建期货快照数据的分钟 K 线实时计算流框架。关于 DolphinDB 的流数据功能的基础概念可以参考官网教程: 流数据。 需要说明的是实时数据与上文中历史数据的分钟 K 线计算逻辑是一致的。 基于实时快照行情合成 K 线的流程图如下: 接下来介绍期货快照数据流计算框架的搭建步骤详细代码可参考附录模块的 streamFrame.dos 部分 第一步:定义原始行情流表 首先创建与实时数据结构一致的源数据流表。注意每次运行前需要清理掉相关的流数据表和引擎。 说明: enableTableShareAndPersistence 函数在使用时需要在配置文件中单节点:dolohindb.cfg集群:cluster.cfg指定配置参数 persistenceDir配置参考 功能配置。 temp streamTable(100:0, colNames , colTypes) enableTableShareAndPersistence(tabletemp, tableNamequotationTable, cacheSize1200000) 第二步:定义中间的临时流表 首先定义一个临时流表用于储存响应式状态引擎计算结果。其次通过 createReactiveStateEngine 创建响应式状态引擎计算中间变量如当日最高价当日最低价根据自定义最高价最低价函数日累计成交量的差日累计成交金额的差。最后订阅原始行情即原始行情表实时流入的数据会及时发布到引擎实时完成对原始行情的加工。 第三步:定义分钟线输出表通过时序聚合引擎实时计算分钟数据 首先以交易时间和期货标的代码作为主键创建键值流数据表作为我们的目标表用于实现流数据的幂等性写入即多次写入键值相同的数据其结果与第一次写入的结果相同从而避免数据重复写入。向表中添加新记录时系统会自动检查新记录的主键值: 如果新记录的主键值与内存中已有记录的主键值重复时已有的记录不会被更新。一次性批量插入新记录时若有多条记录具有相同的主键值且该主键值与已有记录的主键值不同只有第一条记录能成功插入。 接着使用 createTimeSeriesEngine 创建流数据时间序列引擎以实现基于时间的滚动窗口进行实时计算。如一分钟K线的生成参数 windowSize 和 step 设置为 60000 毫秒即 60 秒。 订阅原始行情之后时间序列引擎会将计算结果插入之前创建的键值流表。 第四步:开始计算往流表注入数据 // 这里假设流表名称为: snapStream objByName(snapStream).append!(tb) sleep(10000) select top 100* from outputKlineTable 以下为流表中的部分 1 分钟数据 4. 期货快照数据分钟 K 线计算模块 在上文中我们详细介绍了如何通过期货快照历史数据计算分钟 K 线以及合成主连行情除此之外还介绍了在流数据场景中如何实时计算分钟 K 线。 本部分将详细介绍分钟 K 线计算模块 FuturesOLHC该模块封装了上文中介绍的计算逻辑通过调用该模块的函数便可以方便快捷地实现期货快照数据历史计算及主连行情合成和实时计算。 4.1 模块结构与功能 FuturesOLHC DolphinDB 模块的文件结构为 FuturesOLHC/ ├── batchFrame.dos ├── createTable.dos ├── streamFrame.dos ├── tableSchema.dos └── utils.dos 其中每个文件的功能分别为 文件名功能utils.dos定义整个模块需要用到的辅助函数tableSchema.dos定义期货快照数据及分钟指标的表结构函数createTable.dos定义创建相应持久化库表的函数batchFrame.dos定义计算历史期货快照数据分钟K线和主连行情的函数loadAllData.dos定义搭建实时期货快照数据分钟K线的流计算框架的函数 4.2 模块导入 下载 DolphinDB 模块 FuturesOLHC 之后需要将其同步到服务器上当在 DolphinDB 调用模块时会到相应路径下查找需要的模块文件。关于 DolphinDB 模块部分的详细介绍可参考模块 同步路径 将模块放置于节点所在 Home 目录的 module 目录下节点所在 Home 目录可通过 getHomeDir 函数获取 假设 Home 目录为: /DolphinDB/server那么需要将模块文件放置于 /DolphinDB/server/modules/ 路径下。 如何同步 使用 xftp 等传输软件将模块传输至服务器上指定的路径。使用 scp 命令scp -r FuturesOLHC user服务器ip:/DolphinDB/server/modules/。 4.3 如何使用模块 以下部分详细介绍 FuturesOLHC 模块的用法完整示例代码可参考附件demo.dos 4.3.1 创建期货快照数据和分钟 K 线数据持久化表 以下示例中基于商品期货和国债期货交易频率与市场规模的特性演示了商品期货和国债期货快照数据和分钟数据分区表的创建 / 引入模块文件 use FuturesOLHC::createTable // 商品期货快照数据数据库名 comdtySnapDbname dfs://comdtySnapDb // 商品期货快照数据数据表名 comdtySnapTbname comdtySnapTb // 商品期货分钟和主连数据库名 comdtyMinDbname dfs://comdtyMin // 商品期货分钟数据表名 comdtyMinTbname futurePrice1Min // 商品期货分钟数据主连行情数据表名 comdtyZlTbname futurePrice1MinZl// 国债期货快照数据数据库名 rtSnapDbname dfs://rtSnapDb // 国债期货快照数据数据表名 rtSnapTbname rtSnapTb // 国债期货分钟和主连数据库名 rtMinDbname dfs://rtMin // 国债期货分钟数据表名 rtMinTbname futurePrice1Min // 国债期货分钟数据主连行情数据表名 rtZlTbname futurePrice1MinZl// 根据指定参数创建相应库表 createComdtyFuturesDfs(comdtySnapDbname, comdtySnapTbname) createComdtyFuturesMinDfs(comdtyMinDbname, comdtyMinTbname) createComdtyFuturesZlDfs(comdtyMinDbname, comdtyZlTbname)createRtFuturesDfs(rtSnapDbname, rtSnapTbname) createRtFuturesMinDfs(rtMinDbname, rtMinTbname) createRtFuturesZlDfs(rtMinDbname, rtZlTbname) 其中以创建商品期货分钟 K 线持久化库表函数 createComdtyFuturesDfs 为例需要传入两个参数分别为 参数名含义comdtyMinDbname数据库名comdtyMinTbname数据表名 建库建表的具体代码可参考 FuturesOLHC 模块下的 createTable.dos 文件。 4.3.2 实时期货快照数据流计算框架搭建  创建好库表之后即可执行以下代码来构建流计算框架并根据附件中提供的示例数据模拟实时计算过程。 // 引入模块文件 use FuturesOLHC::streamFrame use FuturesOLHC::tableSchema use FuturesOLHC::utils// 商品期货原始流数据表名 rawComdtyStreamTbName comdtyStreamTb // 国债期货原始流数据表名 rawRtStreamTbName rtStreamTbtry{// 先删除持久化流表unsubAndDropAll(rawComdtyStreamTbName)unsubAndDropAll(rawRtStreamTbName)// 再创建相应持久化流表enableTableShareAndPersistence(tablecreateComdtyRawTable(), tableNamerawComdtyStreamTbName, cacheSize10000)enableTableShareAndPersistence(tablecreateRTRawTable(), tableNamerawRtStreamTbName, cacheSize10000) }catch(ex){print(ex)// 创建商品期货快照数据流计算框架 nMin 1 //分钟频率 (例1 表示生成 1 分钟 K 线) dbname comdtyMinDbname // 分钟数据最终导入的数据库名 tbname comdtyMinTbname // 分钟数据最终导入的数据表名 futureMinK::streamFrame::buildComdtyFrame(nMin, rawComdtyStreamTbName, dbname, tbname)// 创建国债期货快照数据流计算框架 nMin 1 //分钟频率 (例1 表示生成 1 分钟 K 线) dbname rtMinDbname // 分钟数据最终导入的数据库名 tbname rtMinTbname // 分钟数据最终导入的数据表名 futureMinK::streamFrame::buildRtFrame(nMin, rawRtStreamTbName, dbname, tbname)// 商品期货数据文件存放路径 comdtyPath /dolphindb/data/comdty_tickdata.csv // 获取流表表结构 sche schema(objByName(rawComdtyStreamTbName,true)).colDefs // 将示例数据导入内存表 comdty_tickdata loadText(comdtyPath,,sche) // 回放示例数据到流表中 replay(comdty_tickdata, objByName(rawComdtyStreamTbName,true), trd_ts, trd_ts, -1, false)// 国债期货数据文件存放路径 rtPath /dolphindb/data/rt_tickdata.csv // 获取流表表结构 sche schema(objByName(rawRtStreamTbName,true)).colDefs // 将示例数据导入内存表 rtTickdata loadText(rtPath,,sche) // 回放示例数据到流表中 replay(rtTickdata, objByName(rawRtStreamTbName,true), trd_ts, trd_ts, -1, false) 其中以创建商品期货快照数据流计算引擎函数 buildComdtyFrame 为例需要传入四个参数分别为 参数名含义nMin需要计算的分钟粒度如 1 表示 1 分钟rawComdtyStreamTbName商品期货快照数据的流表名称上游数据导入到该流表中dbname分钟 K 线计算后导入的数据库名tbname分钟 K 线计算后导入的数据表名 关于流计算框架的详细搭建步骤可参考本文中第三章具体代码可参考 FuturesOLHC 模块下的 streamFrame.dos 文件。 4.3.3 历史期货快照数据分钟 K 线计算 本部分以示例数据为例展示如何基于历史期货快照数据计算分钟 K 线 use FuturesOLHC::batchFrame// 商品期货历史快照数据 K 线计算 dataType cmdty // dbname comdtySnapDbname// 存放历史原始数据的数据库名 tbname comdtySnapTbname // 存放历史原始数据的数据表名 // 将示例数据导入库表中 pt loadTable(dbname, tbname) pt.tableInsert(comdty_tickdata)startDate 2024.10.10 // 计算开始时间 endDate 2024.10.10 // 计算结束时间 nMin 1 //分钟频率 (例1 表示生成 1分钟 K 线) res getFuturesKMin(dataType, dbname, tbname, startDate, endDate, nMin)// 国债期货历史快照数据 K 线计算 dataType rt // dbname rtSnapDbname// 存放历史原始数据的数据库名 tbname rtSnapTbname // 存放历史原始数据的数据表名 // 将示例数据导入库表中 pt loadTable(dbname, tbname) pt.tableInsert(rtTickdata)startDate 2024.10.08 // 计算开始时间 endDate 2024.10.08 // 计算结束时间 nMin 1 //分钟频率 (例1 表示生成 1分钟 K 线) res getFuturesKMin(dataType, dbname, tbname, startDate, endDate, nMin) 其中计算期货快照分钟K线数据函数 getFuturesKMin 需要传入六个参数分别为 参数名含义dataType需要计算的数据类别 comdty商品期货 rt国债期货dbname存放历史期货快照数据的数据库名tbname存放历史期货快照数据的数据表名startDate计算开始时间endDate计算结束时间nMin需要计算的分钟粒度如 1 表示 1 分钟 关于历史期货快照数据分钟 K 线的详细计算步骤可参考本文中第一章具体代码可参考 FuturesOLHC 模块下的 batchFrame.dos 文件。 4.3.4 历史期货快照数据分钟主连行情合成 本部分以示例数据为例展示如何基于历史期货快照数据合成主连行情 // 商品期货主连行情 minDbname comdtyMinDbname minTbname comdtyMinTbname zlDbname comdtyMinDbname zlTbname comdtyZlTbname startDate 2024.10.10 endDate 2024.10.10 nMin 1 comdtyZL comdtyZlFuturesKMin(minDbname, minTbname, zlDbname, zlTbname, startDate, endDate, nMin)// 国债期货主连行情 minDbname rtMinDbname minTbname rtMinTbname zlDbname rtMinDbname zlTbname rtZlTbname startDate 2024.10.08 endDate 2024.10.08 nMin 1 rtZL rtZlFuturesKMin(minDbname, minTbname, zlDbname, zlTbname, startDate, endDate, nMin) 其中以历史商品期货快照数据主连行情合成函数 comdtyZlFuturesKMin 为例需要传入七个参数分别为 参数名含义minDbname存放历史期货快照数据分钟线的数据库名minTbname存放历史期货快照数据分钟线的数据表名zlDbname存放期货快照数据主连行情的数据库名zlTbname存放期货快照数据主连行情的数据表名startDate计算开始时间endDate计算结束时间nMin需要计算的分钟粒度如 1 表示 1 分钟 关于历史期货快照数据主连行情合成的详细计算步骤可参考本文中第二章具体代码可参考 FuturesOLHC 模块下的 batchFrame.dos 文件。 5. 总结 本教程详细介绍了如何在 DolphinDB 中利用历史和实时快照行情数据生成期货的分钟 K 线及主连行情。并提供了实现上述功能的 FuturesOLHC 模块最后基于该模块详细地演示了实时计算分钟 K 线、计算历史分钟 K 线以及合成主连行情的步骤。 需要注意的是本教程中所介绍的 K 线和主连行情的生成规则可能与用户的实际应用场景有所不同。用户可以参考本教程中的模块源码根据自身需求进行调整从而快速完成项目开发。 附录 不同期货品种的具体交易时间段: 注意本教程主要介绍国内期货快照数据的分钟线合成对于不同交易时间的期货品种可在模块中  utils.dos 脚本修改  getFuturesTradeTime 函数自定义相应期货品种的交易时间。 期货品种期货代码交易时间上证 50 指数、沪深 300 指数、中证 500 指数中证 1000 指数IH, IF, IC, IM9:30 — 11:30 13:00 — 15:00黄大豆一号、普麦、布伦特原油、玉米、玉米淀粉、苯乙烯、乙二醇、铁矿石、焦炭、焦煤、聚乙烯 、豆粕、棕榈油、液化石油气、聚丙烯、对二甲苯、粳米、聚氯乙烯、豆油、沥青、燃料油、热轧卷板、螺纹钢、天然橡胶、纸浆、动力煤、棉花、棉纱、玻璃、甲醇、菜籽油、普通硅铁、菜籽粕、硅铁、白砂糖、线材、PTAA, B, BR, C, CS, EB, EG, I, J, JM, L, M, P, PG, PP, PX, RR, V, Y, BU, FU, HC, RB, RU, SP, ZC, CF, CY, FG, MA, OI, PF, RM, SA, SR, SH, TA9:00 — 10:15 10:30 — 11:30 13:30 — 15:00 21:00 — 23:00白银、黄金、原油AG, AU, SC09:00 — 10:15 10:30 — 11:30 13:30 — 15:00 21:00 — 02:30铝、沥青、线材、铜、镍、铅、锡、不锈钢、锌AL, AO, BC, LU, NR, CU, NI, PB, SN, SS, ZN09:00 — 10:15 10:30 — 11:30 13:30 — 15:00 21:00 — 01:00低硫燃料油、20号胶LU, NR09:00 — 10:15 10:30 — 11:30 13:30 — 15:00 21:00 — 23:00苹果、红枣、甲醇、粳稻、晚籼稻、花生、普麦、早籼稻、菜籽、硅铁、锰硅、尿素、胶合板、纤维板、鸡蛋、生猪、线材、强麦、聚丙烯、硅铁AP, CJ, EC, JR, LR, PK, PM, RI, RS, SF, SM, UR, BB, FB, JD, LH, WR, WH, LC, SI09:00 — 10:15 10:30 — 11:30 13:30 — 15:0010 年期国债期货、5 年期国债期货、2 年期国债期货、10 年期国债期货T, TF, TS, TL09:30 — 11:30 13:00 — 15:15 期货快照分钟K线计算完整模块 FuturesOLHCFuturesOLHC.zip期货快照分钟K线计算示例 demo.dos : demo.dos示例数据 : data.zip
http://www.laogonggong.com/news/138767.html

相关文章:

  • 编程网站开发培训做自己的外贸网站怎样赚钱
  • 网站没有备案信息该怎么做网站免费空间
  • 有男女做暖暖的视频网站兰溪市建设局网站 图片
  • 宝安大型商城网站建设wordpress mce
  • 百胜网站建设社区推广经验做法
  • 网站建站查询青岛市建设安全监督站网站
  • 网站开发及维护是什么福州营销网站建设技术
  • 中国工程建设交易信息网站萌新seo
  • 成都网站游戏设计下载网站备案的核验单
  • 找不同 网站开发国内网站赏析
  • 赣榆网站建设沧州做网站多少钱
  • 政务服务网站建设汇报乌兰察布做网站
  • 网站速度测速免费行情软件下载大全
  • 大理市建设局网站建设企业网站源码
  • 北京优化网站推广程序员最低学历要求
  • 欧美 电台 网站模板4网络营销外包怎么样
  • 网站怎么进行优化排名wordpress 4.5 ueditor1.4.3.3
  • 一个好网站设计重庆网站定制公司
  • 电商网站 设计做全屏网站图片显示不全
  • 协会建设网站的目的做任务兼职赚钱的网站有哪些
  • 前端怎么接私活做网站建设工程机械职业技能鉴定
  • 企业网站怎么做seowordpress做站群
  • 广告公司网站西安网站建设方案
  • 滨州网站建设哪家专业做网站建设最好学什么
  • 网站一般都是用什么软件做的网站怎么升级
  • 高港区企业网站建设wordpress docker
  • 网站代运营要多少费用吗网站备案号 如何添加
  • 做网站数据库怎么建百度云盘
  • 网站推广计划至少应包括天津几个区分别是
  • 有pc网站软文代写平台有哪些