create-dwy 0.12.2 → 0.13.1

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 (2853) hide show
  1. package/bin/index.js +22 -0
  2. package/package.json +1 -1
  3. package/src/sync-codex.js +368 -0
  4. package/src/sync.js +24 -9
  5. package/templates/claude-global/rules/Android/dwy-android-core.md +256 -80
  6. package/templates/claude-global/rules/Android/dwy-android-support-only.md +112 -0
  7. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/SKILL.md +140 -0
  8. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/comparison-matrix.md +89 -0
  9. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/lint-checklist.md +103 -0
  10. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/memory-rules.md +234 -0
  11. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/settings-permissions-hooks.md +323 -0
  12. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/skills.md +220 -0
  13. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/slash-commands.md +169 -0
  14. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/subagents.md +353 -0
  15. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/references/url-manifest.json +68 -0
  16. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/scripts/lint.py +652 -0
  17. package/templates/claude-global/skills//345/205/203/345/267/245/345/205/267/dwy-claude-code-features/scripts/refresh_docs.py +177 -0
  18. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-sdk-spec/scripts/check_python_publish.sh +2 -2
  19. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-sdk-spec/scripts/detect_sdk.sh +3 -3
  20. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/SKILL.md +108 -87
  21. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/INDEX.md +2874 -0
  22. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/data-ingest.md +142 -0
  23. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/deploy-ops.md +133 -0
  24. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/engines.md +102 -0
  25. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/finance-patterns.md +181 -0
  26. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/functions-aggregate-window.md +153 -0
  27. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/functions-string.md +150 -0
  28. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/functions-temporal.md +154 -0
  29. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/partitioning.md +149 -0
  30. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/perf-tuning.md +141 -0
  31. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/python-sdk.md +189 -0
  32. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/sql-essentials.md +142 -0
  33. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/digest/stream-engine.md +141 -0
  34. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/about/ddb_intro.md +89 -0
  35. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/api/connapi_intro.md +366 -0
  36. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/backtest/backtest_intro.md +27 -0
  37. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/cfg/cluster.md +104 -0
  38. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/cfg/db_intro.md +30 -0
  39. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/cfg/function_configuration.md +1149 -0
  40. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/cfg/init.md +54 -0
  41. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/cfg/para_cfg.md +18 -0
  42. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/cfg/standalone.md +95 -0
  43. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/clients.md +19 -0
  44. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/catalog.md +394 -0
  45. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/db_architecture.md +30 -0
  46. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/db_partitioning.md +315 -0
  47. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/ha.md +78 -0
  48. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/imoltp.md +381 -0
  49. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/iotdb.md +419 -0
  50. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/limits.md +40 -0
  51. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/multimodal_storage.md +65 -0
  52. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/olap.md +107 -0
  53. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/pkey_engine.md +361 -0
  54. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/rdma.md +177 -0
  55. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/rebalance.md +61 -0
  56. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/recovery.md +78 -0
  57. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/storage_compute_separation.md +308 -0
  58. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/textdb.md +342 -0
  59. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/three_centers_in_two_places.md +187 -0
  60. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/tiered_storage.md +225 -0
  61. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/transaction.md +208 -0
  62. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/tsdb.md +557 -0
  63. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db/vectordb.md +160 -0
  64. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_distr_comp.md +16 -0
  65. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/GettingStart.md +223 -0
  66. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/Shell.md +271 -0
  67. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/access_man.md +214 -0
  68. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/cep.md +52 -0
  69. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/cfg_man.md +157 -0
  70. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/cluster_overview.md +55 -0
  71. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/feature_settings.md +132 -0
  72. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/git_multiple_tabs.md +171 -0
  73. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/intro.md +22 -0
  74. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/job_man.md +20 -0
  75. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/kafka_mqtt.md +332 -0
  76. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/log.md +15 -0
  77. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/plugin_management.md +96 -0
  78. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/querybuilder.md +350 -0
  79. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/regulr_inspection.md +101 -0
  80. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/session_management.md +13 -0
  81. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/stream_graph.md +61 -0
  82. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_man/web/stream_monitor.md +112 -0
  83. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/FunctionView.md +151 -0
  84. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/add_partitions.md +87 -0
  85. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/binary_records_import.md +105 -0
  86. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/create_db_tb.md +231 -0
  87. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/data_import_method.md +100 -0
  88. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/drop_db_tb.md +120 -0
  89. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/drop_partitions.md +158 -0
  90. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/hdf5_files_import.md +447 -0
  91. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/insert_data.md +330 -0
  92. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/parquet_files_import.md +318 -0
  93. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/queries.md +334 -0
  94. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/db_oper/text_files_import.md +1007 -0
  95. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/drop_database_table.md +86 -0
  96. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/gui.md +221 -0
  97. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/jupyter.md +90 -0
  98. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/mod_data.md +144 -0
  99. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/modify_table_structure.md +133 -0
  100. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/terminal.md +170 -0
  101. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/db_distr_comp/vscode.md +588 -0
  102. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/deploy/deploy_intro.md +147 -0
  103. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/deploy/license_fingerprint_collection.md +122 -0
  104. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00001.md +33 -0
  105. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00002.md +69 -0
  106. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00003.md +25 -0
  107. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00004.md +31 -0
  108. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00006.md +35 -0
  109. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00007.md +46 -0
  110. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S00008.md +60 -0
  111. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01001.md +25 -0
  112. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01002.md +43 -0
  113. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01003.md +30 -0
  114. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01004.md +37 -0
  115. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01005.md +27 -0
  116. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01006.md +32 -0
  117. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01007.md +33 -0
  118. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01008.md +34 -0
  119. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01009.md +33 -0
  120. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01011.md +40 -0
  121. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01012.md +34 -0
  122. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01013.md +41 -0
  123. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01014.md +40 -0
  124. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01015.md +26 -0
  125. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01016.md +29 -0
  126. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01018.md +27 -0
  127. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01019.md +33 -0
  128. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01020.md +26 -0
  129. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01021.md +26 -0
  130. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01022.md +26 -0
  131. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01023.md +28 -0
  132. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01024.md +28 -0
  133. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01025.md +32 -0
  134. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01026.md +37 -0
  135. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01027.md +28 -0
  136. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01028.md +29 -0
  137. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01029.md +31 -0
  138. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01030.md +30 -0
  139. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01031.md +27 -0
  140. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01032.md +26 -0
  141. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01035.md +27 -0
  142. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01036.md +28 -0
  143. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01037.md +33 -0
  144. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01038.md +32 -0
  145. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01039.md +26 -0
  146. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01040.md +38 -0
  147. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01041.md +25 -0
  148. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01042.md +26 -0
  149. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01043.md +28 -0
  150. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01044.md +26 -0
  151. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01045.md +27 -0
  152. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01050.md +26 -0
  153. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01051.md +26 -0
  154. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01052.md +29 -0
  155. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01053.md +27 -0
  156. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01054.md +26 -0
  157. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01055.md +27 -0
  158. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01056.md +26 -0
  159. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01057.md +25 -0
  160. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01058.md +26 -0
  161. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01059.md +25 -0
  162. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01060.md +25 -0
  163. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01061.md +25 -0
  164. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01062.md +25 -0
  165. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01063.md +32 -0
  166. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01064.md +29 -0
  167. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01065.md +28 -0
  168. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01067.md +41 -0
  169. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01068.md +26 -0
  170. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S01069.md +28 -0
  171. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02000.md +34 -0
  172. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02001.md +36 -0
  173. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02002.md +65 -0
  174. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02003.md +35 -0
  175. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02004.md +39 -0
  176. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02005.md +34 -0
  177. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02006.md +64 -0
  178. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02007.md +41 -0
  179. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02008.md +45 -0
  180. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02009.md +34 -0
  181. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02010.md +39 -0
  182. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02011.md +38 -0
  183. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02012.md +36 -0
  184. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02013.md +34 -0
  185. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02014.md +34 -0
  186. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02015_0.md +36 -0
  187. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02016.md +39 -0
  188. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02017.md +35 -0
  189. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02018.md +31 -0
  190. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02019.md +37 -0
  191. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02020.md +31 -0
  192. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02021.md +38 -0
  193. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02022.md +38 -0
  194. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02023.md +40 -0
  195. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02024.md +31 -0
  196. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02025.md +42 -0
  197. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02026.md +35 -0
  198. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02027.md +43 -0
  199. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02028.md +38 -0
  200. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02029.md +40 -0
  201. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02030.md +35 -0
  202. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02031.md +37 -0
  203. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02044.md +49 -0
  204. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02045.md +48 -0
  205. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02046.md +56 -0
  206. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02047.md +71 -0
  207. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02048.md +45 -0
  208. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02049.md +37 -0
  209. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02050.md +44 -0
  210. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02051.md +43 -0
  211. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02052.md +53 -0
  212. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02053.md +43 -0
  213. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02054.md +53 -0
  214. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02055.md +43 -0
  215. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02056.md +49 -0
  216. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02057.md +38 -0
  217. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S02059.md +43 -0
  218. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03000.md +49 -0
  219. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03001.md +34 -0
  220. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03002.md +40 -0
  221. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03003.md +50 -0
  222. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03005.md +49 -0
  223. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03006.md +32 -0
  224. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03007.md +37 -0
  225. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03008.md +27 -0
  226. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03009.md +31 -0
  227. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03012.md +39 -0
  228. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03013.md +34 -0
  229. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03014.md +30 -0
  230. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03015.md +41 -0
  231. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03016.md +32 -0
  232. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03017.md +36 -0
  233. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03018.md +34 -0
  234. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03019.md +30 -0
  235. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S03020.md +31 -0
  236. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S04001.md +26 -0
  237. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S04002.md +26 -0
  238. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S04003.md +28 -0
  239. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S04004.md +46 -0
  240. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S04005.md +32 -0
  241. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05000.md +25 -0
  242. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05001.md +51 -0
  243. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05003.md +39 -0
  244. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05004.md +34 -0
  245. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05005.md +53 -0
  246. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05006.md +40 -0
  247. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05007.md +43 -0
  248. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S05010.md +41 -0
  249. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06000.md +54 -0
  250. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06001.md +41 -0
  251. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06002.md +35 -0
  252. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06003.md +59 -0
  253. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06004.md +37 -0
  254. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06005.md +32 -0
  255. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/S06006.md +41 -0
  256. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/err_codes.md +52 -0
  257. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00005.md +29 -0
  258. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00009.md +27 -0
  259. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00010.md +28 -0
  260. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00011.md +30 -0
  261. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00012.md +26 -0
  262. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00013.md +29 -0
  263. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00014.md +28 -0
  264. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00015.md +33 -0
  265. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00016.md +39 -0
  266. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00017.md +26 -0
  267. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00018.md +26 -0
  268. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00019.md +25 -0
  269. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s00020.md +66 -0
  270. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01000_0.md +27 -0
  271. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01010.md +27 -0
  272. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01017.md +27 -0
  273. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01033.md +26 -0
  274. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01034.md +27 -0
  275. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01046.md +27 -0
  276. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01047.md +27 -0
  277. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01048.md +28 -0
  278. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01049.md +28 -0
  279. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01070.md +26 -0
  280. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01071.md +26 -0
  281. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01072.md +26 -0
  282. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01074.md +27 -0
  283. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01076.md +28 -0
  284. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s01077.md +25 -0
  285. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02032.md +31 -0
  286. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02033.md +30 -0
  287. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02034.md +30 -0
  288. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02035.md +30 -0
  289. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02036.md +33 -0
  290. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02037.md +51 -0
  291. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02038.md +42 -0
  292. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02039.md +30 -0
  293. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02040.md +39 -0
  294. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02041.md +33 -0
  295. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02042.md +42 -0
  296. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s02043.md +42 -0
  297. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03021.md +26 -0
  298. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03022.md +27 -0
  299. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03023.md +26 -0
  300. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03024.md +25 -0
  301. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03025.md +26 -0
  302. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03027.md +27 -0
  303. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03028.md +26 -0
  304. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03036.md +26 -0
  305. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03037.md +26 -0
  306. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03038.md +25 -0
  307. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03039.md +26 -0
  308. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03040.md +27 -0
  309. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03041.md +28 -0
  310. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03042.md +28 -0
  311. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s03043.md +25 -0
  312. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s04006.md +26 -0
  313. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s04007.md +27 -0
  314. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s04008.md +26 -0
  315. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05008.md +41 -0
  316. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05009.md +33 -0
  317. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05011.md +37 -0
  318. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05012.md +37 -0
  319. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05013.md +32 -0
  320. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05014.md +34 -0
  321. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05015.md +35 -0
  322. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05016.md +33 -0
  323. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s05017.md +25 -0
  324. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06007.md +51 -0
  325. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06008.md +53 -0
  326. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06009.md +40 -0
  327. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06010.md +38 -0
  328. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06011.md +38 -0
  329. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06012.md +41 -0
  330. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s06013.md +42 -0
  331. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07000.md +26 -0
  332. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07001.md +32 -0
  333. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07002.md +26 -0
  334. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07003.md +26 -0
  335. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07004.md +26 -0
  336. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07005.md +25 -0
  337. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s07006.md +45 -0
  338. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09000.md +25 -0
  339. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09001.md +26 -0
  340. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09002.md +26 -0
  341. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09003.md +25 -0
  342. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09004.md +27 -0
  343. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09005.md +26 -0
  344. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09006.md +25 -0
  345. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09007.md +45 -0
  346. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09008.md +39 -0
  347. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s09009.md +33 -0
  348. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10000.md +27 -0
  349. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10001.md +27 -0
  350. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10002.md +28 -0
  351. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10003.md +26 -0
  352. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10004.md +26 -0
  353. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10005.md +26 -0
  354. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10006.md +26 -0
  355. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10007.md +25 -0
  356. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10008.md +26 -0
  357. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s10009.md +26 -0
  358. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12000.md +29 -0
  359. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12001.md +26 -0
  360. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12002.md +27 -0
  361. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12003.md +37 -0
  362. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12004.md +29 -0
  363. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12005.md +26 -0
  364. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12006.md +27 -0
  365. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12007.md +28 -0
  366. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12008.md +30 -0
  367. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/s12009.md +26 -0
  368. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/error_codes/troubleshooting.md +11 -0
  369. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/_INDEX.md +1796 -0
  370. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/abs.md +58 -0
  371. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/acf.md +57 -0
  372. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/acos.md +34 -0
  373. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/acosh.md +34 -0
  374. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/adaBoostClassifier.md +96 -0
  375. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/adaBoostRegressor.md +92 -0
  376. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/add.md +107 -0
  377. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addAccessControl.md +107 -0
  378. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addColumn.md +117 -0
  379. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addEventListener.md +235 -0
  380. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addFunctionView.md +82 -0
  381. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addGroupMember.md +55 -0
  382. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addMCPPrompt.md +47 -0
  383. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addMCPTool.md +65 -0
  384. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addMarketHoliday.md +103 -0
  385. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addMetrics.md +103 -0
  386. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addNode.md +60 -0
  387. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addRangePartitions.md +72 -0
  388. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addSparseReactiveMetrics.md +37 -0
  389. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addValuePartitions.md +74 -0
  390. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addVolumes.md +31 -0
  391. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addcacherulesforcomputegroup.md +40 -0
  392. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addgpfunction.md +86 -0
  393. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addipblacklist.md +33 -0
  394. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addipwhitelist.md +34 -0
  395. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addreactivemetrics.md +66 -0
  396. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/addstatelessmetrics.md +45 -0
  397. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/adfuller.md +80 -0
  398. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/align.md +141 -0
  399. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/all.md +57 -0
  400. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/and.md +66 -0
  401. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/anova.md +50 -0
  402. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/any.md +52 -0
  403. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/append!.md +174 -0
  404. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendEvent.md +88 -0
  405. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendForJoin.md +67 -0
  406. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendMktData.md +145 -0
  407. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendMsg.md +45 -0
  408. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendOrcaStreamTable.md +72 -0
  409. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendTupel_.md +56 -0
  410. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/appendeventwithresponse.md +116 -0
  411. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/arima.md +95 -0
  412. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/array.md +65 -0
  413. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/arrayVector.md +57 -0
  414. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/asFreq.md +237 -0
  415. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/asIs.md +42 -0
  416. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/asfreq1.md +11 -0
  417. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/asin.md +35 -0
  418. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/asinh.md +35 -0
  419. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/asof.md +40 -0
  420. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/at.md +167 -0
  421. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/atImax.md +49 -0
  422. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/atImin.md +49 -0
  423. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/atan.md +35 -0
  424. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/atanh.md +35 -0
  425. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/attributeTypes.md +52 -0
  426. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/attributenames.md +45 -0
  427. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/attributevalues.md +53 -0
  428. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/autocorr.md +49 -0
  429. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/a/avg.md +54 -0
  430. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/backup.md +202 -0
  431. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/backupDB.md +62 -0
  432. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/backupTable.md +63 -0
  433. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/backupsettings.md +54 -0
  434. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bar.md +162 -0
  435. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/base64Decode.md +39 -0
  436. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/base64Encode.md +43 -0
  437. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/beta.md +36 -0
  438. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/between.md +70 -0
  439. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bfill.md +103 -0
  440. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bfill_.md +64 -0
  441. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bigarray.md +109 -0
  442. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/binaryExpr.md +57 -0
  443. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/binsrch.md +40 -0
  444. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bitAnd.md +35 -0
  445. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bitNot.md +38 -0
  446. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bitOr.md +35 -0
  447. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bitXor.md +35 -0
  448. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/blob.md +77 -0
  449. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondCalculator.md +185 -0
  450. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondCashflow.md +89 -0
  451. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondDirtyPrice.md +88 -0
  452. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondDuration.md +81 -0
  453. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondFuturesPricer.md +85 -0
  454. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondPricer.md +200 -0
  455. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondYieldCurveBuilder.md +393 -0
  456. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondaccrint.md +81 -0
  457. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondconvexity.md +79 -0
  458. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondinstrumentcalculator.md +235 -0
  459. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bondyield.md +108 -0
  460. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bool.md +70 -0
  461. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/boxcox.md +52 -0
  462. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/brentq.md +86 -0
  463. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/brute.md +82 -0
  464. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bucket.md +48 -0
  465. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bucketCount.md +45 -0
  466. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessDay.md +63 -0
  467. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessMonthBegin.md +81 -0
  468. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessMonthEnd.md +81 -0
  469. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessQuarterBegin.md +91 -0
  470. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessQuarterEnd.md +89 -0
  471. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessYearBegin.md +72 -0
  472. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/businessYearEnd.md +95 -0
  473. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/b/bvls.md +66 -0
  474. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cacheDSNow.md +37 -0
  475. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cacheDS_.md +37 -0
  476. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cachedTable.md +71 -0
  477. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/callMCPTool.md +63 -0
  478. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cancelConsoleJob.md +45 -0
  479. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cancelJob.md +63 -0
  480. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cancelRebalanceTask.md +25 -0
  481. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cancelRecoveryTask.md +25 -0
  482. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cancelpkeycompactiontask.md +31 -0
  483. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cast.md +143 -0
  484. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cbrt.md +50 -0
  485. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfBeta.md +39 -0
  486. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfBinomial.md +43 -0
  487. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfChiSquare.md +39 -0
  488. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfExp.md +39 -0
  489. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfF.md +39 -0
  490. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfGamma.md +41 -0
  491. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfKolmogorov.md +37 -0
  492. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfLogistic.md +37 -0
  493. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfNormal.md +41 -0
  494. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfPoisson.md +39 -0
  495. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfStudent.md +39 -0
  496. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfUniform.md +39 -0
  497. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfWeibull.md +39 -0
  498. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cdfZipf.md +37 -0
  499. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/ceil.md +84 -0
  500. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cell.md +59 -0
  501. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cells.md +54 -0
  502. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/changePwd.md +45 -0
  503. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/changelogStreamTable.md +100 -0
  504. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/char.md +70 -0
  505. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/charAt.md +44 -0
  506. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/checkBackup.md +81 -0
  507. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/checkpointHaMvcc.md +31 -0
  508. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/chiSquareTest.md +73 -0
  509. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cholesky.md +74 -0
  510. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cj.md +57 -0
  511. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cleanOutdateLogFiles.md +25 -0
  512. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearAllCache.md +37 -0
  513. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearCachedDatabase.md +27 -0
  514. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearCachedModules.md +72 -0
  515. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearDSCacheNow.md +37 -0
  516. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearDSCache_.md +37 -0
  517. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearTablePersistence.md +47 -0
  518. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clear_.md +68 -0
  519. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearalliotdblatestkeycache.md +31 -0
  520. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearalliotdbstatictablecache.md +31 -0
  521. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearalltsdbsymbolbasecache.md +32 -0
  522. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearcomputenodecache.md +47 -0
  523. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clearcomputenodediskcache.md +47 -0
  524. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clip.md +165 -0
  525. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/clip_.md +21 -0
  526. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/close.md +39 -0
  527. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/closeSessions.md +51 -0
  528. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cmFutVolatilitySurfaceBuilder.md +262 -0
  529. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cmfutamericanoptionpricer.md +254 -0
  530. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cmfuteuropeanoptionpricer.md +149 -0
  531. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/coevent.md +66 -0
  532. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/coint.md +67 -0
  533. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/col.md +74 -0
  534. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cols.md +64 -0
  535. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/columnNames.md +72 -0
  536. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/complex.md +43 -0
  537. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/compose.md +48 -0
  538. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/compress.md +70 -0
  539. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/concat.md +80 -0
  540. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/concatDateTime.md +67 -0
  541. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/concatMatrix.md +58 -0
  542. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/conditionalFilter.md +113 -0
  543. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/conditionalIterate.md +159 -0
  544. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/constantdesc.md +98 -0
  545. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/contextCount.md +43 -0
  546. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/contextSum.md +43 -0
  547. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/contextSum2.md +41 -0
  548. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/convertEncode.md +73 -0
  549. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/convertExcelFormula.md +67 -0
  550. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/convertTZ.md +35 -0
  551. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/copy.md +76 -0
  552. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/copyReplicas.md +41 -0
  553. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/corr.md +38 -0
  554. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/corrMatrix.md +63 -0
  555. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cos.md +41 -0
  556. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cosh.md +41 -0
  557. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cosine.md +49 -0
  558. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/count.md +104 -0
  559. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/countNanInf.md +44 -0
  560. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/covar.md +39 -0
  561. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/covarMatrix.md +58 -0
  562. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/covarp.md +47 -0
  563. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/crc32.md +40 -0
  564. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createAnomalyDetectionEngine.md +223 -0
  565. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createAsofJoinEngine.md +197 -0
  566. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createCEPEngine.md +340 -0
  567. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createCatalog.md +31 -0
  568. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createCrossSectionalAggregator.md +11 -0
  569. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createCrossSectionalEngine.md +582 -0
  570. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createDailyTimeSeriesEngine.md +346 -0
  571. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createDataViewEngine.md +166 -0
  572. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createDistributedInMemoryTable.md +109 -0
  573. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createDualOwnershipReactiveStateEngine.md +106 -0
  574. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createEqualJoinEngine.md +12 -0
  575. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createEquiJoinEngine.md +116 -0
  576. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createGroup.md +41 -0
  577. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createIMOLTPTable.md +88 -0
  578. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createIPCInMemoryTable.md +68 -0
  579. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createLeftSemiJoinEngine.md +142 -0
  580. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createLookupJoinEngine.md +353 -0
  581. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createMktDataEngine.md +966 -0
  582. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createNearestJoinEngine.md +185 -0
  583. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createOrcaHaKeyedStreamTable.md +64 -0
  584. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createOrcaHaStreamTable.md +61 -0
  585. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createOrcaKeyedStreamTable.md +86 -0
  586. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createOrcaLatestKeyedStreamTable.md +86 -0
  587. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createOrcaStreamTable.md +89 -0
  588. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createPartitionedTable.md +416 -0
  589. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createReactiveStateEngine.md +429 -0
  590. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createReactiveStatelessEngine.md +261 -0
  591. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createRuleEngine.md +223 -0
  592. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createSchema.md +41 -0
  593. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createSessionWindowEngine.md +226 -0
  594. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createSparseReactiveStateEngine.md +124 -0
  595. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createStreamDispatchEngine.md +325 -0
  596. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createStreamGraph.md +49 -0
  597. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createTable.md +11 -0
  598. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createTimeSeriesAggregator.md +11 -0
  599. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createTimeSeriesEngine.md +1127 -0
  600. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createUser.md +72 -0
  601. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createWindowJoinEngine.md +331 -0
  602. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createcryptoorderbookengine.md +265 -0
  603. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createdeviceengine.md +142 -0
  604. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createdimensiontable.md +171 -0
  605. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/creategplearnengine.md +101 -0
  606. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createnarrowreactivestateengine.md +112 -0
  607. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createorderbooksnapshotengine.md +854 -0
  608. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createpricingengine.md +119 -0
  609. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createsnapshotjoinengine.md +397 -0
  610. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createsseorderreconstructionengine.md +109 -0
  611. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createstreambroadcastengine.md +72 -0
  612. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createthresholdengine.md +354 -0
  613. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/createtimebucketengine.md +210 -0
  614. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/crossStat.md +32 -0
  615. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cubichermitesplinefit.md +96 -0
  616. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cubicspline.md +65 -0
  617. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cubicsplinepredic.md +46 -0
  618. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumPositiveStreak.md +70 -0
  619. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumavg.md +57 -0
  620. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumavgTopN.md +72 -0
  621. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumbeta.md +36 -0
  622. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumbetaTopN.md +36 -0
  623. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcorr.md +40 -0
  624. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcorrTopN.md +36 -0
  625. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcount.md +57 -0
  626. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcovar.md +35 -0
  627. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcovarTopN.md +36 -0
  628. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcovarp.md +37 -0
  629. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumcovarpTopN.md +40 -0
  630. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumdenseRank.md +88 -0
  631. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumfirstNot.md +69 -0
  632. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumkurtosisTopN.md +76 -0
  633. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumlastNot.md +69 -0
  634. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cummax.md +57 -0
  635. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cummdd.md +70 -0
  636. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cummed.md +57 -0
  637. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cummin.md +57 -0
  638. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumnunique.md +52 -0
  639. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumpercentile.md +104 -0
  640. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumprod.md +60 -0
  641. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumrank.md +85 -0
  642. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumskewTopN.md +76 -0
  643. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumstd.md +57 -0
  644. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumstdTopN.md +72 -0
  645. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumstdp.md +57 -0
  646. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumstdpTopN.md +72 -0
  647. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumsum.md +60 -0
  648. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumsum2.md +43 -0
  649. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumsum3.md +53 -0
  650. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumsum4.md +53 -0
  651. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumsumTopN.md +72 -0
  652. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumvar.md +57 -0
  653. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumvarTopN.md +72 -0
  654. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumvarp.md +56 -0
  655. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumvarpTopN.md +72 -0
  656. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumwavg.md +37 -0
  657. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumwsum.md +37 -0
  658. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cumwsumTopN.md +36 -0
  659. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/curvePredict.md +91 -0
  660. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cut.md +162 -0
  661. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cutPoints.md +45 -0
  662. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/c/cvar.md +48 -0
  663. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_SparseReactiveStateEngine.md +84 -0
  664. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_anomalyDetectionEngine.md +98 -0
  665. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_asofJoinEngine.md +115 -0
  666. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_buffer.md +78 -0
  667. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_changelogSink.md +67 -0
  668. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_crossSectionalEngine.md +131 -0
  669. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_cryptoOrderBookEngine.md +94 -0
  670. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_dailyTimeSeriesEngine.md +234 -0
  671. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_dualOwnershipReactiveStateEngine.md +81 -0
  672. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_equalJoinEngine.md +96 -0
  673. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_fork.md +48 -0
  674. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_getOutputSchema.md +38 -0
  675. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_haBuffer.md +59 -0
  676. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_haKeyedBuffer.md +59 -0
  677. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_haKeyedSink.md +44 -0
  678. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_haSink.md +42 -0
  679. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_keyedBuffer.md +80 -0
  680. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_keyedSink.md +65 -0
  681. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_latestKeyedBuffer.md +85 -0
  682. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_latestKeyedSink.md +69 -0
  683. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_leftSemiJoinEngine.md +99 -0
  684. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_lookupJoinEngine.md +110 -0
  685. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_map.md +53 -0
  686. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_narrowReactiveStateEngine.md +118 -0
  687. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_nearestJoinEngine.md +127 -0
  688. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_orderBookSnapshotEngine.md +220 -0
  689. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_parallelize.md +49 -0
  690. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_reactiveStateEngine.md +107 -0
  691. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_reactiveStatelessEngine.md +108 -0
  692. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_ruleEngine.md +106 -0
  693. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_sessionWindowEngine.md +150 -0
  694. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_setEngineName.md +29 -0
  695. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_sink.md +66 -0
  696. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_snapshotJoinEngine.md +118 -0
  697. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_sync.md +47 -0
  698. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_timeBucketEngine.md +125 -0
  699. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_timeSeriesEngine.md +201 -0
  700. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_timerEngine.md +73 -0
  701. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_udfEngine.md +109 -0
  702. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/DStream_windowJoinEngine.md +130 -0
  703. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dailyAlignedBar.md +115 -0
  704. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/database.md +368 -0
  705. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/date.md +60 -0
  706. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/datehour.md +56 -0
  707. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/datetime.md +64 -0
  708. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/datetimeParse.md +11 -0
  709. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dayOfMonth.md +40 -0
  710. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dayOfWeek.md +46 -0
  711. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dayOfYear.md +44 -0
  712. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/daysInMonth.md +38 -0
  713. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decimal128.md +89 -0
  714. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decimal32.md +99 -0
  715. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decimal64.md +101 -0
  716. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decimalFormat.md +122 -0
  717. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decimalMultiply.md +113 -0
  718. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/declareStreamingSQLTable.md +39 -0
  719. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decodeShortGenomeSeq.md +54 -0
  720. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/decompress.md +41 -0
  721. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deepCopy.md +73 -0
  722. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/defined.md +48 -0
  723. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/defs.md +92 -0
  724. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deg2rad.md +41 -0
  725. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteDataViewItems.md +91 -0
  726. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteGroup.md +35 -0
  727. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteGroupMember.md +39 -0
  728. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteMarketHoliday.md +45 -0
  729. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteReplicas.md +36 -0
  730. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteRule.md +60 -0
  731. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteScheduledJob.md +31 -0
  732. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteSparseReactiveMetric.md +36 -0
  733. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deleteUser.md +35 -0
  734. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deletechunkmetaonmasterbyid.md +34 -0
  735. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deltas.md +93 -0
  736. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dema.md +57 -0
  737. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/demean.md +45 -0
  738. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/denseRank.md +90 -0
  739. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/deny.md +83 -0
  740. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/derivative.md +50 -0
  741. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/destroyMonitor.md +78 -0
  742. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/det.md +103 -0
  743. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/diag.md +67 -0
  744. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dict.md +97 -0
  745. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dictUpdate_.md +67 -0
  746. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/difference.md +41 -0
  747. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/differentialevolution.md +90 -0
  748. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/digitize.md +84 -0
  749. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/disableActivePartition.md +36 -0
  750. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/disableQueryMonitor.md +29 -0
  751. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/disableTSDBAsyncSorting.md +28 -0
  752. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/disableTablePersistence.md +43 -0
  753. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/disabledynamicscriptoptimization.md +32 -0
  754. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/disableresourcetracking.md +31 -0
  755. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/distance.md +57 -0
  756. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/distinct.md +90 -0
  757. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/div.md +106 -0
  758. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dividedDifference.md +111 -0
  759. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dot.md +106 -0
  760. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/double.md +63 -0
  761. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/drop.md +88 -0
  762. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropAggregator.md +11 -0
  763. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropCatalog.md +31 -0
  764. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropColumns_.md +62 -0
  765. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropDataViewEngine.md +55 -0
  766. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropDatabase.md +63 -0
  767. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropDistributedInMemoryTable.md +41 -0
  768. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropFunctionView.md +49 -0
  769. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropHaMvccTable.md +33 -0
  770. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropIPCInMemoryTable.md +41 -0
  771. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropMCPPrompt.md +34 -0
  772. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropMCPTool.md +33 -0
  773. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropOrcaStreamTable.md +50 -0
  774. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropPartition.md +208 -0
  775. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropSchema.md +33 -0
  776. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropStreamEngine.md +61 -0
  777. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropStreamGraph.md +50 -0
  778. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropStreamTable.md +79 -0
  779. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropTable.md +41 -0
  780. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dropna.md +95 -0
  781. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dstream_shareddict.md +98 -0
  782. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dstream_sharedkeyedtable.md +128 -0
  783. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dstream_sharedtable.md +124 -0
  784. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dumpheapsample.md +47 -0
  785. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/duration.md +86 -0
  786. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dynamicGroupCumcount.md +117 -0
  787. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/d/dynamicGroupCumsum.md +124 -0
  788. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eig.md +83 -0
  789. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/elasticNet.md +91 -0
  790. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/elasticNetBasic.md +148 -0
  791. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/elasticNetCV.md +67 -0
  792. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/ema.md +88 -0
  793. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/emitEvent.md +134 -0
  794. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enableActivePartition.md +39 -0
  795. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enableQueryMonitor.md +27 -0
  796. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enableTSDBAsyncSorting.md +32 -0
  797. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enableTablePersistence.md +171 -0
  798. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enableTableShareAndPersistence.md +176 -0
  799. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enabledynamicscriptoptimization.md +40 -0
  800. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enableresourcetracking.md +68 -0
  801. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enabletablecachepurge.md +93 -0
  802. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enabletableshareandcachepurge.md +94 -0
  803. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enabletdekey.md +35 -0
  804. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enabletransfercompressiontocomputenode.md +35 -0
  805. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/encodeShortGenomeSeq.md +81 -0
  806. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/encryptmodule.md +58 -0
  807. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/endsWith.md +39 -0
  808. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/enlist.md +73 -0
  809. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eq.md +94 -0
  810. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqDividendCurveBuilder.md +171 -0
  811. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqFloat.md +44 -0
  812. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqObj.md +69 -0
  813. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqamericanoptionpricer.md +219 -0
  814. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqeuropeanoptionpricer.md +251 -0
  815. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqpercent.md +68 -0
  816. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqproxyvolatilitysurfacebuilder.md +148 -0
  817. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eqvolatilitysurfacebuilder.md +148 -0
  818. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/erase_.md +95 -0
  819. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/esd.md +55 -0
  820. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/euclidean.md +66 -0
  821. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eval.md +55 -0
  822. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/evalTimer.md +57 -0
  823. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/ewmCorr.md +83 -0
  824. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/ewmCov.md +83 -0
  825. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/ewmMean.md +132 -0
  826. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/ewmStd.md +78 -0
  827. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/ewmVar.md +78 -0
  828. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/exists.md +65 -0
  829. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/existsCatalog.md +39 -0
  830. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/existsDatabase.md +52 -0
  831. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/existsPartition.md +81 -0
  832. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/existsStreamTable.md +49 -0
  833. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/existsSubscriptionTopic.md +44 -0
  834. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/existsTable.md +52 -0
  835. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/exp.md +44 -0
  836. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/exp2.md +57 -0
  837. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/expm1.md +57 -0
  838. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/expr.md +62 -0
  839. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/extractInstrument.md +91 -0
  840. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/extractMktData.md +77 -0
  841. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/extractTextSchema.md +63 -0
  842. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/e/eye.md +37 -0
  843. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fTest.md +59 -0
  844. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/ffill.md +129 -0
  845. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/ffill_.md +78 -0
  846. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fflush.md +54 -0
  847. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/file.md +62 -0
  848. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/files.md +66 -0
  849. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fill_.md +148 -0
  850. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/find.md +103 -0
  851. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/first.md +68 -0
  852. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/firstHit.md +54 -0
  853. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/firstNot.md +96 -0
  854. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fixedLengthArrayVector.md +149 -0
  855. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/flatten.md +102 -0
  856. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/flip.md +11 -0
  857. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/float.md +78 -0
  858. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/floor.md +78 -0
  859. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/flushOLAPCache.md +26 -0
  860. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/flushTSDBCache.md +26 -0
  861. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/flushcomputenodememcache.md +27 -0
  862. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/flushpkeycache.md +32 -0
  863. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fmin.md +74 -0
  864. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fminbfgs.md +97 -0
  865. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fminlbfgsb.md +96 -0
  866. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fminncg.md +120 -0
  867. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fminslsqp.md +126 -0
  868. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/forceTriggerOrderBookSnapshot.md +76 -0
  869. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/form.md +56 -0
  870. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/format.md +102 -0
  871. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fromJson.md +46 -0
  872. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fromStdJson.md +68 -0
  873. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fromUTF8.md +46 -0
  874. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/funcByName.md +57 -0
  875. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fxEuropeanOptionPricer.md +208 -0
  876. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fxForwardPricer.md +171 -0
  877. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fxSwapPricer.md +137 -0
  878. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fxVolatilitySurfaceBuilder.md +188 -0
  879. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fy5253.md +79 -0
  880. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/f/fy5253Quarter.md +78 -0
  881. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/funcs_by_topics.md +329 -0
  882. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/funcs_intro.md +128 -0
  883. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/garch.md +82 -0
  884. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gaussianNB.md +53 -0
  885. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gaussiankde.md +92 -0
  886. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gaussiankdepredict.md +46 -0
  887. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/ge.md +110 -0
  888. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gema.md +60 -0
  889. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/genShortGenomeSeq.md +65 -0
  890. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/generateMachineFingerprint.md +27 -0
  891. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/generateuserticket.md +42 -0
  892. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/genericStateIterate.md +88 -0
  893. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/genericTStateIterate.md +118 -0
  894. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/genoutputcolumnsforobsnapshotengine.md +106 -0
  895. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/geowithin.md +43 -0
  896. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getActiveMaster.md +40 -0
  897. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAggregator.md +11 -0
  898. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAggregatorStat.md +12 -0
  899. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAllCatalogs.md +32 -0
  900. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAllClusters.md +44 -0
  901. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAllDBGranularity.md +37 -0
  902. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAllDBs.md +40 -0
  903. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getAuthenticatedUsers.md +33 -0
  904. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getBackupList.md +60 -0
  905. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getBackupMeta.md +64 -0
  906. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getBackupStatus.md +62 -0
  907. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCEPEngineMonitor.md +74 -0
  908. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCEPEngineStat%20.md +123 -0
  909. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCEPEngineSubMonitor.md +75 -0
  910. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCacheEngineMemSize.md +44 -0
  911. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCacheEngineStat.md +44 -0
  912. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCachedSymbolBaseMemSize.md +25 -0
  913. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCatalogsByCluster.md +43 -0
  914. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getChunkPath.md +43 -0
  915. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getChunksMeta.md +89 -0
  916. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getClusterChunksStatus.md +62 -0
  917. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getClusterDFSDatabases.md +37 -0
  918. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getClusterDFSTables.md +47 -0
  919. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getClusterPerf.md +82 -0
  920. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getClusterStatus.md +43 -0
  921. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getClusterVolumeUsage.md +43 -0
  922. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCompletedQueries.md +82 -0
  923. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getComputeNodeCacheDetails.md +70 -0
  924. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getConfig.md +44 -0
  925. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getConfigure.md +11 -0
  926. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getConnections.md +38 -0
  927. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getConsoleJobs.md +55 -0
  928. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getControllerAlias.md +34 -0
  929. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getControllerElectionTick.md +28 -0
  930. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCurrentCatalog.md +37 -0
  931. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getCurrentSessionAndUser.md +34 -0
  932. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDBAccess.md +50 -0
  933. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDFSDatabases.md +36 -0
  934. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDFSTablesByDatabase.md +43 -0
  935. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDataViewEngine.md +101 -0
  936. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDatabaseClusterReplicationStatus.md +31 -0
  937. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDatabasesByCluster.md +35 -0
  938. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDatanodeRestartInterval.md +27 -0
  939. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDfsRebalanceConcurrency.md +33 -0
  940. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDfsRecoveryConcurrency.md +33 -0
  941. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getDiskIOStat.md +39 -0
  942. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getEnv.md +48 -0
  943. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getEventListener.md +100 -0
  944. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getExecDir.md +34 -0
  945. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getFunctionViews.md +48 -0
  946. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getGroupAccess.md +37 -0
  947. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getGroupAccessByCluster.md +41 -0
  948. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getGroupList.md +37 -0
  949. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getGroupListOfAllClusters.md +41 -0
  950. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getGroupsByUserId.md +37 -0
  951. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getHaMvccLeader.md +37 -0
  952. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getHaMvccRaftGroups.md +38 -0
  953. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getHaMvccTableInfo.md +48 -0
  954. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getHomeDir.md +33 -0
  955. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getIPConnectionLimit.md +46 -0
  956. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getInstrumentCoupon.md +50 -0
  957. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getInstrumentDayCountConvention.md +50 -0
  958. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getInstrumentFarStrike.md +52 -0
  959. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getInstrumentField.md +63 -0
  960. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getInstrumentKeys.md +53 -0
  961. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getJobMessage.md +152 -0
  962. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getJobReturn.md +68 -0
  963. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getJobStat.md +49 -0
  964. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getJobStatus.md +73 -0
  965. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getLeftStream.md +78 -0
  966. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getLevelFileIndexCacheStats.md +38 -0
  967. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getLicenseExpiration.md +33 -0
  968. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getLocalIOTDBStaticTable.md +50 -0
  969. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMCPPrompt.md +59 -0
  970. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMarketCalendar.md +39 -0
  971. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMasterReplicationStatus.md +60 -0
  972. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMemLimitOfQueryResult.md +35 -0
  973. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMemLimitOfTaskGroupResult.md +35 -0
  974. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMemoryStat.md +38 -0
  975. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getMktData.md +79 -0
  976. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getNodeAlias.md +35 -0
  977. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getNodeHost.md +33 -0
  978. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getNodePort.md +33 -0
  979. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getNodeType.md +33 -0
  980. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOLAPCacheEngineSize.md +46 -0
  981. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOLAPCacheEngineStat.md +49 -0
  982. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOLAPCachedSymbolBaseMemSize.md +25 -0
  983. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOS.md +33 -0
  984. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOSBit.md +33 -0
  985. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOauthClientSecret.md +26 -0
  986. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaCheckpointConfig.md +48 -0
  987. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaCheckpointJobInfo.md +52 -0
  988. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaCheckpointSubjobInfo.md +58 -0
  989. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaDataLineage.md +165 -0
  990. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaStateMachineEventTaskStatus.md +49 -0
  991. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaStreamEngineMeta.md +42 -0
  992. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaStreamTableMeta.md +42 -0
  993. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getOrcaStreamTaskSubscriptionMeta.md +40 -0
  994. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getPerf.md +86 -0
  995. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getPersistenceMeta.md +80 -0
  996. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getQueryStatus.md +47 -0
  997. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRaftElectionTick.md +28 -0
  998. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRaftLearnersStatus.md +43 -0
  999. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRawScriptLog.md +51 -0
  1000. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRecentJobs.md +65 -0
  1001. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRecentSlaveReplicationInfo.md +42 -0
  1002. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRecoveryTaskStatus.md +51 -0
  1003. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRecoveryWorkerNum.md +35 -0
  1004. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRedoLogGCStat.md +43 -0
  1005. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRightStream.md +35 -0
  1006. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getRunningQueries.md +50 -0
  1007. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getScheduledJobs.md +48 -0
  1008. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSchemaByCatalog.md +38 -0
  1009. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSchemasByCluster.md +50 -0
  1010. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSessionMemoryStat.md +78 -0
  1011. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSlaveReplicationStatus.md +66 -0
  1012. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSnapshotMsgId.md +28 -0
  1013. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSparseReactiveMetrics.md +39 -0
  1014. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamEngine.md +45 -0
  1015. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamEngineStat.md +353 -0
  1016. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamTableChangelog.md +42 -0
  1017. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamTableFilterColumn.md +47 -0
  1018. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamingLeader.md +32 -0
  1019. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamingRaftGroups.md +42 -0
  1020. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamingSQLStatus.md +61 -0
  1021. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getStreamingStat.md +128 -0
  1022. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSubscriptionTopic.md +48 -0
  1023. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSupportBundle.md +53 -0
  1024. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSystemCpuUsage.md +35 -0
  1025. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getSystemLoadAvg.md +29 -0
  1026. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTSDBCacheEngineSize.md +35 -0
  1027. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTSDBCachedSymbolBaseMemSize.md +25 -0
  1028. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTSDBCompactionTaskStatus.md +56 -0
  1029. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTSDBMetaData.md +44 -0
  1030. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTSDBSortKeyEntry.md +89 -0
  1031. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTableAccessByCluster.md +39 -0
  1032. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTableSchemaByCluster.md +51 -0
  1033. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTables.md +55 -0
  1034. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTablesByCluster.md +46 -0
  1035. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTablesOfAllClusters.md +34 -0
  1036. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTablet.md +75 -0
  1037. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTabletsMeta.md +77 -0
  1038. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTopicProcessedOffset.md +58 -0
  1039. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getTransactionStatus.md +45 -0
  1040. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUdfEngineVariable.md +75 -0
  1041. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUnresolvedTxn.md +32 -0
  1042. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserAccess.md +164 -0
  1043. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserAccessByCluster.md +43 -0
  1044. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserHardwareUsage.md +59 -0
  1045. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserList.md +33 -0
  1046. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserListOfAllClusters.md +41 -0
  1047. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserLockedStatus.md +39 -0
  1048. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserPasswordStatus.md +42 -0
  1049. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUserTableAccessRecords.md +60 -0
  1050. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getUsersByGroupId.md +29 -0
  1051. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getWorkDir.md +34 -0
  1052. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getaclauditlog.md +109 -0
  1053. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getauditlog.md +109 -0
  1054. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getauthenticateduserticket.md +39 -0
  1055. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getcacherulesforcomputegroup.md +42 -0
  1056. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getclustertdekeys.md +46 -0
  1057. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getcomputegroupchunksstatus.md +57 -0
  1058. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getcomputenodecachestat.md +40 -0
  1059. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getcomputenodecachewarmupjobstatus.md +40 -0
  1060. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getcomputenodecachingdelay.md +35 -0
  1061. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getcurrenttdekeyversion.md +34 -0
  1062. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getdfsdatabasebyowner.md +32 -0
  1063. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getdynamicconfig.md +32 -0
  1064. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getenablenullsafejoin.md +37 -0
  1065. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentcalendar.md +55 -0
  1066. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentcreditrating.md +52 -0
  1067. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentcurrency.md +51 -0
  1068. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentcurrencypair.md +48 -0
  1069. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentdelivery.md +49 -0
  1070. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentdirection.md +48 -0
  1071. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentexpiry.md +49 -0
  1072. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentfardelivery.md +52 -0
  1073. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentfarexpiry.md +52 -0
  1074. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentfixeddaycountconvention.md +55 -0
  1075. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentfixedrate.md +55 -0
  1076. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentfloatingdaycountconvention.md +55 -0
  1077. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentfrequency.md +50 -0
  1078. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentiborindex.md +54 -0
  1079. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentinstrumentid.md +48 -0
  1080. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentissueprice.md +50 -0
  1081. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentmaturity.md +53 -0
  1082. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentneardelivery.md +52 -0
  1083. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentnearexpiry.md +52 -0
  1084. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentnearstrike.md +52 -0
  1085. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentnominal.md +50 -0
  1086. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentnominalcouponrate.md +48 -0
  1087. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentnotionalamount.md +49 -0
  1088. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentnotionalcurrency.md +49 -0
  1089. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentpayofftype.md +49 -0
  1090. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentpayreceive.md +54 -0
  1091. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentrate.md +49 -0
  1092. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentsettlement.md +52 -0
  1093. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentspread.md +55 -0
  1094. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentstart.md +52 -0
  1095. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentstrike.md +49 -0
  1096. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentsubtype.md +52 -0
  1097. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getinstrumentunderlying.md +83 -0
  1098. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getipblacklist.md +38 -0
  1099. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getipwhitelist.md +38 -0
  1100. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getloadedmodules.md +56 -0
  1101. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getloadedplugins.md +48 -0
  1102. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getmemlimitofalltempresults.md +34 -0
  1103. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getpkeycompactiontaskstatus.md +53 -0
  1104. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getpkeymetadata.md +50 -0
  1105. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getprefetchcomputenodedata.md +35 -0
  1106. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getreactivemetrics.md +41 -0
  1107. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getrules.md +82 -0
  1108. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getsessionexpiredtime.md +33 -0
  1109. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getslavereplicationexecutionstatus.md +36 -0
  1110. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getslavereplicationqueuestatus.md +51 -0
  1111. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getstatelessmetrics.md +37 -0
  1112. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getstreamenginelist.md +44 -0
  1113. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getstreamingsqlsubscriptioninfo.md +59 -0
  1114. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getstreamtablecacheoffset.md +49 -0
  1115. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/getstreamtables.md +63 -0
  1116. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gettableaccess.md +52 -0
  1117. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gettradingcalendartype.md +35 -0
  1118. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gettsdbdatastat.md +98 -0
  1119. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gettsdbtableindexcachestatus.md +62 -0
  1120. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/glm.md +107 -0
  1121. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gmd5.md +52 -0
  1122. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gmm.md +83 -0
  1123. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gmtime.md +39 -0
  1124. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gpfit.md +41 -0
  1125. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gppredict.md +42 -0
  1126. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gram.md +46 -0
  1127. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gramSchmidt.md +56 -0
  1128. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/grant.md +195 -0
  1129. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/groups.md +69 -0
  1130. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/g/gt.md +102 -0
  1131. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/getStreamGraph.md +37 -0
  1132. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/getStreamGraphInfo.md +78 -0
  1133. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/getStreamGraphMeta.md +59 -0
  1134. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/haMvccTable.md +58 -0
  1135. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/haStreamTable.md +84 -0
  1136. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/hasNull.md +69 -0
  1137. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/hashBucket.md +41 -0
  1138. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/head.md +86 -0
  1139. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/hex.md +60 -0
  1140. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/highDouble.md +41 -0
  1141. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/highlong.md +36 -0
  1142. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/histogram.md +114 -0
  1143. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/histogram2d.md +101 -0
  1144. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/hmac.md +44 -0
  1145. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/hour.md +33 -0
  1146. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/h/hourOfDay.md +40 -0
  1147. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/accumulate.md +270 -0
  1148. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/aggrTopN.md +124 -0
  1149. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/all.md +134 -0
  1150. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/any.md +133 -0
  1151. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/byColumn.md +243 -0
  1152. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/byRow.md +195 -0
  1153. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/call.md +50 -0
  1154. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/composition.md +31 -0
  1155. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/contextby.md +253 -0
  1156. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/cross.md +185 -0
  1157. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/each.md +299 -0
  1158. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/eachLeft.md +152 -0
  1159. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/eachPost.md +123 -0
  1160. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/eachPre.md +171 -0
  1161. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/eachRight.md +149 -0
  1162. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/groupby.md +93 -0
  1163. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/ho_funcs.md +124 -0
  1164. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/loop.md +78 -0
  1165. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/moving.md +180 -0
  1166. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/movingvalid.md +152 -0
  1167. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/nothrowcall.md +51 -0
  1168. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/nullCompare.md +73 -0
  1169. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/pcall.md +46 -0
  1170. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/pcross.md +17 -0
  1171. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/peach.md +32 -0
  1172. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/pivot.md +144 -0
  1173. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/ploop.md +15 -0
  1174. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/reduce.md +188 -0
  1175. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/rolling.md +201 -0
  1176. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/rowgroupby.md +102 -0
  1177. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/segmentby.md +70 -0
  1178. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/talib.md +50 -0
  1179. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/tmoving.md +114 -0
  1180. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/twindow.md +182 -0
  1181. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/unifiedCall.md +63 -0
  1182. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/window.md +125 -0
  1183. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/ho_funcs/withNullFill.md +77 -0
  1184. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ifNull.md +57 -0
  1185. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ifValid.md +57 -0
  1186. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ifirstHit.md +54 -0
  1187. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ifirstNot.md +69 -0
  1188. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/iif.md +119 -0
  1189. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ilastNot.md +73 -0
  1190. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ilike.md +50 -0
  1191. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/imax.md +63 -0
  1192. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/imaxlast.md +48 -0
  1193. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/imin.md +61 -0
  1194. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/iminlast.md +48 -0
  1195. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/imr.md +77 -0
  1196. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/imtForceGCRedolog.md +31 -0
  1197. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/imtUpdateChunkVersionOnDataNode.md +36 -0
  1198. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/in.md +106 -0
  1199. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/indexedSeries.md +106 -0
  1200. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/indexedTable.md +280 -0
  1201. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/initcap.md +53 -0
  1202. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/initimoltpcheckpointencryption.md +37 -0
  1203. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/installPlugin.md +53 -0
  1204. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/installmodule.md +43 -0
  1205. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/instrumentPricer.md +580 -0
  1206. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/int.md +62 -0
  1207. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/int128.md +39 -0
  1208. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/integral.md +77 -0
  1209. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/interpolate.md +100 -0
  1210. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/intersection.md +42 -0
  1211. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invBeta.md +39 -0
  1212. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invBinomial.md +39 -0
  1213. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invChiSquare.md +40 -0
  1214. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invExp.md +37 -0
  1215. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invF.md +37 -0
  1216. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invGamma.md +39 -0
  1217. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invLogistic.md +36 -0
  1218. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invNormal.md +39 -0
  1219. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invPoisson.md +37 -0
  1220. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invStudent.md +37 -0
  1221. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invUniform.md +37 -0
  1222. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/invWeibull.md +37 -0
  1223. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/inverse.md +46 -0
  1224. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/ipaddr.md +40 -0
  1225. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/irCrossCurrencyCurveBuilder.md +188 -0
  1226. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/irDepositPricer.md +74 -0
  1227. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/irFixedFloatingSwapPricer.md +229 -0
  1228. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/irSingleCurrencyCurveBuilder.md +201 -0
  1229. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isAlNum.md +46 -0
  1230. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isAlpha.md +44 -0
  1231. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isCheckpointingHaMvcc.md +36 -0
  1232. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isChunkNodeInit.md +12 -0
  1233. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isColumnarTuple.md +57 -0
  1234. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isControllerInitialized.md +31 -0
  1235. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isDataNodeInitialized.md +32 -0
  1236. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isDigit.md +49 -0
  1237. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isDuplicated.md +98 -0
  1238. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isIndexedMatrix.md +39 -0
  1239. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isIndexedSeries.md +38 -0
  1240. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isLeapYear.md +36 -0
  1241. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isLoggedIn.md +32 -0
  1242. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isLower.md +48 -0
  1243. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isMonotonic.md +11 -0
  1244. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isMonotonicDecreasing.md +43 -0
  1245. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isMonotonicIncreasing.md +43 -0
  1246. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isMonthEnd.md +38 -0
  1247. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isMonthStart.md +38 -0
  1248. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isNanInf.md +44 -0
  1249. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isNothing.md +38 -0
  1250. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isNull.md +74 -0
  1251. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isNumeric.md +49 -0
  1252. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isOrderedDict.md +42 -0
  1253. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isPeak.md +79 -0
  1254. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isQuarterEnd.md +38 -0
  1255. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isQuarterStart.md +38 -0
  1256. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isSorted.md +42 -0
  1257. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isSpace.md +42 -0
  1258. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isTitle.md +43 -0
  1259. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isUpper.md +46 -0
  1260. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isValid.md +38 -0
  1261. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isValley.md +79 -0
  1262. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isVoid.md +43 -0
  1263. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isYearEnd.md +38 -0
  1264. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isYearStart.md +38 -0
  1265. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isclientauth.md +31 -0
  1266. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isort.md +144 -0
  1267. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isortTop.md +50 -0
  1268. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/isort_.md +44 -0
  1269. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/istransfercompressiontocomputenodeenabled.md +35 -0
  1270. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/i/iterate.md +63 -0
  1271. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/j/join!.md +170 -0
  1272. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/j/join.md +153 -0
  1273. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/j/jsonextract.md +84 -0
  1274. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kama.md +51 -0
  1275. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kendall.md +81 -0
  1276. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kernelRidge.md +118 -0
  1277. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/keyedStreamTable.md +138 -0
  1278. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/keyedTable.md +279 -0
  1279. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/keys.md +48 -0
  1280. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kmeans.md +79 -0
  1281. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/knn.md +51 -0
  1282. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kroghinterpolate.md +65 -0
  1283. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kroghinterpolatefit.md +89 -0
  1284. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/ksTest.md +46 -0
  1285. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/k/kurtosis.md +100 -0
  1286. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lasso.md +90 -0
  1287. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lassoBasic.md +143 -0
  1288. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lassoCV.md +67 -0
  1289. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/last.md +70 -0
  1290. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lastNot.md +108 -0
  1291. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lastWeekOfMonth.md +74 -0
  1292. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/latestIndexedTable.md +106 -0
  1293. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/latestKeyedTable.md +107 -0
  1294. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/latestkeyedstreamtable.md +153 -0
  1295. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/le.md +95 -0
  1296. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/left.md +39 -0
  1297. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lfill.md +56 -0
  1298. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lfill_.md +57 -0
  1299. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/license.md +75 -0
  1300. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/like.md +62 -0
  1301. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/linearTimeTrend.md +56 -0
  1302. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/linearinterpolatefit.md +84 -0
  1303. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/linprog.md +105 -0
  1304. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listAllMarkets.md +32 -0
  1305. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listMCPPrompts.md +42 -0
  1306. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listMCPTools.md +44 -0
  1307. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listPluginsByCluster.md +52 -0
  1308. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listRemotePlugins.md +80 -0
  1309. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listStreamingSQLTables.md +41 -0
  1310. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listTables.md +36 -0
  1311. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/listremotemodules.md +56 -0
  1312. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadBackup.md +56 -0
  1313. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadDistributedInMemoryTable.md +41 -0
  1314. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadHaMvccTable.md +40 -0
  1315. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadIPCInMemoryTable.md +38 -0
  1316. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadModel.md +43 -0
  1317. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadModule.md +63 -0
  1318. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadMvccTable.md +51 -0
  1319. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadNpy.md +57 -0
  1320. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadNpz.md +76 -0
  1321. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadPlugin.md +114 -0
  1322. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadRecord.md +84 -0
  1323. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadTable.md +88 -0
  1324. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadTableBySQL.md +52 -0
  1325. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadText.md +402 -0
  1326. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadTextEx.md +251 -0
  1327. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadVocab.md +37 -0
  1328. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loadmodulefromscript.md +76 -0
  1329. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loc.md +213 -0
  1330. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/localtime.md +40 -0
  1331. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lockUser.md +35 -0
  1332. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/loess.md +109 -0
  1333. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/log.md +48 -0
  1334. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/log10.md +44 -0
  1335. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/log1p.md +50 -0
  1336. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/log2.md +50 -0
  1337. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/login.md +37 -0
  1338. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/logisticRegression.md +115 -0
  1339. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/logout.md +45 -0
  1340. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/long.md +63 -0
  1341. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lowDouble.md +41 -0
  1342. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lowRange.md +66 -0
  1343. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lower.md +42 -0
  1344. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lowerbound.md +51 -0
  1345. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lowlong.md +38 -0
  1346. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lpad.md +50 -0
  1347. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lshift.md +50 -0
  1348. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lt.md +107 -0
  1349. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/ltrim.md +35 -0
  1350. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/l/lu.md +96 -0
  1351. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/ma.md +29 -0
  1352. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mad.md +63 -0
  1353. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mahalanobis.md +54 -0
  1354. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/makeCall.md +81 -0
  1355. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/makeKey.md +44 -0
  1356. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/makeSortedKey.md +36 -0
  1357. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/makeUnifiedCall.md +98 -0
  1358. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mannWhitneyUTest.md +53 -0
  1359. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/manova.md +96 -0
  1360. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mask.md +55 -0
  1361. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchFuzzy.md +74 -0
  1362. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchall.md +50 -0
  1363. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchany.md +56 -0
  1364. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchedrowcount.md +76 -0
  1365. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchphrase.md +49 -0
  1366. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchphraseinfix.md +55 -0
  1367. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchphraseprefix.md +52 -0
  1368. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchphrasesuffix.md +52 -0
  1369. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchprefix.md +53 -0
  1370. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchprefixsuffix.md +56 -0
  1371. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchspan.md +53 -0
  1372. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchsuffix.md +55 -0
  1373. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matchunorderedspan.md +54 -0
  1374. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matrix.md +142 -0
  1375. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/matrixRank.md +36 -0
  1376. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mavg.md +93 -0
  1377. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mavgTopN.md +127 -0
  1378. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/max.md +129 -0
  1379. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/maxPositiveStreak.md +71 -0
  1380. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/maxdrawdown.md +70 -0
  1381. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/maxignorenull.md +77 -0
  1382. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mbeta.md +82 -0
  1383. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mbetaTopN.md +65 -0
  1384. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcorr.md +82 -0
  1385. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcorrTopN.md +64 -0
  1386. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcount.md +111 -0
  1387. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcovar.md +85 -0
  1388. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcovarTopN.md +64 -0
  1389. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcovarp.md +70 -0
  1390. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mcovarpTopN.md +66 -0
  1391. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/md5.md +36 -0
  1392. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mdd.md +11 -0
  1393. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mean.md +75 -0
  1394. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/med.md +53 -0
  1395. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mem.md +57 -0
  1396. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/memSize.md +46 -0
  1397. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/member.md +55 -0
  1398. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/membermodify.md +151 -0
  1399. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/merge.md +76 -0
  1400. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mfirst.md +86 -0
  1401. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mfirstnot.md +106 -0
  1402. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/microsecond.md +38 -0
  1403. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mifirstNot.md +72 -0
  1404. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/migrate.md +140 -0
  1405. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/milastNot.md +71 -0
  1406. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/millisecond.md +38 -0
  1407. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mimax.md +113 -0
  1408. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mimaxlast.md +84 -0
  1409. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mimin.md +109 -0
  1410. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/miminlast.md +86 -0
  1411. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/min.md +131 -0
  1412. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/minignorenull.md +69 -0
  1413. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/minkowski.md +70 -0
  1414. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/minute.md +45 -0
  1415. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/minuteOfHour.md +38 -0
  1416. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mkdir.md +53 -0
  1417. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mkurtosis.md +120 -0
  1418. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mkurtosisTopN.md +96 -0
  1419. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mlast.md +86 -0
  1420. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mlastnot.md +104 -0
  1421. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mlowrange.md +82 -0
  1422. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mmad.md +82 -0
  1423. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mmax.md +86 -0
  1424. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mmaxPositiveStreak.md +51 -0
  1425. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mmed.md +83 -0
  1426. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mmin.md +92 -0
  1427. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mmse.md +62 -0
  1428. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mod.md +79 -0
  1429. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mode.md +83 -0
  1430. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/month.md +51 -0
  1431. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/monthBegin.md +63 -0
  1432. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/monthEnd.md +62 -0
  1433. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/monthOfYear.md +37 -0
  1434. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/move.md +77 -0
  1435. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/moveChunksAcrossVolume.md +48 -0
  1436. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/moveHotDataToColdVolume.md +31 -0
  1437. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/moveReplicas.md +43 -0
  1438. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/movingTopNIndex.md +95 -0
  1439. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/movingWindowData.md +75 -0
  1440. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/movingWindowIndex.md +59 -0
  1441. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mpercentile.md +134 -0
  1442. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mpercentiletopn.md +158 -0
  1443. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mprod.md +85 -0
  1444. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mr.md +179 -0
  1445. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mrank.md +155 -0
  1446. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mskew.md +109 -0
  1447. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mskewTopN.md +96 -0
  1448. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mslr.md +48 -0
  1449. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mstd.md +107 -0
  1450. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mstdTopN.md +71 -0
  1451. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mstdp.md +104 -0
  1452. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mstdpTopN.md +70 -0
  1453. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/msum.md +85 -0
  1454. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/msum2.md +71 -0
  1455. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/msumTopN.md +128 -0
  1456. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mtoprange.md +80 -0
  1457. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mul.md +88 -0
  1458. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/multiTableRepartitionDS.md +87 -0
  1459. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/multinomialNB.md +53 -0
  1460. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mutualInfo.md +72 -0
  1461. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mvar.md +104 -0
  1462. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mvarTopN.md +70 -0
  1463. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mvarp.md +104 -0
  1464. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mvarpTopN.md +70 -0
  1465. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mvccTable.md +179 -0
  1466. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mwavg.md +93 -0
  1467. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mwsum.md +97 -0
  1468. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/m/mwsumTopN.md +67 -0
  1469. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nanInfFill.md +45 -0
  1470. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nanosecond.md +40 -0
  1471. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nanotime.md +51 -0
  1472. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nanotimestamp.md +74 -0
  1473. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/ne.md +97 -0
  1474. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/neg.md +66 -0
  1475. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/neville.md +113 -0
  1476. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/next.md +61 -0
  1477. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nextState.md +53 -0
  1478. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/norm.md +56 -0
  1479. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/normal.md +11 -0
  1480. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/not.md +85 -0
  1481. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/notbetween.md +86 -0
  1482. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/notin.md +126 -0
  1483. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/notlike.md +78 -0
  1484. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/now.md +43 -0
  1485. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/ns.md +83 -0
  1486. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nss.md +116 -0
  1487. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nsspredict.md +50 -0
  1488. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nullFill.md +141 -0
  1489. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nullFill_.md +18 -0
  1490. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nullIf.md +56 -0
  1491. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/n/nunique.md +122 -0
  1492. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/oauthlogin.md +50 -0
  1493. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/objByName.md +80 -0
  1494. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/objectChecksum.md +52 -0
  1495. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/objectComponent.md +52 -0
  1496. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/objectType.md +71 -0
  1497. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/objs.md +108 -0
  1498. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/ols.md +186 -0
  1499. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/olsEx.md +120 -0
  1500. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/oneHot.md +49 -0
  1501. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/optionVolPredict.md +164 -0
  1502. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/or.md +86 -0
  1503. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/o/osqp.md +63 -0
  1504. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pack.md +105 -0
  1505. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pair.md +35 -0
  1506. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/panel.md +102 -0
  1507. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/parseExpr.md +147 -0
  1508. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/parseInstrument.md +620 -0
  1509. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/parseInt.md +11 -0
  1510. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/parseInteger.md +64 -0
  1511. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/parseMktData.md +201 -0
  1512. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/parsejsontable.md +118 -0
  1513. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/partial.md +41 -0
  1514. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pca.md +67 -0
  1515. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pchipInterpolateFit.md +81 -0
  1516. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pdfChiSquare.md +36 -0
  1517. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pdfF.md +38 -0
  1518. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pdfNormal.md +47 -0
  1519. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/peekAppend.md +77 -0
  1520. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/percentChange.md +126 -0
  1521. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/percentile.md +96 -0
  1522. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/percentileRank.md +65 -0
  1523. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/piecewiselinfit.md +121 -0
  1524. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pinverse.md +89 -0
  1525. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pipeline.md +62 -0
  1526. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/ploadText.md +62 -0
  1527. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/plot.md +186 -0
  1528. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/plotHist.md +48 -0
  1529. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pnodeRun.md +155 -0
  1530. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/point.md +40 -0
  1531. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/poly1d.md +11 -0
  1532. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/polyPredict.md +52 -0
  1533. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/polyfit.md +48 -0
  1534. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/polynomial.md +37 -0
  1535. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pop_.md +40 -0
  1536. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/portfolioPricer.md +584 -0
  1537. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pow.md +71 -0
  1538. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/power.md +15 -0
  1539. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/predict.md +51 -0
  1540. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/prev.md +58 -0
  1541. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/prevState.md +53 -0
  1542. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/print.md +67 -0
  1543. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/prod.md +57 -0
  1544. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/publishMCPPrompts.md +34 -0
  1545. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/publishMCPTools.md +33 -0
  1546. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/purgeCacheEngine.md +11 -0
  1547. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/push_.md +11 -0
  1548. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/p/pwlfpredict.md +55 -0
  1549. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/purgeStreamGraphRecords.md +47 -0
  1550. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/qclp.md +75 -0
  1551. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/qcut.md +67 -0
  1552. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/qr.md +149 -0
  1553. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/quadprog.md +113 -0
  1554. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/quantile.md +66 -0
  1555. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/quantileSeries.md +53 -0
  1556. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/quarterBegin.md +65 -0
  1557. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/quarterEnd.md +67 -0
  1558. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/q/quarterOfYear.md +40 -0
  1559. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rad2deg.md +35 -0
  1560. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rand.md +82 -0
  1561. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randBeta.md +35 -0
  1562. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randBinomial.md +39 -0
  1563. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randChiSquare.md +35 -0
  1564. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randDiscrete.md +59 -0
  1565. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randExp.md +35 -0
  1566. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randF.md +35 -0
  1567. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randGamma.md +37 -0
  1568. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randLogistic.md +37 -0
  1569. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randMultivariateNormal.md +61 -0
  1570. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randNormal.md +37 -0
  1571. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randPoisson.md +35 -0
  1572. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randStudent.md +36 -0
  1573. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randUniform.md +36 -0
  1574. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randWeibull.md +36 -0
  1575. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randomForestClassifier.md +94 -0
  1576. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/randomForestRegressor.md +93 -0
  1577. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rank.md +178 -0
  1578. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/ratio.md +106 -0
  1579. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/ratios.md +66 -0
  1580. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rdp.md +58 -0
  1581. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/readBytes.md +47 -0
  1582. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/readLine.md +50 -0
  1583. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/readLines.md +55 -0
  1584. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/readLines_.md +60 -0
  1585. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/readObject.md +64 -0
  1586. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/readRecord_.md +56 -0
  1587. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/read_.md +55 -0
  1588. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rebalanceChunksAmongDataNodes.md +60 -0
  1589. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rebalanceChunksWithinDataNode.md +66 -0
  1590. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/reciprocal.md +48 -0
  1591. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/recursiveSplitText.md +49 -0
  1592. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/refCount.md +40 -0
  1593. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/regexCount.md +51 -0
  1594. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/regexFind.md +49 -0
  1595. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/regexReplace.md +50 -0
  1596. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/regexfindstr.md +80 -0
  1597. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/registerStreamingSQL.md +58 -0
  1598. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/regroup.md +104 -0
  1599. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/remoteRun.md +104 -0
  1600. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/remoteRunWithCompression.md +30 -0
  1601. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/remoteruncompatible.md +86 -0
  1602. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/remove.md +79 -0
  1603. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removeHead_.md +38 -0
  1604. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removeTail_.md +38 -0
  1605. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removeTopicOffset.md +22 -0
  1606. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removecacherulesforcomputegroup.md +40 -0
  1607. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removeipblacklist.md +36 -0
  1608. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removeipwhitelist.md +36 -0
  1609. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/removenode.md +42 -0
  1610. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/renameCatalog.md +29 -0
  1611. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/renameCatalogName.md +40 -0
  1612. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/renameSchema.md +31 -0
  1613. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/renameTable.md +45 -0
  1614. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rename_.md +188 -0
  1615. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/reorderColumns_.md +85 -0
  1616. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/repartitionDS.md +92 -0
  1617. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/repeat.md +53 -0
  1618. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/replace.md +67 -0
  1619. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/replaceColumn_.md +137 -0
  1620. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/replace_.md +11 -0
  1621. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/replay.md +381 -0
  1622. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/replayDS.md +101 -0
  1623. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/repmat.md +57 -0
  1624. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resample.md +189 -0
  1625. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resetDBDirMeta.md +36 -0
  1626. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resetDfsRebalanceConcurrency.md +32 -0
  1627. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resetDfsRecoveryConcurrency.md +32 -0
  1628. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resetPwd.md +41 -0
  1629. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resetRecoveryWorkerNum.md +31 -0
  1630. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/reshape.md +81 -0
  1631. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/residual.md +87 -0
  1632. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/restore.md +134 -0
  1633. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/restoreDB.md +78 -0
  1634. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/restoreDislocatedTablet.md +50 -0
  1635. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/restoreTable.md +85 -0
  1636. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/restoresettings.md +48 -0
  1637. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resubmitStreamGraph.md +36 -0
  1638. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resumeRecovery.md +27 -0
  1639. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/resumeTimerEngine.md +68 -0
  1640. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/reverse.md +78 -0
  1641. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/revoke.md +92 -0
  1642. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/revokeStreamingSQL.md +40 -0
  1643. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/revokeStreamingSQLTable.md +44 -0
  1644. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/ridge.md +70 -0
  1645. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/ridgeBasic.md +158 -0
  1646. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/ridgeCV.md +63 -0
  1647. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/right.md +35 -0
  1648. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rm.md +46 -0
  1649. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rmdir.md +68 -0
  1650. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rms.md +64 -0
  1651. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rollingPanel.md +59 -0
  1652. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rotatetdekey.md +35 -0
  1653. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/round.md +95 -0
  1654. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/routeEvent.md +113 -0
  1655. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/row.md +77 -0
  1656. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowAlign.md +118 -0
  1657. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowAnd.md +49 -0
  1658. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowAt.md +123 -0
  1659. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowAvg.md +55 -0
  1660. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowBeta.md +49 -0
  1661. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCorr.md +47 -0
  1662. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCount.md +55 -0
  1663. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCovar.md +61 -0
  1664. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCovarp.md +45 -0
  1665. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCummax.md +49 -0
  1666. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCummin.md +49 -0
  1667. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCumprod.md +49 -0
  1668. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCumsum.md +49 -0
  1669. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowCumwsum.md +57 -0
  1670. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowDenseRank.md +76 -0
  1671. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowDot.md +75 -0
  1672. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowEuclidean.md +69 -0
  1673. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowImax.md +64 -0
  1674. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowImin.md +65 -0
  1675. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowKurtosis.md +53 -0
  1676. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowMax.md +62 -0
  1677. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowMin.md +56 -0
  1678. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowMove.md +71 -0
  1679. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowNames.md +52 -0
  1680. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowNext.md +53 -0
  1681. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowNo.md +77 -0
  1682. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowOr.md +48 -0
  1683. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowPrev.md +53 -0
  1684. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowProd.md +51 -0
  1685. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowRank.md +170 -0
  1686. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowSize.md +60 -0
  1687. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowSkew.md +53 -0
  1688. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowStd.md +56 -0
  1689. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowStdp.md +55 -0
  1690. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowSum.md +56 -0
  1691. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowSum2.md +56 -0
  1692. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowTanimoto.md +75 -0
  1693. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowVar.md +56 -0
  1694. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowVarp.md +55 -0
  1695. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowWavg.md +54 -0
  1696. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowWsum.md +50 -0
  1697. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowXor.md +61 -0
  1698. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowfilterandsort.md +126 -0
  1699. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowgmd5.md +49 -0
  1700. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowimaxlast.md +53 -0
  1701. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowiminlast.md +53 -0
  1702. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rowmergeandsort.md +84 -0
  1703. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rows.md +64 -0
  1704. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rpad.md +47 -0
  1705. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rpc.md +64 -0
  1706. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rshift.md +45 -0
  1707. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/rtrim.md +33 -0
  1708. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/run.md +46 -0
  1709. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/runScript.md +31 -0
  1710. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/runexternalquery.md +53 -0
  1711. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/r/runsql.md +108 -0
  1712. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_changelogSource.md +87 -0
  1713. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_deleteRule.md +57 -0
  1714. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_dropGraph.md +53 -0
  1715. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_haKeyedSource.md +67 -0
  1716. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_haSource.md +59 -0
  1717. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_keyedSource.md +85 -0
  1718. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_latestKeyedSource.md +84 -0
  1719. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_name.md +33 -0
  1720. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_setConfigMap.md +52 -0
  1721. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_setLocalConfigOnce.md +64 -0
  1722. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_source.md +81 -0
  1723. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_sourceByName.md +61 -0
  1724. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_str.md +78 -0
  1725. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_submit.md +88 -0
  1726. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_toGraphviz.md +64 -0
  1727. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/StreamGraph_updateRule.md +62 -0
  1728. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveAsNpy.md +43 -0
  1729. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveDatabase.md +32 -0
  1730. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveDualPartition.md +52 -0
  1731. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveModel.md +42 -0
  1732. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveModule.md +42 -0
  1733. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/savePartition.md +66 -0
  1734. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveTable.md +70 -0
  1735. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveText.md +91 -0
  1736. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/saveTextFile.md +40 -0
  1737. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/scheduleJob.md +116 -0
  1738. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/schema.md +290 -0
  1739. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/schur.md +109 -0
  1740. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/scramClientFinal.md +184 -0
  1741. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/scramClientFirst.md +186 -0
  1742. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/scs.md +93 -0
  1743. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/searchK.md +45 -0
  1744. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/seasonalEsd.md +63 -0
  1745. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/second.md +69 -0
  1746. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/secondOfMinute.md +40 -0
  1747. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/seek.md +56 -0
  1748. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/segment.md +64 -0
  1749. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sem.md +45 -0
  1750. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/semiMonthBegin.md +109 -0
  1751. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/semiMonthEnd.md +102 -0
  1752. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/semiannualBegin.md +62 -0
  1753. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/semiannualEnd.md +62 -0
  1754. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sendEvent.md +112 -0
  1755. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/seq.md +56 -0
  1756. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sessionWindow.md +106 -0
  1757. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/set.md +48 -0
  1758. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setAtomicLevel.md +55 -0
  1759. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setChunkLastUpdateTime.md +34 -0
  1760. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setColumnComment.md +72 -0
  1761. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setColumnarTuple_.md +53 -0
  1762. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setDatabaseForClusterReplication.md +25 -0
  1763. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setDatanodeRestartInterval.md +32 -0
  1764. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setDefaultCatalog.md +37 -0
  1765. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setHaMvccColumnDefaultValue.md +44 -0
  1766. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setHaMvccColumnNullability.md +44 -0
  1767. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setIPConnectionLimit.md +42 -0
  1768. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setIndexedMatrix_.md +43 -0
  1769. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setIndexedSeries_.md +47 -0
  1770. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setLogLevel.md +21 -0
  1771. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMaxBlockSizeForReservedMemory.md +24 -0
  1772. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMaxConnections.md +31 -0
  1773. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMaxJobParallelism.md +37 -0
  1774. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMaxJobPriority.md +35 -0
  1775. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMaxMemSize.md +40 -0
  1776. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMaxTransactionSize.md +31 -0
  1777. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMemLimitOfQueryResult.md +23 -0
  1778. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMemLimitOfTaskGroupResult.md +23 -0
  1779. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setMemLimitOfTempResult.md +26 -0
  1780. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setOLAPCacheEngineSize.md +41 -0
  1781. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setOrcaCheckpointConfig.md +50 -0
  1782. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setRaftElectionTick.md +34 -0
  1783. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setRandomSeed.md +30 -0
  1784. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setReservedMemSize.md +28 -0
  1785. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setRetentionPolicy.md +77 -0
  1786. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setStreamTableFilterColumn.md +41 -0
  1787. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setSystem.md +33 -0
  1788. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setTSDBCacheEngineSize.md +35 -0
  1789. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setTableSensitiveColumn.md +72 -0
  1790. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setTimeoutTick.md +29 -0
  1791. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setcomputenodecachingdelay.md +29 -0
  1792. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setdatabaseclusterreplicationexecutionset.md +30 -0
  1793. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setdynamicconfig.md +43 -0
  1794. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setgpfitnessfunc.md +66 -0
  1795. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setmemlimitofalltempresults.md +37 -0
  1796. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setprefetchcomputenodedata.md +29 -0
  1797. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setsessionexpiredtime.md +30 -0
  1798. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/setstreamtabletimestamp.md +54 -0
  1799. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/settablecomment.md +39 -0
  1800. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/seuclidean.md +55 -0
  1801. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/shape.md +94 -0
  1802. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/shapiroTest.md +41 -0
  1803. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/share.md +112 -0
  1804. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/shell.md +33 -0
  1805. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/short.md +77 -0
  1806. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/shuffle.md +60 -0
  1807. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/shuffle_.md +19 -0
  1808. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/signbit.md +56 -0
  1809. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/signum.md +35 -0
  1810. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sin.md +40 -0
  1811. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sinh.md +41 -0
  1812. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sinppet.md +38 -0
  1813. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/size.md +82 -0
  1814. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/skew.md +94 -0
  1815. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/skipClusterReplicationTask.md +32 -0
  1816. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sleep.md +41 -0
  1817. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/slice.md +211 -0
  1818. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sliceByKey.md +92 -0
  1819. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sma.md +53 -0
  1820. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/socp.md +101 -0
  1821. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/solve.md +45 -0
  1822. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sort.md +77 -0
  1823. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sortBy_.md +61 -0
  1824. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sort_.md +42 -0
  1825. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/spawnMonitor.md +81 -0
  1826. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/spearmanr.md +61 -0
  1827. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/splev.md +57 -0
  1828. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/spline.md +102 -0
  1829. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/split.md +72 -0
  1830. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/splrep.md +55 -0
  1831. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sql.md +237 -0
  1832. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqlCol.md +67 -0
  1833. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqlColAlias.md +43 -0
  1834. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqlDS.md +69 -0
  1835. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqlDelete.md +82 -0
  1836. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqlTuple.md +51 -0
  1837. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqlUpdate.md +186 -0
  1838. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sqrt.md +37 -0
  1839. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/square.md +44 -0
  1840. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/startClusterReplication.md +30 -0
  1841. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/startDataNode.md +28 -0
  1842. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/startStreamGraph.md +75 -0
  1843. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/startheapsample.md +43 -0
  1844. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/startsWith.md +42 -0
  1845. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stat.md +47 -0
  1846. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stateIterate.md +114 -0
  1847. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stateMavg.md +64 -0
  1848. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/std.md +63 -0
  1849. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stdp.md +58 -0
  1850. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stl.md +88 -0
  1851. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stopClusterReplication.md +34 -0
  1852. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stopDataNode.md +28 -0
  1853. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stopStreamGraph.md +69 -0
  1854. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stopSubEngine.md +23 -0
  1855. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stopTimerEngine.md +69 -0
  1856. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stopheapsample.md +42 -0
  1857. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/strReplace.md +42 -0
  1858. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/streamEngineParser.md +275 -0
  1859. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/streamEventSerializer.md +174 -0
  1860. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/streamFilter.md +282 -0
  1861. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/streamTable.md +70 -0
  1862. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stretch.md +107 -0
  1863. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/string.md +55 -0
  1864. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/stringFormat.md +120 -0
  1865. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/strip.md +41 -0
  1866. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/strlen.md +41 -0
  1867. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/strlenu.md +37 -0
  1868. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/strpos.md +45 -0
  1869. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sub.md +101 -0
  1870. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/subarray.md +65 -0
  1871. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/submitJob.md +136 -0
  1872. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/submitJobEx.md +52 -0
  1873. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/submitJobEx2.md +78 -0
  1874. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/subscribeStreamingSQL.md +63 -0
  1875. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/subscribeTable.md +355 -0
  1876. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/substr.md +50 -0
  1877. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/substru.md +52 -0
  1878. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/subtuple.md +66 -0
  1879. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sum.md +54 -0
  1880. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sum2.md +65 -0
  1881. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sum3.md +65 -0
  1882. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sum4.md +65 -0
  1883. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/sumbars.md +71 -0
  1884. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/summary.md +102 -0
  1885. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/suspendRecovery.md +24 -0
  1886. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/svd.md +76 -0
  1887. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/symbol.md +47 -0
  1888. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/symbolCode.md +50 -0
  1889. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/symmetricDifference.md +41 -0
  1890. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/syncDict.md +123 -0
  1891. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/s/syntax.md +33 -0
  1892. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/t3.md +67 -0
  1893. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tTest.md +111 -0
  1894. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/table.md +187 -0
  1895. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tableInsert.md +114 -0
  1896. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tableUpsert.md +113 -0
  1897. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tail.md +90 -0
  1898. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/take.md +155 -0
  1899. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/talibNull.md +38 -0
  1900. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tan.md +35 -0
  1901. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tanh.md +35 -0
  1902. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tanimoto.md +62 -0
  1903. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tema.md +55 -0
  1904. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/temporalAdd.md +127 -0
  1905. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/temporalDeltas.md +83 -0
  1906. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/temporalDiff.md +61 -0
  1907. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/temporalFormat.md +48 -0
  1908. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/temporalParse.md +179 -0
  1909. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/temporalSeq.md +133 -0
  1910. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tensor.md +132 -0
  1911. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/terminate.md +100 -0
  1912. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/test.md +41 -0
  1913. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/textChunkDS.md +86 -0
  1914. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/til.md +56 -0
  1915. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/time.md +51 -0
  1916. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/timestamp.md +62 -0
  1917. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmavg.md +72 -0
  1918. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmavgTopN.md +53 -0
  1919. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmbeta.md +74 -0
  1920. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmbetaTopN.md +56 -0
  1921. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcorr.md +74 -0
  1922. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcorrTopN.md +55 -0
  1923. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcount.md +72 -0
  1924. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcovar.md +74 -0
  1925. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcovarTopN.md +55 -0
  1926. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcovarp.md +76 -0
  1927. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmcovarpTopN.md +56 -0
  1928. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmfirst.md +72 -0
  1929. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmkurtosis.md +84 -0
  1930. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmkurtosisTopN.md +61 -0
  1931. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmlast.md +72 -0
  1932. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmlowrange.md +40 -0
  1933. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmmax.md +72 -0
  1934. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmmed.md +72 -0
  1935. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmmin.md +72 -0
  1936. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmove.md +79 -0
  1937. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmovingWindowData.md +53 -0
  1938. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmpercentile.md +87 -0
  1939. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmprod.md +74 -0
  1940. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmrank.md +60 -0
  1941. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmskew.md +45 -0
  1942. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmskewTopN.md +57 -0
  1943. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmstd.md +83 -0
  1944. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmstdTopN.md +53 -0
  1945. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmstdp.md +74 -0
  1946. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmstdpTopN.md +53 -0
  1947. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmsum.md +41 -0
  1948. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmsum2.md +43 -0
  1949. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmsumTopN.md +53 -0
  1950. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmtoprange.md +40 -0
  1951. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmvar.md +74 -0
  1952. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmvarTopN.md +53 -0
  1953. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmvarp.md +74 -0
  1954. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmvarpTopN.md +53 -0
  1955. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmwavg.md +86 -0
  1956. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmwsum.md +86 -0
  1957. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tmwsumTopN.md +55 -0
  1958. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/toArray.md +52 -0
  1959. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/toCharArray.md +63 -0
  1960. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/toJson.md +60 -0
  1961. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/toStdJson.md +62 -0
  1962. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/toUTF8.md +44 -0
  1963. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tocolumnartuple.md +60 -0
  1964. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/today.md +25 -0
  1965. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tokenize.md +58 -0
  1966. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tokenizeBert.md +46 -0
  1967. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/topRange.md +68 -0
  1968. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/totuple.md +64 -0
  1969. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/transDS_.md +61 -0
  1970. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/transFreq.md +128 -0
  1971. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/transpose.md +164 -0
  1972. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/treasuryconversionfactor.md +64 -0
  1973. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/triggerNodeReport.md +41 -0
  1974. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/triggerPKEYCompaction.md +36 -0
  1975. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/triggerTSDBCompaction.md +45 -0
  1976. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/triggercheckpointforimoltp.md +37 -0
  1977. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tril.md +74 -0
  1978. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/trim.md +36 -0
  1979. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/trima.md +53 -0
  1980. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/triu.md +74 -0
  1981. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/trueRange.md +50 -0
  1982. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/truncate.md +54 -0
  1983. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/tupleSum.md +52 -0
  1984. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/type.md +49 -0
  1985. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/t/typestr.md +25 -0
  1986. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/TAlib.md +83 -0
  1987. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/TopN.md +129 -0
  1988. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/cepFunctions.md +39 -0
  1989. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/cepFunctions_2.md +39 -0
  1990. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/cumFunctions.md +84 -0
  1991. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/cumTopN.md +91 -0
  1992. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/mFunctions.md +165 -0
  1993. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/orcaFunctions.md +80 -0
  1994. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/rowFunctions.md +150 -0
  1995. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/streamingEngine.md +15 -0
  1996. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/streaming_sql.md +23 -0
  1997. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/themes.md +11 -0
  1998. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/tmFunctions.md +106 -0
  1999. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/themes/tmTopN.md +98 -0
  2000. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/undef.md +56 -0
  2001. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/ungroup.md +109 -0
  2002. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unifiedExpr.md +49 -0
  2003. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/union.md +34 -0
  2004. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unionAll.md +194 -0
  2005. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unloadVocab.md +35 -0
  2006. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unlockUser.md +35 -0
  2007. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unpack.md +93 -0
  2008. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unpivot.md +156 -0
  2009. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unsubscribeStreamingSQL.md +46 -0
  2010. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/unsubscribeTable.md +67 -0
  2011. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateDataViewItems.md +107 -0
  2012. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateLicense.md +63 -0
  2013. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateMCPPrompt.md +55 -0
  2014. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateMCPTool.md +81 -0
  2015. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateMarketHoliday.md +67 -0
  2016. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateOrderBookEngineParams.md +70 -0
  2017. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updateRule.md +118 -0
  2018. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/update_.md +111 -0
  2019. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/update_stream_graph_user_tickets.md +26 -0
  2020. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/updatepkeydeletebitmap.md +31 -0
  2021. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/upper.md +38 -0
  2022. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/upsert_.md +212 -0
  2023. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/useOrcaStreamEngine.md +65 -0
  2024. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/useOrcaStreamTable.md +46 -0
  2025. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/u/uuid.md +46 -0
  2026. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/valueChanged.md +93 -0
  2027. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/values.md +43 -0
  2028. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/vanillaoption.md +193 -0
  2029. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/var.md +83 -0
  2030. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/var_0.md +48 -0
  2031. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/varma.md +93 -0
  2032. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/varp.md +61 -0
  2033. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/vectorar.md +103 -0
  2034. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/vectornorm.md +128 -0
  2035. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/version.md +33 -0
  2036. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/v/volumeBar.md +116 -0
  2037. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/warmupOrcaStreamEngine.md +62 -0
  2038. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/warmupStreamEngine.md +74 -0
  2039. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/warmupcomputenodecache.md +35 -0
  2040. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wavg.md +42 -0
  2041. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wc.md +41 -0
  2042. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wcovar.md +39 -0
  2043. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/weekBegin.md +139 -0
  2044. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/weekEnd.md +137 -0
  2045. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/weekOfMonth.md +76 -0
  2046. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/weekOfYear.md +60 -0
  2047. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/weekday.md +54 -0
  2048. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wilder.md +59 -0
  2049. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/winsorize.md +77 -0
  2050. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/winsorize_.md +18 -0
  2051. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/withdrawMCPPrompts.md +34 -0
  2052. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/withdrawMCPTools.md +33 -0
  2053. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wls.md +137 -0
  2054. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wma.md +53 -0
  2055. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/write.md +55 -0
  2056. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeBytes.md +48 -0
  2057. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeLine.md +60 -0
  2058. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeLines.md +54 -0
  2059. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeLog.md +39 -0
  2060. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeObject.md +43 -0
  2061. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeRecord.md +52 -0
  2062. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/writeloglevel.md +43 -0
  2063. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wslr.md +83 -0
  2064. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wsum.md +37 -0
  2065. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/w/wsum2.md +37 -0
  2066. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/x/xdb.md +63 -0
  2067. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/x/xor.md +46 -0
  2068. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/y/year.md +45 -0
  2069. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/y/yearBegin.md +95 -0
  2070. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/y/yearEnd.md +94 -0
  2071. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/y/yearFrac.md +62 -0
  2072. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/z/zTest.md +87 -0
  2073. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/z/zigzag.md +65 -0
  2074. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/funcs/z/zscore.md +57 -0
  2075. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/getstarted/chap1_getstarted.md +331 -0
  2076. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/architecture_scope.md +321 -0
  2077. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/develop_mcp_tool.md +196 -0
  2078. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/examples.md +94 -0
  2079. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/mcp_introduction.md +22 -0
  2080. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/mcp_use_guide.md +280 -0
  2081. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/quick_start.md +234 -0
  2082. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/stock_mcp.md +65 -0
  2083. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/mcp/tools.md +45 -0
  2084. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/MarketHoliday/mkt_calendar.md +502 -0
  2085. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/easyNSQ/easynsq.md +877 -0
  2086. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/easyNSQ/easynsq_2.md +877 -0
  2087. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/easyTLDataImport/easytl_data_import.md +916 -0
  2088. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/gtja191Alpha/191alpha.md +205 -0
  2089. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/mytt/mytt.md +456 -0
  2090. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/ops/ops.md +921 -0
  2091. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/ta/ta.md +539 -0
  2092. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/modules/wq101alpha/wq101alpha.md +396 -0
  2093. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/omc/omc_connection_lost_guidelines.md +90 -0
  2094. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/omc/omc_server_hang_guidelines.md +118 -0
  2095. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/omc/omc_slow_io_guidelines.md +176 -0
  2096. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/ASTTrader.md +610 -0
  2097. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/Arrow/arrow.md +119 -0
  2098. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/CSM.md +374 -0
  2099. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/EncoderDecoder.md +476 -0
  2100. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/LDAP.md +170 -0
  2101. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/MDL.md +447 -0
  2102. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/MatchingEngine/me.md +161 -0
  2103. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/SSEQuotationFile.md +139 -0
  2104. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/amdquote/amdhistory.md +212 -0
  2105. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/amdquote/amdquote.md +459 -0
  2106. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/amdquote/amdquote_2.md +459 -0
  2107. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/aws/aws.md +363 -0
  2108. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/digital_currency.md +242 -0
  2109. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/futures.md +393 -0
  2110. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/interbank_bonds.md +213 -0
  2111. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/interface_description.md +1743 -0
  2112. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/multi_asset.md +238 -0
  2113. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/option.md +309 -0
  2114. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/performance_tuning.md +868 -0
  2115. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/quick_start.md +329 -0
  2116. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/release/3_00_2.md +192 -0
  2117. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/release/3_00_3.md +132 -0
  2118. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/release/3_00_4.md +87 -0
  2119. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/release/3_00_5.md +50 -0
  2120. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest/stock.md +905 -0
  2121. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/backtest.md +786 -0
  2122. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/ctp.md +286 -0
  2123. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/ctp_2.md +286 -0
  2124. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/ctp_best_practice.md +689 -0
  2125. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/datafeed.md +225 -0
  2126. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/dataxwriter/README_CN.md +359 -0
  2127. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/efh.md +327 -0
  2128. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/excel_add_in.md +307 -0
  2129. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/feather/feather.md +202 -0
  2130. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/gp/gp.md +92 -0
  2131. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/hbase/hbase.md +257 -0
  2132. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/hdf5/hdf5.md +614 -0
  2133. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/hdfs/hdfs.md +441 -0
  2134. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/httpClient/httpclient.md +285 -0
  2135. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/input.md +138 -0
  2136. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/insight/insight.md +259 -0
  2137. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/insight/insight_2.md +259 -0
  2138. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/kafka/kafka.md +994 -0
  2139. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/kdb/kdb.md +574 -0
  2140. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/lgbm.md +200 -0
  2141. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/libtorch/libtorch.md +248 -0
  2142. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/mat/mat.md +191 -0
  2143. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/matchingEngineSimulator/mes.md +948 -0
  2144. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/matchingEngineSimulator/rn.md +210 -0
  2145. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/mongodb/mongodb.md +282 -0
  2146. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/mqtt/mqtt.md +446 -0
  2147. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/mqtt5.md +272 -0
  2148. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/mseed/mseed.md +249 -0
  2149. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/mysql/mysql.md +405 -0
  2150. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/nsq/nsq.md +304 -0
  2151. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/nsq/nsq_2.md +304 -0
  2152. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/odbc/odbc.md +434 -0
  2153. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/odbc/odbc_faq.md +707 -0
  2154. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/opc/opc.md +279 -0
  2155. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/opcua/opcua.md +390 -0
  2156. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/orc.md +251 -0
  2157. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/order_management_engine.md +365 -0
  2158. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/parquet/parquet.md +349 -0
  2159. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/performance_comparison.md +527 -0
  2160. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/plg_dev_adv.md +643 -0
  2161. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/plg_dev_tutorial.md +875 -0
  2162. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/plg_howtos.md +175 -0
  2163. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/plg_intro.md +78 -0
  2164. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/plg_mkt_inst.md +50 -0
  2165. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/pulsar.md +317 -0
  2166. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/py/py.md +536 -0
  2167. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/py/py_3_9.md +930 -0
  2168. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/quantlib/quantlib.md +3681 -0
  2169. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/quick_fix.md +293 -0
  2170. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/rabbitMQ.md +850 -0
  2171. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/redis.md +765 -0
  2172. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/rocketMQ.md +211 -0
  2173. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/sevenzip.md +120 -0
  2174. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/signal/signal.md +498 -0
  2175. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/signal/sipui2.md +237 -0
  2176. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/simulatedexchangeengine.md +542 -0
  2177. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/slwriter.md +159 -0
  2178. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/svm/svm.md +216 -0
  2179. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/tcpsocket.md +217 -0
  2180. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/uniqueid.md +134 -0
  2181. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/websocket.md +203 -0
  2182. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/windtdf.md +301 -0
  2183. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/windtdf_tutorial.md +310 -0
  2184. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/xgboost/xgboost.md +209 -0
  2185. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/xtp.md +624 -0
  2186. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/zip/zip.md +107 -0
  2187. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/zlib/zlib.md +92 -0
  2188. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/plugins/zmq/zmq.md +513 -0
  2189. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/anonym_func.md +87 -0
  2190. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/application.md +295 -0
  2191. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/attributes.md +69 -0
  2192. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/class_objects.md +83 -0
  2193. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/closure.md +31 -0
  2194. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/constructor.md +18 -0
  2195. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_forms.md +49 -0
  2196. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/create_strings.md +247 -0
  2197. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/detect_null.md +31 -0
  2198. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/dm_intro.md +11 -0
  2199. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/format_temp_obj.md +189 -0
  2200. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/func_null.md +109 -0
  2201. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/init_null.md +125 -0
  2202. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/null_in_tb.md +83 -0
  2203. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/null_in_vst.md +83 -0
  2204. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/null_oper.md +67 -0
  2205. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/null_scalar.md +42 -0
  2206. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/process_null.md +72 -0
  2207. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/replace_null.md +170 -0
  2208. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/search_in_string.md +58 -0
  2209. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/sort_null.md +69 -0
  2210. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/string_obj.md +15 -0
  2211. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/string_oper.md +273 -0
  2212. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/temp_obj_mani.md +251 -0
  2213. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/temp_type_conv.md +43 -0
  2214. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/temporal_obj.md +9 -0
  2215. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_mani/tzone_conv.md +52 -0
  2216. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types.md +280 -0
  2217. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/BigArray.md +93 -0
  2218. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/Dictionary.md +386 -0
  2219. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/Matrix.md +1119 -0
  2220. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/Pair.md +154 -0
  2221. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/Scalar.md +60 -0
  2222. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/Set.md +179 -0
  2223. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/Table.md +338 -0
  2224. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/TupleANYVector.md +301 -0
  2225. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/arrayVector.md +359 -0
  2226. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/columnarTuple.md +204 -0
  2227. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/data_type_conv.md +1079 -0
  2228. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/subarray.md +58 -0
  2229. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms/vector.md +767 -0
  2230. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/data_types_forms_intro.md +11 -0
  2231. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/file_io/file_oper.md +113 -0
  2232. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/file_io/process_bin.md +268 -0
  2233. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/file_io/process_txt.md +94 -0
  2234. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/file_io/tb_io.md +66 -0
  2235. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/func_progr.md +11 -0
  2236. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/inheritance.md +110 -0
  2237. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/lambda.md +152 -0
  2238. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/lang_intro.md +13 -0
  2239. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/macrovariations.md +181 -0
  2240. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/member_function.md +135 -0
  2241. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/metaProgr_func.md +110 -0
  2242. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/named_func.md +220 -0
  2243. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/col_ref.md +147 -0
  2244. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/const.md +129 -0
  2245. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/dyn_tuple.md +16 -0
  2246. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/expr.md +259 -0
  2247. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/func_call.md +124 -0
  2248. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/meta_progr.md +47 -0
  2249. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/named_obj.md +55 -0
  2250. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/objects.md +11 -0
  2251. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/sql_query.md +45 -0
  2252. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/undef_var.md +48 -0
  2253. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/objs/var.md +98 -0
  2254. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/oop.md +12 -0
  2255. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/add.md +89 -0
  2256. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/and.md +97 -0
  2257. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/at.md +95 -0
  2258. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/cast.md +100 -0
  2259. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/chainingComparison.md +42 -0
  2260. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/div.md +120 -0
  2261. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/dot.md +88 -0
  2262. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/eachAt.md +108 -0
  2263. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/eq.md +88 -0
  2264. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/ge.md +102 -0
  2265. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/gt.md +102 -0
  2266. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/intersectionsetbitAnd.md +41 -0
  2267. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/join.md +117 -0
  2268. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/le.md +88 -0
  2269. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/lshift.md +44 -0
  2270. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/lt.md +102 -0
  2271. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/member.md +57 -0
  2272. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/mod.md +76 -0
  2273. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/mul.md +79 -0
  2274. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/ne.md +111 -0
  2275. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/neg.md +52 -0
  2276. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/not.md +79 -0
  2277. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/oper_list.md +11 -0
  2278. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/operators.md +87 -0
  2279. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/or.md +95 -0
  2280. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/pair.md +33 -0
  2281. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/precedence.md +120 -0
  2282. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/ratio.md +96 -0
  2283. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/rshift.md +40 -0
  2284. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/seq.md +52 -0
  2285. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/sub.md +94 -0
  2286. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/symmetricDifferencesetbitXor.md +47 -0
  2287. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/ternary_operator.md +157 -0
  2288. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/operators/unionsetbitOr.md +44 -0
  2289. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/partial_app.md +177 -0
  2290. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/progr_intro.md +76 -0
  2291. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/rfc.md +62 -0
  2292. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/Select.md +288 -0
  2293. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/alter.md +89 -0
  2294. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/analyticFunction.md +404 -0
  2295. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/any.md +99 -0
  2296. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/asofjoin.md +217 -0
  2297. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/between.md +45 -0
  2298. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/case.md +112 -0
  2299. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/cgroupby.md +78 -0
  2300. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/coalesce.md +68 -0
  2301. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/contextBy.md +293 -0
  2302. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/create.md +476 -0
  2303. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/createExternalTable.md +125 -0
  2304. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/crossjoin.md +96 -0
  2305. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/delete.md +193 -0
  2306. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/distinct.md +53 -0
  2307. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/drop.md +99 -0
  2308. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/equijoin.md +415 -0
  2309. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/exe_order.md +246 -0
  2310. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/exec.md +117 -0
  2311. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/exists.md +101 -0
  2312. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/fulljoin.md +90 -0
  2313. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/getTraces.md +41 -0
  2314. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/groupby.md +205 -0
  2315. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/having.md +103 -0
  2316. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/hint.md +27 -0
  2317. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/hint_explain.md +705 -0
  2318. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/in.md +59 -0
  2319. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/innerjoin.md +154 -0
  2320. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/insertInto.md +175 -0
  2321. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/interval.md +195 -0
  2322. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/isnull.md +43 -0
  2323. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/join.md +66 -0
  2324. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/leftjoin.md +293 -0
  2325. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/like.md +62 -0
  2326. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/limit.md +83 -0
  2327. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/map.md +108 -0
  2328. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/notbetween.md +64 -0
  2329. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/notin.md +65 -0
  2330. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/notlike.md +74 -0
  2331. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/orderby.md +113 -0
  2332. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/partition.md +86 -0
  2333. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/pivotBy.md +359 -0
  2334. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/predicates.md +22 -0
  2335. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/prefixjoin.md +98 -0
  2336. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/rightjoin.md +235 -0
  2337. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/roll.md +231 -0
  2338. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/sample.md +45 -0
  2339. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/setTraceMode.md +28 -0
  2340. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/sql_ddl.md +11 -0
  2341. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/sql_dml.md +11 -0
  2342. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/sql_dql.md +11 -0
  2343. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/sql_intro.md +75 -0
  2344. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/sql_trace.md +44 -0
  2345. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/tb_joiner_intro.md +134 -0
  2346. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/top.md +59 -0
  2347. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/union.md +57 -0
  2348. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/update.md +539 -0
  2349. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/viewTraceInfo.md +120 -0
  2350. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/where.md +234 -0
  2351. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/windowjoin.md +269 -0
  2352. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/sql/with.md +54 -0
  2353. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/Include.md +59 -0
  2354. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/annotate.md +39 -0
  2355. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/assert.md +45 -0
  2356. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/assignments/assign_by_ref.md +77 -0
  2357. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/assignments/assign_by_value.md +111 -0
  2358. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/assignments/assign_intro.md +11 -0
  2359. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/assignments/assign_multi.md +88 -0
  2360. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/assignments/undef.md +31 -0
  2361. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/blockStatement.md +25 -0
  2362. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/break.md +33 -0
  2363. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/comment.md +25 -0
  2364. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/continue.md +31 -0
  2365. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/doWhile.md +47 -0
  2366. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/for.md +96 -0
  2367. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/go.md +161 -0
  2368. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/ifElse.md +56 -0
  2369. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/mapr.md +104 -0
  2370. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/module.md +23 -0
  2371. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/return.md +26 -0
  2372. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/share.md +104 -0
  2373. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/statements_intro.md +11 -0
  2374. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/throw.md +23 -0
  2375. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/timer.md +45 -0
  2376. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/transaction.md +132 -0
  2377. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/tryCatch.md +42 -0
  2378. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/statements/use.md +46 -0
  2379. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/tensor.md +24 -0
  2380. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/progr/utility.md +99 -0
  2381. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/DataTypeCasting/ForceTypeCasting.md +161 -0
  2382. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/DataTypeCasting/PROTOCOL_ARROW.md +87 -0
  2383. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/DataTypeCasting/PROTOCOL_DDB.md +714 -0
  2384. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/DataTypeCasting/PROTOCOL_PICKLE.md +116 -0
  2385. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/DataTypeCasting/TypeCasting.md +57 -0
  2386. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/EventSendSub/event.md +154 -0
  2387. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/EventSendSub/eventclient.md +256 -0
  2388. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/EventSendSub/eventsender.md +210 -0
  2389. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/EventSendSub/eventsendsub.md +19 -0
  2390. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/ObjectOrientedOperationsOnDdbOBjects/Database.md +420 -0
  2391. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/ObjectOrientedOperationsOnDdbOBjects/Table.md +921 -0
  2392. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/OtherFunctions/OtherFunctions.md +154 -0
  2393. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/SubscriptionOptions/SubscriptionOptions.md +303 -0
  2394. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/WriteOptions/WriteOptions.md +229 -0
  2395. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/convert_type.md +12 -0
  2396. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/AdvancedOperations/ddb_ooo.md +11 -0
  2397. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/AsyncWrites/BatchTableWriter.md +196 -0
  2398. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/AsyncWrites/MultithreadedTableWriter.md +577 -0
  2399. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/AsyncWrites/SessionAsyncMode.md +151 -0
  2400. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/AutoFitTableAppender/PartitionedTableAppender.md +95 -0
  2401. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/AutoFitTableAppender/TableAppender.md +145 -0
  2402. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/AutoFitTableAppender/TableUpserter.md +151 -0
  2403. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/DBConnectionPool/AsyncMethodsAndOthers.md +341 -0
  2404. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/DBConnectionPool/Constructor.md +219 -0
  2405. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/DBConnectionPool/simple_dbconnection_pool.md +276 -0
  2406. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/Session/Connect.md +155 -0
  2407. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/Session/Constructor.md +263 -0
  2408. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/Session/OtherParams.md +533 -0
  2409. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/Subscription/Subscription.md +202 -0
  2410. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/async_write.md +11 -0
  2411. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/connection_pool.md +11 -0
  2412. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/serialization.md +274 -0
  2413. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/session_connect.md +11 -0
  2414. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/BasicOperations/table_append.md +11 -0
  2415. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/QuickStart/Demo.md +313 -0
  2416. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/QuickStart/Install.md +70 -0
  2417. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/adv_oper.md +17 -0
  2418. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/basic_oper.md +17 -0
  2419. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/py.md +27 -0
  2420. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/py_api_inst_offline.md +548 -0
  2421. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/py_vamos.md +15 -0
  2422. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/3_0_3.md +23 -0
  2423. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/3_0_4.md +48 -0
  2424. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13010_py.md +13 -0
  2425. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13015_py.md +14 -0
  2426. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13016_py.md +20 -0
  2427. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13017_py.md +60 -0
  2428. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13019_py.md +106 -0
  2429. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13021_py.md +59 -0
  2430. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_13022_py.md +117 -0
  2431. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_1305_py.md +14 -0
  2432. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_1306_py.md +20 -0
  2433. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_1307_py.md +13 -0
  2434. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_1308_py.md +21 -0
  2435. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_1309_py.md +25 -0
  2436. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_2011_py.md +26 -0
  2437. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_3000_py.md +49 -0
  2438. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_3001_py.md +31 -0
  2439. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_3002_py.md +82 -0
  2440. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/pydoc/release_notes/rn_py.md +14 -0
  2441. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compact_report_3_00_2.md +443 -0
  2442. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compact_report_3_00_3.md +226 -0
  2443. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compact_report_3_00_4.md +341 -0
  2444. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compact_report_3_00_5.md +204 -0
  2445. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat1.md +25 -0
  2446. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat2.md +24 -0
  2447. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat3.md +22 -0
  2448. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat4.md +22 -0
  2449. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat5.md +20 -0
  2450. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat_def.md +51 -0
  2451. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat_lv.md +14 -0
  2452. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat_report_3_00_0.md +60 -0
  2453. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/compat_report_3_00_1.md +131 -0
  2454. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/plugin/3_00_0.md +297 -0
  2455. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/plugin/3_00_1.md +265 -0
  2456. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/plugin/3_00_2.md +385 -0
  2457. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/plugin/3_00_3.md +267 -0
  2458. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/plugin/3_00_4.md +230 -0
  2459. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/plugin/3_00_5.md +93 -0
  2460. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/rn_gui.md +230 -0
  2461. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/rn_vscode.md +218 -0
  2462. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/rn_web.md +557 -0
  2463. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/security.md +9 -0
  2464. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/3_00_0.md +207 -0
  2465. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/3_00_1.md +300 -0
  2466. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/3_00_2.md +448 -0
  2467. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/3_00_3.md +519 -0
  2468. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/3_00_4.md +312 -0
  2469. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/3_00_5.md +267 -0
  2470. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/api.md +9 -0
  2471. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/datax_dolphindbreader_0.md +24 -0
  2472. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/datax_writer.md +34 -0
  2473. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/grafana.md +40 -0
  2474. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/rn/server/third_party_rn.md +9 -0
  2475. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/anomaly_detection_engine.md +343 -0
  2476. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/asof_join_engine.md +155 -0
  2477. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep.md +35 -0
  2478. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep_basic_concept.md +44 -0
  2479. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep_engine.md +282 -0
  2480. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep_events_defining.md +74 -0
  2481. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep_monitor_defining.md +164 -0
  2482. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep_monitoring.md +194 -0
  2483. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cep_viewing.md +101 -0
  2484. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cluster_sub.md +70 -0
  2485. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cross_cluster_sub.md +70 -0
  2486. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/cross_sectional_engine.md +303 -0
  2487. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/datafeed_best_practice.md +444 -0
  2488. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/defining_event_listeners.md +138 -0
  2489. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/dual_ownership_engine.md +110 -0
  2490. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/equi_join_engine.md +153 -0
  2491. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/event_stream_serializer.md +68 -0
  2492. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/leftsemi_join_engine.md +181 -0
  2493. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/local_sub.md +69 -0
  2494. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/lookup_join_engine.md +217 -0
  2495. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/mdl_best_practice.md +827 -0
  2496. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/narrow_reactive_state_engine.md +151 -0
  2497. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/nearest_join_engine.md +138 -0
  2498. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/nsq.md +23 -0
  2499. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/orca.md +665 -0
  2500. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/py_sub.md +66 -0
  2501. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/reactive_state_engine.md +495 -0
  2502. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/reactive_stateless_engine.md +285 -0
  2503. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/realtime_data_acces.md +12 -0
  2504. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/rule_engine.md +281 -0
  2505. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/session_window_engine.md +138 -0
  2506. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/snapshot_join_engine.md +230 -0
  2507. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/stateful_operators.md +170 -0
  2508. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/stateless_operators.md +160 -0
  2509. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_altair.md +77 -0
  2510. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_api_python.md +294 -0
  2511. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_batch.md +90 -0
  2512. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_eng_parser.md +319 -0
  2513. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_funcs.md +44 -0
  2514. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_ha.md +300 -0
  2515. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_intro.md +71 -0
  2516. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_join_engine.md +136 -0
  2517. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_monitor.md +119 -0
  2518. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_operator.md +13 -0
  2519. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_process.md +21 -0
  2520. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_replay.md +18 -0
  2521. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_replay_1.md +101 -0
  2522. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_replay_n21.md +230 -0
  2523. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_replay_n2n.md +96 -0
  2524. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/str_table.md +276 -0
  2525. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/streaming_computing_engine_in_cep.md +65 -0
  2526. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/streaming_sql.md +128 -0
  2527. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/sub_pub.md +213 -0
  2528. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/time_bucket_engine.md +143 -0
  2529. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/time_series_engine.md +638 -0
  2530. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/timely_str_process.md +45 -0
  2531. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/try_example1.md +411 -0
  2532. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/stream/window_join_engine.md +233 -0
  2533. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/BatchJobManagement.md +123 -0
  2534. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/bak_resto.md +140 -0
  2535. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/cluster_async_replc.md +114 -0
  2536. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/cluster_manage.md +19 -0
  2537. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/multi_cluster_management.md +219 -0
  2538. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/om_intro.md +13 -0
  2539. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/perf_man.md +38 -0
  2540. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/secure_conn.md +70 -0
  2541. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/sys_man/shutdown.md +49 -0
  2542. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/third_party.md +11 -0
  2543. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/backend_grafana.md +215 -0
  2544. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/datax_reader.md +253 -0
  2545. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/dbeaver.md +230 -0
  2546. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/grafana.md +192 -0
  2547. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/grafana_2.md +192 -0
  2548. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/grafana_overview.md +24 -0
  2549. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/power_bi.md +110 -0
  2550. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/sqltools.md +116 -0
  2551. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tools/superset.md +358 -0
  2552. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ACL_and_Security.md +1468 -0
  2553. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ACL_and_Security_2.md +1468 -0
  2554. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ARM_standalone_deploy.md +268 -0
  2555. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Array_Vector.md +1428 -0
  2556. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/CSI_1000.md +199 -0
  2557. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/CSI_1000_2.md +199 -0
  2558. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ClickHouse_to_DolphinDB.md +484 -0
  2559. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Compute_Node.md +663 -0
  2560. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/DECIMAL.md +306 -0
  2561. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/DECIMAL_Calculation_Characteristics.md +327 -0
  2562. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Data_Move_Rebalance.md +455 -0
  2563. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Debezium_Kafka_Oracle_sync.md +1756 -0
  2564. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Debezium_Kafka_PostgreSQL_sync.md +1197 -0
  2565. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Debezium_and_Kafka_data_sync.md +1471 -0
  2566. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/DolphinDB_Explain.md +1073 -0
  2567. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/DolphinDB_TopN.md +346 -0
  2568. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/DolphinDB_VS_PythonFile_Storage.md +361 -0
  2569. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/FxSwapValuation.md +190 -0
  2570. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/IV_Greeks_Calculation_for_ETF_Options_Using_JIT.md +542 -0
  2571. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ImportTLData_toturial.md +563 -0
  2572. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Iot_intelligent_O&M.md +495 -0
  2573. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/LoadDataForPoc.md +444 -0
  2574. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/MVO.md +565 -0
  2575. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Migrate_data_from_InfluxDB_to_DolphinDB.md +318 -0
  2576. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Migrate_data_from_Redshift_to_DolphinDB.md +255 -0
  2577. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/MySQL_to_DolphinDB.md +361 -0
  2578. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/OHLC.md +339 -0
  2579. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/OHLC_2.md +339 -0
  2580. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/OceanBase_to_DolphinDB.md +381 -0
  2581. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Oracle_to_DolphinDB.md +528 -0
  2582. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Practical_Factor_Analysis_Modeling.md +503 -0
  2583. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Python_Celery.md +502 -0
  2584. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Python_HDF5_vs_DolphinDB.md +351 -0
  2585. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/SQLServer_to_DolphinDB.md +395 -0
  2586. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Startup.md +151 -0
  2587. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/StreamEngineParser.md +216 -0
  2588. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/Virbration_Monitor_Fault_Diagnose.md +219 -0
  2589. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/about_tutorials.md +17 -0
  2590. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/add_Column.md +152 -0
  2591. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/amd_best_prac.md +468 -0
  2592. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/api_performance.md +280 -0
  2593. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/appendices_market_replay_bp.md +672 -0
  2594. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/arrow_plugin_usage.md +315 -0
  2595. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/async_replication.md +333 -0
  2596. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/backtest_introduction_usage.md +697 -0
  2597. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/backtest_volatility_timing_vertical_spread.md +790 -0
  2598. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/backtesting_using_MatchingEngineSimulator.md +371 -0
  2599. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/backup-restore-new.md +406 -0
  2600. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/backup_restore_before_208.md +363 -0
  2601. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/behavioral_profiling_of_driving_habits.md +235 -0
  2602. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_practice_for_factor_calculation.md +1030 -0
  2603. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_practice_for_mdl.md +258 -0
  2604. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_practice_for_storage_compute_separation.md +476 -0
  2605. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_practices_for_log_monitoring.md +1006 -0
  2606. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_practices_for_multi_factor.md +465 -0
  2607. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_practices_for_partitioned_storage.md +1182 -0
  2608. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/best_price_selection.md +300 -0
  2609. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/brinson.md +249 -0
  2610. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cachedtable.md +95 -0
  2611. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/campisi.md +322 -0
  2612. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/clear_cache.md +568 -0
  2613. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cloud_deployment_with_terraform.md +636 -0
  2614. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cluster_monitor.md +1029 -0
  2615. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cluster_scaleout_perf_test.md +256 -0
  2616. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cross_environment_synchronization.md +268 -0
  2617. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/csap.md +466 -0
  2618. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cta.md +276 -0
  2619. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/cta_strategy_implementation_and_backtesting.md +950 -0
  2620. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/curve_surface_builder.md +639 -0
  2621. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/daily_stock_portfolio_backtest.md +223 -0
  2622. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/dashboard_tutorial.md +1664 -0
  2623. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/data_ETL.md +259 -0
  2624. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/data_import_details.md +450 -0
  2625. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/data_interface_for_redash.md +91 -0
  2626. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/data_replay.md +241 -0
  2627. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/data_sync_among_clusters.md +238 -0
  2628. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/database.md +617 -0
  2629. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/database_and_table_creation_details.md +590 -0
  2630. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/database_and_table_creation_wizard.md +204 -0
  2631. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/datax_writer.md +378 -0
  2632. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ddb_airflow.md +821 -0
  2633. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ddb_comparison_rules_of_time_types.md +373 -0
  2634. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ddb_sql_cases.md +1216 -0
  2635. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ddb_str_app_iot.md +202 -0
  2636. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ddb_str_app_iot_2.md +202 -0
  2637. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ddb_telegraf_grafana.md +570 -0
  2638. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/debezium_kafka_real_time_synchronization_of_oracle_11g_data.md +891 -0
  2639. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/displaying_the_dolphindb_k-line_with_klinechart.md +380 -0
  2640. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/docker-compose_high_cluster.md +370 -0
  2641. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/docker_single_deployment.md +462 -0
  2642. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/dolphindb_tensor_libtorch_tutorial.md +285 -0
  2643. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/dolphindb_update.md +587 -0
  2644. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/dolphinscheduler_integration.md +700 -0
  2645. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/e6_97_a0_e6_a0_87_e9_a2_9810.md +9 -0
  2646. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/earthquake_prediction_ddb_ml.md +416 -0
  2647. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/earthquake_prediction_ddb_ml_2.md +416 -0
  2648. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/edge_to_cloud.md +341 -0
  2649. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/effective-log-storage-and-retrieval.md +443 -0
  2650. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/efficient_power_trading_solutions.md +264 -0
  2651. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/empyrical.md +425 -0
  2652. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/exchdata_exchange_historical_stock_data_auto_import_module_tutorial.md +557 -0
  2653. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/factor_attribution_analysis.md +224 -0
  2654. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/factor_evaluation_framework.md +650 -0
  2655. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/faultAnalysis.md +270 -0
  2656. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/financial_mock_data_generation_module.md +984 -0
  2657. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/forecast_taxi_trip_dura.md +340 -0
  2658. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/forecast_taxi_trip_dura_2.md +340 -0
  2659. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/func_progr_cases.md +1177 -0
  2660. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/function_mapping_py.md +298 -0
  2661. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/fund_factor_contrasted_by_py.md +703 -0
  2662. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/futures_minute_frequency_cta_strategy_backtest_example.md +295 -0
  2663. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/general_computing.md +249 -0
  2664. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/generate_large_scale_statistics_with_summary.md +186 -0
  2665. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/getting_started_with_cep_engine.md +601 -0
  2666. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/gplearn.md +175 -0
  2667. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/gray_scale_upgrade_ha.md +191 -0
  2668. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/guide_to_obtaining_stack_traces.md +185 -0
  2669. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/haProxy_best_practices.md +387 -0
  2670. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/haStreaming.md +205 -0
  2671. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ha_cluster_deployment.md +1150 -0
  2672. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ha_mvcc_table.md +192 -0
  2673. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ha_mvcc_table_guide.md +399 -0
  2674. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/hf_factor_streaming.md +532 -0
  2675. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/hf_factor_streaming_2.md +532 -0
  2676. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/hf_to_lf_factor.md +995 -0
  2677. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/high_freq_data_storage_and_analysis.md +427 -0
  2678. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/how_to_handle_crash.md +281 -0
  2679. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/httpclient_msg_case.md +820 -0
  2680. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/hybrid_programming_paradigms.md +780 -0
  2681. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/in_memory_table.md +695 -0
  2682. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/insight_plugin.md +358 -0
  2683. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/insight_plugin_orderbook_engine_application.md +822 -0
  2684. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/instrument_and_mktdata.md +478 -0
  2685. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/interface_development.md +585 -0
  2686. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_anomaly_detection.md +112 -0
  2687. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_anomaly_detection_2.md +112 -0
  2688. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_demo.md +162 -0
  2689. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_demo_2.md +162 -0
  2690. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_examples.md +1518 -0
  2691. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_multisource_fusion_query.md +239 -0
  2692. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/iot_query_case.md +187 -0
  2693. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/jit.md +700 -0
  2694. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/job_management_tutorial.md +214 -0
  2695. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/job_management_tutorial_2.md +214 -0
  2696. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/k.md +1264 -0
  2697. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/k8s_deployment.md +432 -0
  2698. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/k8s_deployment_in_AWS.md +390 -0
  2699. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/k8s_deployment_in_Aliyun.md +297 -0
  2700. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/k_line_calculation%20.md +656 -0
  2701. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/kafka_mqtt.md +267 -0
  2702. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/kdb_to_dolphindb.md +556 -0
  2703. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/knn_iot.md +523 -0
  2704. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/knn_iot_2.md +523 -0
  2705. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/l2_snapshot_factor_calc.md +608 -0
  2706. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/l2_snapshot_factor_calc_2.md +608 -0
  2707. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/l2_stk_data_proc.md +599 -0
  2708. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/l2_stk_data_proc_2.md +599 -0
  2709. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/log_analysis_tool_user_manual.md +562 -0
  2710. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/log_searcher.md +531 -0
  2711. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/machine_learning.md +346 -0
  2712. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/macro_var_based_metaprogramming.md +396 -0
  2713. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/market_condition_adjustments.md +348 -0
  2714. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/matching_engine_simulator.md +1071 -0
  2715. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/matrix.md +1650 -0
  2716. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/memory_management.md +467 -0
  2717. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/meta_programming.md +562 -0
  2718. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/metacode_derived_features.md +476 -0
  2719. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/metacode_derived_features_2.md +476 -0
  2720. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/migrate_data_from_Postgre_and_Greenplum_to_DolphinDB.md +431 -0
  2721. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ml_volatility.md +361 -0
  2722. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/ml_volatility_2.md +361 -0
  2723. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/module_code_versioning_and_rights_management.md +326 -0
  2724. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/module_development_guide.md +174 -0
  2725. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/module_doc_writing_guide.md +44 -0
  2726. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/module_testing_guide.md +134 -0
  2727. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/monte_carlo_simulation.md +641 -0
  2728. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/multi_asset_backtest.md +442 -0
  2729. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/multi_factor_risk_model.md +1413 -0
  2730. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/multi_machine_cluster_deployment.md +884 -0
  2731. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/new_users_finance.md +3738 -0
  2732. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/nginx_dolphindb.md +540 -0
  2733. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/node_red_tutorial_iot.md +358 -0
  2734. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/node_startup_exception.md +544 -0
  2735. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/node_startup_process_and_questions.md +706 -0
  2736. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/non-standard_permission_management.md +367 -0
  2737. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/oauth.md +66 -0
  2738. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/oltp_in-memory_storage_engine_non-embedded_version_tutorials.md +266 -0
  2739. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/oom_settlement.md +246 -0
  2740. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/oom_settlement_2.md +246 -0
  2741. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/orca_finance.md +596 -0
  2742. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/orca_finance_position.md +659 -0
  2743. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/orderBookSnapshotEngine.md +843 -0
  2744. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/order_splitting_with_cep.md +1270 -0
  2745. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/order_splitting_with_cep_advanced.md +2832 -0
  2746. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/panel_data.md +731 -0
  2747. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/partitioned_in_memory_table.md +478 -0
  2748. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/perf_opti_glibc.md +181 -0
  2749. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/pickle_comparison.md +281 -0
  2750. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/pip_ddb.md +205 -0
  2751. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/prep_linux_for_deploy.md +635 -0
  2752. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/pricing_functions.md +1532 -0
  2753. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/probabilistic_and_statistical_analysis.md +1231 -0
  2754. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/prometheus_and_ruleEngine_integration.md +554 -0
  2755. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/promethues2.md +223 -0
  2756. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/public_fund_basic_analysis.md +618 -0
  2757. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/quant_finance_examples.md +740 -0
  2758. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/random_vibr_sig_analysis.md +573 -0
  2759. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/random_vibr_sig_analysis_2.md +573 -0
  2760. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/reactive_state_engine.md +417 -0
  2761. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/redis_plugin_tutorial.md +247 -0
  2762. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/redoLog_cacheEngine.md +162 -0
  2763. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/rt_stk_price_inc_calc.md +363 -0
  2764. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/rt_stk_price_inc_calc_2.md +363 -0
  2765. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/scale_out_cluster.md +254 -0
  2766. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/scheduledJob.md +401 -0
  2767. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/scheduledJob_2.md +401 -0
  2768. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/service_deployment_and_migration.md +550 -0
  2769. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/shark_gplearn_application.md +1293 -0
  2770. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/shark_graph.md +411 -0
  2771. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/single_machine_cluster_deploy.md +769 -0
  2772. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/socp_usage_case.md +446 -0
  2773. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/soft_delete.md +179 -0
  2774. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/sql_performance_optimization_wap_di_rv.md +365 -0
  2775. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/standalone_server.md +436 -0
  2776. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stateful_stream_operators.md +284 -0
  2777. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/std_sql_ddb.md +893 -0
  2778. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stock_backtest.md +797 -0
  2779. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stock_market_replay.md +466 -0
  2780. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stock_market_replay_2.md +466 -0
  2781. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stockdata_csv_import_demo.md +168 -0
  2782. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/str_comp_fin_quant.md +1407 -0
  2783. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/str_comp_fin_quant_2.md +1407 -0
  2784. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stream_computing_in_futures_trading.md +865 -0
  2785. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/stream_processing_volatility_fitting.md +308 -0
  2786. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming-real-time-correlation-processing.md +481 -0
  2787. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming-real-time-correlation-processing_2.md +481 -0
  2788. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_IOPV.md +298 -0
  2789. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_IOPV_2.md +298 -0
  2790. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_auto_sub.md +238 -0
  2791. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_auto_sub_2.md +238 -0
  2792. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_capital_flow_daily.md +429 -0
  2793. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_capital_flow_daily_2.md +429 -0
  2794. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_capital_flow_order_by_order.md +483 -0
  2795. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_capital_flow_order_by_order_2.md +483 -0
  2796. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_engine_anomaly_alerts.md +250 -0
  2797. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_engine_anomaly_alerts_2.md +250 -0
  2798. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_timer.md +277 -0
  2799. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/streaming_tutorial.md +868 -0
  2800. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/textdb.md +387 -0
  2801. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/the_ten_most_overlooked_details_of_programming.md +433 -0
  2802. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/thread_intro.md +260 -0
  2803. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/thread_intro_2.md +260 -0
  2804. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/threading_model.md +223 -0
  2805. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/timezone.md +556 -0
  2806. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/tsdb_engine.md +132 -0
  2807. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/tsdb_explained.md +668 -0
  2808. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/tu_modules.md +313 -0
  2809. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/udaf.md +155 -0
  2810. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/unit_testing.md +438 -0
  2811. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/usage_guidelines.md +631 -0
  2812. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/user_level_resource_tracking.md +311 -0
  2813. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/vanna.md +402 -0
  2814. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/volatility_prediction.md +501 -0
  2815. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/waveform_data_storage.md +701 -0
  2816. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/waveform_data_storage_2.md +701 -0
  2817. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/web_chart_integration.md +229 -0
  2818. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/window_cal.md +1026 -0
  2819. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/xtp.md +403 -0
  2820. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/official/tutorials/zabbix_cluster_monitoring.md +454 -0
  2821. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/project-schema-protocol.md +71 -0
  2822. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/{pitfalls-and-best-practices.md → review-rules/anti-patterns.md} +6 -3
  2823. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/review-rules/change-checklist.md +65 -0
  2824. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/review-rules/lethal-violations.md +32 -0
  2825. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/review-rules/perf-baselines.md +77 -0
  2826. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/url-manifest.json +13932 -0
  2827. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/scripts/__pycache__/scrape_docs.cpython-311.pyc +0 -0
  2828. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/scripts/build_index.py +210 -0
  2829. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/scripts/check_freshness.py +57 -0
  2830. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/scripts/refresh_docs.py +36 -0
  2831. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/scripts/scrape_docs.py +293 -0
  2832. package/templates/claude-global/skills//350/277/220/347/273/264/345/217/221/345/270/203/dwy-deploy-audit/scripts/check_services.sh +22 -5
  2833. package/templates/claude-global/skills//350/277/220/347/273/264/345/217/221/345/270/203/dwy-publish/SKILL.md +5 -3
  2834. package/templates/claude-global/skills//350/277/220/347/273/264/345/217/221/345/270/203/dwy-semver/SKILL.md +132 -0
  2835. package/templates/claude-global/skills//350/277/220/347/273/264/345/217/221/345/270/203/dwy-semver/references/semver-spec.md +70 -0
  2836. package/templates/claude-global/skills//350/277/220/347/273/264/345/217/221/345/270/203/dwy-semver/scripts/bump.py +137 -0
  2837. package/templates/codex-global/hooks/Git/pre-git-commit-sensitive-check.sh +63 -0
  2838. package/templates/codex-global/hooks.json +16 -0
  2839. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-pentest/scripts/lib/__pycache__/__init__.cpython-311.pyc +0 -0
  2840. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-pentest/scripts/lib/__pycache__/config.cpython-311.pyc +0 -0
  2841. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-pentest/scripts/lib/__pycache__/executor.cpython-311.pyc +0 -0
  2842. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-pentest/scripts/lib/__pycache__/severity.cpython-311.pyc +0 -0
  2843. package/templates/claude-global/skills//345/256/211/345/205/250/dwy-pentest/scripts/lib/__pycache__/validator.cpython-311.pyc +0 -0
  2844. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/create-database-table.md +0 -219
  2845. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/crud-operations.md +0 -281
  2846. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/data-import.md +0 -271
  2847. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/docker-deployment.md +0 -63
  2848. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/performance-tuning.md +0 -223
  2849. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/python-api.md +0 -306
  2850. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/setup-and-connection.md +0 -143
  2851. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/sources.md +0 -46
  2852. package/templates/claude-global/skills//346/225/260/346/215/256/345/272/223/dwy-dolphindb/references/sql-batch-compute.md +0 -206
  2853. package/templates/claude-global/skills//350/277/220/347/273/264/345/217/221/345/270/203/dwy-mirror-source/scripts/__pycache__/check_mirrors.cpython-313.pyc +0 -0
@@ -0,0 +1,3738 @@
1
+ ---
2
+ source_url: https://docs.dolphindb.cn/zh/tutorials/new_users_finance.html
3
+ fetched_at: 2026-05-19T09:47:57Z
4
+ category: tutorials
5
+ title: 新用户入门指南(金融篇)
6
+ sha1: 925a8bbb9ec68d35f3622aa19fafb58c7eec4612
7
+ ---
8
+
9
+ # 新用户入门指南(金融篇)
10
+
11
+ ## 1. DolphinDB 在金融场景下的应用
12
+
13
+ 金融行业因其业务的多样性和复杂性,每日产生包括交易记录、市场数据、客户信息等在内的海量数据。随着交易员对策略和数据分析需求的不断增长,数据的存储和分析对交易系统提出了极高的要求,尤其是在需要极低延时和极速响应的高频数据计算和分析方面。然而,传统数据库和硬件升级方案在成本、拓展性、性能和可靠性方面已难以满足这些日益增长的需求。幸运的是,近年来大容量内存、高速网络以及分布式集群架构等技术的发展,为金融行业提供了新的数据存储和分析解决方案。这些技术不仅降低了成本,还提高了系统的拓展性、性能和可靠性,从而更好地适应金融行业对大数据管理的需求。
14
+
15
+ 在此背景下,DolphinDB,一款高性能时序数据库兼实时计算平台应运而生。DolphinDB
16
+ 集成了分布式存储、分布式计算、时序分析、高性能计算、流式处理等多项技术于一体,可以很好地支持复杂的时序分析与实时流处理场景,为之提供高性能、低延时、海量存储的一体化解决方案。
17
+
18
+ 目前 DolphinDB
19
+ 在金融领域已签约银行、券商、公募、私募、资管、理财等领域的头部机构,在行情中心、数据中心、因子开发、投研、交易监控等场景提供了众多成熟的解决方案,如:
20
+
21
+ - 数据存储:实时数仓、[实时行情存储](best_practices_for_partitioned_storage.html)、[中高频因子存储](best_practices_for_multi_factor.html)
22
+ - 数据处理:[K 线合成](k.html)、[订单簿合成](insight_plugin_orderbook_engine_application.html)(任意频率、衍生指标、自定义指标)
23
+ - 因子挖掘:[因子存储](best_practices_for_multi_factor.html)、[流批一体因子计算](l2_snapshot_factor_calc.html)(提供了内置的千余指标函数以及 TA-lib,Alpha101 等因子库)
24
+ - 策略回测:[行情回放](appendices_market_replay_bp.html)、[模拟订单撮合](matching_engine_simulator.html)、[投资组合优化](MVO.html)、[Alphalens
25
+ 回测框架](Practical_Factor_Analysis_Modeling.html)
26
+ - 风控和绩效归因:[多因子模型](multi_factor_risk_model.html)、[Campisi](campisi.html) 和 [Brinson](brinson.html) 绩效归因模型
27
+ - 实时计算:[实时高频因子计算](hf_factor_streaming.html)、[实时计算涨幅](rt_stk_price_inc_calc.html#%E5%AE%9E%E6%97%B6%E8%AE%A1%E7%AE%97%E6%B6%A8%E5%B9%85%E6%A6%9C)、[实时计算资金流](streaming_capital_flow_daily.html)、[实时选取外汇行情最优价源](best_price_selection.html)
28
+ - 机器学习:[XGBoost
29
+ 插件](../plugins/xgboost/xgboost.html)、[Shark GPLearn](gplearn.html)(GPU 加速因子挖掘)、[AI DataLoader](https://docs.dolphindb.cn/zh/dataloaderdoc/ai_dataloader_ml.html) (便捷的
30
+ PyTorch 模型训练数据导入工具)、[LibTorch](../plugins/libtorch/libtorch.html)
31
+
32
+ ## 2. 教程阅读说明
33
+
34
+ 本教程旨在为从事金融行业的新用户进行入门学习上的指引,并为其后续工程上的使用和进阶学习打下基础。通过本入门教程的学习,可以基本掌握如何利用 DolphinDB
35
+ 进行建库建表、数据导入与清洗、脚本编程、SQL 基础的库表操作、流计算框架构建、并发任务调度等工程中基础且必不可少的操作。
36
+
37
+ 本章为阅读教程前的指导章节,包含本教程的阅读指引、本教程涉及的数据下载以及快速上手的指导。
38
+
39
+ ### 2.1 安装部署指导
40
+
41
+ 阅读本教程前请确保 DolphinDB 已经下载(下载页面:[产品 - DolphinDB](https://dolphindb.cn/product#downloads-top) )并部署完成(部署教程:[部署](../deploy/deploy_intro.html) )。
42
+
43
+ 注:
44
+
45
+ Linux 版本比 Windows 版本更稳定、更容易定位问题,且兼容更多插件。对于环境为 Windows 系统的个人用户,推荐用户通过 WSL
46
+ 进行部署。
47
+
48
+ 对于仅需要测试 DolphinDB 功能的用例,下载 Windows 版本能够满足需求。然而,若计划将DolphinDB 用于生产环境,建议选择
49
+ Linux 平台进行部署。
50
+
51
+ ### 2.2 教程环境和数据源说明
52
+
53
+ **实验环境说明**
54
+
55
+ 本教程的实验环境如下:
56
+
57
+ - server 版本: 3.00.1.2 2024.07.30 LINUX x86\_64
58
+ - 部署方式:单节点 single mode
59
+
60
+ (为确保后续脚本能正常执行,建议用户和本实验环境保持一致)
61
+
62
+ **社区版单节点部署示例(Linux)**
63
+
64
+ 注:
65
+
66
+ 社区版: DolphinDB 对所有用户免费下载的一个版本,与付费版本的区别在于,社区版资源受到约束:最多 2 节点(数据节点/计算节点),每节点可用
67
+ 2CPU 核、8GB 内存。
68
+
69
+ 单节点:指在物理机或虚拟机上运行单个 DolphinDB server
70
+ 实例(进程)。这种部署方式通常用于开发、测试和学习目的,因为它简化了环境配置,降低了资源需求。
71
+
72
+ 在[本页面](https://dolphindb.cn/product#downloads-top)选择下载的版本:
73
+
74
+ ![](images/new_users_finance/2-1.png)
75
+
76
+ 下载后,解压 zip 包,并进入 server 目录:
77
+
78
+ ```dolphindb
79
+ unzip DolphinDB_Linux64_V3.00.1.2.zip -d <YOUR_PATH>
80
+ cd <YOUR_PATH>/server
81
+ ```
82
+
83
+ ![](images/new_users_finance/2-2.png)
84
+
85
+ server 目录中,dolphindb 为 server 可执行文件,请确保该文件有执行权限。
86
+
87
+ ```dolphindb
88
+ chmod +x dolphindb
89
+ ```
90
+
91
+ dolphindb.cfg 为数据库配置文件,用户可以通过添加或修改配置项,对数据库的日志、内存、性能、网络等方面进行[配置](../db_distr_comp/cfg/function_configuration.html)。启动前,请配置
92
+ *localSite* 中端口号为空闲端口(默认是 8848)。
93
+
94
+ ![](images/new_users_finance/2-3.png)
95
+
96
+ 参数配置示例:
97
+
98
+ - 例1:修改数据存储路径,需要在配置文件中添加 *volumes*配置项(以配置多个磁盘为例):
99
+
100
+ ```dolphindb
101
+ volumes=/hdd/hdd1/volumes, /hdd/hdd2/volumes
102
+ ```
103
+
104
+ 注:
105
+
106
+ 如果以单机集群方式进行部署,在 cluster.cfg 配置文件中配置 volumes 时,需要确保不同节点的存储路径不会重叠,一个简单的方式是使用宏变量
107
+ <ALIAS>,例如`volumes=/hdd/hdd1/volumes/<ALIAS>,
108
+ /hdd/hdd2/volumes/<ALIAS>`;或者可以通过“dnode1.volumes=`/hdd/hdd1/volumes/dnode1`”
109
+ 的方式进行配置,其中 dnode1 是节点别名,在 cluster.nodes 文件中配置。
110
+
111
+ - 例2:需要开启流数据持久化功能,需要在配置文件中添加 *persistenceDir*配置项:
112
+
113
+ ```dolphindb
114
+ persistenceDir=/home/DolphinDB/Data/Persistence
115
+ ```
116
+
117
+ 配置完毕后,启动 server:
118
+
119
+ - 前台启动
120
+
121
+ ```dolphindb
122
+ ./dolphindb
123
+ ```
124
+ - 后台启动
125
+
126
+ ```dolphindb
127
+ sh startSingle.sh
128
+ ```
129
+
130
+ HINT:windows
131
+ 版本后台启动脚本为对应的 vbs 文件。
132
+
133
+ 若 server 无法启动,请检查 dolphindb.log 日志中是否有异常信息,并参考文档 [节点启动异常](node_startup_exception.html#%E8%8A%82%E7%82%B9%E5%90%AF%E5%8A%A8%E5%BC%82%E5%B8%B8) 进排查。
134
+
135
+ 启动成功后,用户可以在 web 端输入 <ip:port>,如 localhost:8848 打开 Web 管理器。
136
+
137
+ ![](images/new_users_finance/2-4.png)
138
+
139
+ 部分系统运维函数和库表创建对用户的权限有一定要求。初始条件下,默认用户为 guest,社区用户可以点击右上角的用户头像,选择 Log in 选项,然后通过
140
+ admin 账号进行登录:
141
+
142
+ ![](images/new_users_finance/2-5.png)
143
+
144
+ 登录后,点击左侧的 Shell 模块即可执行简单的代码进行测试。
145
+
146
+ 如果要构建项目,用户可以通过 VSCode 或者 GUI 客户端连接 server 执行脚本。以 VSCode 为例,下载 DolphinDB
147
+ 拓展后,点击左侧的数据库图标,在 setting.json 中必须修改配置参数 “url” 为 “ws://<连接节点 ip>:<连接节点
148
+ port>”,其余参数均为可选配置:![](images/new_users_finance/2-6.png)
149
+
150
+ 配置完成后,可以在任意用户的工作目录下,创建任意一个以 “.dos” 为尾缀的文件,编写 DolphinDB
151
+ 脚本。脚本执行有两种方式:(1)点击右上角的执行按钮执行;(2)按快捷键 `ctrl`+`E`
152
+ 执行。
153
+
154
+ ![](images/new_users_finance/2-7.png)
155
+
156
+ **数据说明**
157
+
158
+ 本教程提供的数据均为模拟数据,范围包含: Level2 的逐笔数据、Level2 快照数据。
159
+
160
+ 参考:[金融
161
+ Mock 数据生成模块](financial_mock_data_generation_module.html)
162
+
163
+ 本教程通过模块 MockData 模拟数据,用户下载附录的 [MockData.dos](#topic_ctd_tly_5dc)
164
+ 文件后,需将该文件置于 <homeDir>/modules/ 路径目录下,其中 <homeDir> 默认是 server 主目录(由配置项
165
+ homeDir 指定),用户也可以在线调用`getHomeDir()`函数获取该路径。
166
+
167
+ ![](images/new_users_finance/2-8.png)
168
+
169
+ 模块安装后,在客户端中通过脚本 `use MockData` 导入该模块后,即可调用模块内部的函数产生模拟数据。
170
+
171
+ **教程代码说明**
172
+
173
+ 1. 在执行代码时,请确保代码中的变量 <YOUR\_PATH> 已经替换成您自己的路径(建议使用绝对路径),如
174
+ “/home/usr/data”。请注意,如文档中无特殊说明,该路径必须是 DolphinDB server
175
+ 所在物理机的路径而不是客户端的路径。
176
+ 2. 部分代码依赖上文创建的库表,测试脚本前请参考教程说明,预先建库建表。
177
+
178
+ ### 2.3 如何快速上手
179
+
180
+ **快速配置数据库**
181
+
182
+ DolphinDB
183
+ 数据库的内存、线程、网络、文件、流数据等等资源都可以通过**离线的配置项文件**或**在线函数**进行配置和修改。下面简述两种方式的具体操作:
184
+
185
+ (1)配置文件:下载 DolphinDB 后,打开安装包中的配置项文件,添加或者修改相关配置信息即可。配置文件路径如下:
186
+
187
+ 表 2-1 不同部署场景下的配置项路径说明
188
+
189
+ | **部署** | **默认配置目录** | **相关配置项** |
190
+ | --- | --- | --- |
191
+ | 单节点环境 | *<安装目录>/server/dolphindb.cfg* | config |
192
+ | 集群环境 | *<安装目录>/server/clusterDemo/config/* - 数据节点、计算节点:*cluster.cfg* - 控制节点:*controller.cfg* - 代理节点:*agent.cfg* - 节点网络信息配置:*cluser.nodes* | config nodesFile clusterConfig |
193
+
194
+ 注:
195
+
196
+ 更多参数说明请参考 [参数配置](../db_distr_comp/cfg/para_cfg.html)。**注意:**增加或修改配置后,重新启动 DolphinDB 服务,即可生效;用户通过在线调用
197
+ `getConfig` 函数获取配置项的值。
198
+
199
+ (2)在线函数:可以通过 [setDynamicConfig](../funcs/s/setdynamicconfig.html)
200
+ 函数在线动态修改部分配置项的值,但注意在线动态修改的配置重启后会失效,若需要永久化需在配置文件进行修改。
201
+
202
+ **快速开始编写 DolphinScript**
203
+
204
+ DolphinDB 编程对以下用户天然友好:
205
+
206
+ - 有 SQL 编程经验的用户:DolphinDB SQL 语法基本兼容 SQL-92 标准。兼容性可参考 [SQL 标准化](std_sql_ddb.html)
207
+ 。
208
+
209
+ ```dolphindb
210
+ t1 = table(2024.01.01 + (0 31 60 91 121) as date, 1.2 7.8 4.6 5.1 9.5 as value)
211
+ t2 = table(2024.02.01 + (0 15 90) as date, 1..3 as qty)
212
+ SELECT * FROM t1 LEFT JOIN t2 ON t1.date = t2.date
213
+ ```
214
+ - 有 Python 编程经验的用户:DolphinDB 和 Python 一样都是动态类型语言,即声明变量无需指定变量类型。此外,DolphinDB
215
+ 在函数定义、函数调用、传参方式上都与传统编程语言类似。
216
+
217
+ ```dolphindb
218
+ def f(a, mutable b, c=1){
219
+ if(a < b){
220
+ b*=c
221
+ }else{
222
+ b*=-c
223
+ }
224
+ return b
225
+ }
226
+ f(6, 10)
227
+ ```
228
+
229
+ 对有编程经验的用户而言,上手写脚本并不会成为学习瓶颈,真正有难度的是如何编写出高性能且简洁的脚本。尤其在金融数据分析领域,对计算响应延时往往要求很高,高性能是用户关注的核心点。
230
+
231
+ 为了提高脚本性能,用户需要牢牢把握两个核心的思维方式:向量式和函数式,这两个思维是编写出高效简洁脚本的关键。
232
+
233
+ - 向量式编程,简单来说就是允许程序员以数学向量(即一组数值)作为操作的基本单位,而不是单个的标量数值。在向量式编程中,操作和函数可以直接应用于整个数组或矩阵,而不需要使用显式的循环结构。
234
+
235
+ 该编程方式主要得益于
236
+ DolphinDB 在指令集上的优化,例如二元运算时,将 1 对 1的两两元素运算拓展到 n 对 n
237
+ 的并发计算;或对单个向量计算时,在算法上通过增量计算优化函数的性能。使用经过向量化优化的函数计算,其性能远远高于传统遍历的方式。
238
+
239
+ 例.
240
+ 比较循环遍历和向量化计算两个向量和的性能开销。
241
+
242
+ ```dolphindb
243
+ n = 10000
244
+ a = rand(10.0, n)
245
+ b = rand(10.0, n)
246
+ c = array(DOUBLE, n)
247
+ timer for(i in 0:n){
248
+ c[i]=a[i]+b[i]
249
+ } // Time elapsed: 22.021 ms
250
+ timer c=a+b // Time elapsed: 0.069 ms
251
+ ```
252
+
253
+ DolphinDB
254
+ 绝大部分函数均支持向量计算,内部通过向量化的方式优化了函数的性能,因此要运用好向量化的思维,就要灵活的掌握各种函数的应用。
255
+ - 函数式编程,一种以函数为中心的编程范式。函数式编程强调纯函数,即输入决定输出,不依赖外部状态且无副作用。由于没有副作用,多个线程和进程可以并发执行,同时代码方便调试且能够在不同环境进行复用;由于函数链式组合编写代码,代码也会更简洁、可读性也会更高。
256
+
257
+ 例.
258
+ 使用函数式编程的方式实现:计算两个内存表存在不同之处的所有行号。
259
+
260
+ ```dolphindb
261
+ t1 = table(`A`B`C as id, 1000 2000 1000 as qty, 50.5 60.5 100.0 as price)
262
+ t2 = table(`A`B`C as id, 1000 2100 1000 as qty, 50.5 60.5 100.0 as price)
263
+
264
+ byRow(all, byColumn(eq, t1, t2)).not().at()
265
+ // 或使用高级函数模式符号替代
266
+ eq:V(t1, t2).all:H().not().at()
267
+ ```
268
+
269
+ 利用好函数式编程,可以编写出更简洁的脚本。其编程的关键点在于高阶函数、链式调用、纯函数。
270
+
271
+ 为了更好领悟上述的编程特点和编程思想,下文将通过一个完整连贯的案例,一步步带领大家搭建一个基础的 DolphinDB 项目。
272
+
273
+ ### 2.4 阅读指引
274
+
275
+ 针对不同从业方向人群,本教程推荐的阅读指引如下:
276
+
277
+ - 数据平台开发与运维人员:主要阅读第 3~5 章,这些章节介绍了建库建表、数据导入、数据清洗和预处理等方面的内容。
278
+ - 阅读参考:[数据迁移方法](../db_distr_comp/db_oper/data_import_method.html)
279
+ [系统运维](../sys_man/om_intro.html)
280
+ [故障排查](../error_codes/troubleshooting.html) [数据库](../db_distr_comp/cfg/db_intro.html)
281
+ - 数据分析人员 :主要阅读第 5~7 章,这些章节介绍了 SQL 编程(聚合、时序等)、流计算框架(流订阅、引擎级联计算等)等方面的内容。
282
+ - 阅读参考:[函数分类](../funcs/funcs_by_topics.html#funcs_by_topics)
283
+ [Python 到
284
+ DolphinDB 的函数映射](function_mapping_py.html)
285
+ [编程语言](../progr/progr_intro.html)
286
+ [流数据](../stream/str_intro.html)
287
+ - 每个章节都提供了常见问题的解决引导和下一步阅读的指南,供用户参考。
288
+
289
+ 对于初学者,入门 DolphinDB 时,可以优先在[金融场景案例](OHLC.html)中搜索是否有和自己场景类似的案例,进行阅读实操。在学习的过程如遇问题,建议优先在[用户手册](../about/ddb_intro.html)和 [ask
290
+ 社区](https://ask.dolphindb.cn/)搜索相关问题,如无法解决可以通过社区、邮件等途径寻求[技术支持](../getstarted/chap1_getstarted.html#topic_ijv_rph_pcc)。
291
+
292
+ ## 3. 创建数据库和数据表
293
+
294
+ 为了满足海量数据存储和查询的需要,DolphinDB 将数据表按照分区划分成小粒度的数据块,分布式地存储在各个节点上;此外根据不同的应用场景,DolphinDB
295
+ 开发设计了不同的存储引擎。因此,在建库建表时,比起传统的数据库,DolphinDB 需要额外设置更复杂的配置参数,例如分区方案、存储引擎等等。
296
+
297
+ 为了循序渐进地进行理解和学习,本章将从分布式和分区设计开始讲解,然后以一个具体的建库建表案例进行分析,以帮助用户进行理解。
298
+
299
+ ### 3.1 分布式架构与数据分区
300
+
301
+ **分布式**是 DolphinDB 实现海量数据存储、并行计算提速的关键架构。分布式架构对用户开放的“接口”叫做**分布式表**,在
302
+ DolphinDB 中指路径以 “dfs://” 开头的数据库下存储的表。
303
+
304
+ DolphinDB
305
+ 的分布式是基于分布式文件系统实现的,是一个逻辑上的概念,而不是指物理上的多机存储。即使是单服务器单节点,也可以创建一个分布式表。分布式表的数据按 1
306
+ 个或多个维度,在逻辑上分成很多个部分,每一个部分称之为**分区**。
307
+
308
+ ![](images/new_users_finance/3-1.png)
309
+
310
+ 为了保证数据的高可用性、可扩展性,提升系统的负载均衡,用户可以部署一个**分布式集群**。
311
+
312
+ 在分布式集群中,**控制节点**负责集群的监控、元数据管理,多个控制节点(至少 3 个)可以构成一个 raft
313
+ 组,以实现高可用集群部署。数据存储和计算的工作由集群中的**数据节点**和**[计算节点](Compute_Node.html)**负责,控制节点不参与此类工作。数据节点和计算节点既可以部署在同一台物理机,也可以部署在不同的物理机,每台物理机通过一个**代理节点**对其上部署的数据节点和计算节点进行管理。
314
+
315
+ 数据节点负责数据存储,同时也支持内存计算,在分布式集群中,分区可以按照设定包含固定数量的副本,分散地存储在数据节点上;计算节点只支持计算,不支持存储,它主要用于一些复杂且开销较大的计算任务。
316
+
317
+ 注:
318
+
319
+ 对于单节点部署的 server 实例,它既是控制节点又是数据节点。
320
+
321
+ 以一个 3 个数据节点的集群为例,数据按天值分区同时按股票代码哈希分区,双副本存储。集群中的数据存储架构如下图所示(最小的蓝色方块表示分区的一个副本):
322
+
323
+ ![](images/new_users_finance/3-2.png)
324
+
325
+ 分布式存储必然涉及到分布式的存储/查询/计算,因此 DolphinDB 数据库实现了事务对分布式的支持。DolphinDB 的分布式实现以 map-reduce
326
+ 框架为核心。当用户发起分布式查询时,查询语句会下沉(map)到各个分区实现并行计算,最后汇总(merge)计算结果到查询发起节点,如有必要,还可以基于汇总结果做进一步计算(reduce)。
327
+
328
+ ![](images/new_users_finance/3-3.png)
329
+
330
+ ### 3.2 设置合理分区
331
+
332
+ 数据分区主要发挥以下作用:
333
+
334
+ - 缩小查询范围:如果查询条件包含分区列,则可以通过剪枝操作,快速过滤掉不必要的分区查询,避免全表扫描带来的开销。
335
+ - 提高计算性能:将数据分散存储在不同的节点上,系统可以并行处理计算请求,提高数据处理速度。
336
+ - 提高可靠性和容错能力:通过数据复制和冗余存储,分布式系统可以在某些节点失败时继续运行,不会丢失数据,从而提高系统的可靠性。节点故障时,也可以从分区副本中恢复数据。
337
+ - 增强可扩展性:分布式存储系统可以添加更多的节点来存储数据分区,从而实现水平扩展,以应对数据量的增长。
338
+
339
+ 分区粒度(即每个分区包含的数据量大小)会对查询性能造成影响,这里总结为:
340
+
341
+ - 分区粒度过大:单分区数据量大,查询时 IO 开销高。受到 license 内存限制,可能导致内存溢出、内存磁盘频繁切换等问题。
342
+ - 分区粒度过小:单分区数据量小,查询涉及分区多,查询子任务数量大,将造成节点间通讯成本增加。此外,由于控制节点存储分区元数据,分区过多,控制节点元数据信息爆炸,可能导致控制节点内存不足。最后,由于涉及的分区多,导致系统读写频繁,从而造成很多低效的磁盘访问(小文件读写),造成系统负荷过重。
343
+
344
+ 用户建表时需要指定分区字段,系统将依据分区字段的值按照分区模式划分分区,分区模式由用户在建库时指定。下面结合图例对不同分区模式的机制进行说明,假设原始数据为:
345
+
346
+ ![](images/new_users_finance/3-4.png)
347
+
348
+ - VALUE 分区:用户需要指定分区字段的部分值(以列表形式提供,如以日期分区,可以提供
349
+ 2022.01.01..2022.01.31),数据依据分区字段值进行分区,一个值对应一个分区。
350
+
351
+ **注意:**官网下载的安装包中的配置项默认设置了
352
+ newValuePartitionPolicy=add,即支持写入不在值分区内的数据时,值分区也可以自动拓展。因此,用户在配置 VALUE
353
+ 分区的模式时,可以只指定少量字段值,以避免元数据过多(例如用户设置了
354
+ 2000.01.01..2030.01.01,会造成分区元数据很大)。
355
+
356
+ ![](images/new_users_finance/3-5.png)
357
+ - HASH 分区:用户指定固定的 HASH 分区数,数据依据分区字段值调用哈希函数 [hashBucket](../funcs/h/hashBucket.html)
358
+ 映射后的结果进行分区,每个哈希值对应一个分区。![](images/new_users_finance/3-6.png)
359
+ - RANGE 分区:用户指定分区范围,数据依据分区字段值划分到对应的范围中,一个范围对应一个分区。范围分区不支持自动拓展,用户需要手动调用函数 [addRangePartitions](../funcs/a/addRangePartitions.html)。![](images/new_users_finance/3-7.png)
360
+ - LIST 分区:用户指定以列表形式指定哪些值属于哪些。实践中,金融场景客户很少使用这种分区方式。
361
+ - COMPO 分区:将多个字段的不同的分区方案进行组合。
362
+
363
+ 注:
364
+
365
+ 参考阅读: [分区数据库设计和操作](database.html)
366
+
367
+ 金融领域通常将时间字段作为分区字段,指定分区模式时,最常用的是 VALUE 和 RANGE 分区,如日 K 线数据按照年划分 RANGE 分区,分钟 K
368
+ 线按照日划分 VALUE 分区等。但是部分场景下,仅依靠一层分区,仍无法控制分区在合理的范围,此时可以通过 COMPO
369
+ 组合分区进行更细粒度的划分,例如逐笔数据按照日划分 VALUE 分区,同时按照股票代码 HASH 分区。 HASH
370
+ 分区是灵活调整分区粒度的一个重要的方式。
371
+
372
+ 调整分区粒度的方法:
373
+
374
+ - 降低分区粒度:(1)采用 COMPO 分区;(2)增加分区个数;(3)将 RANGE 分区改为 VALUE 分区。
375
+ - 增加分区粒度:(1)采用 RANGE 分区取代 VALUE 分区;(2)HASH 分区减小哈希映射数。
376
+
377
+ 合理的分区大小推荐:
378
+
379
+ - OLAP 引擎:100MB - 300MB (压缩前)
380
+ - TSDB/PKEY 引擎:400MB - 1GB(压缩前)
381
+
382
+ 选择合适的存储引擎:
383
+
384
+ 分布式数据可选的存储引擎有 TSDB, OLAP 和 PKEY,其中 TSDB 和 OLAP
385
+ 是较为基础的两个存储引擎。TSDB 引擎相较于 OLAP 引擎而言,底层设计更加复杂,详情可参考 [TSDB 存储引擎简介](tsdb_engine.html) 。从用户层面来说,最显著的功能特点就是 TSDB
386
+ 除了分区机制外,还额外增加一层字段索引机制,因而更适用于大数据点查的场景。对于较小的数据量可以继续用 OLAP 存储甚至存储为无分区的维度表。如果对数据有主键约束的需求可以使用 PKEY 引擎进行存储。
387
+
388
+ 常见的金融数据分区方案参见:[存储金融数据的分区方案最佳实践](best_practices_for_partitioned_storage.html)。此处摘选了一部分股票的分区方案供参考:
389
+
390
+ 表 3-1 不同种类股票数据的分区方案示例
391
+
392
+ | **产品大类** | **数据集** | **存储引擎** | **分区方案** | **分区列** | **排序列** |
393
+ | --- | --- | --- | --- | --- | --- |
394
+ | 股票 | Level2 快照(沪深分表) | TSDB | 按天 VALUE 分区 + 按股票代码 HASH25 分区 | 交易日期 + 股票代码 | 股票代码 + 交易时间 |
395
+ | 股票 | Level1 快照(沪深分表) | TSDB | 按天 VALUE 分区 + 按股票代码 HASH25 分区 | 交易日期 + 股票代码 | 股票代码 + 交易时间 |
396
+ | 股票 | 逐笔委托(沪深分表) | TSDB | 按天 VALUE 分区 + 按股票代码 HASH25 分区 | 交易日期 + 股票代码 | 股票代码 + 交易时间 |
397
+ | 股票 | Level1 快照(沪深合并) | TSDB | 按天 VALUE 分区 + 按股票代码 HASH50 分区 | 交易日期 + 股票代码 | 交易所类型 + 股票代码 + 交易时间 |
398
+ | 股票 | 逐笔委托(沪深合并) | TSDB | 按天 VALUE 分区 + 按股票代码 HASH50 分区 | 交易日期 + 股票代码 | 交易所类型 + 股票代码 + 交易时间 |
399
+ | 股票 | 逐笔成交(沪深合并) | TSDB | 按天 VALUE 分区 + 按股票代码 HASH50 分区 | 交易日期 + 股票代码 | 交易所类型 + 股票代码 + 交易时间 |
400
+ | 股票 | 日 K 线 | OLAP | 按年 RANGE 分区 | 交易时间 | 无 |
401
+ | 股票 | 分钟 K 线 | OLAP | 按天 VALUE 分区 | 交易时间 | 无 |
402
+
403
+ 注:
404
+
405
+ 1. 分区方案在 DolphinDB
406
+ 创建数据库时指定,指定后,该数据库下的表将以该方案划分数据。以一个具体的建库代码为例,`create database
407
+ "dfs://stock_lv2_snapshot" partitioned by
408
+ VALUE(2024.01.01..2024.01.02), HASH([SYMBOL, 50]),
409
+ engine='TSDB'`,其中 `partition by`
410
+ 用于指定分区方案,即`VALUE(2024.01.01..2024.01.02), HASH([SYMBOL,
411
+ 50])`,该方案表示的含义如下:
412
+ - 按天 VALUE 分区:属于同一天的数据都存储在同一个分区
413
+ - 按 SYMBOL 类型的字段(如股票代码)HASH 50 分区:对分区字段调用哈希函数 [hashbucket](../funcs/h/hashBucket.html),*buckets* 参数为 50,将数据映射到 0~49
414
+ 中的一个键,属于同一个键的数据都存储在同一个分区。
415
+ - `engine` 用于指定存储引擎,本例中为 TSDB。
416
+ 2. 排序列是 TSDB 引擎特有的一个参数(sortColumns),用于设置 TSDB 引擎的索引机制,OLAP 引擎无需指定排序列。
417
+ 3. DolphinDB 的时间类型精度最粗到月,例如 2021.01M,因此对于按年分区,无法通过值分区实现,必须使用 RANGE
418
+ 分区,参考代码:
419
+
420
+ ```dolphindb
421
+ dataRange = 2020.01M + (0..10)*12
422
+ create database "dfs://year" partitioned by RANGE(dataRange)
423
+ ```
424
+
425
+ ### 3.3 建库建表
426
+
427
+ DolphinDB 可以通过函数建库建表,也可以使用 SQL 进行建库建表,本教程以 SQL 编程进行示例,相关参考文档 [create](../progr/sql/create.html)。
428
+
429
+ #### 3.3.1 快速创建一个数据库
430
+
431
+ 以股票 Level2 快照(沪深合并)数据为例,创建一个数据库,参考金融数据分区方案最佳实践教程,分区方案如下:
432
+
433
+ 表 3-2 沪深股票 Level2 快照数据分区方案
434
+
435
+ | **产品大类** | **数据集** | **存储引擎**'engine' | **分区方案**partitionType+partitionScheme |
436
+ | --- | --- | --- | --- |
437
+ | 股票 | Level2 快照(沪深合并) | TSDB | 按天分区 + 按股票代码 HASH50 分区 |
438
+
439
+ ```dolphindb
440
+ // 环境清理:如果重复试验可执行此步,请确保自身环境内不存在同名数据库,否则会被删除
441
+ drop database if exists "dfs://stock_lv2_snapshot"
442
+
443
+ // 创建一个路径为 "dfs://stock_lv2_snapshot" 的数据库,按照日期值 + SYMBOL 哈希组合分区,存储引擎为 TSDB
444
+ create database "dfs://stock_lv2_snapshot" partitioned by VALUE(2024.01.03..2024.01.04), HASH([SYMBOL, 50]), engine='TSDB'
445
+ ```
446
+
447
+ #### 3.3.2 分区方案确立规则(可跳过)
448
+
449
+ 为了能够在更通用的场景确立分区方案,下面以模拟的快照数据为例进行演示。
450
+
451
+ **STEP1. 数据量估算**
452
+
453
+ 假设一共需要存储 5000 只股票的快照数据。先模拟一天单只股票的数据,数据量为 4802
454
+ 行。
455
+
456
+ ```dolphindb
457
+ use MockData
458
+ t = stockSnapshot(tradeDate=2020.01.06, securityNumber=1)
459
+ exec count(*) from t
460
+ // output: 4802
461
+ ```
462
+
463
+ 为了估算整体的数据量大小,可以先估算单行数据的大小。下面给出两种单行数据量的估算方法。
464
+
465
+ **方法一:**根据表字段的存储的字节数估算。
466
+
467
+ 通常而言,用户自己在存储数据时,都会维护一个字段信息表。这里为了方便大家理解,直接调用 schema
468
+ 函数获取模拟数据的字段信息。
469
+
470
+ ```dolphindb
471
+ // 调用 schema 函数获取表字段信息(字段名,类型)
472
+ s = schema(t).colDefs
473
+
474
+ /* output:
475
+ name typeString typeInt extra comment
476
+ ------------------ ---------- ------- ----- -------
477
+ TradeDate DATE 6
478
+ TradeTime TIME 8
479
+ MDStreamID SYMBOL 17
480
+ Securityid SYMBOL 17
481
+ SecurityIDSource SYMBOL 17
482
+ TradingPhaseCode SYMBOL 17
483
+ ImageStatus INT 4
484
+ PreCloPrice DOUBLE 16
485
+ ......
486
+ */
487
+ ```
488
+
489
+ 下表在 schema 字段信息的基础上补充了字段含义说明和字节数的信息,字节数是对照表 [数据类型](../progr/data_types.html)
490
+ 获取的,对于数组向量,这里的估算方式为:单行数据大小 = Σ字段类型对应字节数。
491
+
492
+ | | **字段含义** | **入库字段名** | **入库数据类型** | **字节数** |
493
+ | --- | --- | --- | --- | --- |
494
+ | 1 | 数据生成日期 | TradeDate | DATE | 4 |
495
+ | 2 | 数据生成时间 | TradeTime | TIME | 8 |
496
+ | 3 | 行情类别 | MDStreamID | SYMBOL | 4 |
497
+ | 4 | 证券代码 | SecurityID | SYMBOL | 4 |
498
+ | 5 | 证券代码源 | SecurityIDSource | SYMBOL | 4 |
499
+ | 6 | 交易阶段 | TradingPhaseCode | SYMBOL | 4 |
500
+ | 7 | 快照类型(全量/更新) | ImageStatus | INT | 4 |
501
+ | 8 | 昨日收盘价 | PreCloPrice | DOUBLE | 8 |
502
+ | 9 | 成交笔数 | NumTrades | LONG | 8 |
503
+ | 10 | 成交总量 | TotalVolumeTrade | LONG | 8 |
504
+ | 11 | 成交总金额 | TotalValueTrade | DOUBLE | 8 |
505
+ | 12 | 最近价 | LastPrice | DOUBLE | 8 |
506
+ | 13 | 开盘价 | OpenPrice | DOUBLE | 8 |
507
+ | 14 | 最高价 | HighPrice | DOUBLE | 8 |
508
+ | 15 | 最低价 | LowPrice | DOUBLE | 8 |
509
+ | 16 | 今收盘价 | ClosePrice | DOUBLE | 8 |
510
+ | 17 | 升跌1(最新价-昨收价) | DifPrice1 | DOUBLE | 8 |
511
+ | 18 | 升跌2(最新价-上一最新价) | DifPrice2 | DOUBLE | 8 |
512
+ | 19 | 股票市盈率1 | PE1 | DOUBLE | 8 |
513
+ | 20 | 股票市盈率2 | PE2 | DOUBLE | 8 |
514
+ | 21 | 基金T-1净值 | PreCloseIOPV | DOUBLE | 8 |
515
+ | 22 | 基金实时参考净值 | IOPV | DOUBLE | 8 |
516
+ | 23 | 委托买入总量 | TotalBidQty | LONG | 8 |
517
+ | 24 | 加权平均买入价格 | WeightedAvgBidPx | DOUBLE | 8 |
518
+ | 25 | 债券加权平均委买价格 | AltWAvgBidPri | DOUBLE | 8 |
519
+ | 26 | 委托卖出总量 | TotalOfferQty | LONG | 8 |
520
+ | 27 | 加权平均卖出价格 | WeightedAvgOfferPx | DOUBLE | 8 |
521
+ | 28 | 债券加权平均委卖价格 | AltWAvgAskPri | DOUBLE | 8 |
522
+ | 29 | 涨停价 | UpLimitPx | DOUBLE | 8 |
523
+ | 30 | 跌停价 | DownLimitPx | DOUBLE | 8 |
524
+ | 31 | 持仓量 | OpenInt | INT | 4 |
525
+ | 32 | 权证溢价率 | OptPremiumRatio | DOUBLE | 8 |
526
+ | 33 | 卖价10档 | OfferPrice | DOUBLE[] | 80 |
527
+ | 34 | 买价10档 | BidPrice | DOUBLE[] | 80 |
528
+ | 35 | 卖量10档 | OfferOrderQty | LONG[] | 80 |
529
+ | 36 | 买量10档 | BidOrderQty | LONG[] | 80 |
530
+ | 37 | 申买10档委托笔数 | BidNumOrders | INT[] | 40 |
531
+ | 38 | 申卖10档委托笔数 | OfferNumOrders | INT[] | 40 |
532
+ | 39 | ETF申购笔数 | ETFBuyNumber | INT | 4 |
533
+ | 40 | ETF申购数量 | ETFBuyAmount | LONG | 8 |
534
+ | 41 | ETF申购金额 | ETFBuyMoney | DOUBLE | 8 |
535
+ | 42 | ETF赎回笔数 | ETFSellNumber | INT | 4 |
536
+ | 43 | ETF赎回数量 | ETFSellAmount | LONG | 8 |
537
+ | 44 | ETF赎回金额 | ETFSellMoney | DOUBLE | 8 |
538
+ | 45 | 债券到期收益率 | YieldToMatu | DOUBLE | 8 |
539
+ | 46 | 权证执行的总数量 | TotWarExNum | DOUBLE | 8 |
540
+ | 47 | 买入撤单笔数 | WithdrawBuyNumber | INT | 4 |
541
+ | 48 | 买入撤单数量 | WithdrawBuyAmount | LONG | 8 |
542
+ | 49 | 买入撤单金额 | WithdrawBuyMoney | DOUBLE | 8 |
543
+ | 50 | 卖出撤单笔数 | WithdrawSellNumber | INT | 4 |
544
+ | 51 | 卖出撤单数量 | WithdrawSellAmount | LONG | 8 |
545
+ | 52 | 卖出撤单金额 | WithdrawSellMoney | DOUBLE | 8 |
546
+ | 53 | 买入总笔数 | TotalBidNumber | INT | 4 |
547
+ | 54 | 卖出总笔数 | TotalOfferNumber | INT | 4 |
548
+ | 55 | 买入委托成交最大等待时间 | MaxBidDur | INT | 4 |
549
+ | 56 | 卖出委托最大等待时间 | MaxSellDur | INT | 4 |
550
+ | 57 | 买方委托价位数 | BidNum | INT | 4 |
551
+ | 58 | 卖方委托价位数 | SellNum | INT | 4 |
552
+ | 59 | 入库时间 | LocalTime | TIME | 4 |
553
+ | 60 | 消息序列号 | SeqNo | INT | 4 |
554
+ | 61 | 委托卖量50档 | OfferOrders | LONG[] | 400 |
555
+ | 62 | 委托买量50档 | BidOrders | LONG[] | 400 |
556
+
557
+ 对照表计算出单行数据字节数,并估算单日单只股票的数据大小:
558
+
559
+ ```dolphindb
560
+ rowSize = 19 * 4 + 35 * 8 + 2 * 40 + 4 * 80 + 2 * 400
561
+ rowSize
562
+ // output: 1,556(B)
563
+
564
+ oneDayPerStock = 4802 * 1556 \ 1024 \ 1024
565
+ oneDayPerStock
566
+ // output: 7.12(MB)
567
+ ```
568
+
569
+ **方法二:**直接导入部分数据估算单行数据的字节数,并估算单日单只股票的数据量。
570
+
571
+ ```dolphindb
572
+ // 这里直接取模拟的第一行数据为例
573
+ rowSize = t[0].values().memSize()
574
+ // output: 1,728(B)
575
+
576
+ oneDayPerStock = 4802 * 1728 \ 1024 \ 1024
577
+ oneDayPerStock
578
+ // output: 7.9(MB)
579
+ ```
580
+
581
+ 注:
582
+
583
+ 这里以模拟数据为例,但是实际场景下,数据可能是来源于文件导入或者流订阅写入(插件、API等),此使需要把 t
584
+ 替换成实际的数据源。
585
+
586
+ **STEP2. 分区方案制定**
587
+
588
+ 根据实践经验,TSDB 存储引擎较合理的分区粒度是 400MB~1GB,根据上面的估算,单日数据量约为 7~8MB。以 8 MB
589
+ 为基准,如果按月分区则单分区数据量约为 240MB,粒度略小。若设置为 2
590
+ 个月一个分区,数据量满足需求,但是必须设置分区类型为范围分区(RANGE),而 RANGE
591
+ 分区不支持自动拓展,随着数据量增长,可能会造成范围外的数据无法写入,用户需要手动调用函数
592
+ `addRangePartitions`
593
+ 进行分区拓展。因此,对于时间类型,推荐使用可自动拓展分区的值分区(VALUE)作为分区类型。
594
+
595
+ 注:
596
+
597
+ 按年分区只能用 RANGE 分区方案,因为 DolphinDB
598
+ 最粗粒度的时间类型仅支持到月,不支持年,因此无法通过 VALUE 分区实现分区。具体的年分区脚本参见 3.4 问题 1。
599
+
600
+ 那么为了满足需求,这里可以提出两种分区方案:
601
+
602
+ - **方案一.** 按日 VALUE 分区 + 按股票字段 HASH 分区:如果设置 HASH 桶数为 50,5000
603
+ 支股票哈希后每个桶约为 100 支,则单分区数据量约为 800 MB,满足需求。
604
+ - **方案二.** 按月 VALUE 分区 + 按股票字段 HASH 分区:单月单只股票的数据量是 240MB,
605
+ 因此需要确保每个桶的股票数为 3 或者 4 才能满足需求,则 HASH 桶数为 1250 ~ 1666,满足需求。
606
+
607
+ **STEP3. 分区方案评估**
608
+
609
+ 分析方案二,局限性如下:(1)HASH 桶数过多,每个桶只对应了 3~4
610
+ 只股票;(2)快照查询的场景下,按日检索是一个高频的查询方式。在此场景下,按月分区的性能没有按日分区高。(3)一般场景下不会按照 HASH
611
+ 值进行查询,HASH 分区更多是用在降低分区粒度的场景。
612
+
613
+ 综上选取方案一,是一个较好的选择,即按天分区 + 按股票代码 HASH 50 分区。
614
+
615
+ #### 3.3.3 快速创建一个数据表
616
+
617
+ DolphinDB SQL 建表语法和传统 SQL
618
+ 类似,除了指定的表名、字段名、字段类型外,额外增加了一些数据库的配置参数。
619
+
620
+ ```dolphindb
621
+ create table dbPath.tableName (
622
+ schema[columnDescription]
623
+ // 字段名 字段类型 [comment = 字段注解, compress = 压缩方案, index = 向量索引]
624
+ )
625
+ [partitioned by partitionColumns], // 分区列
626
+ [sortColumns], // 排序列
627
+ [keepDuplicates=ALL], // 去重机制
628
+ [sortKeyMappingFunction] // 排序列映射函数
629
+ [softDelete=false] // 软删除配置
630
+ [comment] // 表注释
631
+ ```
632
+
633
+ 配置参数的用法详见[createPartitionedTable](../funcs/c/createPartitionedTable.html) 参数说明。
634
+
635
+ 根据金融数据最佳实践方案,创建数据库 "dfs://stock\_lv2\_snapshot" 下的分布式表 "snapshot",设置分区列为
636
+ TradeDate(对应按日 VALUE 分区)和 SecurityID(对应 SYMBOL HASH
637
+ 分区)。后续数据写入时,将依据这分区字段的值,将数据划分存储到不同的分区中。
638
+
639
+ 表 3-3 沪深股票 Level2 快照数据分区方案
640
+
641
+ | **产品大类** | **数据集** | **分区列**partitionColumns | **排序列**sortColumns |
642
+ | --- | --- | --- | --- |
643
+ | 股票 | Level2 快照(沪深合并) | 交易日期 + 股票代码 | 交易所类型 + 股票代码 + 交易时间 |
644
+
645
+ ```dolphindb
646
+ create table "dfs://stock_lv2_snapshot"."snapshot"(
647
+ //comment添加字段注释,compress指定压缩方法
648
+ TradeDate DATE[comment="交易日期", compress="delta"]
649
+ TradeTime TIME[comment="交易时间", compress="delta"]
650
+ MDStreamID SYMBOL
651
+ SecurityID SYMBOL
652
+ SecurityIDSource SYMBOL
653
+ TradingPhaseCode SYMBOL
654
+ ImageStatus INT
655
+ PreCloPrice DOUBLE
656
+ NumTrades LONG
657
+ TotalVolumeTrade LONG
658
+ TotalValueTrade DOUBLE
659
+ LastPrice DOUBLE
660
+ OpenPrice DOUBLE
661
+ HighPrice DOUBLE
662
+ LowPrice DOUBLE
663
+ ClosePrice DOUBLE
664
+ DifPrice1 DOUBLE
665
+ DifPrice2 DOUBLE
666
+ PE1 DOUBLE
667
+ PE2 DOUBLE
668
+ PreCloseIOPV DOUBLE
669
+ IOPV DOUBLE
670
+ TotalBidQty LONG
671
+ WeightedAvgBidPx DOUBLE
672
+ AltWAvgBidPri DOUBLE
673
+ TotalOfferQty LONG
674
+ WeightedAvgOfferPx DOUBLE
675
+ AltWAvgAskPri DOUBLE
676
+ UpLimitPx DOUBLE
677
+ DownLimitPx DOUBLE
678
+ OpenInt INT
679
+ OptPremiumRatio DOUBLE
680
+ OfferPrice DOUBLE[]
681
+ BidPrice DOUBLE[]
682
+ OfferOrderQty LONG[]
683
+ BidOrderQty LONG[]
684
+ BidNumOrders INT[]
685
+ OfferNumOrders INT[]
686
+ ETFBuyNumber INT
687
+ ETFBuyAmount LONG
688
+ ETFBuyMoney DOUBLE
689
+ ETFSellNumber INT
690
+ ETFSellAmount LONG
691
+ ETFSellMoney DOUBLE
692
+ YieldToMatu DOUBLE
693
+ TotWarExNum DOUBLE
694
+ WithdrawBuyNumber INT
695
+ WithdrawBuyAmount LONG
696
+ WithdrawBuyMoney DOUBLE
697
+ WithdrawSellNumber INT
698
+ WithdrawSellAmount LONG
699
+ WithdrawSellMoney DOUBLE
700
+ TotalBidNumber INT
701
+ TotalOfferNumber INT
702
+ MaxBidDur INT
703
+ MaxSellDur INT
704
+ BidNum INT
705
+ SellNum INT
706
+ LocalTime TIME
707
+ SeqNo INT
708
+ OfferOrders LONG[]
709
+ BidOrders LONG[]
710
+ )
711
+ partitioned by TradeDate, SecurityID,
712
+ sortColumns=["SecurityID","TradeTime"],
713
+ keepDuplicates=ALL
714
+ ```
715
+
716
+ **脚本说明:**
717
+
718
+ 与传统关系型数据库不同,DolphinDB create table 语句支持对分布式存储和分区的支持,对于分布式表,表名处指定的是
719
+ dbPath.tbName 即 “数据库名.数据表名”。此外,用户需要在字段声明后添加一部分分布式表的配置,如分区配置 partitioned
720
+ by 等(部分配置只适用于对应的存储引擎,如 sortColumns 和 keepDuplicates 是 TSDB 引擎专属的配置)。
721
+
722
+ 在字段类型声明中,INT[], LONG[], DOUBLE[] 是 DolphinDB 特有的 ARRAY
723
+ 类型,用于声明数组向量字段,数组向量是一种特殊的向量,用于存储可变长度的二维数组,详情参考 [数组向量(array
724
+ vector)](../progr/data_types_forms/arrayVector.html) 。
725
+
726
+ **思考题:**
727
+
728
+ (1)模拟写入几天的数据,写入后,尝试重新查询出表中的数据,观察数据的查询顺序,思考下述两个问题:
729
+
730
+ - 查询顺序和写入顺序是否一致?它和分区之间的关系是怎么样的?
731
+ - 查询顺序是否按照 sortColumns 排序?若不是,则思考 sortColumns
732
+ 起到怎么样的作用?
733
+
734
+ ```dolphindb
735
+ re1 = select top 10000 * from loadTable("dfs://stock_lv2_snapshot", "snapshot")
736
+ re2 = select top 10000 * from loadTable("dfs://stock_lv2_snapshot", "snapshot") order by SecurityID, TradeTime
737
+ eqObj(re1.values(), re2.values())
738
+ ```
739
+
740
+ 模拟数据的写入脚本可以参考:
741
+
742
+ ```dolphindb
743
+ // 定义按天写入的函数
744
+ def writeDataByDate(date, dbName, tbName, stockNum): tableInsert(loadTable(dbName, tbName), stockSnapshot(tradeDate=date, securityNumber=stockNum))
745
+
746
+ // 写入几个交易日的数据,此处使用交易日历函数获取 5 天交易日
747
+ dates = getMarketCalendar('XSHE', 2022.01.01, 2022.01.10)
748
+ // [2022.01.04,2022.01.05,2022.01.06,2022.01.07,2022.01.10]
749
+
750
+ // each 函数循环在提交后台写入任务,一天一个 job,每个 job 返回写入的数据量
751
+ each(date -> submitJob("writeData2snapshot", "write by date", writeDataByDate{, "dfs://stock_lv2_snapshot", "snapshot", 100}, date), dates)
752
+
753
+ // 查看 job 的状态,获取所有 job 的返回结果
754
+ getRecentJobs(5)
755
+ each(getJobReturn, getRecentJobs(5).jobId)
756
+ // [480200,480200,480200,480200,480200]
757
+
758
+ // 查询表的总数据量,exec 查询返回一个标量
759
+ exec count(*) from loadTable("dfs://stock_lv2_snapshot", "snapshot")
760
+ // 2401000
761
+ ```
762
+
763
+ 注:
764
+
765
+ 阅读 [TSDB 存储引擎详解](tsdb_explained.html)
766
+
767
+ (2)以上表字段 bidPrice 和 offerPrice ,存储的是 10 档的价格。将其存储为一列 DOUBLE[] 类型字段和拆分成 10
768
+ 列 DOUBLE 字段存储,两者的区别是什么,数组向量存储有什么优越性?
769
+
770
+ 注:
771
+
772
+ 阅读 [Array Vector 的最佳实践指南](Array_Vector.html)
773
+
774
+ ### 3.4 常见问题
775
+
776
+ **分区**
777
+
778
+ 1. 创建数据库时如何按年进行分区?
779
+
780
+ DolphinDB 不支持年这一数据类型,因此无法按年进行值分区。按年分区需使用 RANGE 分区进行,可参考下述脚本:
781
+
782
+ ```dolphindb
783
+ create database "dfs://yearDB" partitioned by RANGE(date(2010.01M+12*1..10)), engine='TSDB'
784
+ ```
785
+ 2. 建库建表完成后,是否支持修改分区方案?
786
+
787
+ 由于数据存储是依赖于分区的,因此不支持直接修改分区方案。最佳做法是重新创建一个新分区方案的库表,然后将数据迁移过去,最后删除原来的库表。
788
+
789
+ 可以借助 `mr +
790
+ repartitionDS`函数进行数据迁移(以本教程的快照数据为例):
791
+
792
+ ```dolphindb
793
+ // 创建一个新的分区方案的数据库表
794
+ drop database if exists "dfs://stock_lv2_snapshot_1"
795
+ create database "dfs://stock_lv2_snapshot_1" partitioned by VALUE(2022.01M..2022.12M), HASH([SYMBOL, 10]), engine='TSDB'
796
+
797
+ // 省略部分表字段代码
798
+ create table "dfs://stock_lv2_snapshot_1"."snapshot"(
799
+ TradeDate DATE[comment="交易日期", compress="delta"]
800
+ TradeTime TIME[comment="交易时间", compress="delta"]
801
+ ...
802
+ )
803
+ partitioned by TradeDate, SecurityID,
804
+ sortColumns=[`SecurityID,`TradeTime],
805
+ keepDuplicates=ALL
806
+
807
+ // 由于 repartitionDS 只能按照一个字段重新分区,这里选用了不会造成新库表写入分区冲突的 TradeDate 字段
808
+ snapshot = loadTable("dfs://stock_lv2_snapshot", "snapshot")
809
+ ds = repartitionDS(<select * from snapshot>,`TradeDate, VALUE, 2022.01M..2022.12M);
810
+
811
+ // 定义 map 函数用于写入新的库表
812
+ def writeDS(dst_dbPath, dst_tbName, data){
813
+ dstTb=loadTable(dst_dbPath, dst_tbName)
814
+ dstTb.append!(data)
815
+ flushTSDBCache()
816
+ }
817
+ // mr 迁移数据,如果内存不够大:
818
+ 1. 串行迁移,即 parallel = false
819
+ 2. ds 数据源拆分成更小的单元,如按日拆分
820
+ mr(ds, writeDS{"dfs://stock_lv2_snapshot_1", "snapshot"}, parallel=false)
821
+
822
+ // 删除旧的库表
823
+ drop database if exists "dfs://stock_lv2_snapshot"
824
+ ```
825
+
826
+ 社区版默认配置执行上述代码时,可能会报错:The size of the write table cannot exceed the size
827
+ of cacheEngine. 或者 Out of Memory. 推荐根据注释方案调整写入粒度,参考脚本如下:
828
+
829
+ ```dolphindb
830
+ ds = repartitionDS(<select * from snapshot>,`TradeDate, VALUE, 2022.01.01..2022.12.31);
831
+ mr(ds, writeDS{"dfs://stock_lv2_snapshot_1", "snapshot"}, parallel=false)
832
+ ```
833
+
834
+ **数据库&数据表**
835
+
836
+ 1. 表字段命名的规范是什么?能否以数字开头?
837
+
838
+ 创建表时,列名必须由中文或英文字母、数字或下划线 (\_)组成,且必须以**中文或英文字母开头**。
839
+
840
+ 有以下几种场景可能出现特殊列名,即不满足上述需求的列名:
841
+
842
+ - `as` 函数取别名:`table(1 2 3 as
843
+ "_aa")`
844
+ - `addColumn` 添加列:`t.addColumn("_bb",
845
+ INT)`
846
+ - pivot by
847
+ 行列转换:
848
+
849
+ ```dolphindb
850
+ t = table(2022.01.01 + 1..5 as date, `a`a`c`c`b as sym, 1..5 as val)
851
+ select last(val) from t pivot by sym, date
852
+ /* output:
853
+ sym 2022.01.02 2022.01.03 2022.01.04 2022.01.05 2022.01.06
854
+ --- ---------- ---------- ---------- ---------- ----------
855
+ a 1 2
856
+ b 5
857
+ c 3 4
858
+ */
859
+ ```
860
+ 2. 是否支持修改数据库名、数据表名、字段名?
861
+
862
+ 不支持修改数据库名,但是可以通过函数 `renameTable` 和
863
+ `rename!` 修改表名和字段名,但需要注意 TSDB
864
+ 引擎存储的分布式表不支持对字段进行改名、修改值和删除的操作。
865
+ 3. 建库时 "dfs://" 路径是什么含义?此类库中的表存储在什么路径下?
866
+
867
+ "dfs://"
868
+ 用于声明数据库的类型是分布式数据库,除此以外,还有 "oltp://" 用于声明在线事务处理数据库。所有 "dfs://"
869
+ 开头的数据库中的数据都存储在 volumes 参数配置的路径下,可通过 getConfig("volumes")
870
+ 查看。
871
+
872
+ 单节点模式下,volumes 的默认目录是
873
+ <HomeDir>/storage。集群模式下,默认目录是<HomeDir>/<nodeAlias>/storage。
874
+
875
+ ![](images/new_users_finance/3-8.png)![](images/new_users_finance/3-9.png)
876
+ 4. 存储时,推荐选择宽表还是窄表?各自的适用的场景是什么?
877
+
878
+ - 宽表:截面计算便捷,数据写入速度上优于窄表;增删改基于字段操作,开销较大。
879
+ - 窄表:增删改基于记录操作,比较便捷开销较小;截面计算不便,需要通过 pivot 转换为宽表。
880
+
881
+ 以中高频因子存储为例,由于增删因子操作较为频繁,综合性能考虑窄表优于宽表,具体可参考 [中高频多因子库存储最佳实践](best_practices_for_multi_factor.html) 中的分析步骤去评估是存储为宽表还是窄表。
882
+ 5. 存储时,推荐选择分布式表还是维度表?各自的适用的场景是什么?
883
+
884
+ 首先要理解维度表的概念,维度表实质上是一个持久化且不进行分区的表。前文提到分区的主要目的是将海量数据划分为小块,方便快速定位查找,因此如果数据量较小且需要持久化,则推荐存储为维度表,否则存储为分布式表。
885
+ 6. 表中是否可以存储字典、多维数据等对象?
886
+
887
+ 不支持存储字典,如果是类似 json 数据,可以通过 BLOB
888
+ 超长字符串的格式存储在表中;表中只能存储数组向量、列式元组(仅内存表)等类型强一致的二维对象,不支持超过二维或者类型不一致的二维数组存储。
889
+ 7. 是否支持多线程并发写入数据表,目前报错:filepath xxx has been owned by transaction.
890
+
891
+ DolphinDB 默认不允许对同一分区进行并发写入,否则会造成分区冲突,报上述错误。有一个方案是创建数据库时配置
892
+ atomic='CHUNK',设置后,系统允许用户多线程并发写入同一个分区,但由于不能完全保证事务的原子性,可能出现部分分区写入成功而部分分区写入失败的情况。同时由于采用了重试机制,写入速度可能较慢。
893
+
894
+ **事务**
895
+
896
+ 1. 删除数据库是事务操作吗?是否支持回滚?
897
+
898
+ 是的,如果删除数据库(`dropDatabase`)或者删除分区(`dropParition`)失败,系统会自动回滚事务。
899
+ 2. 删除数据时产生下述报错,如何解决:
900
+
901
+ - 报错:deleteSubChunks failed, path "/xxx" does not exist.
902
+ - 报错:deleteSubChunks failed on '/dbName, chunk xxxx is not in COMPLETE
903
+ state'
904
+
905
+ 该报错是在数据节点上删除数据时,找不到对应的 chunk 分区信息时产生的。
906
+
907
+ 下面给出一些此类问题的排查思路:
908
+
909
+ 1. 首先在控制节点调用函数 `getClusterChunksStatus`
910
+ 函数查看对应数据库下的分区状态信息,如果报错给出了 chunk 信息,则重点查看该 chunk 的状态。需要重点关注并记录的信息有
911
+ version(chunk 版本),state(chunk 状态) 和 replicaCount(副本数)。
912
+ 2. 然后在数据节点调用 `pnodeRun(getAllChunks{"/dbName%"})` 统计一下所有
913
+ chunk 的副本数是否有缺失,然后针对报错的 chunk 记录一下 version 和 state 信息。
914
+ 3. 比较控制节点和数据节点 version 是否一致;检查副本数是否与控制节点记录的元数据一致;确认 chunk
915
+ 状态是否都为完成状态(COMPLETE)。
916
+
917
+ 若排查得到分区不一致,推荐将上述信息截图后提交给官方进行排查,有运维经验的用户可以参照教程 [分区状态不一致](repair_chunk_status.html)
918
+ 中的方法尝试解决。
919
+
920
+ - 报错:<ChunkInRecovery>deleteSubChunks failed on '/xxx', chunk xxx
921
+ is in RECOVERING
922
+ state.若等待分区恢复耗时过久,则可以通过下述脚本强制删除处在恢复状态的分区:
923
+
924
+ ```dolphindb
925
+ use ops
926
+ dropRecoveringPartitions(dbPath="dfs://xxx", tableName="zzz")
927
+ // tableName 为可选参数,可不指定
928
+ ```
929
+
930
+ ### 3.5 下一步阅读
931
+
932
+ **概念学习**
933
+
934
+ [数据分区](../db_distr_comp/db/db_partitioning.html)
935
+
936
+ [分布式事务](../db_distr_comp/db/transaction.html)
937
+
938
+ **实操案例**
939
+
940
+ [存储金融数据的分区方案最佳实践](best_practices_for_partitioned_storage.html)
941
+
942
+ [中高频多因子库存储最佳实践](best_practices_for_multi_factor.html)
943
+
944
+ ## 4. 数据导入与数据清洗
945
+
946
+ 创建好库表后,下一步就需要进行数据导入或数据迁移,在此过程中可能会遇到以下问题:
947
+
948
+ - **数据无法正确导入**:源数据无法直接解析成 DolphinDB
949
+ 的数据类型,造成数据错误、数据空值等;中文数据由于字符编码导致导入后的数据呈现乱码
950
+ - **导入数据预处理**:需要增加、修改、重排序字段;需要将多列数据存储成数组向量入库;导入时需要跳过表头、跳过指定行数
951
+ - **数据膨胀**:导入后的数据量较源文件大小膨胀了很多
952
+ - **内存溢出**:社区版本受到内存限制,导入时可能会出现 Out Of Memory 内存溢出的现象
953
+ - **并行导入分区冲突**:多线程并发写数据时,可能会抛出异常 The openChunks operation failed because the
954
+ chunk <xxx> is currently locked and in use by transaction <tid>.
955
+ RefId:S00002
956
+
957
+ 本教程将针对数据导入中的一系列问题,结合实际案例进行系统地讲解。
958
+
959
+ ### 4.1 方法导览
960
+
961
+ DolphinDB 支持多种文件格式导入、从数据库迁移、实时数据订阅等多种数据导入方式。
962
+
963
+ 下表整理列出了数据导入 DolphinDB 数据库的不同方式、对应方法以及相关参考文档的链接:[数据迁移方法](../db_distr_comp/db_oper/data_import_method.html)。
964
+
965
+ 表 4-1 DolphinDB 中的数据导入方法
966
+
967
+ | **导入方式** | **方法** | **相关链接** |
968
+ | --- | --- | --- |
969
+ | 从文本文件导入(.txt, .csv 文件) | 内置文本文件加载函数: - `loadText`:将文本文件导入为内存表,可在内存中对导入数据进行处理、分析。 - `ploadText`:将文本文件并行导入为分区内存表,与 loadText 相比速度更快。 - `loadTextEx`:将文本文件切分后导入数据库中,支持分布式数据库和内存数据库。 - `textChunkDS`:将文本文件划分为多个小数据源,可搭配 mr 函数进行灵活的数据处理。 | [loadText](../funcs/l/loadText.html) [loadTextEx](../funcs/l/loadTextEx.html) [ploadText](../funcs/p/ploadText.html) [textChunkDS](../funcs/t/textChunkDS.html) |
970
+ | 从 HDF5 文件导入 | 安装并加载 HDF5 插件: ```dolphindb installPlugin("hdf5") loadPlugin("hdf5") ``` 导入函数: - `loadHDF5`:将 HDF5 文件中指定数据集加载为内存表,可在内存中对导入数据进行处理、分析。 - `loadPandasHDF5`:将由 Pandas 保存的 HDF5 文件中的指定数据集加载为 DolphinDB 数据库的内存表。 - `loadHDF5Ex`:将 HDF5 文件中的数据集直接导入数据库中,包括分布式数据库和内存数据库。 - `HDF5DS`:将 HDF5 文件中的指定数据集划分为多个小数据源,可搭配 `mr` 函数进行灵活的数据处理。 | [HDF5](../plugins/hdf5/hdf5.html) |
971
+ | 从 Parquet 文件导入 | 安装&加载 Parquet 插件: ```dolphindb installPlugin("parquet") loadPlugin("parquet") ``` 导入函数: - `loadParquet` :将 Parquet 文件中指定数据集加载为内存表,可在内存中对导入数据进行处理、分析。 - `loadParquetEx`:将 Parquet 文件中的数据集直接导入数据库中,包括分布式数据库和内存数据库。 - `ParquetDS` :将 Parquet 文件中的指定数据集划分为多个小数据源,可搭配 mr 函数进行灵活的数据处理。 | [Parquet](../plugins/parquet/parquet.html) |
972
+ | 从二进制文件导入 | 内置二进制文件加载函数: - `readRecord!`:将二进制文件转换为 DolphinDB 数据对象,但不可包含字符串类型。 - `loadRecord`:将每个字段长度固定的行式二进制文件加载到内存中,可包含字符串类型。 | [readRecord!](../funcs/r/readRecord_.html) [loadRecord](../funcs/l/loadRecord.html) |
973
+ | 从 MySQL 迁移或同步 | 加载 MySQL 插件:(系统默认安装) ```dolphindb loadPlugin("mysql") ``` 导入函数: - `load`: 通过表名加载数据,并指定起始行和加载的行数。 - `loadEx`:将 MySQL 中的表或查询结果转换为 DolphinDB 数据库的分布式表,然后将表的元数据加载到内存中。 | [MySQL](../plugins/mysql/mysql.html) [Debezium + Kafka 实时同步 MySQL 数据到DolphinDB](Debezium_and_Kafka_data_sync.html) |
974
+ | 从 Oracle 迁移或同步 | 通过 DataX 插件 DolphinDBWriter: 插件安装 & 部署: - 下载 DataX。<https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202303/datax.tar.gz> - 下载 DolphinDBWriter 插件。<https://gitee.com/dolphindb/datax-writer/repository/archive/main.zip> - 将 dolphindbwriter 插件移动至 DataX 对应目录下。将 datax-writer-main/dist/ 中的 dolphindbwriter/ 文件夹移动至 datax/plugin/writer/ 文件夹中。 导入前需要配置 DataX 的 JSON 文件,主要包括 reader、writer 和 setting 三个部分。导入任务启动: ```dolphindb python datax.py ../job/OracleToDolphinDB.json ``` | [基于 DataX 的 DolphinDB 数据导入工具](datax_writer.html) [Debezium+Kafka 实时同步 Oracle 11g 数据到 DolphinDB](Debezium_Kafka_Oracle_sync.html) |
975
+ | 从消息队列导入 | 通过 Kafka、Plusar、ActiveMQ、ZeroMQ 等消息中间件的插件。 以 Kafka 为例,加载 Kafka 插件: ```dolphindb installPlugin("kafka") loadPlugin("kafka") ``` 加载后,可以先创建消费者并订阅对应主题的数据,然后创建消费线程将订阅的数据存入 DolphinDB 的流表,最后订阅流表数据入库。 ```dolphindb // 创建消费者 config = dict(STRING, ANY) config["metadata.broker.list"] = "127.0.0.1:9092" config["group.id"] = "kafkaDemo" consumer = kafka::consumer(config) // 订阅对应主题的数据 kafka::subscribe(consumer, ["demo"]) // 创建消费线程 def kafkaJsonParse1(msg,key,topic){ return parseJsonTable(msg) } conn = kafka::createSubJob(consumer,st,kafkaJsonParse1,"kafka1Structural") // 订阅流表数据入库 subscribeTable(tableName = `st,actionName = `demo, offset = 0,handler = loadTable("dfs://demo","test"), msgAsTable=true,batchSize = 1024) ``` | [Kafka](../plugins/kafka/kafka.html) |
976
+ | 从其他行情源导入 | 以 WindTDF 为例: ```dolphindb installPlugin("WindTDF") loadPlugin("WindTDF") go // 建立 handle handle = WindTDF::createHandle(HOST, PORT, USERNAME, PASSWORD, dict(["outputRecvTime", "outputElapsed"], [true, true])); // 订阅上交所的股票快照 schema = WindTDF::getSchema(`snapshot); snapshot_sh_s = streamTable(10000:0, schema[`name], schema[`typeString]); share snapshot_sh_s as snapshot_sh_s1; WindTDF::subscribe(handle, snapshot_sh_s1, "SH-2-0", "snapshot"); // 订阅上交所的期权快照 schema = WindTDF::getSchema(`futures); futures_sh_s = streamTable(10000:0, schema[`name], schema[`typeString]); share futures_sh_s as futures_sh_s1; WindTDF::subscribe(handle, futures_sh_s1, "SH-1-1", "futures"); // 获取已有的 handle handle = WindTDF::getHandle(); // 建立连接 WindTDF::connect(handle) // 查看订阅状态 WindTDF::getStatus() // 关闭连接 WindTDF::close(handle) // 取消已有的订阅(非必要) WindTDF::unsubscribe(handle, "SH-2-0", "snapshot"); WindTDF::unsubscribe(handle, "SH-1-1", "futures"); // 移除handle WindTDF::delete(handle) ``` | - 上交所行情:[​SSEQuotationFile](../plugins/SSEQuotationFile.html) - 万得实时行情:[​WindTDF](../plugins/windtdf.html) - XTP 行情服务系统:[​XTP](../plugins/xtp.html) - 中金所行情插件:[​DataFeed](../plugins/datafeed.html) - 盛立极速行情系统:[​EFH](../plugins/efh.html) - 综合交易平台:[​CTP](../plugins/ctp.html) - 恒生极速行情服务软件:​[NSQ](../plugins/nsq/nsq.html) - 华泰证券提供的极速金融数据服务:[​INSIGHT](../plugins/insight/insight.html) - 华锐高速行情平台:[​amdQuote](../plugins/amdquote/amdquote.html) 彭博等更多行情插件也在开发中,用户也可以自行开发插件,[参考 插件开发教程](../plugins/plg_dev_tutorial.html),用户开发插件后可以提交给 DolphinDB 官方插件市场,优质的插件有机会在官方进行分享与售卖。 |
977
+
978
+ ### 4.2 从文本文件导入数据
979
+
980
+ 本教程作为入门教程,将以最基础的文本文件导入数据作为示例,介绍导入的详细过程,以及导入中可能碰到的问题。
981
+
982
+ 本章节使用的历史数据通过模拟产生,数据类型为快照数据,存储方式为 csv 文件。注意,导入的 csv 文件需要和 DolphinDB server
983
+ 位于同一台服务器,且启动 DolphinDB server 的用户需要有该文件的读权限。
984
+
985
+ #### 4.2.1 导入一年快照数据(每天一个文件)
986
+
987
+ **场景:**一年份的股票快照数据,每天一个 csv 文件,包含 100 只股票。
988
+
989
+ 模拟数据生成 csv
990
+ 文件,脚本如下:
991
+
992
+ ```dolphindb
993
+ use MockData
994
+ dates = getMarketCalendar('XSHE', 2022.01.01, 2023.01.01)
995
+ def mockDataByDay(path, date){
996
+ submitJob("mockCsv", "mock data by date", saveText, stockSnapshot(tradeDate=date, securityNumber=100), path + string(date) + ".csv")
997
+ }
998
+ path = "<YOUR_PATH>/snapData/"
999
+ each(mockDataByDay{path}, dates)
1000
+ getRecentJobs(242)
1001
+ ```
1002
+
1003
+ ![](images/new_users_finance/4-1.png)
1004
+
1005
+ 可以观察到单个文件约为 300M,经验上,对于几百 MB
1006
+ 的文件数据作为一批写入较为合适。在此基础上,许多用户为了提高数据导入的性能,通常会尝试多线程进行数据写入。
1007
+
1008
+ 注:
1009
+
1010
+ 多线程并行处理方法:利用函数 `submitJob`
1011
+ 对每个文件的写入都创建一个后台作业,提交的批处理作业的并行度受到配置项 workerNum 影响,默认发行版配置的是
1012
+ 4。
1013
+
1014
+ 注:
1015
+
1016
+ 区分作业并行度(系统同时处理的作业数)和任务并行度(系统同时处理的作业子任务数)的概念!提交作业后,系统会将作业拆分成多个子任务,子任务之间也可并行执行。`submitJob`
1017
+ 函数默认的任务并行度是 2,如果要提高该并行度,可以使用 `submitJobEx` 函数提交任务,并对其参数
1018
+ *parallelism*进行配置。
1019
+
1020
+ ```dolphindb
1021
+ // 导入历史数据
1022
+ dataPath = "<YOUR_PATH>/snapData/"
1023
+ file_list = files(dataPath).filename
1024
+ dbName = "dfs://stock_lv2_snapshot"
1025
+ tbName = "snapshot"
1026
+
1027
+ // 定义单日写入任务
1028
+ def loadDataByDay(dbName, tbName, schema, fileName){
1029
+ loadTextEx(dbHandle=database(dbName), tableName=tbName, partitionColumns=["TradeDate", "SecurityID"], filename=fileName, schema=schema, sortColumns=[`SecurityID,`TradeTime])
1030
+ }
1031
+ // 创建任务写入作业
1032
+ def createDataLoadJob(dbName, tbName, schema, fileName){
1033
+ submitJob("loadDataByFile", "load data to db", loadDataByDay, dbName, tbName, schema, fileName)
1034
+ }
1035
+
1036
+ // 设置导入的表的结构
1037
+ schema = select name, typeString as type from loadTable("dfs://stock_lv2_snapshot", "snapshot").schema().colDefs
1038
+
1039
+ // 按照文件循环提交导入任务
1040
+ each(createDataLoadJob{dbName, tbName, schema}, dataPath + file_list)
1041
+ ```
1042
+
1043
+ 通过
1044
+ `getRecentJobs`函数查看最近写入任务的状态,确保所有写入任务全部执行完成。
1045
+
1046
+ ```dolphindb
1047
+ // 一年的模拟数据包含 242 日交易日,每日一个文件
1048
+ // 此处可以替换为 file_list.size()
1049
+ getRecentJobs(242)
1050
+ ```
1051
+
1052
+ ![](images/new_users_finance/4-2.png)
1053
+
1054
+ `getRencentJob` 函数返回的结果是一张表,因此可以通过 SQL
1055
+ 对其进行信息的过滤和筛选。例如,过滤提交作业中未完成的作业总数:
1056
+
1057
+ ```dolphindb
1058
+ exec count(*) from getRecentJobs(242) where endTime is null
1059
+ ```
1060
+
1061
+ 如果上述查询返回为
1062
+ 0,代表所有任务结束。任务结束后,对库表进行查询,确认数据量是否相同,模拟数据的总数据量应为 242 \*
1063
+ 480200=116,208,400。
1064
+
1065
+ ```dolphindb
1066
+ select count(*) from loadTable("dfs://stock_lv2_snapshot", "snapshot")
1067
+ // output: 116,208,400
1068
+ ```
1069
+
1070
+ #### 4.2.2 导入一天快照数据(每个股票一个文件)
1071
+
1072
+ **场景:**一天的股票快照数据,每个股票一个 csv 文件,共计 500 只股票。
1073
+
1074
+ 模拟数据生成 csv 文件,脚本如下:
1075
+
1076
+ ```dolphindb
1077
+ use MockData
1078
+ t = stockSnapshot(tradeDate=2023.01.04, securityNumber=500)
1079
+ sids = exec distinct Securityid from t
1080
+
1081
+ def mockDataByStock(path, sid, t){
1082
+ data = select * from t where Securityid = sid
1083
+ submitJob("mockCsv", "mock data by stock", saveText, data, path + sid + ".csv")
1084
+ }
1085
+
1086
+ path = "<YOUR_PATH>/snapDataPerStock/"
1087
+ each(mockDataByStock{path,,t}, sids)
1088
+ select count(*) from getRecentJobs(500) where endTime is null
1089
+ ```
1090
+
1091
+ ![](images/new_users_finance/4-3.png)
1092
+
1093
+ 对于此类只有几 MB 或者几十 MB 的小文件导入的场景,如果与 4.2.1
1094
+ 的导入那样,每个文件都起一个线程,那么写入的效率将会很低。这是因为单批次写入数据量很小,而每批写入都会对应一个写入事务,在该场景下,事务的开销是较大的。
1095
+
1096
+ 对于此类场景,DolphinDB 推荐先载入文件到内存,在内存中合并多个文件的数据后,再导入数据库中。为了避免分区冲突,本节将属于同一 HASH
1097
+ 桶的文件数据作一批导入。
1098
+
1099
+ 注:
1100
+
1101
+ 实际场景下,如果导入多天的多只股票文件的数据,也可以按照同一只股票多天文件去进行合并,合并的总原则就是不造成分区冲突。
1102
+
1103
+ 数据导入的脚本如下,具体逻辑为先将多个文件合成一个 bigTable 然后导入分布式表。
1104
+
1105
+ ```dolphindb
1106
+ def loadDataByStock(dbName, tbName, schema, fileNames){
1107
+ bigTable = loop(loadText{schema=schema}, fileNames).unionAll()
1108
+ rows = loadTable(dbName, tbName).tableInsert(bigTable)
1109
+ return rows
1110
+ }
1111
+ ```
1112
+
1113
+ 通过下述脚本定义一个写入作业的函数,在作业描述中记录了写入数据对应的 HASH 分区信息。
1114
+
1115
+ ```dolphindb
1116
+ def createDataLoadJob(dbName, tbName, schema, HashNo, fileNames){
1117
+     submitJob("loadDataByFile", "load data to db "+ string(HashNo), loadDataByStock, dbName, tbName, schema, fileNames)
1118
+ }
1119
+ ```
1120
+
1121
+ 执行导入任务,将历史文件按照 HASH 分桶,然后每个桶的数据单独作为一批,由同一个后台批处理任务进行写入。
1122
+
1123
+ ```dolphindb
1124
+ // 参数定义,可以修改
1125
+ dataPath = "<YOUR_PATH>/snapDataPerStock/"
1126
+ file_list = files(dataPath).filename
1127
+ dbName = "dfs://stock_lv2_snapshot"
1128
+ tbName = "snapshot"
1129
+
1130
+ // 获取分布式表的 schema 作为导入数据的 schema
1131
+ schema = select name, typeString as type from loadTable(dbName, tbName).schema().colDefs
1132
+
1133
+ // 将 500 个股票代码文件按照 Hash 分区分桶
1134
+ tmp = table(file_list as path, file_list.split(".")[0] as sid)
1135
+
1136
+ // 此处文件名是股票代码,所以可以字符串处理后得到对应存储的 SecurityId
1137
+ // 计算 SecurityId 的 HASH 值
1138
+ update tmp set hashNo = sid.hashBucket(50)
1139
+ tmp1 = select toArray(path) as fileBucket from tmp group by hashNo
1140
+ fileBucket = tmp1.fileBucket
1141
+ HashNo = tmp1.hashNo
1142
+
1143
+ // 属于同一个桶的文件作为一批数据在同一个线程提交写入
1144
+ each(createDataLoadJob{dbName, tbName, schema}, HashNo, dataPath + fileBucket)
1145
+
1146
+ // 一共 50 个 HASH 分区,因此查看最近 50 个提交的任务
1147
+ getRecentJobs(50)
1148
+
1149
+ // 写入完成后检查写入记录数是否满足需求
1150
+ select count(*) from loadTable(dbName, tbName) where TradeDate=2023.01.04
1151
+ select distinct SecurityId from loadTable(dbName, tbName) where TradeDate=2023.01.04
1152
+ ```
1153
+
1154
+ 由于导入的接口是 `tableInsert`,它会返回写入的数据条数,且提交的 job 的描述(由
1155
+ `submitJob` 函数的 jobDesc 参数设置)中记录了 HASH
1156
+ 对应的分区信息。如果发生异常,例如最后检查时发现最终写入的记录数和原文件记录数不一致,用户可以通过
1157
+ `getRecentJob` 显示 msgError 检查是否有写入失败的任务,或者通过
1158
+ `getJobReturn`去获取作业写入的条数以检查是哪个作业出现问题。对于出现问题的作业我们可以采用
1159
+ `dropPartition` 删除掉写异常的分区然后重写。如 2023.01.04 属于 HASH 0
1160
+ 的数据写入异常,则可以通过下述脚本进行重写。
1161
+
1162
+ ```dolphindb
1163
+ // 删除异常分区,重新提交写入任务
1164
+ dropPartition(database(dbName),"/20230104/Key0", tableName="snapshot")
1165
+ submitJob("loadDataByFile", "load data to db "+ string(HashNo[0]), loadDataByStock, dbName, tbName, schema, dataPath + fileBucket.row(0))
1166
+ ```
1167
+
1168
+ #### 4.2.3 导入逐笔成交数据(每天一个文件)
1169
+
1170
+ **场景:**一天的股票逐笔成交数据,每天一个 csv 文件,共计 500 只股票。
1171
+
1172
+ 建库建表代码如下:
1173
+
1174
+ ```dolphindb
1175
+ // 建库建表
1176
+ create database "dfs://stock_trade"
1177
+ partitioned by VALUE(2020.01.01..2021.01.01), HASH([SYMBOL, 50])
1178
+ engine='TSDB'
1179
+
1180
+ create table "dfs://stock_trade"."trade"(
1181
+ ChannelNo INT
1182
+ ApplSeqNum LONG
1183
+ MDStreamID SYMBOL
1184
+ BidApplSeqNum LONG
1185
+ OfferApplSeqNum LONG
1186
+ SecurityID SYMBOL
1187
+ SecurityIDSource SYMBOL
1188
+ TradePrice DOUBLE
1189
+ TradeQty LONG
1190
+ ExecType SYMBOL
1191
+ TradeDate DATE[comment="交易日期", compress="delta"]
1192
+ TradeTime TIME[comment="交易时间", compress="delta"]
1193
+ LocalTime TIME
1194
+ SeqNo LONG
1195
+ DataStatus INT
1196
+ TradeMoney DOUBLE
1197
+ TradeBSFlag SYMBOL
1198
+ BizIndex LONG
1199
+ OrderKind SYMBOL
1200
+ )
1201
+ partitioned by TradeDate, SecurityID,
1202
+ sortColumns=[`SecurityID,`TradeTime],
1203
+ keepDuplicates=ALL
1204
+ ```
1205
+
1206
+ 由于逐笔数据很大,本节仅模拟 3 日的数据作为示例。模拟数据生成 csv 文件,脚本如下:
1207
+
1208
+ ```dolphindb
1209
+ dates = getMarketCalendar('XSHE', 2022.01.01, 2022.01.06)
1210
+
1211
+ path = "<YOUR_PATH>/tradeData/"
1212
+ for(i in 0:dates.size()){
1213
+ saveText(stockTrade(tradeDate=dates[i], securityNumber=500), path + string(dates[i]) + ".csv")
1214
+ }
1215
+ ```
1216
+
1217
+ ![](images/new_users_finance/4-4.png)
1218
+
1219
+ 如果需要将此类大文本文件加载到分布式表, 除了使用 `loadTextEx` 函数进行加载外(见 4.2.1
1220
+ 节的例子),还可以使用 `textChunkDS` 函数将文本文件根据指定大小划分为多个小文件数据源,再通过
1221
+ `mr` 函数写入到数据库中。
1222
+
1223
+ `mr`+`textChunkDs` 和
1224
+ `loadTextEx` 都是分块读文件然后写入数据库,和 `loadTextEx`
1225
+ 不同的是,`mr+textChunkDs` 可以由用户更灵活的配置拆分的数据源大小。虽然
1226
+ `mr`
1227
+ 函数支持按照数据源并发进行写入,但是由于数据源是按照文件大小划分而非分区列,如果直接并行执行写会造成分区冲突,所以需要配置
1228
+ *parallel* 参数为 false,使数据源间串行执行写入,避免写入冲突。
1229
+
1230
+ 以单个大文件导入为例,首先使用 `textChunkDS` 函数将大文件拆分成多个小的数据源,然后使用
1231
+ `mr` 函数将数据源写入数据库,此处指定 *mapFunc* 设置为写数据库函数,可以是
1232
+ `append!` 或者 `tableInsert`。
1233
+
1234
+ ```dolphindb
1235
+ ds = textChunkDS(fileName=dataPath+file_list[0], chunkSize=512, schema=schema)
1236
+ mr(ds, tableInsert{loadTable(dbName, tbName)}, parallel=false)
1237
+ ```
1238
+
1239
+ 最后验证写入的数据量是否和原数据量一致:
1240
+
1241
+ ```dolphindb
1242
+ exec count(*) from loadTable(dbName, tbName)
1243
+ // output: 14,401,000
1244
+ ```
1245
+
1246
+ ### 4.3 数据预处理
1247
+
1248
+ 很多场景下,数据入库前需要进行预处理操作,包括:
1249
+
1250
+ - **类型转换**:将时间类型转换成 DolphinDB 可以识别的格式;格式化小数数值等
1251
+ - **字段处理**:合并多个字段、过滤掉不必要的字段、将字段重排序、增加字段等
1252
+ - **记录处理:**对记录进行异常值过滤;跳过、过滤部分记录等
1253
+
1254
+ 下文将场景结合具体的案例进行说明。
1255
+
1256
+ #### 4.3.1 时间类型解析
1257
+
1258
+ **场景 1**:文本文件存储的时间戳格式是 “20230101090001300”。
1259
+
1260
+ 模拟数据下载链接:[MinuteKLine.csv](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/MinuteKLine.csv)
1261
+
1262
+ 部分数据展示:
1263
+
1264
+ ```dolphindb
1265
+ securityid,tradetime,open,close,high,low,vol,val,vwap
1266
+ 000001,20220104093000000,85.172409680671989,88.88322226820837,85.607211456168442,84.836089657153934,11823,1050866.336877027526497,88.88322226820837
1267
+ 000001,20220104093100000,85.172409680671989,88.88322226820837,85.607211456168442,84.836089657153934,11823,1050866.336877027526497,88.88322226820837
1268
+ 000001,20220104093200000,44.614620972424745,47.569264134165443,44.741714544594287,42.879966530017554,96059,4569455.943463798612356,47.569264134165443
1269
+ 000001,20220104093300000,44.614620972424745,47.569264134165443,44.741714544594287,42.879966530017554,96059,4569455.943463798612356,47.569264134165443
1270
+ ...
1271
+ ```
1272
+
1273
+ 如果直接使用 `loadText` 函数或者 `loadTextEx` 函数导入数据,则
1274
+ tradeTime 字段无法被识别为时间戳。
1275
+
1276
+ ```dolphindb
1277
+ dataPath = "<YOUR_PATH>/MinuteKLine.csv"
1278
+ kline = loadText(dataPath)
1279
+ kline.schema().colDefs
1280
+
1281
+ /* output:
1282
+ name typeString typeInt extra comment
1283
+ ---------- ---------- ------- ----- -------
1284
+ securityid SYMBOL 17
1285
+ tradetime LONG 5
1286
+ open DOUBLE 16
1287
+ close DOUBLE 16
1288
+ high DOUBLE 16
1289
+ low DOUBLE 16
1290
+ vol INT 4
1291
+ val DOUBLE 16
1292
+ vwap DOUBLE 16
1293
+ */
1294
+ ```
1295
+
1296
+ 我们可以参考前文的导入案例,尝试为导入设置 *schema* 参数,测试是否能正确解析。
1297
+
1298
+ ```dolphindb
1299
+ schema = extractTextSchema(dataPath)
1300
+ update schema set type = "TIMESTAMP" where name = "tradetime"
1301
+ kline = loadText(dataPath, schema=schema)
1302
+
1303
+ // 查看表的类型
1304
+ kline.schema().colDefs
1305
+ /* output:
1306
+ name typeString typeInt extra comment
1307
+ ---------- ---------- ------- ----- -------
1308
+ securityid SYMBOL 17
1309
+ tradetime TIMESTAMP 12
1310
+ open DOUBLE 16
1311
+ close DOUBLE 16
1312
+ high DOUBLE 16
1313
+ low DOUBLE 16
1314
+ vol INT 4
1315
+ val DOUBLE 16
1316
+ vwap DOUBLE 16
1317
+ */
1318
+
1319
+ // 查询一条数据
1320
+ select top 1 * from kline
1321
+ /* output:
1322
+ securityid tradetime open close high low vol ...
1323
+ ---------- ----------------------- ------------------ ----------------- ------------------ ------------------ ----- ---
1324
+ 000001 2022.01.04T09:30:00.000 85.172409680672004 88.88322226820837 85.607211456168442 84.836089657153934 11823 ...
1325
+ */
1326
+ ```
1327
+
1328
+ 可以发现通过修改 *schema*, 系统可以自动解析此类 LONG 类型的时间戳。但是并不是所有时间戳格式,DolphinDB
1329
+ 内部都做了自动匹配,例如场景 2。
1330
+
1331
+ **场景 2**:文本文件存储的时间戳格式是 “09:00:01:300 21/01/2023”。
1332
+
1333
+ 模拟数据下载链接:[MinuteKLine\_1.csv](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/MinuteKLine_1.csv)
1334
+
1335
+ 数据展示:
1336
+
1337
+ ```dolphindb
1338
+ securityid,tradetime,open,close,high,low,vol,val,vwap
1339
+ 000001,09:30:00.000 04/01/2022,71.402596682310104,73.259566984725012,71.99277468281798,70.358094742754474,71231,5218352.215888947248458,73.259566984725012
1340
+ 000001,09:31:00.000 04/01/2022,71.402596682310104,73.259566984725012,71.99277468281798,70.358094742754474,71231,5218352.215888947248458,73.259566984725012
1341
+ 000001,09:32:00.000 04/01/2022,49.951133667491376,46.830399985240049,50.527059993706643,50.500124022830277,50228,2352197.330458637326955,46.830399985240049
1342
+ 000001,09:33:00.000 04/01/2022,49.951133667491376,46.830399985240049,50.527059993706643,50.500124022830277,50228,2352197.330458637326955,46.830399985240049
1343
+ ...
1344
+ ```
1345
+
1346
+ 直接使用 `loadText` 函数,并设置正确的 *schema* 参数进行数据导入。
1347
+
1348
+ ```dolphindb
1349
+ dataPath = "<YOUR_PATH>/MinuteKLine_1.csv"
1350
+ schema = extractTextSchema(dataPath)
1351
+ update schema set type = "TIMESTAMP" where name = "tradetime"
1352
+ kline=loadText(dataPath, schema=schema)
1353
+
1354
+ select top 5 * from kline
1355
+
1356
+ /* output:
1357
+ securityid tradetime open close high low vol ...
1358
+ ---------- --------- ------------------ ------------------ ------------------ ------------------ ----- ---
1359
+ 000001 71.40259668231009 73.259566984725012 71.99277468281798 70.358094742754474 71231 ...
1360
+ 000001 71.40259668231009 73.259566984725012 71.99277468281798 70.358094742754474 71231 ...
1361
+ 000001 49.951133667491376 46.830399985240049 50.527059993706636 50.500124022830277 50228 ...
1362
+ 000001 49.951133667491376 46.830399985240049 50.527059993706636 50.500124022830277 50228 ...
1363
+ 000001 66.079958924092352 64.834977746015866 66.389338146662339 65.51682344241999 8487 ...
1364
+ */
1365
+ ```
1366
+
1367
+ 可以发现虽然导入没有报错,但是最终导入的时间列都变成了空值。为了处理这种情况,可以先将时间字段以字符串形式导入,再使用
1368
+ `temporalParse`
1369
+ 函数对时间列进行预处理。这里按照**内存表**和**分布式表**分开讨论。
1370
+
1371
+ (1)对于内存表,先将数据导入内存,再修改时间字段即可。
1372
+
1373
+ ```dolphindb
1374
+ schema = extractTextSchema(dataPath)
1375
+ update schema set type = "STRING" where name = "tradetime"
1376
+ kline=loadText(dataPath, schema=schema)
1377
+ kline.replaceColumn!("tradetime", kline.tradetime.temporalParse("HH:mm:ss.SSS dd/MM/yyyy"))
1378
+
1379
+ kline.schema().colDefs
1380
+ /* output:
1381
+ name typeString typeInt extra comment
1382
+ ---------- ---------- ------- ----- -------
1383
+ securityid SYMBOL 17
1384
+ tradetime TIMESTAMP 12
1385
+ open DOUBLE 16
1386
+ close DOUBLE 16
1387
+ high DOUBLE 16
1388
+ low DOUBLE 16
1389
+ vol INT 4
1390
+ val DOUBLE 16
1391
+ vwap DOUBLE 16
1392
+ */
1393
+
1394
+ select top 1 * from kline
1395
+ /* output:
1396
+ securityid tradetime open close high low vol ...
1397
+ ---------- ----------------------- ----------------- ------------------ ----------------- ------------------ ----- ---
1398
+ 000001 2022.01.04T09:30:00.000 71.40259668231009 73.259566984725012 71.99277468281798 70.358094742754474 71231 ...
1399
+ */
1400
+ ```
1401
+
1402
+ (2)对于分布式表,使用 `loadTextEx` 进行数据导入,在参数 *transform*指定的函数中定义字段转换逻辑即可。
1403
+
1404
+ 建库建表脚本如下:
1405
+
1406
+ ```dolphindb
1407
+ create database "dfs://k_minute_level"
1408
+ partitioned by VALUE(2020.01.01..2021.01.01)
1409
+ engine='OLAP'
1410
+
1411
+ create table "dfs://k_minute_level"."k_minute"(
1412
+ securityid SYMBOL
1413
+ tradetime TIMESTAMP
1414
+ open DOUBLE
1415
+ close DOUBLE
1416
+ high DOUBLE
1417
+ low DOUBLE
1418
+ vol INT
1419
+ val DOUBLE
1420
+ vwap DOUBLE
1421
+ )
1422
+ partitioned by tradetime
1423
+ ```
1424
+
1425
+ 数据导入脚本如下:
1426
+
1427
+ ```dolphindb
1428
+ schema = extractTextSchema(dataPath)
1429
+ update schema set type = "STRING" where name = "tradetime"
1430
+
1431
+ // 时间字段转换函数定义
1432
+ def transfunc(mutable msg){
1433
+ msg.replaceColumn!("tradetime", msg.tradetime.temporalParse("HH:mm:ss.SSS dd/MM/yyyy"))
1434
+ return msg
1435
+ }
1436
+ kline = loadTextEx(dbHandle=database("dfs://k_minute_level"), tableName="k_minute", partitionColumns="tradetime", filename=dataPath, schema=schema, transform=transfunc)
1437
+
1438
+ // 查询一条数据验证导入结果
1439
+ select top 1 * from loadTable("dfs://k_minute_level", "k_minute")
1440
+
1441
+ /* output:
1442
+ securityid tradetime open close high low vol ...
1443
+ ---------- ----------------------- ----------------- ------------------ ----------------- ------------------ ----- ---
1444
+ 000001 2022.01.04T09:30:00.000 71.40259668231009 73.259566984725012 71.99277468281798 70.358094742754474 71231 ...
1445
+ */
1446
+ ```
1447
+
1448
+ #### 4.3.2 增加、删除、重排序、合并字段后导入数据
1449
+
1450
+ **数据导入函数 loadTextEx**
1451
+
1452
+ `loadTextEx`
1453
+ 是数据导入场景最常用的函数。导入文本文件到分布式表时,不论是修改字段类型、增删字段、记录修改都可以利用
1454
+ `loadTextEx` 函数搭配 *transform* 参数指定的函数来定义数据处理逻辑。此外,
1455
+ `loadTextEx` 函数还有其他一些功能参数配置可以辅助系统更好地解析和导入数据:
1456
+
1457
+ - **skipRows** 指定导入时从文件头开始忽略的行数
1458
+ - **delimiter** 数据文件中各列的分隔符
1459
+ - **containHeader** 表示数据文件是否包含标题行
1460
+ - 数组向量解析相关配置:
1461
+ - **arrayDelimiter** 数据文件中数组向量列的分隔符
1462
+ - **arrayMarker** 表示数组向量左右边界的标识符
1463
+
1464
+ 使用 `loadTextEx` 导入数据到分布式表的整体逻辑如下图所示:
1465
+
1466
+ ![](images/new_users_finance/4-5.png)
1467
+
1468
+ 表 4-2 字段处理相关函数
1469
+
1470
+ | **功能** | **函数** |
1471
+ | --- | --- |
1472
+ | 字段删除 | [dropColumns!](../funcs/d/dropColumns_.html) |
1473
+ | 字段替换 | [replaceColumn!](../funcs/r/replaceColumn_.html) |
1474
+ | 字段增加 | [addColumn](../funcs/a/addColumn.html) |
1475
+ | 字段重命名 | [rename!](../funcs/r/rename_.html) |
1476
+ | 字段重排序 | [reorderColumns!](../funcs/r/reorderColumns_.html) |
1477
+ | 字段注释 | [setColumnComment](../funcs/s/setColumnComment.html) |
1478
+
1479
+ 下面结合具体的案例来对该函数的使用进行一个理解和巩固。
1480
+
1481
+ **场景 1**:导入时增加字段。每个股票每天一个文件,文件名为
1482
+ “股票代码.csv”。但是每个股票的数据内没有存储股票字段,导入数据时希望能够通过读文件名,将股票代码的信息也补充进去。
1483
+
1484
+ 模拟一天 10 个股票数据进行说明,模拟数据下载链接:[snapForDataProcess.zip](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/snapForDataProcess.zip)
1485
+
1486
+ 本场景同样使用 `loadTextEx` 函数搭配 *transform*
1487
+ 转换函数即可实现。为了方便说明,本节不考虑小文件合并的问题(具体参考 4.2.2 的示例),而是直接遍历每个文件导入数据库。建库建表代码参考 3.3
1488
+ 节。
1489
+
1490
+ ```dolphindb
1491
+ // 通过文件名提取股票代码
1492
+ dataPath = "<YOUR_PATH>/snapPerStockWithoutSid/"
1493
+ file_list = files(dataPath).filename
1494
+ sids = file_list.split(".")[0]
1495
+
1496
+ // 设置导入数据的 schema
1497
+ // 注意此处的 schema 是导入数据的格式,不等于导入的数据表的 schema
1498
+ schema = select name, typeString as type from loadTable("dfs://stock_lv2_snapshot", "snapshot").schema().colDefs where name != "SecurityID"
1499
+
1500
+ // 转换函数定义
1501
+ def transFunc(mutable msg, sid, orderCols){
1502
+ // step1. 增加 securityId 字段
1503
+ data = select sid as SecurityID, * from msg
1504
+ // step2. 将表字段重排序和分布式表对齐
1505
+ data.reorderColumns!(orderCols)
1506
+ return data
1507
+ }
1508
+
1509
+ // 字段排序的依据
1510
+ orderCols = loadTable("dfs://stock_lv2_snapshot", "snapshot").schema().colDefs.name
1511
+
1512
+ // 循环导入文件
1513
+ for(i in 0:sids.size()){
1514
+ loadTextEx(dbHandle=database("dfs://stock_lv2_snapshot"), tableName="snapshot", partitionColumns=["TradeDate", "SecurityID"], filename=dataPath + file_list[i], schema=schema, sortColumns=["SecurityID", "TradeDate"], transform=transFunc{, sid[i], orderCols})
1515
+ }
1516
+
1517
+ // 检验数据是否导入完成
1518
+ exec count(*) from loadTable("dfs://stock_lv2_snapshot", "snapshot")
1519
+ // output: 48,020
1520
+ ```
1521
+
1522
+ 注:
1523
+
1524
+ 由于 *transForm* 参数仅接受指定的函数为一元函数,本脚本
1525
+ `transform=transFunc{, sid[i], orderCols}` 使用部分应用固定了 sid
1526
+ 和 orderCols 参数,使之成为一个一元函数。
1527
+
1528
+ **场景 2**:原快照数据中的多档价格存储在不同的字段,需要在导入时将其合并为数组向量。
1529
+
1530
+ 模拟一天 10 个股票的快照数据进行说明,模拟数据下载链接:[snapshot\_array.csv](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/snapshot_array.csv)
1531
+
1532
+ 本场景还是沿用 3.3 节创建的快照库表作为导入的分布式表。在导入前需要根据预先设计的字段类型对 schema 进行调整。
1533
+
1534
+ ```dolphindb
1535
+ dbName = "dfs://stock_lv2_snapshot"
1536
+ tbName = "snapshot"
1537
+ dataPath = "<YOUR_PATH>/snapshot_array.csv"
1538
+
1539
+ schema = extractTextSchema(dataPath)
1540
+ update schema set type="LONG" where name in ["NumTrades", "TotalValueTrade", "TotalBidQty", "TotalOfferQty", "ETFBuyAmount", "ETFSellAmount", "WithdrawBuyAmount", "WithdrawSellAmount"] or regexFind(name, "[bid|offer]Order[0-9]{1,2}") >= 0
1541
+ ```
1542
+
1543
+ 最方便灵活的方法是直接通过 select 对数据字段进行处理,此处使用了 `fixedLengthArrayVector`
1544
+ 函数搭配字段序列(…) 将多列合并成一列数组向量。
1545
+
1546
+ ```dolphindb
1547
+ def transFunc(mutable msg){
1548
+ return select TradeDate, TradeTime, MDStreamID, Securityid, SecurityIDSource, TradingPhaseCode, ImageStatus,
1549
+ PreCloPrice, NumTrades,TotalVolumeTrade, TotalValueTrade, LastPrice, OpenPrice, HighPrice, LowPrice, ClosePrice,
1550
+ DifPrice1, DifPrice2, PE1, PE2, PreCloseIOPV, IOPV, TotalBidQty, WeightedAvgBidPx, AltWAvgBidPri, TotalOfferQty,
1551
+ WeightedAvgOfferPx, AltWAvgAskPri, UpLimitPx, DownLimitPx, OpenInt, OptPremiumRatio,
1552
+ fixedLengthArrayVector(offerPx1...offerPx10) as offerPx, fixedLengthArrayVector(bidPx1...bidPx10) as bidPx,
1553
+ fixedLengthArrayVector(offerOrderQty1...offerOrderQty10) as offerOrderQty,
1554
+ fixedLengthArrayVector(bidOrderQty1...bidOrderQty10) as bidOrderQty,
1555
+ fixedLengthArrayVector(bidNumOrders1...bidNumOrders10) as bidNumOrders,
1556
+ fixedLengthArrayVector(offerNumOrders1...offerNumOrders10) as offerNumOrders,
1557
+ ETFBuyNumber, ETFBuyAmount, ETFBuyMoney, ETFSellNumber, ETFSellAmount, ETFSellMoney, YieldToMatu, TotWarExNum,
1558
+ WithdrawBuyNumber, WithdrawBuyAmount, WithdrawBuyMoney, WithdrawSellNumber, WithdrawSellAmount, WithdrawSellMoney,
1559
+ TotalBidNumber, TotalOfferNumber, MaxBidDur, MaxSellDur, BidNum, SellNum, LocalTime, SeqNo,
1560
+ fixedLengthArrayVector(offerOrder1...offerOrder10) as offerOrder,
1561
+ fixedLengthArrayVector(bidOrder1...bidOrder10) as bidOrder
1562
+ from msg
1563
+ }
1564
+
1565
+ loadTextEx(dbHandle=database(dbName), tableName=tbName, partitionColumns=["TradeTime", "SecurityID"], filename=dataPath, schema=schema, sortColumns=["SecurityID", "TradeTime"], transform=transFunc)
1566
+ ```
1567
+
1568
+ 还有一个比较有技巧的方式是通过 update
1569
+ 先将多列合并后的字段并入表内,然后为了保持字段顺序不变,将原属性的第一列字段替换为同属性的数组向量字段,最后删除多余的字段。该逻辑对于的转换函数如下:
1570
+
1571
+ ```dolphindb
1572
+ def transFunc1(mutable msg){
1573
+ update msg set offerPx = fixedLengthArrayVector(offerPx1...offerPx10), bidPx = fixedLengthArrayVector(bidPx1...bidPx10),
1574
+ offerOrderQty = fixedLengthArrayVector(offerOrderQty1...offerOrderQty10),
1575
+ bidOrderQty = fixedLengthArrayVector(bidOrderQty1...bidOrderQty10),
1576
+ bidNumOrders = fixedLengthArrayVector(bidNumOrders1...bidNumOrders10),
1577
+ offerNumOrders = fixedLengthArrayVector(offerNumOrders1...offerNumOrders10),
1578
+ offerOrder = fixedLengthArrayVector(offerOrder1...offerOrder10),
1579
+ bidOrder = fixedLengthArrayVector(bidOrder1...bidOrder10)
1580
+
1581
+ arrayCols = ["offerPx", "bidPx", "offerOrderQty", "bidOrderQty", "bidNumOrders", "offerNumOrders", "offerOrder", "bidOrder"]
1582
+ each(replaceColumn!{msg}, arrayCols + "1", msg[arrayCols])
1583
+ dropCols = cross(+, arrayCols, NULL join string(2..10)).flatten().flatten()
1584
+ msg.dropColumns!(dropCols)
1585
+
1586
+ return msg
1587
+ }
1588
+ ```
1589
+
1590
+ #### 4.3.3 导入数据包含中文导致乱码
1591
+
1592
+ **场景**:导入包含中文字段的 csv 文件(采用 GBK 编码)。
1593
+
1594
+ 模拟数据下载链接:[GPLIST\_gbk.csv](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/GPLIST_gbk.csv)(来源 [股票与存托凭证 | 上海证券交易所](https://www.sse.com.cn/assortment/stock/list/share/))
1595
+
1596
+ DolphinDB 仅支持导入 UTF8 和 ANSI 编码的文件,如果直接导入 GBK 编码的 csv 文件,在 DolphinDB
1597
+ 中会显示为乱码数据。
1598
+
1599
+ ```dolphindb
1600
+ dataPath = "<YOUR_PATH>/GPLIST_gbk.csv"
1601
+ t = loadText(dataPath)
1602
+ t
1603
+ /* output:
1604
+ A�ɴ��� B�ɴ��� ֤ȯ��� ��λ֤ȯ��� ��˾Ӣ��ȫ�� ��������
1605
+ ------- ------- -------- ------------ ------------------------- ----------
1606
+ 600000 �ַ����� �ַ����� Shanghai Pudong Develop...1999.11.10
1607
+ 600004 ���ƻ��� ���ƻ��� Guangzhou Baiyun Intern...2003.04.28
1608
+ 600006 ����ɷ� ����ɷ� DONGFENG AUTOMOBILE CO....1999.07.27
1609
+ 600007 �й���ó �й���ó China World Trade Cente...1999.03.12
1610
+ 600008 �״����� �״����� BEIJING CAPITAL ECO-ENV...2000.04.27
1611
+ ...
1612
+ */
1613
+ ```
1614
+
1615
+ 此时就需要将数据进行一个编码转换,可以借助第三方平台将文件编码进行转换,或在导入时借助 DolphinDB 的内置函数 convertEncode 和
1616
+ toUTF8 函数进行转换。
1617
+
1618
+ ```dolphindb
1619
+ dataPath = "<YOUR_PATH>/GPLIST_gbk.csv"
1620
+ schema = extractTextSchema(dataPath)
1621
+ update schema set name = toUTF8(name, "gbk")
1622
+ update schema set type = "SYMBOL" where name like "%代码%"
1623
+
1624
+ t = loadText(dataPath, schema=schema)
1625
+ t = toUTF8(t, "gbk")
1626
+ t
1627
+
1628
+ /* output:
1629
+ A股代码 B股代码 证券简称 扩位证券简称 公司英文全称 上市日期
1630
+ ---------- ---------- ------------ ------------------ ------------------------- ------------
1631
+ 600000 - 浦发银行 浦发银行 Shanghai Pudong Develop...1999.11.10
1632
+ 600004 - 白云机场 白云机场 Guangzhou Baiyun Intern...2003.04.28
1633
+ 600006 - 东风股份 东风股份 DONGFENG AUTOMOBILE CO....1999.07.27
1634
+ 600007 - 中国国贸 中国国贸 China World Trade Cente...1999.03.12
1635
+ 600008 - 首创环保 首创环保 BEIJING CAPITAL ECO-ENV...2000.04.27
1636
+ 600009 - 上海机场 上海机场 Shanghai International ...1998.02.18
1637
+ 600010 - 包钢股份 包钢股份 Inner Mongolia Baotou S...2001.03.09
1638
+ 600011 - 华能国际 华能国际 Huaneng Power Internati...2001.12.06
1639
+ */
1640
+ ```
1641
+
1642
+ ### 4.4 常见问题
1643
+
1644
+ **1. 由于内存溢出无法写入/查询?**
1645
+
1646
+ 如果是社区版本,由于 8G 的内存限制,在导入时可能会出现内存溢出的情况。此时,`getRecentJob` 的 errorMsg
1647
+ 字段可能会出现以下报错:
1648
+
1649
+ ```dolphindb
1650
+ loadDataByDay: loadTextEx(database(dbName), tbName, ["TradeDate","SecurityID"], fileName, , schema, , , ["SecurityID","TradeTime"]) => Out of memory
1651
+ loadDataByDay: loadTextEx(database(dbName), tbName, ["TradeDate","SecurityID"], fileName, , schema, , , ["SecurityID","TradeTime"]) => [appendDFSTablet] Failed to save table on data node, with error: Out of memory. RefId:S01077
1652
+ ```
1653
+
1654
+ 若发生溢出情况,可以提前结束其他任务:
1655
+
1656
+ ```dolphindb
1657
+ // 取消单机的后台作业
1658
+ cancelJob(getRecentJob(242).jobId)
1659
+
1660
+ // 取消集群节点上所有后台作业
1661
+ use ops
1662
+ cancelJobEx()
1663
+ ```
1664
+
1665
+ 为了能弄清楚造成溢出的原因,我们逐步进行排查。本教程仅列出基础的排查方式,详细内容参考 [Out of Memory](oom_settlement.html) 。
1666
+
1667
+ 内存占用的对象包括:临时变量、读写缓存、元数据缓存等等。
1668
+
1669
+ - 临时变量占用内存量
1670
+
1671
+ 获取内存中当前所有临时变量的内存占用(单位:MB)。
1672
+
1673
+ ```dolphindb
1674
+ tempVarSize = exec sum(bytes) \ 1024 \ 1024 from objs(true)
1675
+ ```
1676
+
1677
+ 清除不必要的临时变量,可以通过
1678
+ undef
1679
+ 函数进行操作。
1680
+
1681
+ ```dolphindb
1682
+ undef(obj, [objType=VAR]) // 清除某个变量
1683
+ undef all // 清除所有变量
1684
+ ```
1685
+ - 缓存占用内存量
1686
+
1687
+ 获取所有缓存的内存占用(单位:B)。
1688
+
1689
+ ```dolphindb
1690
+ getSessionMemoryStat()
1691
+ ```
1692
+
1693
+ ![](images/new_users_finance/4-6.png)
1694
+
1695
+ 对缓存进行清理。每类缓存对应的清理方法如下表所示:
1696
+
1697
+ 表 4-3 系统缓存类型及其对应的清理方式
1698
+
1699
+ | **缓存类型** | **清理方式** | **说明** |
1700
+ | --- | --- | --- |
1701
+ | \_\_DimensionalTable\_\_ | 暂时没有接口 | |
1702
+ | \_\_SharedTable\_\_ | `undef("sharedTableName", SHARED)` | 清理共享表变量 |
1703
+ | \_\_OLAPTablet\_\_ | `clearAllCache()` | 清理查询数据缓存 |
1704
+ | \_\_OLAPCacheEngine \_\_ | `flushOLAPCache()` | 将写入 OLAP Cache Engine 缓存的数据强行刷盘 |
1705
+ | \_\_OLAPCachedSymbolBase\_\_ | 无需释放 | |
1706
+ | \_\_DFSMetadata\_\_ | 无需释放 | |
1707
+ | \_\_TSDBCacheEngine\_\_ | `flushTSDBCache()` | 将写入 TSDB Cache Engine 缓存的数据强行刷盘 |
1708
+ | \_\_TSDBLevelFileIndex\_\_ | `invalidateLevelIndexCache()` | 将 TSDB 表缓存的索引强制清理 |
1709
+ | \_\_TSDBCachedSymbolBase\_\_ | 无需释放 | |
1710
+ | \_\_StreamingPubQueue\_\_ | 无需释放 | |
1711
+ | \_\_StreamingSubQueue\_\_ | 管理订阅以及引擎 | |
1712
+
1713
+ - 其他内存占用排查方式
1714
+
1715
+ 如果清理缓存和清理临时变量后仍然无法解决问题,那么可以参照下述方法进行检查:
1716
+
1717
+ (1)内存、缓存相关的配置项是否设置合理,下面列举部分可能造成内存大量占用的场景。
1718
+
1719
+ 内存相关配置请参照
1720
+ [功能配置](../db_distr_comp/cfg/function_configuration.html) 内存、系统内存、Cache Engine 小节。
1721
+
1722
+ 表 4-4 TSDB
1723
+ 内存相关配置项
1724
+
1725
+ | **配置项** | **场景说明** | **解决方案** |
1726
+ | --- | --- | --- |
1727
+ | TSDBCacheEngineSize | TSDB Cache Engine 写满刷盘后,系统会重新开辟一个新的 Cache Engine 内存供其他事务写入,从而造成内存膨胀 | 尝试调小 TSDBCacheEngineSize,或者调大 maxMemSize(社区版受到单节点 8G 限制) |
1728
+ | TSDBLevelFileIndexCacheSize | TSDB 的 Level File 索引会在查询时载入内存进行缓存 | 尝试调小 TSDBLevelFileIndexCacheSize ,同时检查一下 sortColumns 字段是否设置合理,造成索引膨胀 |
1729
+
1730
+ (2)数据库分区或索引等配置不合理导致元数据爆炸。下表列举了几个可能的场景:
1731
+
1732
+ 表 4-5 导致内存中元数据膨胀的场景
1733
+
1734
+ | **排查方向** | **具体说明** |
1735
+ | --- | --- |
1736
+ | TSDB 引擎场景下,sortColumns 设置是否合理 | 如果 sortKey 数量很大,会占用大量内存和磁盘空间。测试案例可参考 [TSDB 存储引擎详解](tsdb_explained.html#51-sortkey-%E6%95%B0%E9%87%8F%E5%AF%B9%E6%9F%A5%E8%AF%A2%E6%80%A7%E8%83%BD%E7%9A%84%E5%BD%B1%E5%93%8D) 5.1 小节。 |
1737
+ | 创库时分区指定过多,如设置了数万个 HASH 分区,设置了几十年的 VALUE 天分区等 | - VALUE 分区会自动拓展,不需要预设很多; - HASH 分区主要是用在控制分区粒度的场景,一般和 VALUE 或者 RANGE 组合使用,如果设置过多会造成分区数据量很少; - RANGE 分区可以先设置部分,如果超过范围可以通过函数 addRangePartitions 拓展分区。 |
1738
+
1739
+ **2. 写入时报错列字段不一致**,The column [xxx] expects type of DATETIME, but the actual
1740
+ type is DOUBLE.
1741
+
1742
+ **解决方案**:这通常是由于写入数据的字段顺序和表字段的顺序不一致造成的。DolphinDB 不支持表字段根据字段名自动对应,也不支持 insert
1743
+ into 指定字段名进行写入。需要在写入时确保写入数据的类型和字段顺序能够与表定义的顺序完全一致。
1744
+
1745
+ **3. 写入函数执行没有报错,但是数据没有成功写进去。**
1746
+
1747
+ **解决方案**:请检查一下建库时的分区的类型和分区模式。
1748
+
1749
+ 如是 VALUE 分区,请检查配置项 newValuePartitionPolicy 是否设置为 add,默认下载的 DolphinDB 配置文件中会设置为
1750
+ add 策略,即 VALUE 分区自动增加;或者调用 [addValuePartitions](../funcs/a/addValuePartitions.html) 手动增加分区。
1751
+
1752
+ 配置文件,如下图所示(以单机为例):
1753
+
1754
+ ![](images/new_users_finance/4-7.png)
1755
+
1756
+ 如是 RANGE 分区,不支持自增,请检查写入数据的范围是否超过了建库时设置的范围,如超过了需要手动调用函数 [addRangePartitions](../funcs/a/addRangePartitions.html)
1757
+ 增加分区,然后再写入数据。
1758
+
1759
+ ### 4.5 下一步阅读
1760
+
1761
+ - 文本导入:[文本数据导入](../db_distr_comp/db_oper/text_files_import.html)
1762
+ [金融 PoC 用户历史数据导入指导手册之股票
1763
+ Level-2 逐笔篇](LoadDataForPoc.html)
1764
+ - 数据清洗: [利用 DolphinDB
1765
+ 高效清洗数据](data_ETL.html)
1766
+ - 行情数据:[easyNSQ
1767
+ 实时行情数据接入功能模块](../modules/easyNSQ/easynsq.html)
1768
+ [easyTLDataImport 通联历史数据自动化导入功能模块](../modules/easyTLDataImport/easytl_data_import.html)
1769
+ - 数据迁移和导入插件:[插件](../plugins/plg_intro.html)
1770
+
1771
+ ## 5. 数据增删改查
1772
+
1773
+ ### 5.1 增加数据
1774
+
1775
+ 在 DolphinDB 中可以通过三种方式写入数据,分别为:
1776
+
1777
+ - `tableInsert` 函数(推荐):支持任意表对象的写入,会返回写入的记录数。
1778
+ - `append!` 函数:支持任意表对象的写入,会直接对原表进行修改。
1779
+ - insert into 语句:适合于数据量较少的场景,支持内存表写入;从 3.00.1 版本开始,若配置
1780
+ *enableInsertStatementForDFSTable* 配置项,则 insert into
1781
+ 也支持分布式表写入。
1782
+
1783
+ **例:**使用三种方式向快照表里追加股票的数据。
1784
+
1785
+ ```dolphindb
1786
+ use MockData
1787
+
1788
+ dbName = "dfs://stock_lv2_snapshot"
1789
+ tbName = "snapshot"
1790
+
1791
+ // 模拟一只股票的数据
1792
+ date = 2023.01.03
1793
+ t = stockSnapshot(tradeDate=date, securityNumber=1)
1794
+ ```
1795
+
1796
+ 使用 `tableInsert` 写入:
1797
+
1798
+ ```dolphindb
1799
+ re2 = loadTable(dbName, tbName).tableInsert(t)
1800
+ re2 // output: 4802
1801
+ ```
1802
+
1803
+ 使用 `append!` 写入:
1804
+
1805
+ ```dolphindb
1806
+ re1 = loadTable(dbName, tbName).append!(t)
1807
+ select count(*) from re1
1808
+ ```
1809
+
1810
+ 使用 insert into 语句写入:
1811
+
1812
+ ```dolphindb
1813
+ getConfig(`enableInsertStatementForDFSTable) // true
1814
+
1815
+ insert into snaptb values(2023.01.03,09:30:00.000,'',"000001",'',"OCALL",2,1.045,37,0,10001.799999999999272,
1816
+ 1.4,1.41,1.631,1.633,0,0,0,0,0,0,0,22300,7.002,0,12100,7.002,0,0,0,0,0,
1817
+ array(DOUBLE[]).append!([[6.940000000000001,6.940000000000001,6.950000000000001,6.97,6.980000000000001,6.990000000000001,7.02,7.05,7.08,7.1]]),
1818
+ array(DOUBLE[]).append!([[7.09,7.06,7.05,7.04,7.030000000000001,7.01,6.990000000000001,6.980000000000001,6.950000000000001,6.92]]),
1819
+ array(INT[]).append!([[32400,32400,33300,36900,36900,36900,39600,41400,41400,44100]]),
1820
+ array(INT[]).append!([[48600,48600,47700,46800,42300,41400,40500,40500,34200,31500]]),
1821
+ array(INT[]).append!([[20,20,18,18,17,17,16,16,15,13]]),
1822
+ array(INT[]).append!([[10,10,12,16,17,17,17,18,18,19]]),
1823
+ 0,0,0,0,0,0,0,0,1,1000,2454.300000000000181,30,45000,31392.200000000000727,237,237,204,210,236,226,10:57:45.000,1,
1824
+ array(LONG[]).append!([[,0,0,0,3600,5200,5200,12400,15600,15600]]),
1825
+ array(LONG[]).append!([[,0,100,3500,3600,3900,5900,12400,13500,15600]]))
1826
+ ```
1827
+
1828
+ **思考题**:
1829
+
1830
+ (1)对比上述三种写入数据的方式,对于分布式表而言,哪种写入方式是最方便的?
1831
+
1832
+ 注:
1833
+
1834
+ 阅读 [插入数据](../db_distr_comp/db_oper/insert_data.html)
1835
+
1836
+ (2)使用 insert into 写入数据到分布式表,对写入性能有何影响?
1837
+
1838
+ 注:
1839
+
1840
+ 阅读 [redo log 和 cache engine](redoLog_cacheEngine.html)
1841
+
1842
+ ### 5.2 查询数据
1843
+
1844
+ 在 DolphinDB
1845
+ 中内存对象可以直接通过切片、索引下标取数,且支持应用于函数直接进行计算,不光是向量、矩阵支持这种特性,内存表也同样支持。但是对于分区表、分布式表仅支持使用
1846
+ SQL 语句进行访问。
1847
+
1848
+ 表 5-1 不同类型表的访问方式
1849
+
1850
+ | **操作方式** | **普通内存表** | **分区内存表**、**分布式表(dfs 分区表、维度表)** |
1851
+ | --- | --- | --- |
1852
+ | 索引、切片 ```dolphindb t[1] t[0:3] ``` | 支持 | 不支持 |
1853
+ | 函数 ```dolphindb sum(t) cumsum(t) ``` | 支持 | 不支持 |
1854
+ | SQL ```dolphindb select * from t ``` | 支持 | 支持 |
1855
+
1856
+ **例 1**:查询某日的所有股票数据。
1857
+
1858
+ ```dolphindb
1859
+ dbName = "dfs://stock_lv2_snapshot"
1860
+ tbName = "snapshot"
1861
+ select * from loadTable(dbName, tbName) where TradeDate = 2023.01.03
1862
+ ```
1863
+
1864
+ **例 2**:查询某日股票部分字段的数据。
1865
+
1866
+ ```dolphindb
1867
+ dbName = "dfs://stock_lv2_snapshot"
1868
+ tbName = "snapshot"
1869
+ select concatDateTime(TradeDate, TradeTime) as TradeDateTime,
1870
+ SecurityID, OfferPrice[0] as offerPx1,
1871
+ BidPrice[0] as bidPx1
1872
+ from loadTable(dbName, tbName)
1873
+ where TradeDate = 2023.01.03
1874
+ ```
1875
+
1876
+ ### 5.3 删除数据
1877
+
1878
+ 在 DolphinDB 中,为了应对不同的删除场景,系统支持按行、按分区以及全表删除等多种方式。
1879
+
1880
+ #### 5.3.1 硬删除&软删除
1881
+
1882
+ 在具体分析删除场景前,我们先来了解一下 DolphinDB 内的删除机制。
1883
+
1884
+ 在 DolphinDB 中,OLAP 引擎采取的是硬删除(物理删除)的方式,而 TSDB 支持软删除(逻辑删除)和硬删除两种方式。
1885
+
1886
+ 表 5-2 软删除和硬删除的机制对比
1887
+
1888
+ | **分类** | **删除方式** | **delete 删除机制** |
1889
+ | --- | --- | --- |
1890
+ | 硬删除 | 直接从文件中删除数据。 | 1. **分区剪枝**:根据删除条件进行分区剪枝,确定删除涉及的分区。 2. **查到内存删除**:取出对应分区所有数据到内存后,根据条件删除数据。 3. **写回删除后的分区数据到新目录**:将删除后的数据重新写入数据库,系统会使用一个新的 CHUNK 目录(默认是“*物理表名\_cid*”)来保存写入的数据,旧的文件将被定时回收(默认 30 min)。 |
1891
+ | 软删除 | 追加写入带删除标记的数据。 | 1. **分区剪枝**:根据查询语句进行分区剪枝,缩窄查询范围。 2. **读到内存获取待删除数据**:根据查询条件,查询出需要删除的数据。 3. **追加写入待删除数据**:给需要删除的数据打上删除标记(deletion flag),并将排序列(sort column)和分区列(partition column)外字段值设置为空值,以 `append!` 方式将数据追加写入。 |
1892
+
1893
+ 从上述机制可以了解到执行硬删除时,即使是按条件删除几条数据,也需要将相关分区的所有数据读取到内存,删除后再写回去;而软删除仅需要追加数据即可。因此就删除性能而言,硬删除在时间和空间的开销上都更高。但在查询场景下,软删除需要额外对数据进行过滤,因此相比硬删除,其性能更差。详情请参考
1894
+ [软删除](soft_delete.html) 。
1895
+
1896
+ #### 5.3.2 删除方法
1897
+
1898
+ 下表列出了 DolphinDB
1899
+ 支持的多种删除数据的方法,并给出了用法的示例、适用场景的说明。此外,在使用过程中不同的方法有一些使用的注意点和限制,详情参考对应链接的说明。
1900
+
1901
+ 表 5-3 删除方法及其适用场景
1902
+
1903
+ | **方法** | **用法示例** | **适用场景** | **相关链接** |
1904
+ | --- | --- | --- | --- |
1905
+ | undef 函数 | ```dolphindb undef("t") ``` | - 适用于内存表; - 取消表变量定义; | [删除库表](../db_distr_comp/drop_database_table.html) |
1906
+ | delete 语句 | ```dolphindb delete from t where id=1 delete t2 from ej(t2, t1, `id) where flag=1 ``` | - 适用于所有表; - 条件删除行记录;根据其他表字段进行条件删除; - 删除时将相关分区查入内存,内存开销较大; - 支持 MVCC,会产生数据副本有额外的磁盘开销; | [删除数据](../db_distr_comp/db_oper/drop_db_tb.html) |
1907
+ | `truncate` 函数 | ```dolphindb dbName = "dfs://stock_lv2_snapshot" tbName = "snapshot" truncate(dbName, tbName) ``` | - 适用于分布式表; - 删除表中所有数据,但保留表结构; |
1908
+ | `dropPartition` 函数 | ```dolphindb dbName = "dfs://stock_lv2_snapshot" tbName = "snapshot" db = database(dbName) dropPartition(db, [2023.01.04], tableName=tbName) ``` | - 适用于分布式表; - 按分区删除分布式表数据; - 直接删除分区文件,与 delete 相比空间开销小。推荐在运维场景使用; | [删除分区](../db_distr_comp/db_oper/drop_partitions.html) |
1909
+ | `dropTable` 函数 | ```dolphindb dbName = "dfs://stock_lv2_snapshot" tbName = "snapshot" db = database(dbName) dropTable(db, tbName) ``` | - 适用于分布式表; - 删除分布式表中的所有数据,不保留表结构; | [删除库表](../db_distr_comp/drop_database_table.html) |
1910
+ | drop 语句 | ```dolphindb drop table if exists "dfs://test"."pt" drop table if exists "t" ``` | - 适用于所有表; - 删除表中的所有数据,不保留表结构; |
1911
+
1912
+ 表 5-4 不同删除方法的特点比较
1913
+
1914
+ | **方法** | **支持内存表** | **支持分布式表** | **支持 MVCC** | **支持事务** | **是否保留表、字段结构** |
1915
+ | --- | --- | --- | --- | --- | --- |
1916
+ | delete 语句 | | | | | |
1917
+ | `truncate` 函数 | | | | | |
1918
+ | `dropPartition` 函数 | | | | | |
1919
+ | `dropTable` 函数 | | | | | |
1920
+ | drop 语句 | | | | | |
1921
+
1922
+ 注:
1923
+
1924
+ - **多版本并发控制(MVCC)**:在写入、更新和删除数据时创建新的数据版本,而不是直接覆盖原有数据版本,从而实现读写分离。这种机制使得并发读操作能够继续访问旧版本的数据快照,不会受到写操作的影响,确保数据一致性和高效的并发性能。
1925
+ - **事务(Transaction):**
1926
+ 是数据库系统中一个完整的、不可分割的操作单元。事务的主要目标是确保数据库的一致性和可靠性,即使在并发操作或系统故障的情况下,数据库仍能保持正确的状态。
1927
+
1928
+ **例 1:**删除某日的所有股票的快照数据。
1929
+
1930
+ 由于该表是按天进行分区的,因此直接调用
1931
+ `dropPartition`函数删除整个分区即可。由于该快照数据库采用的是组合分区,可以通过指定条件的方式进行删除。
1932
+
1933
+ ```dolphindb
1934
+ dbName = "dfs://stock_lv2_snapshot"
1935
+ tbName = "snapshot"
1936
+ db = database(dbName)
1937
+ dropPartition(db, [2023.01.04], tableName=tbName)
1938
+ ```
1939
+
1940
+ **例 2:**删除某个 ID 的所有股票数据。
1941
+
1942
+ 由于股票字段采用的是 HASH 分区,无法通过直接删除分区的方式删除某只股票的数据,此时可以借助 delete 语句按照条件进行删除。
1943
+
1944
+ ```dolphindb
1945
+ dbName = "dfs://stock_lv2_snapshot"
1946
+ tbName = "snapshot"
1947
+ delete from loadTable(dbName, tbName) where SecurityId = "000001"
1948
+ ```
1949
+
1950
+ #### 5.3.3 场景性能分析
1951
+
1952
+ 本节结合实际案例,对比说明不同场景下如何选择更优的删除方式。
1953
+
1954
+ 示例库表创建脚本:
1955
+
1956
+ ```dolphindb
1957
+ use MockData
1958
+ drop database if exists "dfs://k_minute_level"
1959
+
1960
+ create database "dfs://k_minute_level"
1961
+ partitioned by VALUE(2020.01.01..2021.01.01)
1962
+ engine='OLAP'
1963
+
1964
+ create table "dfs://k_minute_level"."k_minute"(
1965
+     securityid SYMBOL  
1966
+     tradetime TIMESTAMP
1967
+     open DOUBLE        
1968
+     close DOUBLE      
1969
+     high DOUBLE        
1970
+     low DOUBLE
1971
+     vol INT
1972
+     val DOUBLE
1973
+     vwap DOUBLE
1974
+ )
1975
+ partitioned by tradetime
1976
+ go
1977
+
1978
+ dates = getMarketCalendar('XSHE', 2022.01.01, 2022.01.31)
1979
+ t = stockMinuteKLine(dates[0], dates[dates.size()-1], 10)
1980
+
1981
+ loadTable("dfs://k_minute_level", "k_minute").append!(t)
1982
+ ```
1983
+
1984
+ **场景一:**删除部分分区数据,推荐使用函数 `dropPartition`。
1985
+
1986
+ 对比删除单个分区场景下,delete 和 `dropPartition` 函数的性能:
1987
+
1988
+ ```dolphindb
1989
+ // delete 删除 2022.01.04 的数据
1990
+ timer delete from loadTable("dfs://k_minute_level", "k_minute") where date(tradetime) = 2022.01.04 // Time elapsed: 4.099 ms
1991
+ // Time elapsed: 20.049 ms
1992
+
1993
+ // dropPartition 删除 2022.01.05 的数据
1994
+ db = database("dfs://k_minute_level")
1995
+ timer dropPartition(db, [2022.01.05], tableName="k_minute")
1996
+ // Time elapsed: 5.978 ms
1997
+ ```
1998
+
1999
+ 对比删除多个分区场景下,delete 和 `dropPartition` 函数的性能:
2000
+
2001
+ ```dolphindb
2002
+ // delete 删除多个分区数据
2003
+ timer delete from loadTable("dfs://k_minute_level", "k_minute") where date(tradetime) between 2022.01.01 and 2022.01.31 // Time elapsed: 4.099 ms
2004
+ // Time elapsed: 469.155 ms
2005
+
2006
+ // 将 delete 删除的数据重写回去
2007
+ loadTable("dfs://k_minute_level", "k_minute").append!(t)
2008
+
2009
+ // dropPartition 删除多个分区数据
2010
+ db = database("dfs://k_minute_level")
2011
+ timer dropPartition(db, 2022.01.01..2022.01.31, tableName="k_minute")
2012
+ // Time elapsed: 35.645 ms
2013
+ ```
2014
+
2015
+ 对比发现 `dropPartition` 函数的删除性能明显优于 delete 语句。这是因为 delete 语句具有
2016
+ SQL 解析的开销。 此外,需要注意的是由于 delete 支持 MVCC
2017
+ 机制,在删除时会产生多个版本的数据副本占用**额外磁盘空间**,且与
2018
+ `dropPartition` 直接删除分区数据文件不同,delete
2019
+ 会将数据**读取到内存**后再进行删除。因此,在内存受限的场景下,delete 操作可能会导致内存溢出。推荐运维时使用
2020
+ `dropPartition` 函数删除数据。
2021
+
2022
+ **场景二:**删除全表数据, 推荐使用 `truncate`、 `dropTable`
2023
+ 或 drop 语句。
2024
+
2025
+ 对比 `delete`、`truncate` 以及
2026
+ `dropTable` 的性能:
2027
+
2028
+ 注:
2029
+
2030
+ k\_minute\_1 和 k\_minute\_2 是与 k\_minute
2031
+ 结构完全相同的表,且写入相同的数据。
2032
+
2033
+ ```dolphindb
2034
+ // delete
2035
+ timer delete from loadTable("dfs://k_minute_level", "k_minute")
2036
+ // Time elapsed: 495.771 ms
2037
+
2038
+ // truncate
2039
+ timer truncate("dfs://k_minute_level", "k_minute_1")
2040
+ // Time elapsed: 70.856 ms
2041
+
2042
+ // dropTable
2043
+ db = database("dfs://k_minute_level")
2044
+ timer dropTable(db, "k_minute_2")
2045
+ // Time elapsed: 71.254 ms
2046
+ ```
2047
+
2048
+ 删除后,再次查询表数据:
2049
+
2050
+ ```dolphindb
2051
+ // delete
2052
+ select count(*) from loadTable("dfs://k_minute_level", "k_minute") // output: 0
2053
+
2054
+ // truncate
2055
+ select count(*) from loadTable("dfs://k_minute_level", "k_minute_1") // output: 0
2056
+
2057
+ // dropTable
2058
+ select count(*) from loadTable("dfs://k_minute_level", "k_minute_2")
2059
+ // error: getFileBlocksMeta on path '/k_minute_level/k_minute_2.tbl' failed, reason: path does not exist
2060
+ ```
2061
+
2062
+ 对比性能开销,可以发现在删除全表数据的场景下, `truncate` 和
2063
+ `dropTable` 是比较推荐的方式。两者的区别在于,`truncate`
2064
+ 保留原表结构只是删除了数据,而 `dropTable` 会将表结构也删除。
2065
+
2066
+ **场景三:**数据导入分布式表时,写入了重复数据,希望对该表进行去重。
2067
+
2068
+ 对比 delete 方法和 dropPartition 删除分区重写的方式:
2069
+
2070
+ ```dolphindb
2071
+ t1 = stockMinuteKLine(2022.01.04, 2022.01.05, 10)
2072
+
2073
+ // 写入 2 天重复数据
2074
+ loadTable("dfs://k_minute_level", "k_minute").append!(t1)
2075
+
2076
+ // delete statement
2077
+ timer delete from loadTable("dfs://k_minute_level", "k_minute") where isDuplicated([securityid, tradetime], FIRST) = true map
2078
+ // Time elapsed: 271.374 ms
2079
+
2080
+ // 写入 2 天重复数据
2081
+ loadTable("dfs://k_minute_level", "k_minute").append!(t1)
2082
+
2083
+ // rewrite data
2084
+ timer{
2085
+ tmp = select * from loadTable("dfs://k_minute_level", "k_minute") where isDuplicated([securityid, tradetime], FIRST) = false map
2086
+ truncate("dfs://k_minute_level", "k_minute")
2087
+ loadTable("dfs://k_minute_level", "k_minute").append!(tmp)
2088
+ }
2089
+ // Time elapsed: 86.429 ms
2090
+ ```
2091
+
2092
+ 注:
2093
+
2094
+ 由于 `isDuplicated`
2095
+ 是顺序敏感函数,无法直接在查询分布式表的条件语句中使用, 此处增加了分区限定关键字词 map,使语句不跨分区执行。
2096
+
2097
+ 该场景下,比起使用 delete + `isDuplicate`
2098
+ 函数条件删除,查出去重后的数据、全表删除然后重新写入是性能更好的方式。
2099
+
2100
+ 但是对于社区用户,由于内存资源有限,delete 去重或一次性查询重写去重都可能会导致内存
2101
+ OOM,因此可以改写成遍历分区的方式执行。参考脚本如下:
2102
+
2103
+ ```dolphindb
2104
+ dates = getTabletsMeta("%k_minute_level/%").dfsPath.split("/")[2].temporalParse("yyyyMMdd")
2105
+ timer{
2106
+ for(date in dates){
2107
+ tmp = select * from loadTable("dfs://k_minute_level", "k_minute") where partition(tradetime, date), isDuplicated([securityid, tradetime], FIRST) = false
2108
+ dropPartition(db, [date], tableName="k_minute")
2109
+ loadTable("dfs://k_minute_level", "k_minute").append!(tmp)
2110
+ }
2111
+ }
2112
+ // Time elapsed: 301.925 ms
2113
+ ```
2114
+
2115
+ 注:
2116
+
2117
+ 本例对所有分区都进行了遍历,如果已知重复写的分区,可以进一步缩小遍历范围。
2118
+
2119
+ ### 5.4 更新数据
2120
+
2121
+ DolphinDB 的数据更新和数据删除的机制类似,每次更新时,由于 MVCC 机制,系统会额外产生数据副本存储在磁盘上,由系统定时回收;对于 TSDB
2122
+ 引擎,在配置数据保留策略为保留最新一条的场景下,更新也和软删除类似,以追加的方式实现。
2123
+
2124
+ 最基础的更新方式就是通过 update 语句实现,如果要基于某些字段组成的键进行更新(该键存在)或追加(该键不存在),则可以使用
2125
+ `upsert!` 函数。
2126
+
2127
+ **例 1.** 向快照表追加并更新买卖 1 档报价的信息。
2128
+
2129
+ ```dolphindb
2130
+ dbName = "dfs://stock_lv2_snapshot"
2131
+ tbName = "snapshot"
2132
+
2133
+ // 分布式表无法通过 update 直接追加字段,需要通过 addColumn
2134
+ loadTable(dbName, tbName).addColumn(["OfferPx1", "BidPrice1"], [DOUBLE, DOUBLE])
2135
+ // 更新更新买卖 1 档报价的信息
2136
+ update loadTable(dbName, tbName) set OfferPx1 = OfferPrice[0], BidPrice1 = BidPrice[0] where TradeDate == 2022.12.01
2137
+ ```
2138
+
2139
+ **例 2.** 向快照表写入数据时,希望根据时间和股票代码进行去重写入。
2140
+
2141
+ ```dolphindb
2142
+ // 模拟写入的数据
2143
+ use MockData
2144
+ date = 2023.01.03
2145
+ t = stockSnapshot(tradeDate=date, securityNumber=1)
2146
+ // 如果执行了增加列字段的代码,需要执行此步
2147
+ update t set OfferPx1 = OfferPrice[0], BidPrice1 = BidPrice[0]
2148
+
2149
+ // 向分布式表进行去重写入
2150
+ loadTable(dbName, tbName).upsert!(t, keyColNames=["TradeDate", "TradeTime", "SecurityID"])
2151
+ ```
2152
+
2153
+ 注:
2154
+
2155
+ 对于已经存储在数据库中的键值重复的数据,upsert! 不会对其进行去重,且后续键值相同的数据通过 upsert!
2156
+ 函数追加时,只会更新重复数据中第一个命中键值的记录,其余相同键值的记录不做更新。
2157
+
2158
+ ### 5.5 下一步阅读
2159
+
2160
+ - SQL 编程:[SQL 标准化](std_sql_ddb.html)
2161
+ [SQL 编写案例](ddb_sql_cases.html)
2162
+ - 增删改查:[数据库操作](../db_distr_comp/db_distr_comp.html "DolphinDB 数据库的基本操作,例如创建数据库、表,增加列、分区,数据查询,表连接等。")
2163
+ [分布式表数据更新原理和性能](dolphindb_update.html)
2164
+ [软删除](soft_delete.html)
2165
+
2166
+ ## 6. 基于 SQL 的批计算
2167
+
2168
+ 本章将讲解如何使用 SQL 进行常见的数据处理,包括查询、聚合、时序分析、行列转换、关联查询、更新删除等操作,并基于 DolphinDB
2169
+ 数据表,从金融场景涉及的通用表操作出发,结合案例进行演示。
2170
+
2171
+ 注:
2172
+
2173
+ 本章所有的例子都基于 3.3 节创建的 "dfs://stock\_lv2\_snapshot" 库下的快照表
2174
+ snapshot。
2175
+
2176
+ ### 6.1 库表加载
2177
+
2178
+ 对于**已经创建的库表**,DolphinDB 可以借助 `database` 函数进行加载,参考脚本如下:
2179
+
2180
+ ```dolphindb
2181
+ dbName = "dfs://stock_lv2_snapshot"
2182
+ snapdb = database(dbName)
2183
+ schema(snapdb)
2184
+ ```
2185
+
2186
+ 如果是在对应数据目录(cataLog)下创建的库表,则可以用 “use catalog xxx”
2187
+ 的方式加载数据目录,例如:
2188
+
2189
+ ```dolphindb
2190
+ use catalog trading
2191
+ select count(*) from stock_lv2_snapshot.snapshot
2192
+ ```
2193
+
2194
+ 详情请参考 [数据目录](../db_distr_comp/db/catalog.html) 。
2195
+
2196
+ 同样,分布式表的加载也可以借助 `loadTable` 函数进行,参考脚本如下:
2197
+
2198
+ ```dolphindb
2199
+ dbName = "dfs://stock_lv2_snapshot"
2200
+ tbName = "snapshot"
2201
+
2202
+ snaptb = loadTable(dbName, tbName)
2203
+ select count(*) from snaptb
2204
+ // 或者 select count(*) from loadTable(dbName, tbName)
2205
+ ```
2206
+
2207
+ 除了借助函数,还可以通过 “数据库句柄”.”数据库表名” 访问分布式表:
2208
+
2209
+ ```dolphindb
2210
+ dbName = "dfs://stock_lv2_snapshot"
2211
+ snapdb = database(dbName)
2212
+
2213
+ select count(*) from snapdb.snapshot
2214
+ ```
2215
+
2216
+ 注:
2217
+
2218
+ loadTable
2219
+ 加载的只是分布式表的句柄,即元数据信息。只有对句柄进行查询时,才会真正的将数据加载到内存。
2220
+
2221
+ ### 6.2 分区剪枝
2222
+
2223
+ DolphinDB 在 SQL 查询、更新和删除数据时,支持根据 where
2224
+ 条件对查询进行优化。最常用的优化之一就是如果过滤条件包含分区字段,则查询、更新和删除时,系统能够支持按照分区信息进行剪枝处理,减少扫描的分区数。
2225
+
2226
+ 注:
2227
+
2228
+ 为了更好地说明该场景,这里利用 [[HINT\_EXPLAIN]](../progr/sql/hint_explain.html)
2229
+ 关键字打印执行计划,观察是否进行剪枝。
2230
+
2231
+ **例 1.** 查询 2022.12.01 ~ 2022.12.03 日期范围内的数据
2232
+
2233
+ 触发分区剪枝的场景:使用 between 语句、非链式的过滤条件
2234
+
2235
+ ```dolphindb
2236
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where TradeDate between 2022.12.01 and 2022.12.03
2237
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where TradeDate >= 2022.12.01 and TradeDate <= 2022.12.03
2238
+ // output:
2239
+ // 可以看到查询遍历的分区数为 90
2240
+ "map": {\n' +
2241
+ ' "partitions": {\n' +
2242
+ ' "local": 90,\n' +
2243
+ ' "remote": 0\n' +
2244
+ ' },\n' + "sql": ...
2245
+ ' }
2246
+ ```
2247
+
2248
+ 无法触发分区剪枝的场景:链式条件过滤
2249
+
2250
+ ```dolphindb
2251
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where 2022.12.01 <= TradeDate <= 2022.12.03
2252
+
2253
+ // output:
2254
+ // 可以看到查询遍历的分区数为 10891
2255
+ "map": {\n' +
2256
+ ' "partitions": {\n' +
2257
+ ' "local": 10891,\n' +
2258
+ ' "remote": 0\n' +
2259
+ ' }
2260
+ ```
2261
+
2262
+ **例 2.** 查询某只、某几只股票的数据
2263
+
2264
+ 使用等值查询,in 查询都可以触发分区剪枝。
2265
+
2266
+ ```dolphindb
2267
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where SecurityID = "000001"
2268
+
2269
+ // output:
2270
+ // 可以看到查询遍历的分区数为 243
2271
+ "map": {\n' +
2272
+ ' "partitions": {\n' +
2273
+ ' "local": 243,\n' +
2274
+ ' "remote": 0\n' +
2275
+ ' }
2276
+
2277
+
2278
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where SecurityID in ["000001", "000002"]
2279
+ // output:
2280
+ // 可以看到查询遍历的分区数为 485
2281
+ "map": {\n' +
2282
+ ' "partitions": {\n' +
2283
+ ' "local": 485,\n' +
2284
+ ' "remote": 0\n' +
2285
+ ' }
2286
+ ```
2287
+
2288
+ **例 3.** 查询股票 ”000001“ 在 2022 年 2 月的快照数据。
2289
+
2290
+ 对于时间类型的分区列应用时间精度更低的函数,也可以进行分区剪枝,缩小分区范围。
2291
+
2292
+ ```dolphindb
2293
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where month(TradeDate) = 2022.02M and SecurityID = "000001"
2294
+
2295
+ // output:
2296
+ // 可以看到查询遍历的分区数为 16
2297
+ "map": {\n' +
2298
+ ' "partitions": {\n' +
2299
+ ' "local": 16,\n' +
2300
+ ' "remote": 0\n' +
2301
+ ' }
2302
+ ```
2303
+
2304
+ ### 6.3 单点查询
2305
+
2306
+ 与 OLAP 引擎不同,TSDB 引擎额外维护了一个键值索引(通过配置参数 *sortColumns*指定),因此除了分区剪枝外,在过滤条件中指定键值字段,也可以加速查询。索引的组织形式详见 [TSDB 存储引擎详解](tsdb_explained.html#331-%E7%A1%AE%E5%AE%9A%E7%B4%A2%E5%BC%95%E9%94%AE%E5%80%BC) 3.3.1 节对索引键的说明。
2307
+
2308
+ 可以通过 schema 函数查看 *sortColumns* 配置的值:
2309
+
2310
+ ```dolphindb
2311
+ dbName = "dfs://stock_lv2_snapshot"
2312
+ tbName = "snapshot"
2313
+ loadTable(dbName, tbName).schema().sortColumns
2314
+ // output: ["SecurityID","TradeTime"]
2315
+ ```
2316
+
2317
+ 该*sortColumns* 属性显示索引键是 securityID(除最后一个时间列外的其他字段构成索引键),且每个索引对应的数据按照
2318
+ TradeTime 顺序存储在磁盘上。SecurityID 字段既是分区列又是索引键,如果查询条件包含 securityID
2319
+ 不仅可以进行分区剪枝,还可以根据内存中维护的索引信息快速定位到数据块。
2320
+
2321
+ 以查询某天某只股票的数据为例,通过 [HINT\_EXPLAIN] 获取 SQL 执行计划,观察是否命中索引:
2322
+
2323
+ ```dolphindb
2324
+ select [HINT_EXPLAIN] * from loadTable(dbName, tbName) where TradeDate = 2022.12.01 and SecurityID = "000002"
2325
+ // output:
2326
+ // 打印信息的 where 部分包含查询涉及扫描的数据块个数和命中的索引条件数
2327
+ "where": {\n' +
2328
+ ' "TSDBIndexPrefiltering": {\n' +
2329
+ ' "blocksToBeScanned": 62,\n' +
2330
+ ' "matchedWhereConditions": 1\n' +
2331
+ ' }
2332
+ ```
2333
+
2334
+ ### 6.4 聚合计算
2335
+
2336
+ 在金融场景下,聚合指标是策略不可或缺的一部分,有助于帮助交易员、分析员快速识别市场趋势,做出基于数据的策略调整。以股票数据为例,常用的聚合方式有以下两种:
2337
+
2338
+ - 按照交易时间聚合
2339
+ - 按股票标的聚合
2340
+
2341
+ 下面综合上述场景,结合具体例子来进行说明。
2342
+
2343
+ **例1**:基于历史数据计算 5 分钟 K 线高开低收(OHLC)和总量。
2344
+
2345
+ ```dolphindb
2346
+ // 模拟数据
2347
+ n = 1000000
2348
+ date = take(2019.11.07 2019.11.08, n)
2349
+ time = (09:30:00.000 + rand(int(6.5*60*60*1000), n)).sort!()
2350
+ timestamp = concatDateTime(date, time)
2351
+ price = 100+cumsum(rand(0.02, n)-0.01)
2352
+ volume = rand(1000, n)
2353
+ symbol = rand(`AAPL`FB`AMZN`MSFT, n)
2354
+ trade = table(symbol, date, time, timestamp, price, volume).sortBy!(`symbol`timestamp)
2355
+
2356
+ // 计算 OHLC 和 Volume
2357
+ barMinutes = 5
2358
+ OHLC = select first(price) as open, max(price) as high, min(price) as low, last(price) as close, sum(volume) as volume from trade group by symbol, date, bar(time, barMinutes*60*1000) as barStart
2359
+ ```
2360
+
2361
+ 这里用到了四个函数 `max`, `first`, `min`,
2362
+ `low` 分别用于计算窗口内数据的高开低收聚合值,`sum` 用于计算总量。
2363
+
2364
+ K 线窗口借助 group by 分组语句进行划分:脚本 `group by symbol, date, bar(time,
2365
+ barMinutes*60*1000) as barStart` 表示按照股票代码、日期、5分钟时间窗口划分,其中 bar
2366
+ 函数用于按照时间将每 5 分钟的数据划分为一组。
2367
+
2368
+ 例 1 只是计算 K 线最精简的一个例子,在实际场景中可能还会涉及非常复杂的数据处理过程,本节将在例 2 进行具体的讲解。
2369
+
2370
+ **例2**:基于历史快照数据合成分钟 K 线。如果某只股票在某一分钟无数据,则填充为 0。
2371
+
2372
+ 注:
2373
+
2374
+ 本案例的示例代码基于教程 [基于快照行情的股票和基金 K 线合成](k.html) 进行改写,此处仅展示关键代码,以方便新手快速理解。
2375
+
2376
+ Step1. 变量函数定义
2377
+
2378
+ - 自定义最高价最低价计算函数
2379
+
2380
+ ```dolphindb
2381
+ // 自定义计算最高最低点的聚合函数
2382
+ // defg 用于声明聚合函数
2383
+
2384
+ defg high(DeltasHighPrice, HighPrice, LastPrice){
2385
+ if(sum(DeltasHighPrice)>0.000001){
2386
+ return max(HighPrice)
2387
+ }
2388
+ else{
2389
+ return max(LastPrice)
2390
+ }
2391
+ }
2392
+
2393
+ defg low(DeltasLowPrice, LowPrice, LastPrice){
2394
+ sumDeltas = sum(DeltasLowPrice)
2395
+ if(sumDeltas<-0.000001 and sumDeltas!=NULL){
2396
+ return min(iif(LowPrice==0.0, NULL, LowPrice))
2397
+ }
2398
+ else{
2399
+ return min(LastPrice)
2400
+ }
2401
+ }
2402
+ ```
2403
+
2404
+ Step2. 数据预处理
2405
+
2406
+ - 把09:25:00-09:30:00的数据归入第一根 K 线:[09:30:00, 09:31:00]
2407
+ - 计算同一个股票或者基金的两笔相邻快照的最高价和最低价的变化幅度
2408
+ - 计算同一个股票或者基金的两笔相邻快照的成交量、成交金额和成交笔数的增量
2409
+
2410
+ ```dolphindb
2411
+ dbName = "dfs://stock_lv2_snapshot"
2412
+ tbName = "snapshot"
2413
+
2414
+ tempTB1 = select TradeDate,
2415
+ iif(TradeTime <=09:30:00.000, 09:30:00.000, TradeTime) as TradeTime,
2416
+ SecurityID,
2417
+ OpenPrice,
2418
+ PreCloPrice,
2419
+ HighPrice,
2420
+ LowPrice,
2421
+ LastPrice,
2422
+ PreCloseIOPV,
2423
+ IOPV,
2424
+ UpLimitPx,
2425
+ DownLimitPx,
2426
+ iif(deltas(HighPrice)>0.000001, 1, 0) as DeltasHighPrice,
2427
+ iif(abs(deltas(LowPrice))>0.000001, -1, 0) as DeltasLowPrice,
2428
+ iif(deltas(TotalVolumeTrade)==NULL, TotalVolumeTrade, deltas(TotalVolumeTrade)) as DeltasVolume,
2429
+ iif(deltas(TotalValueTrade)==NULL, TotalValueTrade, deltas(TotalValueTrade)) as DeltasTurnover,
2430
+ iif(deltas(NumTrades)==NULL, NumTrades, deltas(NumTrades)) as DeltasTradesCount
2431
+ from loadTable(dbName, tbName)
2432
+ where TradeTime >=09:25:00.000
2433
+ context by SecurityID
2434
+ ```
2435
+
2436
+ Step3. K 线计算
2437
+
2438
+ 针对处理后的快照行情进行窗口为1分钟、步长为1分钟的滚动窗口计算。
2439
+
2440
+ ```dolphindb
2441
+ re = select firstNot(LastPrice, 0) as OpenPrice,
2442
+ high(DeltasHighPrice, HighPrice, LastPrice) as HighPrice,
2443
+ low(DeltasLowPrice, LowPrice, LastPrice) as LowPrice,
2444
+ last(LastPrice) as ClosePrice,
2445
+ sum(DeltasVolume) as Volume,
2446
+ sum(DeltasTurnover) as Turnover,
2447
+ sum(DeltasTradesCount) as TradesCount,
2448
+ last(PreCloPrice) as PreClosePrice,
2449
+ last(PreCloseIOPV) as PreCloseIOPV,
2450
+ last(IOPV) as IOPV,
2451
+ last(UpLimitPx) as UpLimitPx,
2452
+ last(DownLimitPx) as DownLimitPx,
2453
+ lastNot(LastPrice, 0)\firstNot(LastPrice, 0)-1 as FirstBarChangeRate
2454
+ from tempTB1
2455
+ group by SecurityID, TradeDate, interval(X=TradeTime, duration=60s, label='left', fill=0) as TradeTime
2456
+ ```
2457
+
2458
+ 该部分使用了一个关键的 SQL 语句 group by 进行分组聚合计算,group by 只能够搭配聚合指标使用,上述代码中的
2459
+ `firstNot`, `high`, `low`,
2460
+ `last`, `sum`, `lastNot`
2461
+ 等等都是聚合函数。
2462
+
2463
+ group by 指定的分组指标是 SecurityID, TradeDate, interval(X=TradeTime, duration=60s,
2464
+ label='left', fill=0),即股票字段、日期、分钟时间。`interval` 函数必须与 group by
2465
+ 语句搭配使用,通常用于时间精度的降维场景,此处 `interval` 函数将毫秒精度的时间字段,按照分钟窗口进行划分,缺失值填充为
2466
+ 0。
2467
+
2468
+ 部分计算结果示意如下:
2469
+
2470
+ ```dolphindb
2471
+ SecurityID TradeDate TradeTime OpenPrice HighPrice LowPrice ClosePrice Volume Turnover TradesCount ...
2472
+ ---------- ---------- ------------ --------- --------- -------- ---------- ------ --------------------- ----------- ---
2473
+ 000002 2022.01.04 09:30:00.000 1.6 1.779 1.003 1.3 100 10022.200000000000727 94 ...
2474
+ 000002 2022.01.04 09:31:00.000 1.5 1.756 1.003 1.4 0 0 0 ...
2475
+ 000002 2022.01.04 09:32:00.000 1.6 1.777 1.011 1.5 0 0 0 ...
2476
+ 000002 2022.01.04 09:33:00.000 1.5 1.791 1.01 1.5 0 0 0 ...
2477
+ 000002 2022.01.04 09:34:00.000 1.4 1.791 1.042 1.5 0 1.5 -39 ...
2478
+ 000002 2022.01.04 09:35:00.000 1.5 1.794 1.003 1.5 0 0 0 ...
2479
+ ...
2480
+ ```
2481
+
2482
+ 注:
2483
+
2484
+ 由于快照表 snapshot 的数据量很大,如果直接执行上述语句,社区版的 server 执行时可能会报错 Out
2485
+ of memory。一个替代方案是按分区串行计算然后合并计算结果。
2486
+
2487
+ 先将上述 K 线的计算逻辑封装在一个函数内。
2488
+
2489
+ ```dolphindb
2490
+ def calcKLine(snapshot){
2491
+ tempTB1 = select TradeDate,
2492
+ iif(TradeTime <=09:30:00.000, 09:30:00.000, TradeTime) as TradeTime,
2493
+ SecurityID,
2494
+ OpenPrice,
2495
+ PreCloPrice,
2496
+ HighPrice,
2497
+ LowPrice,
2498
+ LastPrice,
2499
+ PreCloseIOPV,
2500
+ IOPV,
2501
+ UpLimitPx,
2502
+ DownLimitPx,
2503
+ iif(deltas(HighPrice)>0.000001, 1, 0) as DeltasHighPrice,
2504
+ iif(abs(deltas(LowPrice))>0.000001, -1, 0) as DeltasLowPrice,
2505
+ iif(deltas(TotalVolumeTrade)==NULL, TotalVolumeTrade, deltas(TotalVolumeTrade)) as DeltasVolume,
2506
+ iif(deltas(TotalValueTrade)==NULL, TotalValueTrade, deltas(TotalValueTrade)) as DeltasTurnover,
2507
+ iif(deltas(NumTrades)==NULL, NumTrades, deltas(NumTrades)) as DeltasTradesCount
2508
+ from snapshot
2509
+ where TradeTime >= 09:25:00.000
2510
+ context by SecurityID
2511
+
2512
+ re = select firstNot(LastPrice, 0) as OpenPrice,
2513
+ high(DeltasHighPrice, HighPrice, LastPrice) as HighPrice,
2514
+ low(DeltasLowPrice, LowPrice, LastPrice) as LowPrice,
2515
+ last(LastPrice) as ClosePrice,
2516
+ sum(DeltasVolume) as Volume,
2517
+ sum(DeltasTurnover) as Turnover,
2518
+ sum(DeltasTradesCount) as TradesCount,
2519
+ last(PreCloPrice) as PreClosePrice,
2520
+ last(PreCloseIOPV) as PreCloseIOPV,
2521
+ last(IOPV) as IOPV,
2522
+ last(UpLimitPx) as UpLimitPx,
2523
+ last(DownLimitPx) as DownLimitPx,
2524
+ lastNot(LastPrice, 0)\firstNot(LastPrice, 0)-1 as FirstBarChangeRate
2525
+ from tempTB1
2526
+ group by SecurityID, TradeDate, interval(X=TradeTime, duration=60s, label='left', fill=0) as TradeTime
2527
+
2528
+ return re
2529
+ }
2530
+ ```
2531
+
2532
+ 然后利用 `mr` 函数指定 *parallel* 参数为 false
2533
+ 进行分区串行计算。此处选取了一个月的数据进行演示,其中 `sqlDS` 函数可以根据指定的 SQL
2534
+ 查询筛选数据,并按分区生成数据源列表。
2535
+
2536
+ ```dolphindb
2537
+ beginDate = 2022.01.01
2538
+ endDate = 2022.01.31
2539
+ dbName = "dfs://stock_lv2_snapshot"
2540
+ tbName = "snapshot"
2541
+
2542
+ ds = sqlDS(<select * from loadTable(dbName, tbName) where TradeDate between beginDate and endDate>)
2543
+ re = mr(ds, calcKLine, , unionAll, false)
2544
+
2545
+ select top 10 * from re order by SecurityId
2546
+
2547
+ /* output:
2548
+ SecurityID TradeDate TradeTime OpenPrice HighPrice LowPrice ClosePrice Volume Turnover TradesCount ...
2549
+ ---------- ---------- ------------ --------- --------- -------- ---------- ------ --------------------- ----------- ---
2550
+ 000001 2022.01.04 09:30:00.000 1.6 1.794 1.064 1.3 0 10000.200000000000727 53 ...
2551
+ 000001 2022.01.04 09:31:00.000 1.4 1.767 1.011 1.3 0 0 0 ...
2552
+ 000001 2022.01.04 09:32:00.000 1.6 1.8 1.046 1.4 0 0 0 ...
2553
+ 000001 2022.01.04 09:33:00.000 1.6 1.736 1.033 1.4 0 0 0 ...
2554
+ 000001 2022.01.04 09:34:00.000 1.6 1.772 1.063 1.3 0 0 0 ...
2555
+ 000001 2022.01.04 09:35:00.000 1.3 1.758 1.035 1.6 0 0.799999999999272 -41 ...
2556
+ 000001 2022.01.04 09:36:00.000 1.4 1.784 1.013 1.5 0 0 0 ...
2557
+ 000001 2022.01.04 09:37:00.000 1.4 1.79 1.006 1.5 0 0 0 ...
2558
+ 000001 2022.01.04 09:38:00.000 1.6 1.781 1.024 1.5 0 0 0 ...
2559
+ 000001 2022.01.04 09:39:00.000 1.5 1.697 1.024 1.6 0 0 0 ...
2560
+ */
2561
+ ```
2562
+
2563
+ ### 6.5 时序分析
2564
+
2565
+ 在金融领域,时间序列分析是一种重要的工具,它可以帮助理解数据的趋势、季节性、随机性等特征,并进行准确的预测。例如,在股票价格预测、货币汇率预测、通胀率预测等方面,时间序列分析被广泛应用于揭示金融数据随时间变化的规律。为应对此类场景,DolphinDB
2566
+ 提供了滑动窗口、累积窗口、序列计算等内置函数,以及 Talib、MyTT 算子指标库和 Alpha
2567
+ 因子库等模块,用户可以利用这些函数的组合和嵌套构建复杂的时序指标算子。
2568
+
2569
+ **例**:基于快照数据计算订单失衡率(SOIR)因子
2570
+
2571
+ 该因子用于衡量买卖委托量在总量中的不均衡程度。t 时刻第 i 档的订单失衡率因子定义如下,具体参数说明参考 3.1.2 节。
2572
+
2573
+ ![](images/new_users_finance/formula_1.png)
2574
+
2575
+ 使用 DolphinDB 的脚本实现上述因子的定义:此处使用 `rowWavg`
2576
+ 函数计算各档加权平均的买卖委托量不均衡程度因子,即订单失衡率因子。并使用 moving 系列函数对一段时间的指标进行移动标准化处理。
2577
+
2578
+ ```dolphindb
2579
+ def wavgSOIR(bidQty,askQty,lag=20){
2580
+ imbalance= rowWavg((bidQty - askQty)\(bidQty + askQty), 10 9 8 7 6 5 4 3 2 1).ffill().nullFill(0)
2581
+ mean = mavg(prev(imbalance), (lag-1), 2)
2582
+ std = mstdp(prev(imbalance) * 1000000, (lag-1), 2) \ 1000000
2583
+ return iif(std >= 0.0000001,(imbalance - mean) \ std, NULL).ffill().nullFill(0)
2584
+ }
2585
+
2586
+ re = select SecurityID, TradeDate, TradeTime, wavgSOIR(bidOrderQty, OfferOrderQty, lag=20) as HeightImbalance from loadTable(dbName, tbName) where TradeDate between beginDate and endDate context by SecurityID csort TradeTime
2587
+
2588
+ select top 10 * from re
2589
+ /* output:
2590
+ SecurityID TradeDate TradeTime HeightImbalance
2591
+ ---------- ---------- ------------ ------------------
2592
+ 000001 2022.01.04 09:30:00.000 0
2593
+ 000001 2022.01.05 09:30:00.000 0
2594
+ 000001 2022.01.06 09:30:00.000 -4.710845145045806
2595
+ 000001 2022.01.07 09:30:00.000 10.571487776713668
2596
+ 000001 2022.01.10 09:30:00.000 1.688837114535889
2597
+ 000001 2022.01.04 09:30:03.000 -0.761301248682889
2598
+ 000001 2022.01.05 09:30:03.000 -0.494321354433684
2599
+ 000001 2022.01.06 09:30:03.000 -0.963245349720814
2600
+ 000001 2022.01.07 09:30:03.000 1.708213822850803
2601
+ 000001 2022.01.10 09:30:03.000 1.387502605818854
2602
+ */
2603
+ ```
2604
+
2605
+ ### 6.6 截面计算
2606
+
2607
+ 除了纵向的时序计算外,在金融场景下还需要横向对同一时间截面上不同股票的数据进行一些比较或计算。要对比同一截面不同股票的指标,就需要将原本的窄表进行一些行列转换,使之转成面板数据。为此,DolphinDB
2608
+ 在 SQL 语义上拓展提供了 pivot by 语句,并开发了用于内存计算的
2609
+ `pivot`、`panel` 函数。
2610
+
2611
+ pivot 操作基于指定的维度(通常是时间和标的)将某一个属性值展开成面板数据,通常用于将一个窄表转换成宽表/矩阵,然后进行计算。
2612
+
2613
+ ![](images/new_users_finance/6-1.png)
2614
+
2615
+ 在 DolphinDB 中使用 exec+pivot by
2616
+ 语句可以将一个表转换成一个面板矩阵,矩阵的行列标签记录了面板数据的维度信息。以一个简单的例子进行说明。
2617
+
2618
+ 原表 t 定义如下:
2619
+
2620
+ ```dolphindb
2621
+ sym = `C`MS`MS`MS`IBM`IBM`C`C`C
2622
+ price= 49.6 29.46 29.52 30.02 174.97 175.23 50.76 50.32 51.29
2623
+ qty = 2200 1900 2100 3200 6800 5400 1300 2500 8800
2624
+ timestamp = [09:34:07,09:35:42,09:36:51,09:36:59,09:35:47,09:36:26,09:34:16,09:35:26,09:36:12]
2625
+ t = table(timestamp, sym, qty, price);
2626
+ /* output:
2627
+ timestamp sym qty price
2628
+ --------- --- ---- -------------------
2629
+ 09:34:07 C 2200 49.600000000000001
2630
+ 09:35:42 MS 1900 29.46
2631
+ 09:36:51 MS 2100 29.519999999999999
2632
+ 09:36:59 MS 3200 30.019999999999999
2633
+ 09:35:47 IBM 6800 174.969999999999998
2634
+ 09:36:26 IBM 5400 175.229999999999989
2635
+ 09:34:16 C 1300 50.759999999999997
2636
+ 09:35:26 C 2500 50.32
2637
+ 09:36:12 C 8800 51.289999999999999
2638
+ */
2639
+ ```
2640
+
2641
+ 利用 exec + pivot by 将表 t 转成面板矩阵:
2642
+
2643
+ ```dolphindb
2644
+ m = exec price from t pivot by timestamp, sym;
2645
+ m
2646
+ /* output:
2647
+ C IBM MS
2648
+ ------------------ ------------------- ------------------
2649
+ 09:34:07|49.600000000000001
2650
+ 09:34:16|50.759999999999997
2651
+ 09:35:26|50.32
2652
+ 09:35:42| 29.46
2653
+ 09:35:47| 174.969999999999998
2654
+ 09:36:12|51.289999999999999
2655
+ 09:36:26| 175.229999999999989
2656
+ 09:36:51| 29.519999999999999
2657
+ 09:36:59| 30.019999999999999
2658
+ */
2659
+
2660
+ typestr m
2661
+ // output: 'FAST DOUBLE MATRIX'
2662
+
2663
+ m.colNames() // output: ["C","IBM","MS"]
2664
+ m.rowNames() // output: [09:34:07,09:34:16,09:35:26,09:35:42,09:35:47,09:36:12,09:36:26,09:36:51,09:36:59]
2665
+ ```
2666
+
2667
+ 了解了 pivot by 的基本使用,下面结合具体的金融数据进行举例。
2668
+
2669
+ **例**:根据每天每只股票最后的 LastPrice 价格计算排名。
2670
+
2671
+ 此处 pivot by 用于指定截面的维度信息,此处是日期和股票代码,由于同一个日期对应多个数据,因此计算时可以配合聚合指标使用。
2672
+
2673
+ ```dolphindb
2674
+ m = exec last(LastPrice) from loadTable(dbName, tbName) pivot by TradeDate, SecurityID
2675
+ rowRank(m)
2676
+
2677
+ /* output:
2678
+ 000001 000002 000003 000004 000005 000006 000007 000008 000009 000010 000011 000012 000013 000014 000015 ...
2679
+ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ---
2680
+ 2022.01.04|87 0 26 26 0 26 58 26 87 0 26 26 0 0 58 ...
2681
+ 2022.01.05|84 20 20 47 84 47 84 47 0 20 47 20 0 47 84 ...
2682
+ 2022.01.06|84 17 84 84 84 47 17 17 47 47 84 47 17 0 47 ...
2683
+ 2022.01.07|50 0 50 12 83 50 0 12 50 12 12 50 0 12 50 ...
2684
+ 2022.01.10|45 15 15 15 15 74 74 0 45 15 74 15 74 45 74 ...
2685
+ ...
2686
+ */
2687
+ ```
2688
+
2689
+ ### 6.7 常见问题
2690
+
2691
+ 1. 如何在写入分布式表时对数据进行去重?
2692
+ - TSDB 引擎 *sortColumns* 去重:系统会根据索引配置字段 *sortColumns*进行去重,但是该方式不适用于每个索引键(除最后一列时间列以外的 *sortColumns*字段构成索引键)对应的数据量很少的场景,因为索引键的主要作用是数据索引,若设置为去重键会造成索引膨胀,影响查询效率。
2693
+ - 使用 `upsert`! 方法写入数据:upsert! 支持设置数据键
2694
+ *keyColNames*,使用 `upsert!`
2695
+ 写入新数据时,系统会去检查原有数据中该数据键是否已经存在,若存在则更新主键的数据,否则追加。通过该方式以达到数据去重的目的。
2696
+ 2. 如何写脚本可以优化查询性能,查询很慢的原因是什么?
2697
+
2698
+ 一个查询是否可以优化,主要是看以下的方面:
2699
+
2700
+ - 是否能够触发分区剪枝,缩小系统遍历范围? → where 条件是否可以改写为触发剪枝的条件
2701
+ - 是否走了分布式查询的优化? → 如果是自定义函数,无法进行分布式查询优化,是否可以通过 mr 函数进行逻辑改写。
2702
+
2703
+ 查询慢的原因可以参考文档 [查询/写入慢](../omc/omc_slow_io_guidelines.html) 进行排查。
2704
+ 3. 查询的字段调用了自定义的函数,会对性能有影响吗,会走分布式查询的优化吗?
2705
+
2706
+ 如果没有通过 mapr
2707
+ 关键字声明,则自定义函数无法进行分布式查询优化,此时有几种优化方案:
2708
+
2709
+ 1. 计算数据不跨分区:在查询语句后添加 map 关键字。例如:`select first(id), count(*) from
2710
+ pt map`。
2711
+ 2. 计算数据跨分区:通过函数 `mr` 定义分布式计算逻辑。参数 *mapFunc*
2712
+ 指定函数会映射到各个分区进行执行,并将计算结果通过 reduceFunc 进行处理汇总后,通过 *finalFunc*
2713
+ 进行最后的计算。案例参考 [通用计算](general_computing.html) 。
2714
+ 4. 查询字段多造成脚本复杂,可以如何优化代码?
2715
+
2716
+ 可以通过元编程或者字段序列的方式去定义脚本。
2717
+
2718
+ 例:查询字段 col000~col999
2719
+ 的数据
2720
+
2721
+ ```dolphindb
2722
+ // 元编程
2723
+ cols="col" + lpad(string(0..999), 3, "0")
2724
+ <select _$$cols from t>.eval()
2725
+
2726
+ // 字段序列
2727
+ select col000...col999 from t
2728
+ ```
2729
+
2730
+ 字段序列对于字段名和查询场景都有限制,与之相比元编程的使用范围更广。
2731
+
2732
+ 例:计算多个字段的最小二乘回归。
2733
+
2734
+ ```dolphindb
2735
+ colName = "y"
2736
+ x = `SH000001`SH000003`SH000005
2737
+ <select ols(_$colName, _$$x, 1, 2).Residual as residual from t>.eval()
2738
+ ```
2739
+
2740
+ 具体用法请参考
2741
+ [基于
2742
+ SQL 的元编程](macro_var_based_metaprogramming.html) 。
2743
+ 5. 如何进行表关联后只保留公共匹配列?
2744
+
2745
+ DolphinDB
2746
+ 中表关联的结果会将两边公共列拆成两列返回,例如:
2747
+
2748
+ ```dolphindb
2749
+ t1= table(1 2 3 as id, 7.8 4.6 5.1 as value)
2750
+ t2 = table(1 3 5 as id, 300 500 800 as qty)
2751
+ fj(t1, t2, `id)
2752
+ /* output:
2753
+ id value t2_id qty
2754
+ -- ----- ----- ---
2755
+ 1 7.8 1 300
2756
+ 2 4.6
2757
+ 3 5.1 3 500
2758
+ 5 800
2759
+ */
2760
+ ```
2761
+
2762
+ 如果需要将公共列 id
2763
+ 合成一列返回,可以参考下述脚本:
2764
+
2765
+ ```dolphindb
2766
+ select t1.id.nullFill(t2.id) as id, value, qty from fj(t1, t2, `id)
2767
+ ```
2768
+ 6. 共享表怎么删除,调用 `dropTable` 函数不起作用?
2769
+
2770
+ dropTable
2771
+ 用于删除分布式表,对于共享内存表可以用 `undef("st", SHARED)` 进行删除。
2772
+ 7. update 和 delete 的事务开销很大,这是为什么?
2773
+
2774
+ DolphinDB
2775
+ 的分布式数据是按照列式存储(OLAP)或者行列混存(TSDB)的,对于行级别的更新和删除操作,系统以分区为单位读出相关字段的数据到内存,然后进行更新和删除再写回磁盘。因此,如果事务涉及的分区多、分区数据量大,更新和删除的开销也会很大。
2776
+
2777
+ 如果数据以
2778
+ TSDB 引擎进行存储,则在某些特定场景和配置下,其更新和删除操作有优化:
2779
+
2780
+ - 设置去重策略 keepDuplicates=LAST 时,数据更新以数据追加方式进行。
2781
+ - 设置去重策略 keepDuplicates=LAST 并开启软删除机制
2782
+ softDelete=true,则删除操作时,系统取出待删除的数据打上删除标记(软删除),再以追加的方式写回数据库。
2783
+
2784
+ 上述两种优化后的更新和删除方式效率更高。
2785
+ 8. 1. 如何编写查询脚本,使之可以通过命中内部维护的元数据信息,从而加速查询性能?
2786
+
2787
+ DolphinDB 内部维护了分区信息、TSDB
2788
+ 引擎还额外维护了 zonemap、sortKey
2789
+ 等信息。理论上可以通过此类元数据信息加速相关的查询。下面以具体的例子进行说明:
2790
+
2791
+ **例
2792
+ 1:**查询分区字段的元数据信息。
2793
+
2794
+ 场景:按照日期(天)和股票代码的 COMPO
2795
+ 分区,获取所有日期(天)值。
2796
+
2797
+ 以 4.2.1 导入的快照数据表 snapshot
2798
+ 为例,该表的结构为:
2799
+
2800
+ ```dolphindb
2801
+ engineType->TSDB
2802
+ keepDuplicates->ALL
2803
+ chunkGranularity->TABLE
2804
+ sortColumns->["SecurityID","TradeTime"]
2805
+ softDelete->0
2806
+ tableOwner->admin
2807
+ compressMethods->name compressMethods
2808
+ ------------------ ---------------
2809
+ TradeDate delta
2810
+ TradeTime delta
2811
+ MDStreamID lz4
2812
+ SecurityID lz4
2813
+ ...
2814
+
2815
+ tableComment->
2816
+ colDefs->name typeString typeInt extra comment
2817
+ ------------------ ---------- ------- ----- ------------
2818
+ TradeDate DATE 6 交易日期
2819
+ TradeTime TIME 8 交易时间
2820
+ MDStreamID SYMBOL 17
2821
+ ...
2822
+
2823
+ chunkPath->
2824
+ partitionColumnIndex->[0,3]
2825
+ partitionColumnName->["TradeDate","SecurityID"]
2826
+ partitionColumnType->[6,17]
2827
+ partitionType->[1,5]
2828
+ partitionTypeName->["VALUE","HASH"]
2829
+ partitionSchema->([2022.01.04,2022.01.05,2022.01.06,2022.01.07,2022.01.10,2022.01.11,2022.01.12,2022.01.13,2022.01.14,2022.01.17,2022.01.18,2022.01.19,2022.01.20,2022.01.21,2022.01.24,2022.01.25,2022.01.26,2022.01.27,2022.01.28,2022.02.07,2022.02.08,2022.02.09,2022.02.10,2022.02.11,2022.02.14,2022.02.15,2022.02.16,2022.02.17,2022.02.18,2022.02.21...],50)
2830
+ partitionSites->
2831
+ ```
2832
+
2833
+ 分别利用三种方式求所有数据日期的唯一值:
2834
+
2835
+ ```dolphindb
2836
+ dbName = "dfs://stock_lv2_snapshot"
2837
+ tbName = "snapshot"
2838
+ pt = loadTable(dbName, tbName)
2839
+
2840
+ // (1)直接利用 distinct 函数求日期唯一值
2841
+ timer dateList = exec distinct(TradeDate) from pt
2842
+ // Time elapsed: 670.988 ms
2843
+
2844
+ // (2)利用 group by 的分布式计算求日期唯一值
2845
+ timer dateList = exec TradeDate from select count(*) from pt group by TradeDate
2846
+ // Time elapsed: 373.783 ms
2847
+
2848
+ // (3)利用元数据信息求日期的唯一值
2849
+ timer{
2850
+ result = exec dfsPath from getTabletsMeta( dbName[5:]+ "/%", tbName, false, -1) where rowNum != 0
2851
+ dateList = substr(result, regexFind(result, "[0-9]{8}"), 8).distinct().temporalParse("yyyyMMdd").sort()
2852
+ }
2853
+ // Time elapsed: 35.623 ms
2854
+ ```
2855
+
2856
+ 比较查询耗时可以发现方案 3 性能最佳,因为它是通过直接解析分区元数据获取日期信息的。
2857
+
2858
+ 如果创建数据库时,设置的 VALUE
2859
+ 分区方案包含在数据范围内,则利用 VALUE 分区自动拓展的特性,可以通过 schema 函数直接获取日期分区字段的值。
2860
+
2861
+ 本例中
2862
+ snapshot
2863
+ 表的分区信息可以通过`schema(pt).partitionSchema[0]`获取,获取结果是长度为 244
2864
+ 的向量,较真实的场景多了 2 天,因为 2024.01.01 和 2024.01.02 这两天也被包含了。这是由于在创建数据库时,
2865
+ snapshot 的建库语句为:`create database "dfs://stock_lv2_snapshot"
2866
+ partitioned by VALUE(2024.01.01..2024.01.02), HASH([SYMBOL, 50]),
2867
+ engine='TSDB'`,其中指定的 `2024.01.01..2024.01.02`
2868
+ 也被纳入了元数据信息中,即使该分区并无数据。
2869
+
2870
+ 利用该特性,我们在创建数据库时指定必然有数据的天作为分区 scheme,例如
2871
+ `create database "dfs://stock_lv2_snapshot" partitioned by
2872
+ VALUE(2022.01.04..2022.01.04), HASH([SYMBOL, 50]),
2873
+ engine='TSDB'`,这样就可以直接借助 schema 函数更方便地获取元数据信息。
2874
+
2875
+ **例
2876
+ 2:**限 TSDB 引擎:查询 count, min, max, sum 等 zonemap
2877
+ 包含的元数据信息。
2878
+
2879
+ zonemap 存储了数据的预聚合信息(每列每个 sortKey 对应数据的
2880
+ min,max,sum,notnullcount)。如果查询语句包含 count, min, max, sum
2881
+ 等预聚合指标,且用户于设置去重策略(keepDuplicates=ALL),就可以利用 zonemap
2882
+ 进行提速。
2883
+
2884
+ 不同去重策略下,查询的性能对比见 [TSDB 存储引擎详解](tsdb_explained.html#52-level-file-%E6%95%B0%E9%87%8F%E5%AF%B9%E6%9F%A5%E8%AF%A2%E6%80%A7%E8%83%BD%E7%9A%84%E5%BD%B1%E5%93%8D) 5.2 节查询全表总记录数(命中元数据)部分。对于 ALL
2885
+ 去重策略,由于查询时无需去重,直接利用 zonemap 提速性能最高。
2886
+
2887
+ ![](images/new_users_finance/6-2.png)
2888
+
2889
+ **例
2890
+ 3:**限 TSDB 引擎:查询条件命中 sortKey
2891
+ 索引数据。
2892
+
2893
+ ```dolphindb
2894
+ dbName = "dfs://stock_lv2_snapshot"
2895
+ tbName = "snapshot"
2896
+ pt = loadTable(dbName, tbName)
2897
+
2898
+ select [HINT_EXPLAIN] * from pt where SecurityID in ["000076", "000024"]
2899
+
2900
+ // output:
2901
+ ...
2902
+ "explain": {
2903
+ "where": {
2904
+ "TSDBIndexPrefiltering": {
2905
+ "blocksToBeScanned": 60, // 扫描的 block 个数
2906
+ "matchedWhereConditions": 1 // 命中 sortKey 的过滤条件
2907
+ },
2908
+ ...
2909
+ ```
2910
+
2911
+ 可以通过 [HINT\_EXPLAIN] 执行计划观察查询的过滤条件是否命中索引。
2912
+
2913
+ ### 6.8 下一步阅读
2914
+
2915
+ - 分区剪枝:[查询数据](../db_distr_comp/db_oper/queries.html)
2916
+ [SQL 执行计划](DolphinDB_Explain.html)
2917
+ - SQL 操作:[量化金融范例](quant_finance_examples.html)
2918
+ [深度不平衡、买卖压力指标、波动率计算](sql_performance_optimization_wap_di_rv.html)
2919
+ - 聚合计算:[K 线计算](OHLC.html)
2920
+ [基于快照行情的股票和基金 K 线合成](k.html)
2921
+ - 时序计算:[窗口计算](window_cal.html)
2922
+ [处理 Level-2
2923
+ 行情数据实例](l2_stk_data_proc.html)
2924
+ - 截面计算:[面板数据处理](panel_data.html)
2925
+
2926
+ ## 7. 流数据计算
2927
+
2928
+ 为了便于用户快速入门和理解,本章主要介绍流数据的一些基础概念、框架和流程。结合 API 订阅流数据、消息中间件获取流数据、流引擎计算等具体案例,进一步了解流计算在
2929
+ DolphinDB 中的应用。
2930
+
2931
+ 本章涉及到的库表有:
2932
+
2933
+ - 基于 3.3 节创建的 "dfs://stock\_lv2\_snapshot" 库下的快照表 snapshot
2934
+ - 基于 4.2.3 节创建的 "dfs://stock\_trade" 库下的逐笔成交表 trade
2935
+
2936
+ 本章涉及到流表持久化,需要在 server 配置文件(单机:dolphindb.cfg 集群:cluster.cfg)添加配置项 persistenceDir。
2937
+
2938
+ ![](images/new_users_finance/7-1.png)
2939
+
2940
+ ### 7.1 流数据和流计算的定义
2941
+
2942
+ 流数据是基于事件持续生成的时间序列数据。与静态有界的历史数据不同,流数据具有以下特点:
2943
+
2944
+ - **动态:**数据流持续动态生成,流的结束没有明确定义,数据的大小与结构也没有固定限制。
2945
+ - **有序:**每条流数据记录都具有时间戳或者序列号,标识了数据在流中的位置与顺序。
2946
+ - **大规模:**流数据通常以高速率生成,数据规模大,对处理引擎的并行处理性能和可扩展性有更高要求。
2947
+ - **强时效:**流数据的强时效性要求极低延迟的读取和处理能力,以最大化数据价值,驱动实时业务决策。
2948
+
2949
+ 流数据处理是指在实时数据流上进行实时计算和分析的过程,也称为流计算。与批处理不同,流处理无需等待所有数据全部到位,即可按照时间顺序对数据进行增量处理。这种实时处理方式能够高效利用存储与计算资源,适用于需要快速响应和及时决策的应用场景。
2950
+
2951
+ 表 7-1 批计算和流计算对比
2952
+
2953
+ | | **批处理** | **流处理** |
2954
+ | --- | --- | --- |
2955
+ | **数据范围** | 对数据集中的所有或大部分数据进行查询或处理 | 对时间窗口内的数据或对最近的数据记录进行查询或处理 |
2956
+ | **数据大小** | 大批量数据 | 单条记录或包含几条记录的小批量数据 |
2957
+ | **性能** | 几分钟至几小时的延迟 | 亚毫秒级延迟 |
2958
+
2959
+ ### 7.2 发布-订阅
2960
+
2961
+ #### 7.2.1 发布-订阅模型
2962
+
2963
+ DolphinDB
2964
+ 采用了经典的发布-订阅(Pub-Sub)通信模型,通过消息队列实现流数据的发布与订阅,将流数据生产者(发布者)与消费者(订阅者)解耦。这种模式促进了系统内不同组件之间的通信,提高可伸缩性,改善发送者的响应能力。
2965
+
2966
+ ![](images/new_users_finance/7-2.png)
2967
+
2968
+ - 发布数据:发布端在每个节点上维护一个发布队列。当新的流数据注入到该节点的流数据发布表时,DolphinDB
2969
+ 会将这些数据发送到相应的消息发布队列,再由发布线程将数据发布到各个订阅端的消费队列。
2970
+ - 订阅数据:每个订阅线程对应一个消费队列。订阅成功提交后,每当有新数据写入流数据发布表时,DolphinDB
2971
+ 会主动通知所有订阅方,订阅线程从消费队列中获取数据进行增量处理。
2972
+
2973
+ 当发布端发布大量消息造成订阅端来不及处理时,消息会在消费队列进行累积,若消费队列满了,则会反压到发布队列,若发布队列也满了,则会阻塞写入。
2974
+
2975
+ #### 7.2.2 发布-订阅流程
2976
+
2977
+ ![](images/new_users_finance/7-3.png)
2978
+
2979
+ 在实际金融场景下,一个完整发布-订阅流程:(1)行情数据发布到(写入)流表;(2)用户订阅流表进行计算;(3)计算结果通过
2980
+ API、插件等发布到其他第三方平台,例如可视化平台展示、下游数据对接等等。
2981
+
2982
+ **流数据发布**
2983
+
2984
+ 在环节 (1)中,用户通常通过行情插件、消息中间件或 API
2985
+ 将外部订阅的流数据写入流表,或者也可以通过数据回放历史数据写入流表。前者通常应用在实时计算场景,而回放通常是在回测场景使用的。
2986
+
2987
+ - 行情插件:华锐 [amdQuote](../plugins/amdquote/amdquote.html), 华泰 [INSIGHT](../plugins/insight/insight.html), 恒生 [NSQ](../plugins/nsq/nsq.html), 盛立 [EFH](../plugins/efh.html), 中金 [DataFeed](../plugins/datafeed.html),
2988
+ [CTP](../plugins/ctp.html), [XTP](../plugins/xtp.html), [SSEQuotationFile](../plugins/SSEQuotationFile.html) 等。
2989
+ - 消息中间件插件:[Kafka](../plugins/kafka/kafka.html), [zmq](../plugins/zmq/zmq.html), [mqtt](../plugins/mqtt/mqtt.html), [RabbitMQ](../plugins/rabbitMQ.html), [RocketMQ](../plugins/rocketMQ.html) 等。
2990
+ - API:Python, C++, Java, Go, R, JavaScript 等。
2991
+
2992
+ ![](images/new_users_finance/7-4.png)
2993
+
2994
+ **例 1:**回放历史快照表模拟实时数据写入场景。
2995
+
2996
+ 历史数据回放主要分为2个步骤:
2997
+
2998
+ 1. `replayDS` 函数根据历史数据生成回放数据源。
2999
+ 2. `replay` 函数回放历史数据源到目标表对象或流计算引擎。
3000
+
3001
+ ```dolphindb
3002
+ dbName = "dfs://stock_lv2_snapshot"
3003
+ tbName = "snapshot"
3004
+
3005
+ // 从历史数据生成回放数据源
3006
+ beginDate = 2022.01.01
3007
+ endDate = 2022.01.31
3008
+ ds = replayDS(<select * from loadTable(dbName, tbName) where TradeDate between beginDate and endDate>, dateColumn="TradeDate", timeColumn="TradeTime")
3009
+
3010
+ // 定义流计算表
3011
+ colName=loadTable(dbName, tbName).schema().colDefs.name
3012
+ colType=loadTable(dbName, tbName).schema().colDefs.typeString
3013
+ t = streamTable(100:0, colName, colType);
3014
+
3015
+ // 持久化流表
3016
+ enableTableShareAndPersistence(table=t, tableName="st1", cacheSize=100000)
3017
+ go
3018
+
3019
+ // 回放流表
3020
+ replay(inputTables=ds, outputTables="st1", dateColumn="TradeDate", timeColumn="TradeTime", replayRate=100000, absoluteRate=true)
3021
+ ```
3022
+
3023
+ **例 2:**通过 Python API 将上游流数据实时写入流表。
3024
+
3025
+ 本脚本使用的测试数据文件如下,解压到自己的目录后,请替换脚本中的 `data_path`:
3026
+
3027
+ [2022.01.04.zip](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/2022.01.04.zip)
3028
+
3029
+ 通过 Python API 将上游数据写入流表一般分为个步骤:
3030
+
3031
+ 1. 建立到 DolphinDB 数据库的连接。
3032
+ 2. 确保 DolphinDB 端订阅的流表已经建立并且存在。
3033
+ 3. 初始化 `MultithreadedTableWriter(MTW)`对象,建立 API 和 server
3034
+ 端流表的连接(dbName 指定为流表名称),并通过 MTW.insert 接口写入数据。
3035
+ 4. 等待数据完全写入并打印写入结果。
3036
+
3037
+ 本例中上游的历史数据是通过遍历 csv 数据模拟的,用户可以将该部分替换成其他数据源,例如 kafka 数据,参考例 3。
3038
+
3039
+ ```dolphindb
3040
+ import dolphindb as ddb
3041
+ import numpy as np
3042
+ import pandas as pd
3043
+ import dolphindb.settings as keys
3044
+
3045
+ # 建立 API 和 server 之间的连接
3046
+ s = ddb.session()
3047
+ conn = s.connect(host="ecosystem", port=8440, userid="admin", password="123456")
3048
+ # 替换为自己的 ip/port
3049
+
3050
+ if conn:
3051
+ print("successfully connected!")
3052
+
3053
+ # 定义用于写入的持久化流表
3054
+ spt = """
3055
+ dropStreamTable("st2")
3056
+ dbName = "dfs://stock_lv2_snapshot"
3057
+ tbName = "snapshot"
3058
+
3059
+ colName=loadTable(dbName, tbName).schema().colDefs.name
3060
+ colType=loadTable(dbName, tbName).schema().colDefs.typeString
3061
+ t = streamTable(100:0, colName, colType);
3062
+ enableTableShareAndPersistence(table=t, tableName="st2", cacheSize=100000)
3063
+ """
3064
+ s.run(spt)
3065
+
3066
+ # 通过遍历 csv 数据模拟上层实时数据写入
3067
+ # csv 文件和 python 客户端处于同一台服务器
3068
+ data_path = "<YOUR_PATH>/2022.01.04.csv"
3069
+ df = pd.read_csv(data_path)
3070
+
3071
+ # 数据预处理:字段类型转换
3072
+ df["Securityid"] = df["Securityid"].astype('str').apply(lambda x: x.zfill(6))
3073
+ df["TradeDate"] = pd.to_datetime(df["TradeDate"], format='%Y.%m.%d')
3074
+ df["TradeTime"] = pd.to_datetime(df["TradeTime"] , format='%H:%M:%S.%f')
3075
+ df["LocalTime"] = pd.to_datetime(df["LocalTime"] , format='%H:%M:%S.%f')
3076
+ df["OfferPrice"] = df["OfferPrice"].apply(lambda str: [float(x) if x.strip() else np.NaN for x in str.split(',')])
3077
+ df["BidPrice"] = df["BidPrice"].apply(lambda str: [float(x) if x.strip() else np.NaN for x in str.split(',')])
3078
+ df["OfferOrderQty"] = df["OfferOrderQty"].apply(lambda str: [int(x) if x.strip() else None for x in str.split(',')])
3079
+ df["BidOrderQty"] = df["BidOrderQty"].apply(lambda str: [int(x) if x.strip() else None for x in str.split(',')])
3080
+ df["BidNumOrders"] = df["BidNumOrders"].apply(lambda str: [int(x) if x.strip() else None for x in str.split(',')])
3081
+ df["OfferNumOrders"] = df["OfferNumOrders"].apply(lambda str: [int(x) if x.strip() else None for x in str.split(',')])
3082
+ df["OfferOrder"] = df["OfferOrder"].apply(lambda str: [int(x) if x.strip() else None for x in str.split(',')])
3083
+ df["BidOrder"] = df["BidOrder"].apply(lambda str: [int(x) if x.strip() else None for x in str.split(',')])
3084
+
3085
+ writer = ddb.MultithreadedTableWriter(host="ecosystem", port=8440, userId="admin", password="123456", dbPath="", tableName="st2", threadCount=1)
3086
+
3087
+ # 数据写入:通过循环模拟实时数据逐条接入
3088
+ for row in df.itertuples(index=False):
3089
+ data = tuple(row)
3090
+ tmp = writer.insert(*data)
3091
+ # 如有写入错误打印错误代码和错误信息
3092
+ if(tmp.hasError()):
3093
+ print(tmp.errorCode + ": " + tmp.errorInfo)
3094
+
3095
+ # 等待写入完成
3096
+ writer.waitForThreadCompletion()
3097
+
3098
+ # 打印写入整体状态
3099
+ res = writer.getStatus()
3100
+ print(res)
3101
+
3102
+ # 打印最终写入结果
3103
+ if res.succeed():
3104
+ print("Data successfully written.")
3105
+ ```
3106
+
3107
+ **例 3:**在 Python 端通过 kafka 消息中间件将上游流数据实时写入流表。
3108
+
3109
+ 本教程提取部分历史数据导入 kafka 中进行测试,测试数据文件如下:
3110
+
3111
+ [snap\_json\_kafka.txt](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/snap_json_kafka.txt)
3112
+
3113
+ [2022.01.04.zip](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/2022.01.04.zip)
3114
+
3115
+ 与例 2 相比,本例只是将数据源替换成了 Kafka 插件端接收的数据,因此其大致流程和例 2 相同,也是分为下述步骤:
3116
+
3117
+ 1. 建立到 DolphinDB 数据库的连接。
3118
+ 2. 确保 DolphinDB 端订阅的流表已经建立并且存在。
3119
+ 3. 创建一个KafkaConsumer对象,并指定要消费的topic。
3120
+ 4. 初始化 `MultithreadedTableWriter(MTW)`对象,建立 API 和 server
3121
+ 端流表的连接(dbName 指定为流表名称),逐条消费并处理 kafka 端的数据,并通过 MTW.insert 接口写入数据。
3122
+
3123
+ ```dolphindb
3124
+ from kafka import KafkaConsumer, TopicPartition
3125
+ import json
3126
+ from json import JSONDecodeError
3127
+ import dolphindb as ddb
3128
+ import numpy as np
3129
+ import pandas as pd
3130
+ import dolphindb.settings as keys
3131
+
3132
+ # 建立 API 和 server 之间的连接
3133
+ s = ddb.session()
3134
+ conn = s.connect(host="ecosystem", port=8440, userid="admin", password="123456")
3135
+ # 替换自己的 ip/port
3136
+
3137
+ if conn:
3138
+ print("successfully connected!")
3139
+
3140
+ # 定义用于写入的持久化流表
3141
+ spt = """
3142
+ try{dropStreamTable("st3")}catch(ex){writeLog(ex)}
3143
+
3144
+ dbName = "dfs://stock_lv2_snapshot"
3145
+ tbName = "snapshot"
3146
+
3147
+ colName=loadTable(dbName, tbName).schema().colDefs.name
3148
+ colType=loadTable(dbName, tbName).schema().colDefs.typeString
3149
+ t = streamTable(100:0, colName, colType);
3150
+ enableTableShareAndPersistence(table=t, tableName="st3", cacheSize=100000)
3151
+ """
3152
+ s.run(spt)
3153
+
3154
+ ##### 上述脚本可在 DolphinDB 端实现 #####
3155
+
3156
+ # 定义Kafka集群的地址和topic名称
3157
+ bootstrap_servers = ['183.134.101.143:9092']
3158
+ topic = 'snapshot'
3159
+
3160
+ # 创建一个KafkaConsumer对象,并指定要消费的topic
3161
+ consumer = KafkaConsumer(topic, bootstrap_servers=bootstrap_servers,
3162
+ auto_offset_reset='earliest',
3163
+ enable_auto_commit=True,
3164
+ value_deserializer=lambda m: json.loads(m) if m else None
3165
+ )
3166
+
3167
+ # 创建 MTW 对象用于实时写入流数据
3168
+ writer = ddb.MultithreadedTableWriter(host="ecosystem", port=8440, userId="admin", password="123456", dbPath="", tableName="st3", threadCount=1, batchSize=100)
3169
+
3170
+ # 消费 kafka 中的数据写入流表
3171
+ for message in consumer:
3172
+ try:
3173
+ msg = message.value
3174
+ msg['TradeDate']=pd.to_datetime(msg["TradeDate"], format='%Y.%m.%d')
3175
+ msg["TradeTime"] = pd.to_datetime(msg["TradeTime"] , format='%H:%M:%S.%f')
3176
+ msg["LocalTime"] = pd.to_datetime(msg["LocalTime"] , format='%H:%M:%S.%f')
3177
+ data = tuple(msg.values())
3178
+ tmp = writer.insert(*data)
3179
+ if(tmp.hasError()):
3180
+ print(tmp.errorCode + ": " + tmp.errorInfo)
3181
+ except Exception:
3182
+ print("Received invalid JSON message:", message)
3183
+ ```
3184
+
3185
+ **流数据订阅**
3186
+
3187
+ 流数据发布之后就来到了环节(2)流数据订阅,用户可以通过函数 `subscribeTable`
3188
+ 订阅流数据表中的数据,并且在订阅时,可以通过设置 `subscribeTable` 函数的参数
3189
+ *handler* 来配置消息处理机制。
3190
+
3191
+ 关键参数配置:
3192
+
3193
+ - *batchSize*:每隔多少条消息处理一次
3194
+ - *throttle*:每隔多少秒处理一次
3195
+ - *handler*:设置订阅消息注入对象,可以是消息处理函数、流计算引擎、数据表
3196
+ - *offset*:订阅消息的偏移量,可选机制:
3197
+ - -2:适用于持久化流表订阅。获取持久化到磁盘上的 *offset*,并从该位置开始订阅
3198
+ - -1:从发起订阅后的下一条数据开始订阅
3199
+ - n(n >= 0):从第 n 条数据开始订阅
3200
+ - *reconnect*:流订阅中断时,自动重新订阅
3201
+
3202
+ DolphinDB 不仅支持 server 端节点之间的订阅,而且支持通过第三方 API 订阅 DolphinDB
3203
+ 流表数据,推送给下游的其他平台。下面我们结合几个具体的案例进行说明。
3204
+
3205
+ **例 1:**在 server 端订阅流数据,进行数据处理后入库。
3206
+
3207
+ 执行代码前,可以初始化定义一些变量并清理执行环境。
3208
+
3209
+ ```dolphindb
3210
+ undef all
3211
+ go
3212
+
3213
+ // 变量定义
3214
+ dbName = "dfs://stock_lv2_snapshot"
3215
+ tbName = "snapshot"
3216
+ tbName1 = "snapshot_trade"
3217
+
3218
+ // 清理环境
3219
+ try{
3220
+ dropTable(database(dbName), tbName1)
3221
+ // 删除流表前需要取消该表所有的订阅
3222
+ unsubscribeTable(tableName="snap1", actionName="subAndWrt2db")
3223
+ dropStreamTable("snap1")
3224
+ }catch(ex){print ex}
3225
+ ```
3226
+
3227
+ 创建一个分布式表 snapshot\_trade 用于存储流表处理后的数据。
3228
+
3229
+ ```dolphindb
3230
+ create table "dfs://stock_lv2_snapshot"."snapshot_trade"(
3231
+ TradeDate DATE[comment="交易日期", compress="delta"]
3232
+ TradeTime TIME[comment="交易时间", compress="delta"]
3233
+ SecurityID SYMBOL
3234
+ OpenPrice DOUBLE
3235
+ PreClosePrice DOUBLE
3236
+ HighPrice DOUBLE
3237
+ LowPrice DOUBLE
3238
+ LastPrice DOUBLE
3239
+ PreCloseIOPV DOUBLE
3240
+ IOPV DOUBLE
3241
+ UpLimitPx DOUBLE
3242
+ DownLimitPx DOUBLE
3243
+ DeltasHighPrice INT
3244
+ DeltasLowPrice INT
3245
+ DeltasVolume LONG
3246
+ DeltasTurnover DOUBLE
3247
+ DeltasTradesCount INT
3248
+ )
3249
+ partitioned by TradeDate, SecurityID,
3250
+ sortColumns=[`SecurityID,`TradeTime],
3251
+ keepDuplicates=ALL
3252
+ ```
3253
+
3254
+ 定义流数据表并建立流订阅。
3255
+
3256
+ 本例对流数据进行处理,包含 2 个方面:
3257
+
3258
+ 1. `setStreamTableFilterColumn` 函数:设置只订阅
3259
+ `TradingPhaseCode` 字段为 ”Trade“ 值的数据
3260
+ 2. 自定义函数 `append2Table` :在入库前对部分字段的数据进行计算和处理
3261
+
3262
+ ```dolphindb
3263
+ // 定义流表
3264
+ colName=loadTable(dbName, tbName).schema().colDefs.name
3265
+ colType=loadTable(dbName, tbName).schema().colDefs.typeString
3266
+ t = streamTable(100:0, colName, colType);
3267
+ enableTableShareAndPersistence(table=t, tableName="snap1", cacheSize=100000)
3268
+ go
3269
+
3270
+ // 定义过滤字段
3271
+ setStreamTableFilterColumn(snap1, "TradingPhaseCode")
3272
+
3273
+ // 定义流数据处理函数:订阅处理后写入分布式表
3274
+ def append2Table(dbName, tbName, mutable msg){
3275
+ data = select TradeDate,
3276
+ iif(TradeTime <=09:30:00.000, 09:30:00.000, TradeTime) as TradeTime,
3277
+ SecurityID,
3278
+ OpenPrice,
3279
+ PreCloPrice,
3280
+ HighPrice,
3281
+ LowPrice,
3282
+ LastPrice,
3283
+ PreCloseIOPV,
3284
+ IOPV,
3285
+ UpLimitPx,
3286
+ DownLimitPx,
3287
+ iif(deltas(HighPrice)>0.000001, 1, 0) as DeltasHighPrice,
3288
+ iif(abs(deltas(LowPrice))>0.000001, -1, 0) as DeltasLowPrice,
3289
+ iif(deltas(TotalVolumeTrade)==NULL, TotalVolumeTrade, deltas(TotalVolumeTrade)) as DeltasVolume,
3290
+ iif(deltas(TotalValueTrade)==NULL, TotalValueTrade, deltas(TotalValueTrade)) as DeltasTurnover,
3291
+ iif(deltas(NumTrades)==NULL, NumTrades, deltas(NumTrades)) as DeltasTradesCount
3292
+ from msg
3293
+ where TradeTime >=09:25:00.000
3294
+ context by SecurityID
3295
+ loadTable(dbName, tbName).tableInsert(data)
3296
+ }
3297
+
3298
+ // 订阅流表
3299
+ subscribeTable(tableName="snap1", actionName="subAndWrt2db", offset=0, handler=append2Table{dbName, tbName1}, msgAsTable=true, batchSize=10000, filter=["TRADE"])
3300
+ ```
3301
+
3302
+ 使用 `replay` 函数回放历史存储的快照数据到流表,以模拟实时数据写入。
3303
+
3304
+ ```dolphindb
3305
+ // 历史数据回放
3306
+ beginDate = 2022.01.01
3307
+ endDate = 2022.01.10
3308
+ ds = replayDS(<select * from loadTable(dbName, tbName) where TradeDate between beginDate and endDate>, dateColumn="TradeDate", timeColumn="TradeTime")
3309
+
3310
+ replay(inputTables=ds, outputTables="snap1", dateColumn="TradeDate", timeColumn="TradeTime", replayRate=100000, absoluteRate=true)
3311
+
3312
+ // 查看实际入库的数据
3313
+ select count(*) from loadTable(dbName, tbName1) // 799,013
3314
+ ```
3315
+
3316
+ **例 2:**在 API 端订阅流数据表,并在 API 端进行计算。
3317
+
3318
+ 在订阅流表前,现在 DolphinDB 端(Web / GUI / VSCode)执行下述脚本,定义一个持久化流表 snap2。
3319
+
3320
+ ```dolphindb
3321
+ dbName = "dfs://stock_lv2_snapshot"
3322
+ tbName = "snapshot"
3323
+
3324
+ beginDate = 2022.01.01
3325
+ endDate = 2022.01.10
3326
+ ds = replayDS(<select * from loadTable(dbName, tbName) where TradeDate between beginDate and endDate>, dateColumn="TradeDate", timeColumn="TradeTime")
3327
+
3328
+ dbName = "dfs://stock_lv2_snapshot"
3329
+ tbName = "snapshot"
3330
+ streamTbName = "snap2"
3331
+
3332
+ // 请确保没有同名流表,如有请修改表名
3333
+ // 若需要重复执行该脚本,可执行此步取消订阅删除流表
3334
+ try{
3335
+ actName = exec actions from getStreamingStat().pubTables where tableName = streamTbName
3336
+ hp = exec subscriber from getStreamingStat().pubTables where tableName = streamTbName
3337
+ host = hp[0].split(":")[0]
3338
+ port = hp[0].split(":")[1].int()
3339
+ stopPublishTable(host, port, streamTbName, actName[0])
3340
+ dropStreamTable(streamTbName)
3341
+ }catch(ex){
3342
+ print ex
3343
+ }
3344
+
3345
+ // 定义一个持久化流表 snap2 接收流数据
3346
+ colName=loadTable(dbName, tbName).schema().colDefs.name
3347
+ colType=loadTable(dbName, tbName).schema().colDefs.typeString
3348
+ t = streamTable(100:0, colName, colType);
3349
+ enableTableShareAndPersistence(table=t, tableName=streamTbName, cacheSize=100000)
3350
+ go
3351
+ // (非必要)设置过滤列,若不需要过滤可以删去该脚本
3352
+ setStreamTableFilterColumn(snap2, 'SecurityID')
3353
+ ```
3354
+
3355
+ 在 Python 客户端发起订阅,并将订阅到的流数据存入本地的csv文件。导入 csv 文件的处理逻辑封装在 handler 函数内,由于设置
3356
+ msgAsTable=True 后,导入的数据以表的形式传输到 Python 端,默认转化为 DataFrame 形式,因此可以直接用 to\_csv
3357
+ 导出。 此处的 handler 函数也可以替换成其他数据处理计算逻辑。
3358
+
3359
+ ```dolphindb
3360
+ import dolphindb as ddb
3361
+ import numpy as np
3362
+ import pandas as pd
3363
+ import dolphindb.settings as keys
3364
+ from threading import Event
3365
+
3366
+ # 建立 API 和 server 之间的连接
3367
+ s = ddb.session()
3368
+ conn = s.connect(host="ecosystem", port=8440, userid="admin", password="123456")
3369
+ # 替换自己的 ip/port
3370
+
3371
+ # 确认连接是否成功
3372
+ if conn:
3373
+ print("successfully connected!")
3374
+
3375
+ # 开启流数据功能
3376
+ s.enableStreaming(0)
3377
+ # 定义流计算处理函数
3378
+ def my_handler(msg):
3379
+ optPath = "D:/File2024/入门教程/streamOutput.csv"
3380
+ msg.to_csv(optPath, mode="a", header=False, index=False)
3381
+
3382
+ # 发起订阅
3383
+ s.subscribe(host="ecosystem", port=8440, tableName="snap2", actionName="sub_snap2", offset=-1, handler=my_handler, msgAsTable=True, batchSize=10000, throttle=1, filter=np.array(["000001"]))
3384
+
3385
+ # 阻塞进程使订阅持续进行
3386
+ Event().wait()
3387
+ ```
3388
+
3389
+ 流数据回放模拟:提交一个历史数据回放的后台任务模拟流数据回放
3390
+
3391
+ ```dolphindb
3392
+ submitJob("replay", "mockRealTimeData", replay{inputTables=ds, outputTables=streamTbName, dateColumn="TradeDate", timeColumn="TradeTime", replayRate=100000, absoluteRate=true})
3393
+ getRecentJobs(1)
3394
+ ```
3395
+
3396
+ 可以通过 `getRecentJobs`
3397
+ 函数查看当前回放任务是否结束,回放结束后,可以在指定目录查看文件是否成功导出。
3398
+
3399
+ ### 7.3 流计算引擎
3400
+
3401
+ 在 DolphinDB 处理流数据有天然优势,这是因为 DolphinDB
3402
+ 内置了处理不同逻辑场景的流计算引擎,即使是复杂的因子计算逻辑,也可以通过逻辑拆分交给不同的引擎去实现,通过引擎的级联实现流水线式的计算。且 DolphinDB
3403
+ 的内置引擎支持的算子经过了算法上的优化,计算性能高效。用户使用时仅需要对引擎参数进行配置,即可实现复杂逻辑,节省了用户自己开发算法逻辑的成本。
3404
+
3405
+ ![](images/new_users_finance/7-5.png)
3406
+
3407
+ 根据各自适用的逻辑和场景,DolphinDB 内置的流计算引擎可以分为以下几类:
3408
+
3409
+ 表 7-3-1 不同流计算场景下适用的引擎及其计算逻辑
3410
+
3411
+ | **接入数据源** | **场景** | **引擎** | **类比批计算逻辑** |
3412
+ | --- | --- | --- | --- |
3413
+ | 单流 | 时序窗口聚合计算 | createTimeSeriesEngine | group by + interval/bar/dailyAlignedBar |
3414
+ | createDailyTimeSeriesEngine |
3415
+ | 涉及历史状态的计算 | createReactiveStateEngine | **状态函数:** mfunc, tmfunc, cumfunc, rowfunc, prev/move/deltas… **无状态函数:** rowFunc, 四则运算… |
3416
+ | createNarrowReactiveStateEngine |
3417
+ | createDualOwnershipReactiveStateEngine |
3418
+ | createReactiveStatelessEngine | 类似 excel 单元格关联 |
3419
+ | 截面计算 | createCrossSectionalEngine | pivot by |
3420
+ | 会话窗口计算 | createSessionWindowEngine | sessionWindow |
3421
+ | 异常检测、风控 | createAnomalyDetectionEngine | iif |
3422
+ | createRuleEngine |
3423
+ | 基础算子计算,通过GPU 加速 | createDeviceEngine | / |
3424
+ | 快照合成 | createOrderBookSnapshotEngine | / |
3425
+ | 复杂事件处理引擎 | createCEPEngine | / |
3426
+ | 数据分发、广播 | createStreamBroadcastEngine | 同一张流表复制多路广播 |
3427
+ | createStreamDispatchEngine | 同一张流表拆分后,分发给多个引擎并行计算 |
3428
+ | 双流 | 等值连接:左右表互相匹配连接列和时间列都相等的数据 | createEquiJoinEngine | equi join (ej) |
3429
+ | 左连接:按连接列分组,左表就近匹配右表时间列进行连接 | createAsofJoinEngine | asof join (aj) |
3430
+ | 左连接:左边按连接列等值匹配右表数据,多条匹配可以选择保留最新还是最就的一条 | createLeftSemiJoinEngine | lsj (多条匹配仅取第一条) |
3431
+ | 左连接:按连接列分组,左表时间列确立一个窗口,匹配右表在该窗口中的数据 | createWindowJoinEngine | window join (wj) |
3432
+ | 左连接:适用于右表不频繁更新的场景(通常是维度表),左表按连接列等值匹配右表 | createLookupJoinEngine | left join (lj) |
3433
+
3434
+ **例.** 流式计算主买/主卖交易量(示例代码参考:[流式计算中证
3435
+ 1000 指数主买/主卖交易量](CSI_1000.html))
3436
+
3437
+ 计算公式:主买/主卖交易量 = Σ(交易价格\*交易量\*权重因子)
3438
+
3439
+ 拆分计算逻辑,得到的计算流程为:
3440
+
3441
+ (1)计算每分钟的成交量(按照股票分组)→ 时序聚合引擎
3442
+
3443
+ (2)按分钟累计成交量(按照股票分组) → 响应式状态引擎
3444
+
3445
+ (3)对股票成交量进行加权求和计算交易量 → 横截面引擎
3446
+
3447
+ ![](images/new_users_finance/7-6.png)
3448
+ ![](images/new_users_finance/7-7.png)
3449
+
3450
+ 在运行脚本前,可以先清理环境中的变量,并初始化定义一些公共变量:
3451
+
3452
+ ```dolphindb
3453
+ undef all
3454
+ go
3455
+
3456
+ dbName = "dfs://stock_trade"
3457
+ tbName = "trade"
3458
+ streamTbName = "trade_st"
3459
+
3460
+ try{unsubscribeTable(tableName=streamTbName, actionName="act_tsEngine")}catch(ex){print(ex)}
3461
+ try{dropStreamEngine("rsEngine")}catch(ex){print(ex)}
3462
+ try{dropStreamEngine("tsEngine")}catch(ex){print(ex)}
3463
+ try{dropStreamEngine("csEngine")}catch(ex){print(ex)}
3464
+ ```
3465
+
3466
+ 定义一个持久化流表 trade\_st 用于接收实时的逐笔成交数据。
3467
+
3468
+ ```dolphindb
3469
+ colName=loadTable(dbName, tbName).schema().colDefs.name
3470
+ colType=loadTable(dbName, tbName).schema().colDefs.typeString
3471
+ t = streamTable(100:0, colName, colType);
3472
+
3473
+ try{
3474
+ enableTableShareAndPersistence(table=t, tableName=streamTbName, asynWrite=true, compress=true, cacheSize=100000, retentionMinutes=1440, flushMode=0, preCache=10000)
3475
+ }
3476
+ catch(ex){
3477
+ print(ex)
3478
+ }
3479
+
3480
+ undef("t")
3481
+ go
3482
+ ```
3483
+
3484
+ 模拟创建成分股权重因子。
3485
+
3486
+ ```dolphindb
3487
+ sids = exec distinct SecurityID from loadTable(dbName, tbName)
3488
+ def createWeightDict(sids){
3489
+
3490
+ return dict(sids, take(0.001, sids.size()))
3491
+ }
3492
+
3493
+ weightDict = createWeightDict(sids)
3494
+ ```
3495
+
3496
+ 模拟创建成分股权重因子。
3497
+
3498
+ ```dolphindb
3499
+ // 输入表结构定义
3500
+ tsEngineDummy = table(1:0, `SecurityID`TradeTime`TradePrice`TradeQty`TradeBSFlag, [SYMBOL, TIMESTAMP, DOUBLE, INT, SYMBOL])
3501
+ rsEngineDummy = table(1:0, `TradeTime`SecurityID`SellTradeAmount`BuyTradeAmount, [TIMESTAMP, SYMBOL, DOUBLE, DOUBLE])
3502
+ csEngineDummy = table(1:0, `SecurityID`TradeTime`SellTradeAmount`BuyTradeAmount, [SYMBOL, TIMESTAMP, DOUBLE, DOUBLE])
3503
+
3504
+ //创建存储结果的表
3505
+ share(keyedTable(`Time, 2000:0, `Time`SellTradeAmount`BuyTradeAmount`UpdateTime, [TIMESTAMP, DOUBLE, DOUBLE, TIMESTAMP]), "tradeAmountIndex")
3506
+ go
3507
+ ```
3508
+
3509
+ 定义流计算引擎。由于引擎是通过输出表设置为下一个引擎,来进行级联的,为保证脚本正常解析,引擎定义的顺序和业务数据流的逻辑是相反的。如本例中计算逻辑是 时序引擎 →
3510
+ 响应式状态引擎 → 横截面引擎,脚本中定义顺序则相反:
3511
+
3512
+ ```dolphindb
3513
+ //创建横截面引擎
3514
+ csEngine = createCrossSectionalEngine(name="csEngine", metrics=<[wsum(SellTradeAmount, weightDict[SecurityID]), wsum(BuyTradeAmount, weightDict[SecurityID]), now()]>, dummyTable=csEngineDummy, outputTable=objByName("tradeAmountIndex"), keyColumn=`SecurityID, triggeringPattern="keyCount", triggeringInterval=1000, useSystemTime=false, timeColumn=`TradeTime, lastBatchOnly=false)
3515
+
3516
+ //创建响应式状态引擎
3517
+ rsEngine = createReactiveStateEngine(name="rsEngine", metrics=<[cummax(TradeTime), cumsum(SellTradeAmount), cumsum(BuyTradeAmount)]>, dummyTable=rsEngineDummy, outputTable=csEngine, keyColumn=`SecurityID)
3518
+
3519
+ //创建时间序列引擎
3520
+ tsEngine = createTimeSeriesEngine(name="tsEngine", windowSize=60000, step=60000, metrics=<[sum(iif(TradeBSFlag=="S", 1, 0)*TradeQty*TradePrice), sum(iif(TradeBSFlag=="B", 1, 0)*TradeQty*TradePrice)]>, dummyTable=tsEngineDummy, outputTable=rsEngine, timeColumn=`TradeTime, keyColumn=`SecurityID, useWindowStartTime=true, fill=[0, 0], forceTriggerTime=100)
3521
+ ```
3522
+
3523
+ 订阅逐笔数据表,写入引擎流水线的第一个引擎:时序聚合引擎。
3524
+
3525
+ 本例自定义了一个流数据处理函数 `streamHandler`,可以通过修改内部逻辑自定义数据处理方案。
3526
+
3527
+ ```dolphindb
3528
+ // handler 数据处理函数
3529
+ def streamHandler(mutable engine, msg){
3530
+ data = select SecurityID, concatDateTime(TradeDate, TradeTime) as TradeTime, TradePrice, TradeQty, TradeBSFlag from msg
3531
+ engine.append!(data)
3532
+ }
3533
+
3534
+ // 订阅流数据表
3535
+ subscribeTable(tableName=streamTbName, actionName="act_tsEngine", offset=0, handler=streamHandler{tsEngine}, msgAsTable=true, batchSize=10000, throttle=0.001)
3536
+ ```
3537
+
3538
+ 通过 `replayDS` 函数获取历史数据源,然后借助 `replay`
3539
+ 函数模拟流数据回放过程。
3540
+
3541
+ ```dolphindb
3542
+ // 后台提交数据回放任务,模拟实时数据注入
3543
+ // 本例设置 timeRepartitionSchema 将数据源按照 15min 进行切片,这是为了保证回放时数据不会 OOM
3544
+ ds = replayDS(<select * from loadTable(dbName, tbName)>, dateColumn="TradeDate", timeColumn="TradeTime", timeRepartitionSchema=09:30:00.000 + 15*1000*60*(0..22))
3545
+
3546
+ submitJob("relay", "replay to trade", replay{inputTables=ds, outputTables=streamTbName, dateColumn="TradeDate", timeColumn="TradeTime", replayRate=10000000, absoluteRate=true})
3547
+ getRecentJobs(1)
3548
+ ```
3549
+
3550
+ 回放进程可以通过函数 `getRecentJobs` 进程查询。
3551
+
3552
+ 通过 SQL 查询输出的结果表:
3553
+
3554
+ ```dolphindb
3555
+ select * from tradeAmountIndex limit 10
3556
+ ```
3557
+
3558
+ ![](images/new_users_finance/7-8.png)
3559
+
3560
+ 为了新用户能够更好理解引擎的计算,我们仔细观察三个计算引擎的流计算指标。
3561
+
3562
+ - 时序聚合引擎
3563
+
3564
+ ```dolphindb
3565
+ <[sum(iif(TradeBSFlag=="S", 1, 0)*TradeQty*TradePrice),
3566
+ sum(iif(TradeBSFlag=="B", 1, 0)*TradeQty*TradePrice)]>
3567
+ ```
3568
+
3569
+ - 响应式状态引擎
3570
+
3571
+ ```dolphindb
3572
+ <[cummax(TradeTime), cumsum(SellTradeAmount), cumsum(BuyTradeAmount)]>
3573
+ ```
3574
+
3575
+ - 横截面引擎
3576
+
3577
+ ```dolphindb
3578
+ <[wsum(SellTradeAmount, weightDict[SecurityID]), wsum(BuyTradeAmount, weightDict[SecurityID]), now()]>
3579
+ ```
3580
+
3581
+ 将上述流计算脚本转换为 SQL 批计算逻辑,可改写如下:
3582
+
3583
+ 从分布式表中筛选一部分字段进行计算:
3584
+
3585
+ ```dolphindb
3586
+ data = select SecurityID, concatDateTime(TradeDate, TradeTime) as TradeTime, TradePrice, TradeQty, TradeBSFlag from loadTable(dbName, tbName)
3587
+ ```
3588
+
3589
+ 注:
3590
+
3591
+ 如果此脚本读取的数据量太大造成内存溢出,可以加上 limit 或 top
3592
+ 子句筛选一部分数据进行计算验证结果。
3593
+
3594
+ - 按时间进行分钟聚合(时序聚合)
3595
+
3596
+ ```dolphindb
3597
+ t1 = select sum(iif(TradeBSFlag=="S", 1, 0)*TradeQty*TradePrice) as SellTradeAmount,
3598
+ sum(iif(TradeBSFlag=="B", 1, 0)*TradeQty*TradePrice) as BuyTradeAmount
3599
+ from data group by SecurityID, interval(TradeTime, 1m, 0) as TradeTime
3600
+ ```
3601
+
3602
+ - 累积计算成交量(状态计算)
3603
+
3604
+ ```dolphindb
3605
+ t2 = select SecurityID, cummax(TradeTime) as Time,
3606
+ cumsum(SellTradeAmount) as SellTradeAmount,
3607
+ cumsum(BuyTradeAmount) as BuyTradeAmount
3608
+ from t1 context by SecurityID
3609
+ ```
3610
+
3611
+ - 按股票因子加权计算成交量(截面计算)
3612
+
3613
+ ```dolphindb
3614
+ t3 = select wsum(SellTradeAmount, weightDict[SecurityID]) as SellTradeAmount,
3615
+ wsum(BuyTradeAmount, weightDict[SecurityID]) as BuyTradeAmount
3616
+ from t2 group by Time
3617
+ ```
3618
+
3619
+ 对比批计算和流计算的脚本,可以发现不论是引擎的算子还是 SQL select 的计算主体,本质上都使用了一套函数去实现,这体现了 DolphinDB
3620
+ 流批一体的计算特点。
3621
+
3622
+ ### 7.4 常见问题
3623
+
3624
+ 1. 流表数据是否支持部分记录的更新和删除?
3625
+
3626
+ 不支持。流表记录只能追加,一旦追加后就不能更新和删除。
3627
+
3628
+ 特殊地,对于键值流表(keyedStreamTable
3629
+ 和 latestKeyedStreamTable),系统支持在数据写入流表前,进行键值检查,以选择数据是追加还是丢弃。
3630
+ 2. 流表数据量大,内存占用不够怎么解决?
3631
+
3632
+ 可以将流表通过 `enableTablePersistence` 函数或者
3633
+ `enableTableShareAndPersistence`
3634
+ 函数进行持久化,系统会将一部分数据持久化存储到磁盘指定目录(通过配置参数 [persistenceDir](../db_distr_comp/cfg/function_configuration.html) 设置)。
3635
+ 3. 如何配置重启后自动加载订阅流表?
3636
+
3637
+ 将流数据表定义和流表订阅操作放在启动脚本 startup.dos (通过配置参数 [startup](../db_distr_comp/cfg/standalone.html)
3638
+ 设置)内,这样节点重启后可以自动加载订阅流表。详情参考教程 [启动脚本](Startup.html) 和 [节点启动时的流计算自动订阅](streaming_auto_sub.html)。
3639
+ 4. 流表如何进行删除?一直无法删除如何解决?
3640
+
3641
+ 流表需要通过函数 `dropStreamTable` 进行删除,而不是通过 `` undef(`st,
3642
+ SHARED) `` 进行删除。
3643
+
3644
+ 如果流表一直无法删除,请通过 `getStreamingStat`
3645
+ 函数查看当前流表上是否存在未取消的订阅,只有订阅全被取消后(取消订阅函数
3646
+ `unsubscribeTable`),才能删除流表。
3647
+ 5. 如何配置定期删除持久化流表持久化的数据?
3648
+
3649
+ 用户可以在通过 `enableTablePersistence` 函数或者
3650
+ `enableTableShareAndPersistence` 函数持久化流表时,设置
3651
+ *retentionMinutes* 参数,定期删除持久化的数据。
3652
+ 6. 如何查询当前流表是否存在?
3653
+
3654
+ 可以通过函数 existsStreamTable 查看指定流数据表是否存在。
3655
+
3656
+ 需要注意,用户常会误用 defined 函数进行判断,但是该函数对于共享内存表也会返回 true。
3657
+ 7. 流订阅或流计算异常如何排查?
3658
+
3659
+ 函数 `getStreamingStat` 返回了流订阅发布的详细信息,其中比较常用的信息有:
3660
+
3661
+ - 通过 subWorkers 表的 lastErrMsg 字段可以排查订阅中是否存在异常;
3662
+ - 通过 pubConns 表和 subWorkers 表中的 queueDepth 字段可以排查订阅是否阻塞;
3663
+
3664
+ 通过函数 `getStreamEngineStat` 排查流计算引擎的状态。
3665
+
3666
+ ### 7.5 下一步阅读
3667
+
3668
+ 官方文档 [流数据](../stream/str_intro.html)
3669
+ 整理了一些流计算相关的文档和教程说明,此处仅列举部分:
3670
+
3671
+ - 流数据架构:[流数据功能简介](../stream/str_funcs.html)
3672
+ [流数据表](../stream/str_table.html)
3673
+ [发布与订阅](../stream/sub_pub.html)
3674
+ - 流计算引擎:[内置流式计算引擎](../funcs/themes/streamingEngine.html)
3675
+ [内置多数据源流式关联引擎](../stream/str_join_engine.html)
3676
+ - 流数据接入:[Python API 接入数据](../stream/str_api_python.html)
3677
+ [行情数据插件:NSQ](../plugins/nsq/nsq.html)
3678
+ - 数据回放:[股票行情回放](stock_market_replay.html)
3679
+ - 流批一体:[流批一体](../stream/str_batch.html)
3680
+ [快速搭建 Level-2
3681
+ 快照数据流批一体因子计算平台最佳实践](l2_snapshot_factor_calc.html)
3682
+ - 场景案例:[金融实时实际波动率预测](ml_volatility.html)
3683
+ [实时计算日累计逐单资金流](streaming_capital_flow_daily.html)
3684
+ [实时计算分钟资金流](streaming_capital_flow_order_by_order.html)
3685
+ [实时选取外汇行情多价源最优价](best_price_selection.html)
3686
+ 金[融因子流式实现](str_comp_fin_quant.html#%E9%87%91%E8%9E%8D%E5%9B%A0%E5%AD%90%E6%B5%81%E5%BC%8F%E5%AE%9E%E7%8E%B0)
3687
+ - 可视化展示:[数据面板](dashboard_tutorial.html)
3688
+ [Altair 连接 DolphinDB 数据源](../stream/str_altair.html)
3689
+ [DolphinDB Grafana
3690
+ DataSource Plugin](../tools/grafana.html)
3691
+
3692
+ ## 8. 附录
3693
+
3694
+ 各章节对应的脚本代码如下:
3695
+
3696
+ [2.2MockData.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/2.2MockData.dos)
3697
+
3698
+ [3.3建库建表.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/3.3%E5%BB%BA%E5%BA%93%E5%BB%BA%E8%A1%A8.dos)
3699
+
3700
+ [4.2.1导入一年快照数据.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.2.1%E5%AF%BC%E5%85%A5%E4%B8%80%E5%B9%B4%E5%BF%AB%E7%85%A7%E6%95%B0%E6%8D%AE.dos)
3701
+
3702
+ [4.2.2导入一天快照数据.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.2.2%E5%AF%BC%E5%85%A5%E4%B8%80%E5%A4%A9%E5%BF%AB%E7%85%A7%E6%95%B0%E6%8D%AE.dos)
3703
+
3704
+ [4.2.3导入逐笔成交数据.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.2.3%E5%AF%BC%E5%85%A5%E9%80%90%E7%AC%94%E6%88%90%E4%BA%A4%E6%95%B0%E6%8D%AE.dos)
3705
+
3706
+ [4.3.1场景一.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.3.1%E5%9C%BA%E6%99%AF%E4%B8%80.dos)
3707
+
3708
+ [4.3.1场景二.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.3.1%E5%9C%BA%E6%99%AF%E4%BA%8C.dos)
3709
+
3710
+ [4.3.2场景一.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.3.2%E5%9C%BA%E6%99%AF%E4%B8%80.dos)
3711
+
3712
+ [4.3.2场景二.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.3.2%E5%9C%BA%E6%99%AF%E4%BA%8C.dos)
3713
+
3714
+ [4.3.3 中文导入.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/4.3.3%20%E4%B8%AD%E6%96%87%E5%AF%BC%E5%85%A5.dos)
3715
+
3716
+ [5.数据表操作.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/5.%E6%95%B0%E6%8D%AE%E8%A1%A8%E6%93%8D%E4%BD%9C.dos)
3717
+
3718
+ [5.3.3 场景一\_删除单分区.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/5.3.3%20%E5%9C%BA%E6%99%AF%E4%B8%80_%E5%88%A0%E9%99%A4%E5%8D%95%E5%88%86%E5%8C%BA.dos)
3719
+
3720
+ [5.3.3 场景二\_删除全表.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/5.3.3%20%E5%9C%BA%E6%99%AF%E4%BA%8C_%E5%88%A0%E9%99%A4%E5%85%A8%E8%A1%A8.dos)
3721
+
3722
+ [5.3.3 场景三\_删除重复数据.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/5.3.3%20%E5%9C%BA%E6%99%AF%E4%B8%89_%E5%88%A0%E9%99%A4%E9%87%8D%E5%A4%8D%E6%95%B0%E6%8D%AE.dos)
3723
+
3724
+ [6.SQL批计算.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/6.SQL%E6%89%B9%E8%AE%A1%E7%AE%97.dos)
3725
+
3726
+ [7.2.2\_流数据发布\_例1\_数据回放.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.2.2_%E6%B5%81%E6%95%B0%E6%8D%AE%E5%8F%91%E5%B8%83_%E4%BE%8B1_%E6%95%B0%E6%8D%AE%E5%9B%9E%E6%94%BE.dos)
3727
+
3728
+ [7.2.2\_流数据发布\_例2\_API写入流表.py](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.2.2_%E6%B5%81%E6%95%B0%E6%8D%AE%E5%8F%91%E5%B8%83_%E4%BE%8B2_API%E5%86%99%E5%85%A5%E6%B5%81%E8%A1%A8.py)
3729
+
3730
+ [7.2.2\_流数据发布\_例3\_Kafka订阅写入流表.py](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.2.2_%E6%B5%81%E6%95%B0%E6%8D%AE%E5%8F%91%E5%B8%83_%E4%BE%8B3_Kafka%E8%AE%A2%E9%98%85%E5%86%99%E5%85%A5%E6%B5%81%E8%A1%A8.py)
3731
+
3732
+ [7.2.2\_流数据订阅\_例1\_订阅入库.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.2.2_%E6%B5%81%E6%95%B0%E6%8D%AE%E8%AE%A2%E9%98%85_%E4%BE%8B1_%E8%AE%A2%E9%98%85%E5%85%A5%E5%BA%93.dos)
3733
+
3734
+ [7.2.2\_流数据订阅\_例2\_API 端订阅流表计算.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.2.2_%E6%B5%81%E6%95%B0%E6%8D%AE%E8%AE%A2%E9%98%85_%E4%BE%8B2_API%20%E7%AB%AF%E8%AE%A2%E9%98%85%E6%B5%81%E8%A1%A8%E8%AE%A1%E7%AE%97.dos)
3735
+
3736
+ [7.2.2\_流数据订阅\_例2\_订阅流表计算.py](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.2.2_%E6%B5%81%E6%95%B0%E6%8D%AE%E8%AE%A2%E9%98%85_%E4%BE%8B2_%E8%AE%A2%E9%98%85%E6%B5%81%E8%A1%A8%E8%AE%A1%E7%AE%97.py)
3737
+
3738
+ [7.3引擎级联.dos](https://cdn.dolphindb.cn/zh/tutorials/script/new_users_finance/7.3%E5%BC%95%E6%93%8E%E7%BA%A7%E8%81%94.dos)