@yuants/app-virtual-exchange 0.18.11 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/credential.js +25 -18
  2. package/dist/credential.js.map +1 -1
  3. package/dist/general.js.map +1 -1
  4. package/dist/series-collector/interest-ledger.js +143 -0
  5. package/dist/series-collector/interest-ledger.js.map +1 -0
  6. package/dist/series-collector/patch-interest-rate.js +2 -23
  7. package/dist/series-collector/patch-interest-rate.js.map +1 -1
  8. package/dist/series-collector/patch-ohlc.js +2 -23
  9. package/dist/series-collector/patch-ohlc.js.map +1 -1
  10. package/dist/series-collector/setup.js +4 -12
  11. package/dist/series-collector/setup.js.map +1 -1
  12. package/dist/series-collector/sql-helpers.js +27 -0
  13. package/dist/series-collector/sql-helpers.js.map +1 -1
  14. package/dist/types.js +2 -0
  15. package/dist/types.js.map +1 -0
  16. package/lib/credential.d.ts +14 -4
  17. package/lib/credential.d.ts.map +1 -1
  18. package/lib/credential.js +27 -19
  19. package/lib/credential.js.map +1 -1
  20. package/lib/general.js.map +1 -1
  21. package/lib/series-collector/interest-ledger.d.ts +16 -0
  22. package/lib/series-collector/interest-ledger.d.ts.map +1 -0
  23. package/lib/series-collector/interest-ledger.js +152 -0
  24. package/lib/series-collector/interest-ledger.js.map +1 -0
  25. package/lib/series-collector/patch-interest-rate.d.ts.map +1 -1
  26. package/lib/series-collector/patch-interest-rate.js +2 -23
  27. package/lib/series-collector/patch-interest-rate.js.map +1 -1
  28. package/lib/series-collector/patch-ohlc.d.ts.map +1 -1
  29. package/lib/series-collector/patch-ohlc.js +2 -23
  30. package/lib/series-collector/patch-ohlc.js.map +1 -1
  31. package/lib/series-collector/setup.js +4 -12
  32. package/lib/series-collector/setup.js.map +1 -1
  33. package/lib/series-collector/sql-helpers.d.ts +6 -0
  34. package/lib/series-collector/sql-helpers.d.ts.map +1 -1
  35. package/lib/series-collector/sql-helpers.js +31 -1
  36. package/lib/series-collector/sql-helpers.js.map +1 -1
  37. package/lib/types.d.ts +5 -0
  38. package/lib/types.d.ts.map +1 -0
  39. package/lib/types.js +3 -0
  40. package/lib/types.js.map +1 -0
  41. package/package.json +5 -5
  42. package/temp/build/typescript/ts_KjrfbUqK.json +1 -1
  43. package/temp/test/jest/haste-map-76b16e3ab892e2fd05068740b7223d57-a6c52f003baf5bf33cffc52364f3bd7a-4ce9ff2cd20d69bbaecd1543c7e32e02 +0 -0
  44. package/temp/test/jest/perf-cache-76b16e3ab892e2fd05068740b7223d57-da39a3ee5e6b4b0d3255bfef95601890 +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findOHLCEndTimeForward = exports.findInterestRateStartTimeBackward = exports.findInterestRateEndTimeForward = void 0;
3
+ exports.findPatchGap = exports.findBackwardTaskFirstStartTime = exports.findForwardTaskLastEndTime = exports.findOHLCEndTimeForward = exports.findInterestRateStartTimeBackward = exports.findInterestRateEndTimeForward = void 0;
4
4
  const sql_1 = require("@yuants/sql");
5
5
  /**
6
6
  * 查找某个利率品种系列ID的最新结束时间(for forward task)
@@ -14,4 +14,34 @@ const findInterestRateStartTimeBackward = (terminal, product_id) => (0, sql_1.re
14
14
  exports.findInterestRateStartTimeBackward = findInterestRateStartTimeBackward;
15
15
  const findOHLCEndTimeForward = (terminal, series_id) => (0, sql_1.requestSQL)(terminal, `select end_time from series_data_range where series_id = ${(0, sql_1.escapeSQL)(series_id)} and table_name = 'ohlc_v2' order by end_time desc limit 1`).then((records) => { var _a; return (_a = records === null || records === void 0 ? void 0 : records[0]) === null || _a === void 0 ? void 0 : _a.end_time; });
16
16
  exports.findOHLCEndTimeForward = findOHLCEndTimeForward;
17
+ const findForwardTaskLastEndTime = (terminal, series_id, table_name) => (0, sql_1.requestSQL)(terminal, `select end_time from series_data_range where series_id = ${(0, sql_1.escapeSQL)(series_id)} and table_name = ${(0, sql_1.escapeSQL)(table_name)} order by end_time desc limit 1`).then((records) => { var _a; return (_a = records === null || records === void 0 ? void 0 : records[0]) === null || _a === void 0 ? void 0 : _a.end_time; });
18
+ exports.findForwardTaskLastEndTime = findForwardTaskLastEndTime;
19
+ const findBackwardTaskFirstStartTime = (terminal, series_id, table_name) => (0, sql_1.requestSQL)(terminal, `select start_time from series_data_range where series_id = ${(0, sql_1.escapeSQL)(series_id)} and table_name = ${(0, sql_1.escapeSQL)(table_name)} order by start_time asc limit 1`).then((records) => { var _a; return (_a = records === null || records === void 0 ? void 0 : records[0]) === null || _a === void 0 ? void 0 : _a.start_time; });
20
+ exports.findBackwardTaskFirstStartTime = findBackwardTaskFirstStartTime;
21
+ const findPatchGap = async (terminal, table_name, series_id) => {
22
+ const [record] = await (0, sql_1.requestSQL)(terminal, `
23
+ WITH reversed_ranges AS (
24
+ SELECT
25
+ start_time,
26
+ end_time,
27
+ LEAD(end_time) OVER (
28
+ PARTITION BY table_name, series_id
29
+ ORDER BY start_time DESC
30
+ ) AS next_end_time -- 注意:倒序时 LEAD 是前一个区间
31
+ FROM series_data_range
32
+ WHERE table_name = ${(0, sql_1.escapeSQL)(table_name)}
33
+ AND series_id = ${(0, sql_1.escapeSQL)(series_id)}
34
+ )
35
+ SELECT
36
+ next_end_time AS gap_start_time, -- 前一个区间的结束时间
37
+ start_time AS gap_end_time -- 当前区间的开始时间
38
+ FROM reversed_ranges
39
+ WHERE next_end_time IS NOT NULL
40
+ AND start_time > next_end_time -- 有空缺
41
+ ORDER BY start_time DESC -- 从最新开始
42
+ LIMIT 1;
43
+ `);
44
+ return record;
45
+ };
46
+ exports.findPatchGap = findPatchGap;
17
47
  //# sourceMappingURL=sql-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-helpers.js","sourceRoot":"","sources":["../../src/series-collector/sql-helpers.ts"],"names":[],"mappings":";;;AACA,qCAAoD;AAEpD;;;;;GAKG;AACI,MAAM,8BAA8B,GAAG,CAAC,QAAkB,EAAE,UAAkB,EAAE,EAAE,CACvF,IAAA,gBAAU,EAKR,QAAQ,EACR,4DAA4D,IAAA,eAAS,EACnE,UAAU,CACX,kEAAkE,CACpE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;AAVjC,QAAA,8BAA8B,kCAUG;AAEvC,MAAM,iCAAiC,GAAG,CAAC,QAAkB,EAAE,UAAkB,EAAE,EAAE,CAC1F,IAAA,gBAAU,EAKR,QAAQ,EACR,8DAA8D,IAAA,eAAS,EACrE,UAAU,CACX,mEAAmE,CACrE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,UAAU,CAAA,EAAA,CAAC,CAAC;AAVnC,QAAA,iCAAiC,qCAUE;AAEzC,MAAM,sBAAsB,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE,CAC9E,IAAA,gBAAU,EAKR,QAAQ,EACR,4DAA4D,IAAA,eAAS,EACnE,SAAS,CACV,4DAA4D,CAC9D,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;AAVjC,QAAA,sBAAsB,0BAUW","sourcesContent":["import { Terminal } from '@yuants/protocol';\nimport { escapeSQL, requestSQL } from '@yuants/sql';\n\n/**\n * 查找某个利率品种系列ID的最新结束时间(for forward task)\n * @param terminal\n * @param product_id\n * @returns\n */\nexport const findInterestRateEndTimeForward = (terminal: Terminal, product_id: string) =>\n requestSQL<\n {\n end_time: string;\n }[]\n >(\n terminal,\n `select end_time from series_data_range where series_id = ${escapeSQL(\n product_id,\n )} and table_name = 'interest_rate' order by end_time desc limit 1`,\n ).then((records) => records?.[0]?.end_time);\n\nexport const findInterestRateStartTimeBackward = (terminal: Terminal, product_id: string) =>\n requestSQL<\n {\n start_time: string;\n }[]\n >(\n terminal,\n `select start_time from series_data_range where series_id = ${escapeSQL(\n product_id,\n )} and table_name = 'interest_rate' order by start_time asc limit 1`,\n ).then((records) => records?.[0]?.start_time);\n\nexport const findOHLCEndTimeForward = (terminal: Terminal, series_id: string) =>\n requestSQL<\n {\n end_time: string;\n }[]\n >(\n terminal,\n `select end_time from series_data_range where series_id = ${escapeSQL(\n series_id,\n )} and table_name = 'ohlc_v2' order by end_time desc limit 1`,\n ).then((records) => records?.[0]?.end_time);\n"]}
1
+ {"version":3,"file":"sql-helpers.js","sourceRoot":"","sources":["../../src/series-collector/sql-helpers.ts"],"names":[],"mappings":";;;AACA,qCAAoD;AAEpD;;;;;GAKG;AACI,MAAM,8BAA8B,GAAG,CAAC,QAAkB,EAAE,UAAkB,EAAE,EAAE,CACvF,IAAA,gBAAU,EAKR,QAAQ,EACR,4DAA4D,IAAA,eAAS,EACnE,UAAU,CACX,kEAAkE,CACpE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;AAVjC,QAAA,8BAA8B,kCAUG;AAEvC,MAAM,iCAAiC,GAAG,CAAC,QAAkB,EAAE,UAAkB,EAAE,EAAE,CAC1F,IAAA,gBAAU,EAKR,QAAQ,EACR,8DAA8D,IAAA,eAAS,EACrE,UAAU,CACX,mEAAmE,CACrE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,UAAU,CAAA,EAAA,CAAC,CAAC;AAVnC,QAAA,iCAAiC,qCAUE;AAEzC,MAAM,sBAAsB,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,EAAE,CAC9E,IAAA,gBAAU,EAKR,QAAQ,EACR,4DAA4D,IAAA,eAAS,EACnE,SAAS,CACV,4DAA4D,CAC9D,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;AAVjC,QAAA,sBAAsB,0BAUW;AAEvC,MAAM,0BAA0B,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,UAAkB,EAAE,EAAE,CACtG,IAAA,gBAAU,EAKR,QAAQ,EACR,4DAA4D,IAAA,eAAS,EACnE,SAAS,CACV,qBAAqB,IAAA,eAAS,EAAC,UAAU,CAAC,iCAAiC,CAC7E,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,QAAQ,CAAA,EAAA,CAAC,CAAC;AAVjC,QAAA,0BAA0B,8BAUO;AAEvC,MAAM,8BAA8B,GAAG,CAAC,QAAkB,EAAE,SAAiB,EAAE,UAAkB,EAAE,EAAE,CAC1G,IAAA,gBAAU,EAKR,QAAQ,EACR,8DAA8D,IAAA,eAAS,EACrE,SAAS,CACV,qBAAqB,IAAA,eAAS,EAAC,UAAU,CAAC,kCAAkC,CAC9E,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,WAAC,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,0CAAE,UAAU,CAAA,EAAA,CAAC,CAAC;AAVnC,QAAA,8BAA8B,kCAUK;AAEzC,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAkB,EAClB,UAAkB,EAClB,SAAiB,EAOjB,EAAE;IACF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,gBAAU,EAC/B,QAAQ,EACR;;;;;;;;;;yBAUqB,IAAA,eAAS,EAAC,UAAU,CAAC;wBACtB,IAAA,eAAS,EAAC,SAAS,CAAC;;;;;;;;;;KAUvC,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAtCW,QAAA,YAAY,gBAsCvB","sourcesContent":["import { Terminal } from '@yuants/protocol';\nimport { escapeSQL, requestSQL } from '@yuants/sql';\n\n/**\n * 查找某个利率品种系列ID的最新结束时间(for forward task)\n * @param terminal\n * @param product_id\n * @returns\n */\nexport const findInterestRateEndTimeForward = (terminal: Terminal, product_id: string) =>\n requestSQL<\n {\n end_time: string;\n }[]\n >(\n terminal,\n `select end_time from series_data_range where series_id = ${escapeSQL(\n product_id,\n )} and table_name = 'interest_rate' order by end_time desc limit 1`,\n ).then((records) => records?.[0]?.end_time);\n\nexport const findInterestRateStartTimeBackward = (terminal: Terminal, product_id: string) =>\n requestSQL<\n {\n start_time: string;\n }[]\n >(\n terminal,\n `select start_time from series_data_range where series_id = ${escapeSQL(\n product_id,\n )} and table_name = 'interest_rate' order by start_time asc limit 1`,\n ).then((records) => records?.[0]?.start_time);\n\nexport const findOHLCEndTimeForward = (terminal: Terminal, series_id: string) =>\n requestSQL<\n {\n end_time: string;\n }[]\n >(\n terminal,\n `select end_time from series_data_range where series_id = ${escapeSQL(\n series_id,\n )} and table_name = 'ohlc_v2' order by end_time desc limit 1`,\n ).then((records) => records?.[0]?.end_time);\n\nexport const findForwardTaskLastEndTime = (terminal: Terminal, series_id: string, table_name: string) =>\n requestSQL<\n {\n end_time: string;\n }[]\n >(\n terminal,\n `select end_time from series_data_range where series_id = ${escapeSQL(\n series_id,\n )} and table_name = ${escapeSQL(table_name)} order by end_time desc limit 1`,\n ).then((records) => records?.[0]?.end_time);\n\nexport const findBackwardTaskFirstStartTime = (terminal: Terminal, series_id: string, table_name: string) =>\n requestSQL<\n {\n start_time: string;\n }[]\n >(\n terminal,\n `select start_time from series_data_range where series_id = ${escapeSQL(\n series_id,\n )} and table_name = ${escapeSQL(table_name)} order by start_time asc limit 1`,\n ).then((records) => records?.[0]?.start_time);\n\nexport const findPatchGap = async (\n terminal: Terminal,\n table_name: string,\n series_id: string,\n): Promise<\n | {\n gap_start_time: string;\n gap_end_time: string;\n }\n | undefined\n> => {\n const [record] = await requestSQL<{ gap_start_time: string; gap_end_time: string }[]>(\n terminal,\n `\nWITH reversed_ranges AS (\n SELECT \n start_time,\n end_time,\n LEAD(end_time) OVER (\n PARTITION BY table_name, series_id \n ORDER BY start_time DESC\n ) AS next_end_time -- 注意:倒序时 LEAD 是前一个区间\n FROM series_data_range\n WHERE table_name = ${escapeSQL(table_name)} \n AND series_id = ${escapeSQL(series_id)}\n)\nSELECT \n next_end_time AS gap_start_time, -- 前一个区间的结束时间\n start_time AS gap_end_time -- 当前区间的开始时间\nFROM reversed_ranges\nWHERE next_end_time IS NOT NULL \n AND start_time > next_end_time -- 有空缺\nORDER BY start_time DESC -- 从最新开始\nLIMIT 1;\n `,\n );\n\n return record;\n};\n"]}
package/lib/types.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export interface IExchangeCredential {
2
+ type: string;
3
+ payload: any;
4
+ }
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;CACd"}
package/lib/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface IExchangeCredential {\n type: string;\n payload: any;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuants/app-virtual-exchange",
3
- "version": "0.18.11",
3
+ "version": "0.19.0",
4
4
  "main": "lib/index.js",
5
5
  "files": [
6
6
  "dist",
@@ -13,15 +13,15 @@
13
13
  "@yuants/protocol": "0.54.1",
14
14
  "@yuants/utils": "0.19.4",
15
15
  "@yuants/data-product": "0.5.9",
16
- "@yuants/data-order": "0.7.9",
17
16
  "@yuants/data-account": "0.11.8",
17
+ "@yuants/data-order": "0.7.9",
18
18
  "@yuants/data-quote": "0.4.8",
19
19
  "@yuants/data-interest-rate": "0.2.9",
20
- "@yuants/data-ohlc": "0.6.4",
21
20
  "@yuants/secret": "0.4.9",
22
- "@yuants/cache": "0.3.12",
21
+ "@yuants/exchange": "0.8.15",
23
22
  "@yuants/sql": "0.9.39",
24
- "@yuants/exchange": "0.8.14"
23
+ "@yuants/data-ohlc": "0.6.4",
24
+ "@yuants/cache": "0.3.12"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@rushstack/heft": "~1.1.7",