hikyuu 2.6.8__py3-none-manylinux2014_aarch64.whl

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 (1066) hide show
  1. hikyuu/LICENSE.txt +21 -0
  2. hikyuu/__init__.py +577 -0
  3. hikyuu/__init__.pyi +872 -0
  4. hikyuu/analysis/__init__.py +14 -0
  5. hikyuu/analysis/__init__.pyi +572 -0
  6. hikyuu/analysis/analysis.py +151 -0
  7. hikyuu/analysis/analysis.pyi +602 -0
  8. hikyuu/config/__init__.py +1 -0
  9. hikyuu/config/block/__init__.py +0 -0
  10. hikyuu/config/block/dybk.ini +5357 -0
  11. hikyuu/config/block/gnbk.ini +50024 -0
  12. hikyuu/config/block/hybk.ini +5464 -0
  13. hikyuu/config/block/self.ini +10 -0
  14. hikyuu/config/block/zsbk.ini +65543 -0
  15. hikyuu/core.py +27 -0
  16. hikyuu/core.pyi +567 -0
  17. hikyuu/cpp/__init__.py +1 -0
  18. hikyuu/cpp/__init__.pyi +3 -0
  19. hikyuu/cpp/core310.pyi +14179 -0
  20. hikyuu/cpp/core310.so +0 -0
  21. hikyuu/cpp/core311.pyi +14179 -0
  22. hikyuu/cpp/core311.so +0 -0
  23. hikyuu/cpp/core312.pyi +14179 -0
  24. hikyuu/cpp/core312.so +0 -0
  25. hikyuu/cpp/core313.pyi +14158 -0
  26. hikyuu/cpp/core313.so +0 -0
  27. hikyuu/cpp/core39.pyi +14179 -0
  28. hikyuu/cpp/core39.so +0 -0
  29. hikyuu/cpp/i18n/__init__.py +0 -0
  30. hikyuu/cpp/i18n/zh_CN/__init__.py +0 -0
  31. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  32. hikyuu/cpp/libcrypto.so.3 +0 -0
  33. hikyuu/cpp/libhikyuu.so +0 -0
  34. hikyuu/cpp/libhku_hdf5.so +0 -0
  35. hikyuu/cpp/libhku_hdf5.so.200 +0 -0
  36. hikyuu/cpp/libhku_hdf5.so.200.2.0 +0 -0
  37. hikyuu/cpp/libhku_hdf5_cpp.so +0 -0
  38. hikyuu/cpp/libhku_hdf5_cpp.so.200 +0 -0
  39. hikyuu/cpp/libhku_hdf5_cpp.so.200.2.0 +0 -0
  40. hikyuu/cpp/libhku_hdf5_hl.so +0 -0
  41. hikyuu/cpp/libhku_hdf5_hl.so.200 +0 -0
  42. hikyuu/cpp/libhku_hdf5_hl.so.200.1.0 +0 -0
  43. hikyuu/cpp/libhku_hdf5_hl_cpp.so +0 -0
  44. hikyuu/cpp/libhku_hdf5_hl_cpp.so.200 +0 -0
  45. hikyuu/cpp/libhku_hdf5_hl_cpp.so.200.1.0 +0 -0
  46. hikyuu/cpp/libhku_hdf5_tools.so +0 -0
  47. hikyuu/cpp/libhku_hdf5_tools.so.200 +0 -0
  48. hikyuu/cpp/libhku_hdf5_tools.so.200.1.1 +0 -0
  49. hikyuu/cpp/libmysqlclient.so +0 -0
  50. hikyuu/cpp/libmysqlclient.so.21 +0 -0
  51. hikyuu/cpp/libmysqlclient.so.21.2.32 +0 -0
  52. hikyuu/cpp/libresolv.so.2 +0 -0
  53. hikyuu/cpp/libsqlite3.so +0 -0
  54. hikyuu/cpp/libssl.so.3 +0 -0
  55. hikyuu/cpp/libzstd.so.1 +0 -0
  56. hikyuu/data/__init__.py +1 -0
  57. hikyuu/data/clickhouse_upgrade/__init__.py +1 -0
  58. hikyuu/data/clickhouse_upgrade/createdb.sql +1085 -0
  59. hikyuu/data/common.py +248 -0
  60. hikyuu/data/common_clickhouse.py +465 -0
  61. hikyuu/data/common_h5.py +398 -0
  62. hikyuu/data/common_mysql.py +521 -0
  63. hikyuu/data/common_pytdx.py +126 -0
  64. hikyuu/data/common_sqlite3.py +141 -0
  65. hikyuu/data/em_block_to_clickhouse.py +120 -0
  66. hikyuu/data/em_block_to_mysql.py +121 -0
  67. hikyuu/data/em_block_to_sqlite.py +122 -0
  68. hikyuu/data/hku_config_template.py +335 -0
  69. hikyuu/data/mysql_upgrade/0001.sql +5 -0
  70. hikyuu/data/mysql_upgrade/0002.sql +3 -0
  71. hikyuu/data/mysql_upgrade/0003.sql +9 -0
  72. hikyuu/data/mysql_upgrade/0004.sql +26 -0
  73. hikyuu/data/mysql_upgrade/0005.sql +3 -0
  74. hikyuu/data/mysql_upgrade/0006.sql +2 -0
  75. hikyuu/data/mysql_upgrade/0007.sql +20 -0
  76. hikyuu/data/mysql_upgrade/0008.sql +6 -0
  77. hikyuu/data/mysql_upgrade/0009.sql +36 -0
  78. hikyuu/data/mysql_upgrade/0010.sql +5 -0
  79. hikyuu/data/mysql_upgrade/0011.sql +5 -0
  80. hikyuu/data/mysql_upgrade/0012.sql +5 -0
  81. hikyuu/data/mysql_upgrade/0013.sql +2389 -0
  82. hikyuu/data/mysql_upgrade/0014.sql +3 -0
  83. hikyuu/data/mysql_upgrade/0015.sql +4 -0
  84. hikyuu/data/mysql_upgrade/0016.sql +4 -0
  85. hikyuu/data/mysql_upgrade/0017.sql +5 -0
  86. hikyuu/data/mysql_upgrade/0018.sql +2 -0
  87. hikyuu/data/mysql_upgrade/0019.sql +6 -0
  88. hikyuu/data/mysql_upgrade/0020.sql +4 -0
  89. hikyuu/data/mysql_upgrade/0021.sql +4 -0
  90. hikyuu/data/mysql_upgrade/0022.sql +5 -0
  91. hikyuu/data/mysql_upgrade/0023.sql +4 -0
  92. hikyuu/data/mysql_upgrade/0024.sql +2 -0
  93. hikyuu/data/mysql_upgrade/0025.sql +61 -0
  94. hikyuu/data/mysql_upgrade/0026.sql +9 -0
  95. hikyuu/data/mysql_upgrade/0027.sql +6 -0
  96. hikyuu/data/mysql_upgrade/0028.sql +95 -0
  97. hikyuu/data/mysql_upgrade/__init__.py +1 -0
  98. hikyuu/data/mysql_upgrade/createdb.sql +265 -0
  99. hikyuu/data/pytdx_finance_to_clickhouse.py +107 -0
  100. hikyuu/data/pytdx_finance_to_mysql.py +129 -0
  101. hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
  102. hikyuu/data/pytdx_to_clickhouse.py +841 -0
  103. hikyuu/data/pytdx_to_h5.py +705 -0
  104. hikyuu/data/pytdx_to_mysql.py +839 -0
  105. hikyuu/data/pytdx_to_taos.py +736 -0
  106. hikyuu/data/pytdx_weight_to_clickhouse.py +191 -0
  107. hikyuu/data/pytdx_weight_to_mysql.py +196 -0
  108. hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
  109. hikyuu/data/sqlite_mem.py +84 -0
  110. hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
  111. hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
  112. hikyuu/data/sqlite_upgrade/0001.sql +4 -0
  113. hikyuu/data/sqlite_upgrade/0002.sql +48 -0
  114. hikyuu/data/sqlite_upgrade/0003.sql +18 -0
  115. hikyuu/data/sqlite_upgrade/0004.sql +11 -0
  116. hikyuu/data/sqlite_upgrade/0005.sql +28 -0
  117. hikyuu/data/sqlite_upgrade/0006.sql +5 -0
  118. hikyuu/data/sqlite_upgrade/0007.sql +4 -0
  119. hikyuu/data/sqlite_upgrade/0008.sql +22 -0
  120. hikyuu/data/sqlite_upgrade/0009.sql +8 -0
  121. hikyuu/data/sqlite_upgrade/0010.sql +5 -0
  122. hikyuu/data/sqlite_upgrade/0011.sql +16 -0
  123. hikyuu/data/sqlite_upgrade/0012.sql +15 -0
  124. hikyuu/data/sqlite_upgrade/0013.sql +9 -0
  125. hikyuu/data/sqlite_upgrade/0014.sql +607 -0
  126. hikyuu/data/sqlite_upgrade/0015.sql +7 -0
  127. hikyuu/data/sqlite_upgrade/0016.sql +8 -0
  128. hikyuu/data/sqlite_upgrade/0017.sql +16 -0
  129. hikyuu/data/sqlite_upgrade/0018.sql +5 -0
  130. hikyuu/data/sqlite_upgrade/0019.sql +4 -0
  131. hikyuu/data/sqlite_upgrade/0020.sql +4 -0
  132. hikyuu/data/sqlite_upgrade/0021.sql +6 -0
  133. hikyuu/data/sqlite_upgrade/0022.sql +6 -0
  134. hikyuu/data/sqlite_upgrade/0023.sql +7 -0
  135. hikyuu/data/sqlite_upgrade/0024.sql +22 -0
  136. hikyuu/data/sqlite_upgrade/0025.sql +63 -0
  137. hikyuu/data/sqlite_upgrade/0026.sql +10 -0
  138. hikyuu/data/sqlite_upgrade/0027.sql +8 -0
  139. hikyuu/data/sqlite_upgrade/0028.sql +97 -0
  140. hikyuu/data/sqlite_upgrade/__init__.py +1 -0
  141. hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
  142. hikyuu/data/tdx_to_clickhouse.py +448 -0
  143. hikyuu/data/tdx_to_h5.py +464 -0
  144. hikyuu/data/tdx_to_mysql.py +464 -0
  145. hikyuu/data/weight_to_mysql.py +72 -0
  146. hikyuu/data/weight_to_sqlite.py +70 -0
  147. hikyuu/data/zh_bond10_to_clickhouse.py +49 -0
  148. hikyuu/data/zh_bond10_to_mysql.py +30 -0
  149. hikyuu/data/zh_bond10_to_sqlite.py +42 -0
  150. hikyuu/data_driver/__init__.py +49 -0
  151. hikyuu/data_driver/jqdata_data_driver.py +277 -0
  152. hikyuu/data_driver/pytdx_data_driver.py +292 -0
  153. hikyuu/draw/__init__.py +65 -0
  154. hikyuu/draw/__init__.pyi +35 -0
  155. hikyuu/draw/drawplot/__init__.py +309 -0
  156. hikyuu/draw/drawplot/__init__.pyi +139 -0
  157. hikyuu/draw/drawplot/bokeh_draw.py +583 -0
  158. hikyuu/draw/drawplot/bokeh_draw.pyi +872 -0
  159. hikyuu/draw/drawplot/common.py +89 -0
  160. hikyuu/draw/drawplot/common.pyi +10 -0
  161. hikyuu/draw/drawplot/echarts_draw.py +598 -0
  162. hikyuu/draw/drawplot/echarts_draw.pyi +758 -0
  163. hikyuu/draw/drawplot/icon/1.png +0 -0
  164. hikyuu/draw/drawplot/icon/10.png +0 -0
  165. hikyuu/draw/drawplot/icon/11.png +0 -0
  166. hikyuu/draw/drawplot/icon/12.png +0 -0
  167. hikyuu/draw/drawplot/icon/13.png +0 -0
  168. hikyuu/draw/drawplot/icon/14.png +0 -0
  169. hikyuu/draw/drawplot/icon/15.png +0 -0
  170. hikyuu/draw/drawplot/icon/16.png +0 -0
  171. hikyuu/draw/drawplot/icon/17.png +0 -0
  172. hikyuu/draw/drawplot/icon/18.png +0 -0
  173. hikyuu/draw/drawplot/icon/19.png +0 -0
  174. hikyuu/draw/drawplot/icon/2.png +0 -0
  175. hikyuu/draw/drawplot/icon/20.png +0 -0
  176. hikyuu/draw/drawplot/icon/21.png +0 -0
  177. hikyuu/draw/drawplot/icon/22.png +0 -0
  178. hikyuu/draw/drawplot/icon/23.png +0 -0
  179. hikyuu/draw/drawplot/icon/24.png +0 -0
  180. hikyuu/draw/drawplot/icon/25.png +0 -0
  181. hikyuu/draw/drawplot/icon/26.png +0 -0
  182. hikyuu/draw/drawplot/icon/27.png +0 -0
  183. hikyuu/draw/drawplot/icon/28.png +0 -0
  184. hikyuu/draw/drawplot/icon/29.png +0 -0
  185. hikyuu/draw/drawplot/icon/3.png +0 -0
  186. hikyuu/draw/drawplot/icon/30.png +0 -0
  187. hikyuu/draw/drawplot/icon/31.png +0 -0
  188. hikyuu/draw/drawplot/icon/32.png +0 -0
  189. hikyuu/draw/drawplot/icon/33.png +0 -0
  190. hikyuu/draw/drawplot/icon/34.png +0 -0
  191. hikyuu/draw/drawplot/icon/35.png +0 -0
  192. hikyuu/draw/drawplot/icon/36.png +0 -0
  193. hikyuu/draw/drawplot/icon/37.png +0 -0
  194. hikyuu/draw/drawplot/icon/38.png +0 -0
  195. hikyuu/draw/drawplot/icon/39.png +0 -0
  196. hikyuu/draw/drawplot/icon/4.png +0 -0
  197. hikyuu/draw/drawplot/icon/40.png +0 -0
  198. hikyuu/draw/drawplot/icon/41.png +0 -0
  199. hikyuu/draw/drawplot/icon/42.png +0 -0
  200. hikyuu/draw/drawplot/icon/43.png +0 -0
  201. hikyuu/draw/drawplot/icon/44.png +0 -0
  202. hikyuu/draw/drawplot/icon/45.png +0 -0
  203. hikyuu/draw/drawplot/icon/46.png +0 -0
  204. hikyuu/draw/drawplot/icon/47.png +0 -0
  205. hikyuu/draw/drawplot/icon/48.png +0 -0
  206. hikyuu/draw/drawplot/icon/49.png +0 -0
  207. hikyuu/draw/drawplot/icon/5.png +0 -0
  208. hikyuu/draw/drawplot/icon/6.png +0 -0
  209. hikyuu/draw/drawplot/icon/7.png +0 -0
  210. hikyuu/draw/drawplot/icon/8.png +0 -0
  211. hikyuu/draw/drawplot/icon/9.png +0 -0
  212. hikyuu/draw/drawplot/icon/__init__.py +0 -0
  213. hikyuu/draw/drawplot/matplotlib_draw.py +1620 -0
  214. hikyuu/draw/drawplot/matplotlib_draw.pyi +1234 -0
  215. hikyuu/draw/elder.py +135 -0
  216. hikyuu/draw/elder.pyi +44 -0
  217. hikyuu/draw/kaufman.py +192 -0
  218. hikyuu/draw/kaufman.pyi +38 -0
  219. hikyuu/draw/volume.py +122 -0
  220. hikyuu/draw/volume.pyi +31 -0
  221. hikyuu/examples/Turtle_SG.py +47 -0
  222. hikyuu/examples/__init__.py +1 -0
  223. hikyuu/examples/examples_init.py +33 -0
  224. hikyuu/examples/notebook/000-Index.ipynb +76 -0
  225. hikyuu/examples/notebook/001-overview.ipynb +325 -0
  226. hikyuu/examples/notebook/002-HowToGetStock.ipynb +484 -0
  227. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +383 -0
  228. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +568 -0
  229. hikyuu/examples/notebook/005-Drawplot.ipynb +350 -0
  230. hikyuu/examples/notebook/006-TradeManager.ipynb +1128 -0
  231. hikyuu/examples/notebook/007-SystemDetails.ipynb +394 -0
  232. hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
  233. hikyuu/examples/notebook/009-RealData.ipynb +110 -0
  234. hikyuu/examples/notebook/010-Portfolio.ipynb +968 -0
  235. hikyuu/examples/notebook/Demo/Demo1.ipynb +623 -0
  236. hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
  237. hikyuu/examples/notebook/Demo/__init__.py +1 -0
  238. hikyuu/examples/notebook/README.md +1 -0
  239. hikyuu/examples/notebook/__init__.py +1 -0
  240. hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
  241. hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
  242. hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
  243. hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
  244. hikyuu/examples/notebook/images/__init__.py +1 -0
  245. hikyuu/examples/quick_crtsg.py +40 -0
  246. hikyuu/extend.py +289 -0
  247. hikyuu/extend.pyi +658 -0
  248. hikyuu/fetcher/__init__.py +8 -0
  249. hikyuu/fetcher/proxy/__init__.py +12 -0
  250. hikyuu/fetcher/proxy/proxy.py +39 -0
  251. hikyuu/fetcher/proxy/zhima.py +63 -0
  252. hikyuu/fetcher/stock/__init__.py +8 -0
  253. hikyuu/fetcher/stock/zh_block_em.py +562 -0
  254. hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
  255. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +129 -0
  256. hikyuu/fetcher/stock/zh_stock_a_qmt.py +57 -0
  257. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +185 -0
  258. hikyuu/flat/Spot.py +336 -0
  259. hikyuu/flat/SpotList.py +74 -0
  260. hikyuu/flat/__init__.py +4 -0
  261. hikyuu/gui/HikyuuTDX.py +1062 -0
  262. hikyuu/gui/__init__.py +1 -0
  263. hikyuu/gui/data/CollectSpotThread.py +43 -0
  264. hikyuu/gui/data/CollectToMemThread.py +123 -0
  265. hikyuu/gui/data/CollectToMySQLThread.py +178 -0
  266. hikyuu/gui/data/EscapetimeThread.py +32 -0
  267. hikyuu/gui/data/ImportBlockInfoTask.py +67 -0
  268. hikyuu/gui/data/ImportHistoryFinanceTask.py +161 -0
  269. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +106 -0
  270. hikyuu/gui/data/ImportPytdxToH5Task.py +112 -0
  271. hikyuu/gui/data/ImportPytdxTransToH5Task.py +106 -0
  272. hikyuu/gui/data/ImportQmtToH5Task.py +209 -0
  273. hikyuu/gui/data/ImportTdxToH5Task.py +130 -0
  274. hikyuu/gui/data/ImportWeightToSqliteTask.py +128 -0
  275. hikyuu/gui/data/ImportZhBond10Task.py +59 -0
  276. hikyuu/gui/data/MainWindow.py +1003 -0
  277. hikyuu/gui/data/SchedImportThread.py +62 -0
  278. hikyuu/gui/data/UsePytdxImportToH5Thread.py +394 -0
  279. hikyuu/gui/data/UseQmtImportToH5Thread.py +317 -0
  280. hikyuu/gui/data/UseTdxImportToH5Thread.py +357 -0
  281. hikyuu/gui/data/__init__.py +1 -0
  282. hikyuu/gui/data/tool.py +43 -0
  283. hikyuu/gui/dataserver.py +33 -0
  284. hikyuu/gui/hikyuu.ico +0 -0
  285. hikyuu/gui/images/hikyuu_small.png +0 -0
  286. hikyuu/gui/images/star.png +0 -0
  287. hikyuu/gui/importdata.py +166 -0
  288. hikyuu/gui/spot_server.py +326 -0
  289. hikyuu/gui/start_huatai_insight.py +510 -0
  290. hikyuu/gui/start_qmt.py +139 -0
  291. hikyuu/hub.py +771 -0
  292. hikyuu/hub.pyi +295 -0
  293. hikyuu/include/__init__.py +1 -0
  294. hikyuu/include/hikyuu/Block.h +193 -0
  295. hikyuu/include/hikyuu/DataType.h +179 -0
  296. hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
  297. hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
  298. hikyuu/include/hikyuu/KData.h +334 -0
  299. hikyuu/include/hikyuu/KDataImp.h +83 -0
  300. hikyuu/include/hikyuu/KDataPrivatedBufferImp.h +73 -0
  301. hikyuu/include/hikyuu/KDataSharedBufferImp.h +69 -0
  302. hikyuu/include/hikyuu/KQuery.h +289 -0
  303. hikyuu/include/hikyuu/KRecord.h +97 -0
  304. hikyuu/include/hikyuu/MarketInfo.h +138 -0
  305. hikyuu/include/hikyuu/Stock.h +376 -0
  306. hikyuu/include/hikyuu/StockManager.h +418 -0
  307. hikyuu/include/hikyuu/StockMapIterator.h +72 -0
  308. hikyuu/include/hikyuu/StockTypeInfo.h +133 -0
  309. hikyuu/include/hikyuu/StockWeight.h +148 -0
  310. hikyuu/include/hikyuu/StrategyContext.h +116 -0
  311. hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
  312. hikyuu/include/hikyuu/TransRecord.h +73 -0
  313. hikyuu/include/hikyuu/ZhBond10.h +36 -0
  314. hikyuu/include/hikyuu/__init__.py +1 -0
  315. hikyuu/include/hikyuu/analysis/__init__.py +1 -0
  316. hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
  317. hikyuu/include/hikyuu/analysis/combinate.h +115 -0
  318. hikyuu/include/hikyuu/config.h +51 -0
  319. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +236 -0
  320. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +108 -0
  321. hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
  322. hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
  323. hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
  324. hikyuu/include/hikyuu/data_driver/KDataDriver.h +199 -0
  325. hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
  326. hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
  327. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
  328. hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
  329. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
  330. hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
  331. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
  332. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
  333. hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
  334. hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
  335. hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
  336. hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
  337. hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
  338. hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
  339. hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
  340. hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
  341. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +36 -0
  342. hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
  343. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +31 -0
  344. hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
  345. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +36 -0
  346. hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
  347. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
  348. hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
  349. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
  350. hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
  351. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
  352. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
  353. hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
  354. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +164 -0
  355. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
  356. hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
  357. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
  358. hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
  359. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
  360. hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
  361. hikyuu/include/hikyuu/debug.h +32 -0
  362. hikyuu/include/hikyuu/doc.h +170 -0
  363. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +41 -0
  364. hikyuu/include/hikyuu/global/SpotRecord.h +36 -0
  365. hikyuu/include/hikyuu/global/__init__.py +1 -0
  366. hikyuu/include/hikyuu/global/agent/SpotAgent.h +148 -0
  367. hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
  368. hikyuu/include/hikyuu/global/agent/spot_generated.h +343 -0
  369. hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
  370. hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
  371. hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
  372. hikyuu/include/hikyuu/global/sysinfo.h +67 -0
  373. hikyuu/include/hikyuu/hikyuu.h +55 -0
  374. hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
  375. hikyuu/include/hikyuu/indicator/Indicator.h +487 -0
  376. hikyuu/include/hikyuu/indicator/Indicator2InImp.h +75 -0
  377. hikyuu/include/hikyuu/indicator/IndicatorImp.h +490 -0
  378. hikyuu/include/hikyuu/indicator/__init__.py +1 -0
  379. hikyuu/include/hikyuu/indicator/build_in.h +133 -0
  380. hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
  381. hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
  382. hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
  383. hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +34 -0
  384. hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
  385. hikyuu/include/hikyuu/indicator/crt/AMA.h +114 -0
  386. hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
  387. hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
  388. hikyuu/include/hikyuu/indicator/crt/ATR.h +33 -0
  389. hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
  390. hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
  391. hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
  392. hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
  393. hikyuu/include/hikyuu/indicator/crt/BARSLASTCOUNT.h +33 -0
  394. hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +53 -0
  395. hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
  396. hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
  397. hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
  398. hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +36 -0
  399. hikyuu/include/hikyuu/indicator/crt/CORR.h +26 -0
  400. hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
  401. hikyuu/include/hikyuu/indicator/crt/COST.h +37 -0
  402. hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
  403. hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
  404. hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
  405. hikyuu/include/hikyuu/indicator/crt/CYCLE.h +27 -0
  406. hikyuu/include/hikyuu/indicator/crt/DECLINE.h +34 -0
  407. hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
  408. hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
  409. hikyuu/include/hikyuu/indicator/crt/DISCARD.h +27 -0
  410. hikyuu/include/hikyuu/indicator/crt/DMA.h +35 -0
  411. hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
  412. hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
  413. hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
  414. hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
  415. hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
  416. hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
  417. hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
  418. hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
  419. hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
  420. hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
  421. hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
  422. hikyuu/include/hikyuu/indicator/crt/HSL.h +27 -0
  423. hikyuu/include/hikyuu/indicator/crt/IC.h +49 -0
  424. hikyuu/include/hikyuu/indicator/crt/ICIR.h +55 -0
  425. hikyuu/include/hikyuu/indicator/crt/INBLOCK.h +31 -0
  426. hikyuu/include/hikyuu/indicator/crt/INDEX.h +60 -0
  427. hikyuu/include/hikyuu/indicator/crt/INSUM.h +33 -0
  428. hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
  429. hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
  430. hikyuu/include/hikyuu/indicator/crt/ISINF.h +28 -0
  431. hikyuu/include/hikyuu/indicator/crt/ISINFA.h +28 -0
  432. hikyuu/include/hikyuu/indicator/crt/ISLASTBAR.h +30 -0
  433. hikyuu/include/hikyuu/indicator/crt/ISNA.h +29 -0
  434. hikyuu/include/hikyuu/indicator/crt/JUMPDOWN.h +24 -0
  435. hikyuu/include/hikyuu/indicator/crt/JUMPUP.h +24 -0
  436. hikyuu/include/hikyuu/indicator/crt/KALMAN.h +30 -0
  437. hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
  438. hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
  439. hikyuu/include/hikyuu/indicator/crt/LASTVALUE.h +29 -0
  440. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +24 -0
  441. hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
  442. hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
  443. hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
  444. hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
  445. hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
  446. hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
  447. hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
  448. hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
  449. hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
  450. hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
  451. hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
  452. hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
  453. hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
  454. hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
  455. hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
  456. hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
  457. hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +47 -0
  458. hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
  459. hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
  460. hikyuu/include/hikyuu/indicator/crt/REFX.h +25 -0
  461. hikyuu/include/hikyuu/indicator/crt/REPLACE.h +29 -0
  462. hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
  463. hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
  464. hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
  465. hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
  466. hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
  467. hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
  468. hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
  469. hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
  470. hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
  471. hikyuu/include/hikyuu/indicator/crt/RSI.h +27 -0
  472. hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
  473. hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
  474. hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
  475. hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
  476. hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
  477. hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
  478. hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +25 -0
  479. hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
  480. hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
  481. hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
  482. hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
  483. hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
  484. hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
  485. hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
  486. hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
  487. hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
  488. hikyuu/include/hikyuu/indicator/crt/TR.h +32 -0
  489. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
  490. hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
  491. hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
  492. hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
  493. hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
  494. hikyuu/include/hikyuu/indicator/crt/WINNER.h +38 -0
  495. hikyuu/include/hikyuu/indicator/crt/WMA.h +46 -0
  496. hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
  497. hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
  498. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
  499. hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
  500. hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
  501. hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
  502. hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
  503. hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
  504. hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
  505. hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
  506. hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
  507. hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
  508. hikyuu/include/hikyuu/indicator/imp/IAtr.h +30 -0
  509. hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
  510. hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
  511. hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
  512. hikyuu/include/hikyuu/indicator/imp/IBarsLastCount.h +27 -0
  513. hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +34 -0
  514. hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
  515. hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
  516. hikyuu/include/hikyuu/indicator/imp/IContext.h +49 -0
  517. hikyuu/include/hikyuu/indicator/imp/ICorr.h +26 -0
  518. hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
  519. hikyuu/include/hikyuu/indicator/imp/ICost.h +31 -0
  520. hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
  521. hikyuu/include/hikyuu/indicator/imp/ICval.h +35 -0
  522. hikyuu/include/hikyuu/indicator/imp/ICycle.h +30 -0
  523. hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
  524. hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
  525. hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
  526. hikyuu/include/hikyuu/indicator/imp/IDiscard.h +28 -0
  527. hikyuu/include/hikyuu/indicator/imp/IDma.h +30 -0
  528. hikyuu/include/hikyuu/indicator/imp/IDropna.h +37 -0
  529. hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
  530. hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
  531. hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
  532. hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
  533. hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
  534. hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
  535. hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
  536. hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
  537. hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
  538. hikyuu/include/hikyuu/indicator/imp/IHsl.h +30 -0
  539. hikyuu/include/hikyuu/indicator/imp/IIc.h +46 -0
  540. hikyuu/include/hikyuu/indicator/imp/IInBlock.h +30 -0
  541. hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
  542. hikyuu/include/hikyuu/indicator/imp/IIndex.h +26 -0
  543. hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
  544. hikyuu/include/hikyuu/indicator/imp/IIsInf.h +26 -0
  545. hikyuu/include/hikyuu/indicator/imp/IIsInfa.h +26 -0
  546. hikyuu/include/hikyuu/indicator/imp/IIsLastBar.h +27 -0
  547. hikyuu/include/hikyuu/indicator/imp/IIsNa.h +26 -0
  548. hikyuu/include/hikyuu/indicator/imp/IJumpDown.h +24 -0
  549. hikyuu/include/hikyuu/indicator/imp/IJumpUp.h +24 -0
  550. hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
  551. hikyuu/include/hikyuu/indicator/imp/IKalman.h +27 -0
  552. hikyuu/include/hikyuu/indicator/imp/ILastValue.h +26 -0
  553. hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
  554. hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
  555. hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
  556. hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
  557. hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
  558. hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
  559. hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
  560. hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
  561. hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
  562. hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
  563. hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
  564. hikyuu/include/hikyuu/indicator/imp/IPriceList.h +30 -0
  565. hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
  566. hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
  567. hikyuu/include/hikyuu/indicator/imp/IRefX.h +23 -0
  568. hikyuu/include/hikyuu/indicator/imp/IReplace.h +26 -0
  569. hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
  570. hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
  571. hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
  572. hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
  573. hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
  574. hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
  575. hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
  576. hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
  577. hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
  578. hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
  579. hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
  580. hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
  581. hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
  582. hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
  583. hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
  584. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +26 -0
  585. hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
  586. hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
  587. hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
  588. hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
  589. hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
  590. hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
  591. hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
  592. hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
  593. hikyuu/include/hikyuu/indicator/imp/ITr.h +35 -0
  594. hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
  595. hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
  596. hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
  597. hikyuu/include/hikyuu/indicator/imp/IWinner.h +26 -0
  598. hikyuu/include/hikyuu/indicator/imp/IWma.h +30 -0
  599. hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
  600. hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
  601. hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
  602. hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
  603. hikyuu/include/hikyuu/indicator_talib/__init__.py +1 -0
  604. hikyuu/include/hikyuu/indicator_talib/imp/TaAdosc.h +26 -0
  605. hikyuu/include/hikyuu/indicator_talib/imp/TaApo.h +24 -0
  606. hikyuu/include/hikyuu/indicator_talib/imp/TaBbands.h +24 -0
  607. hikyuu/include/hikyuu/indicator_talib/imp/TaMa.h +24 -0
  608. hikyuu/include/hikyuu/indicator_talib/imp/TaMacd.h +24 -0
  609. hikyuu/include/hikyuu/indicator_talib/imp/TaMacdext.h +24 -0
  610. hikyuu/include/hikyuu/indicator_talib/imp/TaMama.h +24 -0
  611. hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +27 -0
  612. hikyuu/include/hikyuu/indicator_talib/imp/TaPpo.h +24 -0
  613. hikyuu/include/hikyuu/indicator_talib/imp/TaSar.h +26 -0
  614. hikyuu/include/hikyuu/indicator_talib/imp/TaSarext.h +31 -0
  615. hikyuu/include/hikyuu/indicator_talib/imp/TaStddev.h +24 -0
  616. hikyuu/include/hikyuu/indicator_talib/imp/TaStoch.h +27 -0
  617. hikyuu/include/hikyuu/indicator_talib/imp/TaStochf.h +26 -0
  618. hikyuu/include/hikyuu/indicator_talib/imp/TaStochrsi.h +24 -0
  619. hikyuu/include/hikyuu/indicator_talib/imp/TaT3.h +24 -0
  620. hikyuu/include/hikyuu/indicator_talib/imp/TaUltosc.h +26 -0
  621. hikyuu/include/hikyuu/indicator_talib/imp/TaVar.h +24 -0
  622. hikyuu/include/hikyuu/indicator_talib/imp/__init__.py +1 -0
  623. hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +237 -0
  624. hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +1328 -0
  625. hikyuu/include/hikyuu/indicator_talib/ta_crt.h +322 -0
  626. hikyuu/include/hikyuu/lang.h +27 -0
  627. hikyuu/include/hikyuu/plugin/KDataToHdf5Importer.h +41 -0
  628. hikyuu/include/hikyuu/plugin/__init__.py +1 -0
  629. hikyuu/include/hikyuu/plugin/backtest.h +40 -0
  630. hikyuu/include/hikyuu/plugin/dataserver.h +43 -0
  631. hikyuu/include/hikyuu/plugin/device.h +33 -0
  632. hikyuu/include/hikyuu/plugin/extind.h +195 -0
  633. hikyuu/include/hikyuu/plugin/hkuextra.h +77 -0
  634. hikyuu/include/hikyuu/plugin/interface/BackTestPluginInterface.h +27 -0
  635. hikyuu/include/hikyuu/plugin/interface/DataDriverPluginInterface.h +27 -0
  636. hikyuu/include/hikyuu/plugin/interface/DataServerPluginInterface.h +24 -0
  637. hikyuu/include/hikyuu/plugin/interface/DevicePluginInterface.h +26 -0
  638. hikyuu/include/hikyuu/plugin/interface/ExtendIndicatorsPluginInterface.h +26 -0
  639. hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +54 -0
  640. hikyuu/include/hikyuu/plugin/interface/ImportKDataToHdf5PluginInterface.h +45 -0
  641. hikyuu/include/hikyuu/plugin/interface/TMReportPluginInterface.h +81 -0
  642. hikyuu/include/hikyuu/plugin/interface/__init__.py +1 -0
  643. hikyuu/include/hikyuu/plugin/interface/plugins.h +30 -0
  644. hikyuu/include/hikyuu/python/__init__.py +1 -0
  645. hikyuu/include/hikyuu/python/convert_any.h +299 -0
  646. hikyuu/include/hikyuu/python/pickle_support.h +90 -0
  647. hikyuu/include/hikyuu/python/pybind_utils.h +128 -0
  648. hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
  649. hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
  650. hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
  651. hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
  652. hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
  653. hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
  654. hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
  655. hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
  656. hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
  657. hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
  658. hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
  659. hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
  660. hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
  661. hikyuu/include/hikyuu/serialization/__init__.py +1 -0
  662. hikyuu/include/hikyuu/serialization/all.h +26 -0
  663. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +436 -0
  664. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
  665. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
  666. hikyuu/include/hikyuu/strategy/Strategy.h +271 -0
  667. hikyuu/include/hikyuu/strategy/__init__.py +1 -0
  668. hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
  669. hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
  670. hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
  671. hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
  672. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +214 -0
  673. hikyuu/include/hikyuu/trade_manage/Performance.h +87 -0
  674. hikyuu/include/hikyuu/trade_manage/PositionExtInfo.h +92 -0
  675. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +120 -0
  676. hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +179 -0
  677. hikyuu/include/hikyuu/trade_manage/TradeManager.h +494 -0
  678. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +850 -0
  679. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +163 -0
  680. hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
  681. hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
  682. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
  683. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
  684. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
  685. hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
  686. hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
  687. hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
  688. hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
  689. hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
  690. hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
  691. hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
  692. hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
  693. hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
  694. hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
  695. hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
  696. hikyuu/include/hikyuu/trade_sys/all.h +24 -0
  697. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +234 -0
  698. hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
  699. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +17 -0
  700. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
  701. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
  702. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeightList.h +22 -0
  703. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
  704. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
  705. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
  706. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
  707. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightListAllocateFunds.h +25 -0
  708. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +26 -0
  709. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
  710. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +249 -0
  711. hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
  712. hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
  713. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
  714. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
  715. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
  716. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
  717. hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
  718. hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
  719. hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
  720. hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
  721. hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
  722. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
  723. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
  724. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
  725. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
  726. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
  727. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/SubCondition.h +42 -0
  728. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
  729. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +197 -0
  730. hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
  731. hikyuu/include/hikyuu/trade_sys/environment/build_in.h +17 -0
  732. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
  733. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Logic.h +35 -0
  734. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
  735. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
  736. hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
  737. hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
  738. hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
  739. hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
  740. hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
  741. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/AddEnvironment.h +42 -0
  742. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/AndEnvironment.h +42 -0
  743. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/DivEnvironment.h +42 -0
  744. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/MultiEnvironment.h +42 -0
  745. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/OrEnvironment.h +42 -0
  746. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/SubEnvironment.h +42 -0
  747. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/__init__.py +1 -0
  748. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +248 -0
  749. hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
  750. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +22 -0
  751. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +26 -0
  752. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapitalFunds.h +26 -0
  753. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
  754. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCountTps.h +27 -0
  755. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
  756. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +26 -0
  757. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +26 -0
  758. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
  759. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +27 -0
  760. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
  761. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalFundsMM.h +28 -0
  762. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
  763. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
  764. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountTpsMM.h +44 -0
  765. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
  766. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
  767. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
  768. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
  769. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
  770. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
  771. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +281 -0
  772. hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
  773. hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
  774. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +13 -0
  775. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +32 -0
  776. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +33 -0
  777. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +33 -0
  778. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +33 -0
  779. hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
  780. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +26 -0
  781. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +28 -0
  782. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +28 -0
  783. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +41 -0
  784. hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
  785. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +258 -0
  786. hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
  787. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +15 -0
  788. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +47 -0
  789. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_WithoutAF.h +50 -0
  790. hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
  791. hikyuu/include/hikyuu/trade_sys/portfolio/imp/SimplePortfolio.h +53 -0
  792. hikyuu/include/hikyuu/trade_sys/portfolio/imp/WithoutAFPortfolio.h +57 -0
  793. hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
  794. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +194 -0
  795. hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
  796. hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
  797. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
  798. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
  799. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
  800. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
  801. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
  802. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
  803. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
  804. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
  805. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +251 -0
  806. hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
  807. hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
  808. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
  809. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
  810. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
  811. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
  812. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +34 -0
  813. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
  814. hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
  815. hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
  816. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +59 -0
  817. hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
  818. hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
  819. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
  820. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
  821. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
  822. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
  823. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
  824. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
  825. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
  826. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
  827. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
  828. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
  829. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
  830. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
  831. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
  832. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
  833. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalEvaluateSelector.h +28 -0
  834. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +87 -0
  835. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
  836. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
  837. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +294 -0
  838. hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
  839. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +24 -0
  840. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
  841. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
  842. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +29 -0
  843. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
  844. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
  845. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
  846. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
  847. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Logic.h +127 -0
  848. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
  849. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_OneSide.h +38 -0
  850. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
  851. hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
  852. hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
  853. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
  854. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
  855. hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
  856. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
  857. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
  858. hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
  859. hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
  860. hikyuu/include/hikyuu/trade_sys/signal/imp/OneSideSignal.h +46 -0
  861. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
  862. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
  863. hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
  864. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddSignal.h +19 -0
  865. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddValueSignal.h +19 -0
  866. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AndSignal.h +19 -0
  867. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivSignal.h +19 -0
  868. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivValueSignal.h +22 -0
  869. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulSignal.h +19 -0
  870. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulValueSignal.h +19 -0
  871. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorSignal.h +70 -0
  872. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorValueSignal.h +68 -0
  873. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OrSignal.h +19 -0
  874. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubSignal.h +19 -0
  875. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubValueSignal.h +22 -0
  876. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/__init__.py +1 -0
  877. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +175 -0
  878. hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
  879. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
  880. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
  881. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
  882. hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
  883. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
  884. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
  885. hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
  886. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +204 -0
  887. hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
  888. hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
  889. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
  890. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
  891. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
  892. hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
  893. hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
  894. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +49 -0
  895. hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
  896. hikyuu/include/hikyuu/trade_sys/system/System.h +653 -0
  897. hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
  898. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +97 -0
  899. hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
  900. hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
  901. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
  902. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +21 -0
  903. hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
  904. hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +50 -0
  905. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +69 -0
  906. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +470 -0
  907. hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
  908. hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
  909. hikyuu/include/hikyuu/utilities/DllLoader.h +226 -0
  910. hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
  911. hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
  912. hikyuu/include/hikyuu/utilities/Log.h +438 -0
  913. hikyuu/include/hikyuu/utilities/Null.h +176 -0
  914. hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
  915. hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
  916. hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
  917. hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
  918. hikyuu/include/hikyuu/utilities/__init__.py +1 -0
  919. hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
  920. hikyuu/include/hikyuu/utilities/arithmetic.h +411 -0
  921. hikyuu/include/hikyuu/utilities/base64.h +52 -0
  922. hikyuu/include/hikyuu/utilities/config.h +39 -0
  923. hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
  924. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +460 -0
  925. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +357 -0
  926. hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
  927. hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
  928. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +252 -0
  929. hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
  930. hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
  931. hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
  932. hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
  933. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
  934. hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
  935. hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
  936. hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
  937. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +60 -0
  938. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +88 -0
  939. hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
  940. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
  941. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
  942. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
  943. hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
  944. hikyuu/include/hikyuu/utilities/exception.h +52 -0
  945. hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
  946. hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
  947. hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
  948. hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
  949. hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
  950. hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
  951. hikyuu/include/hikyuu/utilities/md5.h +41 -0
  952. hikyuu/include/hikyuu/utilities/moFileReader.h +836 -0
  953. hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
  954. hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
  955. hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
  956. hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
  957. hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
  958. hikyuu/include/hikyuu/utilities/os.h +115 -0
  959. hikyuu/include/hikyuu/utilities/osdef.h +159 -0
  960. hikyuu/include/hikyuu/utilities/plugin/PluginBase.h +47 -0
  961. hikyuu/include/hikyuu/utilities/plugin/PluginClient.h +55 -0
  962. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +118 -0
  963. hikyuu/include/hikyuu/utilities/plugin/PluginManager.h +72 -0
  964. hikyuu/include/hikyuu/utilities/plugin/__init__.py +1 -0
  965. hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
  966. hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
  967. hikyuu/include/hikyuu/utilities/string_view.h +70 -0
  968. hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
  969. hikyuu/include/hikyuu/utilities/thread/GlobalMQStealThreadPool.h +315 -0
  970. hikyuu/include/hikyuu/utilities/thread/GlobalMQThreadPool.h +271 -0
  971. hikyuu/include/hikyuu/utilities/thread/GlobalStealThreadPool.h +310 -0
  972. hikyuu/include/hikyuu/utilities/thread/GlobalThreadPool.h +224 -0
  973. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +46 -0
  974. hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
  975. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +238 -0
  976. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +203 -0
  977. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +105 -0
  978. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
  979. hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
  980. hikyuu/include/hikyuu/utilities/thread/algorithm.h +116 -0
  981. hikyuu/include/hikyuu/utilities/thread/thread.h +14 -0
  982. hikyuu/include/hikyuu/version.h +24 -0
  983. hikyuu/include/hikyuu/views/__init__.py +1 -0
  984. hikyuu/include/hikyuu/views/arrow_common.h +38 -0
  985. hikyuu/include/hikyuu/views/arrow_views.h +117 -0
  986. hikyuu/indicator/__init__.py +28 -0
  987. hikyuu/indicator/indicator.py +119 -0
  988. hikyuu/indicator/pyind.py +47 -0
  989. hikyuu/interactive.py +68 -0
  990. hikyuu/plugin/__init__.py +1 -0
  991. hikyuu/plugin/libbacktest.so +0 -0
  992. hikyuu/plugin/libclickhousedriver.so +0 -0
  993. hikyuu/plugin/libdataserver.so +0 -0
  994. hikyuu/plugin/libdevice.so +0 -0
  995. hikyuu/plugin/libextind.so +0 -0
  996. hikyuu/plugin/libhkuextra.so +0 -0
  997. hikyuu/plugin/libimport2hdf5.so +0 -0
  998. hikyuu/plugin/libtmreport.so +0 -0
  999. hikyuu/setup.py +104 -0
  1000. hikyuu/shell/__init__.py +0 -0
  1001. hikyuu/shell/cmdserver.py +126 -0
  1002. hikyuu/shell/hkucmd.py +110 -0
  1003. hikyuu/shell/hkushell.py +20 -0
  1004. hikyuu/strategy/__init__.py +2 -0
  1005. hikyuu/strategy/strategy_demo1.py +53 -0
  1006. hikyuu/strategy/strategy_demo2.py +47 -0
  1007. hikyuu/strategy/strategy_demo3.py +24 -0
  1008. hikyuu/test/AllocateFunds.py +25 -0
  1009. hikyuu/test/Condition.py +95 -0
  1010. hikyuu/test/Datetime.py +61 -0
  1011. hikyuu/test/Environment.py +88 -0
  1012. hikyuu/test/Indicator.py +233 -0
  1013. hikyuu/test/KData.py +64 -0
  1014. hikyuu/test/MarketInfo.py +26 -0
  1015. hikyuu/test/MoneyManager.py +88 -0
  1016. hikyuu/test/Parameter.py +62 -0
  1017. hikyuu/test/ProfitGoal.py +83 -0
  1018. hikyuu/test/Signal.py +160 -0
  1019. hikyuu/test/Slippage.py +88 -0
  1020. hikyuu/test/Stock.py +127 -0
  1021. hikyuu/test/StockTypeInfo.py +47 -0
  1022. hikyuu/test/Stoploss.py +86 -0
  1023. hikyuu/test/TradeCost.py +71 -0
  1024. hikyuu/test/__init__.py +0 -0
  1025. hikyuu/test/test.py +63 -0
  1026. hikyuu/test/test_init.py +95 -0
  1027. hikyuu/test/test_real_tdx_import.py +336 -0
  1028. hikyuu/test/test_tdx_import.py +315 -0
  1029. hikyuu/test/test_tdx_real_data_import.py +281 -0
  1030. hikyuu/tools/__init__.py +1 -0
  1031. hikyuu/tools/copy_file.py +16 -0
  1032. hikyuu/tools/delete_index.py +50 -0
  1033. hikyuu/tools/fenge.py +139 -0
  1034. hikyuu/tools/h5_data_clear.py +163 -0
  1035. hikyuu/tools/mysql_clear_last_day_data.py +61 -0
  1036. hikyuu/tools/update_block_info.py +168 -0
  1037. hikyuu/trade_manage/__init__.py +30 -0
  1038. hikyuu/trade_manage/__init__.pyi +656 -0
  1039. hikyuu/trade_manage/broker.py +95 -0
  1040. hikyuu/trade_manage/broker.pyi +54 -0
  1041. hikyuu/trade_manage/broker_easytrader.py +63 -0
  1042. hikyuu/trade_manage/broker_easytrader.pyi +21 -0
  1043. hikyuu/trade_manage/broker_mail.py +101 -0
  1044. hikyuu/trade_manage/broker_mail.pyi +55 -0
  1045. hikyuu/trade_manage/trade.py +56 -0
  1046. hikyuu/trade_manage/trade.pyi +650 -0
  1047. hikyuu/trade_sys/__init__.py +42 -0
  1048. hikyuu/trade_sys/trade_sys.py +252 -0
  1049. hikyuu/util/__init__.py +51 -0
  1050. hikyuu/util/__init__.pyi +56 -0
  1051. hikyuu/util/check.py +161 -0
  1052. hikyuu/util/check.pyi +63 -0
  1053. hikyuu/util/mylog.py +291 -0
  1054. hikyuu/util/mylog.pyi +72 -0
  1055. hikyuu/util/notebook.py +47 -0
  1056. hikyuu/util/notebook.pyi +23 -0
  1057. hikyuu/util/singleton.py +29 -0
  1058. hikyuu/util/singleton.pyi +18 -0
  1059. hikyuu/util/slice.py +43 -0
  1060. hikyuu/util/timeout.py +83 -0
  1061. hikyuu-2.6.8.dist-info/METADATA +172 -0
  1062. hikyuu-2.6.8.dist-info/RECORD +1066 -0
  1063. hikyuu-2.6.8.dist-info/WHEEL +5 -0
  1064. hikyuu-2.6.8.dist-info/entry_points.txt +4 -0
  1065. hikyuu-2.6.8.dist-info/licenses/LICENSE +201 -0
  1066. hikyuu-2.6.8.dist-info/top_level.txt +123 -0
@@ -0,0 +1,383 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "name": "stdout",
10
+ "output_type": "stream",
11
+ "text": [
12
+ "Initialize hikyuu_2.6.6_202508081714_RELEASE_macosx_arm64 ...\n",
13
+ "2025-08-09 00:39:31.841 [HKU-I] - current python version: 3.12.7 (main.cpp:68)\n"
14
+ ]
15
+ },
16
+ {
17
+ "name": "stderr",
18
+ "output_type": "stream",
19
+ "text": [
20
+ "2025-08-09 00:39:33,375 [INFO] runing in interactive session [<module>] (/Users/fasiondog/workspace/hikyuu/hikyuu/__init__.py:109) [hikyuu::hku_info]\n",
21
+ "2025-08-09 00:39:33,376 [INFO] running in jupyter [<module>] (/Users/fasiondog/workspace/hikyuu/hikyuu/__init__.py:116) [hikyuu::hku_info]\n"
22
+ ]
23
+ },
24
+ {
25
+ "name": "stdout",
26
+ "output_type": "stream",
27
+ "text": [
28
+ "current plugin path: /Users/fasiondog/.hikyuu/plugin\n",
29
+ "2025-08-09 00:39:33.869 [HKU-I] - Using SQLITE3 BaseInfoDriver (BaseInfoDriver.cpp:57)\n",
30
+ "2025-08-09 00:39:33.871 [HKU-I] - 加载市场信息…… (StockManager.cpp:576)\n",
31
+ "2025-08-09 00:39:33.872 [HKU-I] - 加载证券类型信息…… (StockManager.cpp:594)\n",
32
+ "2025-08-09 00:39:33.872 [HKU-I] - 加载证券信息…… (StockManager.cpp:480)\n",
33
+ "2025-08-09 00:39:33.920 [HKU-I] - 加载权息数据…… (StockManager.cpp:612)\n",
34
+ "2025-08-09 00:39:34.024 [HKU-I] - 加载板块信息…… (StockManager.cpp:185)\n",
35
+ "2025-08-09 00:39:34.213 [HKU-I] - 加载K线数据…… (StockManager.cpp:189)\n",
36
+ "2025-08-09 00:39:34.213 [HKU-I] - 预加载 day K线数据至缓存 (最大数量: 100000)! (StockManager.cpp:233)\n",
37
+ "2025-08-09 00:39:34.213 [HKU-I] - 0.34 秒数据加载完毕. (StockManager.cpp:195)\n",
38
+ "2025-08-09 00:39:34.214 [HKU-I] - 启动行情接收. (SpotAgent.cpp:38)\n",
39
+ "CPU times: user 2.42 s, sys: 1.39 s, total: 3.81 s\n",
40
+ "Wall time: 2.45 s\n"
41
+ ]
42
+ }
43
+ ],
44
+ "source": [
45
+ "# %matplotlib inline\n",
46
+ "%time from hikyuu.interactive import *\n",
47
+ "#use_draw_engine('echarts') #use_draw_engine('matplotlib') #默认为'matplotlib'绘图"
48
+ ]
49
+ },
50
+ {
51
+ "cell_type": "markdown",
52
+ "metadata": {},
53
+ "source": [
54
+ "1 简单示例\n",
55
+ "========\n",
56
+ "\n",
57
+ "查询并绘制上证指数最后100个交易日的K线数据"
58
+ ]
59
+ },
60
+ {
61
+ "cell_type": "code",
62
+ "execution_count": 2,
63
+ "metadata": {},
64
+ "outputs": [
65
+ {
66
+ "data": {
67
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA8oAAAMSCAYAAACyAj12AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoGNJREFUeJzs3Xl4k1XexvEbKLREShEiUAphUZYqKrQD4gbMqCgOKm6jIqPiSkeQqY4LjDPiBm4IylLFFaniKyAozADqqIALIBRZpJSdQK1AWMpSUig97x+PCUmbtE1pmy7fz3XlavNsOQlp6Z1zzu/UMsYYAQAAAAAASVLtcDcAAAAAAIDKhKAMAAAAAIAPgjIAAAAAAD4IygAAAAAA+CAoAwAAAADgg6AMAAAAAIAPgjIAAAAAAD4IygAAAAAA+CAoAwBQA2VnZ2vz5s3e+xs3blR2dnaZXd8YU2bXqmjHjx8Pui8vL68CWwIACBeCMgAAYZSbm6vBgwdr69atJTp+9erV+v7770/5cadPn67LLrvMe79bt26aNWtWoeO2bdummTNn+m3bsWOHPvroI0nS4MGDde+990qSvvzyS23ZskWSFB8frx9//PGU2xkOqampuvzyywtt79Kli95991098cQTWrlyZRhaBgCoKARlAADC6Pjx43rzzTe1a9euEh3/0UcfqXfv3nrzzTclSe+//75q1apV5K13794htckYo6VLl+qee+5Rp06d9NJLLyk3N9e7/7ffftPjjz+uwYMHe48fP368rr32WqWnp+v48ePasGGDIiMjQ3rcsjJ79uxiX5M2bdoEPX/OnDlq1qxZoe0HDhzQ8ePHVbt2bV100UWaMWNGOT4LAEA4EZQBAH4yMjJ0++23q02bNqpfv77atWunv/71r1q3bp3fcSNHjlStWrW0bdu2gNfp3bt3wDDy8ssv64orrvDenzJlijp16qTIyEh16tRJb7/9dqFzli1bpksuuUT169dXbGysHn30Ub/gJlnh7ZZbblFMTIxiYmJ00003KTMz0++Y48ePa/jw4WrRooXq16+viy66KGDvbEna5HH48GG1bdtW77//ftBjytILL7ygZ599VklJSVq5cqWuv/56paen+93q1aunlJQU7/0PPvigRNf+7LPPNGDAALVs2VIXXXSRduzYoWnTpunHH3/0hl5jjNq3b69PP/1Ux44dk9vt1vHjx7Vlyxa99dZb6tWrl3bs2CFjjNq1a1cmz/ngwYNq3bq1fvnll5DOK/i6eG7Dhw8Pes6uXbs0d+5c3XXXXTp48GChIeSRkZEaNWqU3nrrLdWqVatEH3C88cYbuvbaa0NqOwAgvCLC3QAAQOWxatUqXXzxxbrwwgv14osvqnnz5tq+fbvGjRunhIQE/e9//9PFF198So8xb948XXPNNZKs4b933XWXHn/8cfXp00fz5s3Tfffdp6ioKA0cOFCStHnzZl1++eXq1auX5syZow0bNujxxx/X/v37vQE2Ly9PV155pY4dO6YpU6boxIkTGjFihK644gqtWrVKdevWlST9/e9/19SpU/XKK6+obdu2Gjt2rPr06aOVK1eqQ4cOJW6Tx8GDB9W/f/+gHxaUlyeeeEIJCQnq2rWrJCkmJsZvf61atdSyZUt16tSp0LmTJk3SpEmTtH//fu3Zs0edO3dWnz59JFmv9WWXXaYxY8aoT58+aty4sSTp0UcfVYMGDfTUU09p7969OuOMM4K2LTExUcnJyapVq5b69+/vt2/YsGG6/vrrQ36+jz32mP74xz/qnHPOCem8QM9fkpo2bRr0nJdfflmdOnXS5ZdfrkGDBkmSJk6cqNWrVysnJ0fvvvuupkyZonXr1mnfvn16/PHH9cILLxTZjnvvvVdjxozRxx9/rFtvvTWk5wAACBMDAMDv7rjjDtO6dWuTl5fnt33//v3GbrebP//5z95tTz31lJFktm7dGvBavXr1Mq1bt/bbdvDgQVO3bl2zfv16Y4wxHTp0MDfccIPfMTfccIM566yzvPfvv/9+06JFC3P06FHvttdff93Url3bOJ1OY4wxH330kZFkVq1a5T1m9erVRpJJTU01xhizY8cOU6dOHfP66697jzl69Khp0aKFuffee73bStImY4z5/PPPTdu2bY3dbjeSzHvvvRfwdSjOoUOHjCTz448/lur8QCIjI82cOXMC7vvpp59MSkqKGThwoGncuLFJSUkxX3zxhWnevLl5+umnCx3vdrtNhw4dzJNPPmmMMSYvL8+sXLnSfPjhh6Z27drmggsuMNdff7157LHHzKJFi0xGRoa5//77Tdu2bc2zzz5rnn32WeNwOMzVV19tli9fHvJz2bhxo4mIiDAbN24s8TmzZs0yRf2JM3bs2ELvTWOM2bBhg6lfv76ZP3++93GnTp1q6tWrZyQZSSYhIcH885//NDNnzjQbN240+fn5JWrThAkTzJlnnmlOnDhR4ucBAAgfhl4DALwOHDggSTpx4oTf9kaNGunVV1/VLbfcckrX/+qrr9SyZUt17NhRW7Zs0YYNG3TTTTf5HXPTTTdp06ZN3orM8+bNU79+/RQVFeV3TH5+vr744gvvMR06dNB5553nPebcc89Vhw4dNH/+fEnSF198oRMnTvg9XlRUlPr16+c9pqRtOnDggPr3768LL7xQX3755Sm9Jh4XXnhhoXm0drvd75gFCxaof//+6t+/vx5//HHv9i+//FJ//etfS/Q4f/jDHzR48GD16tVL0dHRGjx4sK644grdfffdeuqppwq1ISoqSkePHvXOR65Tp46aNWum0aNH64477lCXLl3UoEEDrVmzRkOGDNHpp5+u6dOnKy8vT08++aSefPJJHT9+XPfff78SExNDfl1efPFFXXjhhTrrrLNCPjdUL7zwgo4fP+6dm33uuedqwIABWrJkifbt26fWrVvrvvvu06233qqcnBy98cYb6tOnj6ZOnVrstQcMGKCdO3cGLJgGAKh8GHoNAPDq27evPv/8c1100UW6++679ac//ck7fDVYEDtx4kTAJXNMgOWB5s2bp6uvvlqStH79eklSx44d/Y7xDIHesGGDYmNjtWPHjkLHxMbGKjo6Whs2bPBeq+Axnmv5HhMdHa3Y2NhCx0yePFk5OTklatOZZ54pm82mX375RZ06dSqzYdcff/yxzj//fL9tERH+/00fP35chw8f1pYtW/Tbb795t2dmZuqbb77xO3bnzp3e5+NwOGSz2Yp8/Oeff14PPfSQ9u/fX6gNrVu39g5fz8vLU8+ePdW2bVtNnDhRDz/8sOrVq6dZs2bpqquu0tNPPy3Jqox94MABnThxQllZWUpISAjh1ZD3sWbOnKl///vfIZ8rWUPQg2ndunWhbbfffrtsNptcLpc++eQTTZw4Ub/++qt+/PFHpaSkaPfu3UpKSpJkDd8+//zz1aVLl4DvvYJOP/10XXzxxfr444914403lur5AAAqDkEZAOD1wAMPaOvWrRo3bpwefPBBSVKzZs3Ut29fDR48WBdccEGhc4rq6SsYRubNm+et1uzpvS44v7Zhw4be/cGOkaTo6Gjv/gMHDgQMKw0bNvQG5QMHDgS8jufxsrOzS9QmSapXr17Q+a+l1bp162Kv2a9fP/Xr108jR4709oIH4wl0kvTNN98UWfk6LS1NzZo106FDhwrty8vLU1ZWlhwOhyQrOP/nP//RWWedpalTp2rhwoUaMmSIIiMjNWXKFJ133nkaOXKkXn/9df344486ceKE7Ha7WrVqVWR7A1myZIn279+vP/zhDyGfK1nFvAL54IMPvMtb+frTn/6ks846S+eff76eeuopXXjhhfr666/1+uuv6+yzz1ajRo1022236dlnn1WLFi300UcfqV+/ft73R3EuvvhijR8/XidOnFCdOnVK9ZwAABWDoAwA8KpVq5ZefPFFPfroo5ozZ44WLVqkb775Ru+//76mTJmiV199VX//+9/9zvn8888L9dJKVujeu3ev9/6aNWvkcrn0xz/+UdLJHuf8/PxCbfDsD3aM5zjPfmPMKR1T3OP5HlNVzJkzR/369Qu6Py8vT/v27dM555yjOnXqqF27dvrss88CHnvxxRfru+++k2S9Bg0bNtTu3bv10Ucf6YILLtCNN96o3377TZmZmfrTn/6kBx98UGvWrNGHH36oqKgov/WaQ+H5kKN9+/alOj/UYl6ZmZm64oordN5556lTp056+umnZbPZvD3zf/nLX+R2u9WiRQtNmzZN9957r7777rsS95a3b99eBw4c0I4dO4pcngoAEH4EZQBAIXa7XYMGDfJW/V26dKnuvPNOPfbYYxo4cKDf3Nlzzz034B/90dHRfkF53rx56t27t+rXry/JmvcsqVAvZnZ2tne/p2c3UE9ndna29xqNGjU6pWMkqxe5JG2q6l577TVNmTJFO3bsUN26dTV27Fj16tVLt9xyix588EFNmDDB7/iRI0fqq6++8t7fu3dvoQ9GpkyZ4v3+m2++Ud26dXXrrbeqf//+Ou200/z2h8Kz9FJFve7PPvusNmzYoA0bNmj79u1KSEjwq9zdvXt3jR07VrNmzdKgQYM0derUkIaUe35ufvvtN4IyAFRyFPMCAEiStm3bpubNm+utt94qtO+CCy7Qs88+q+PHj3sLWoXKd36ydHLeb0ZGht9xnl7Ejh07qkGDBmrRokWhY7KysnT48GHvcOsOHToUOsZzLd9jDh06pKysrELHtGzZUqeddlqJ2lSZ5OfnB+0FDub666/XtGnTNHr0aEVHR6tPnz7eNZInTpxYqJiXZ86xR5MmTbR//3717dtXN998s/bv36+1a9cqIiJCc+bM0SWXXCJJuvzyy9WiRQsZY7zLT4XK05MfaCRAeXj00Uc1bdo0ZWZmatu2bRozZoyysrK8a3b3799fWVlZuvHGGzV69GjdfPPNpXqcouZOAwAqB4IyAECS1LJlSxljNHnyZB09erTQ/g0bNigiIkJnnnlmyNc+ePCgvv/+e/Xt29e7rX379mrbtq0++eQTv2NnzpypM8880/s4V155pebMmSO32+13TO3atXXFFVd4j9mwYYNWrVrlPWbNmjXasGGDrrzySknSFVdcoVq1avk9Xm5urv7zn/94jylpm8LNGKOdO3eqS5cu+sc//hHSuQ6HI2jgv/3225Wenu5388xV96hVq5Zyc3O1bds2zZo1S3fffbf+8Y9/6Pzzz9ef//xnbwGy9evX69dff9XevXu1YMGCUj3P5s2bS5LfyIRQrF+/PuBt9+7dAY8/88wzvQW3LrjgArVr105vvvmmd8j9vHnzvFW/77rrrpDb4ymU5nleAIDKi6HXAABJVpGm8ePH67bbblP37t2VlJSkTp066ejRo/ryyy81ceJEPf3004WWLCqJr776Sm3atClU+GvkyJG688479eijj+rqq6/WF198oZkzZ+rDDz/0HvPYY4/p448/1g033KDk5GRt27ZNI0aM0D333OMtMHXrrbdq9OjR+stf/qLRo0erTp06euKJJ3TOOed4l7Rq06aN7rrrLj355JOqV6+eOnTooNdee00HDhzQY489FlKbSsvlcsnlcvlty8nJkSRt37496BDj2NhYvwJjhw4d0t69e/XXv/5Vw4cP16effnrKbZOsImUF2+C7LJdHs2bNtG7dOn322We65ZZblJubq8suu0wHDhzQ6aefroyMDF155ZXq0aOH2rZtq1tuuUXz5s3z9jaXlKcKeHp6ulq2bBny84mPjw+6L1DV67vuuksffPCBGjZsqJtuukkvv/yyLr30UmVmZio5OVkzZszQww8/rDlz5ujaa6/VrFmzNG/ePG3atKlQz3sg69evV8OGDRUXFxfycwEAVLCKX7oZAFCZff/99+bGG280LVq0MHXr1jXNmjUzl112mZk/f77fcU899ZSRZLZu3RrwOr169TKtW7c2xhhz7733mmHDhgU87o033jBnnXWWqVevnunQoYN55513Ch2z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3ZepU6fq2rVrLdMJCQlat27dMtvv379fhw4daumfqmp0dLTOmzfPMr1w4UL19/fX6OjoGiuUXSnjYtOnT9fOnTvbVSjv2LFDmzRpotHR0SXaX7t2TWvVqqUHDx50uA/O4s75Ll++3Kp/qqpPPfWUDh06VFVVe/furU888YRl2ZUrV7RevXqalJTkcJ8qypXyTU5O1qCgIIf6v27dOm3YsKHl99fo3Xff1RYtWlgVbjExMbpx40aHPqMy3Dnf5ORkfeGFF6zm1a1bVxMSElRV9Y033rA6KLl8+bL6+fnpl19+afdnOIMrZTx+/HiNi4uzTF+5ckUjIiL0u+++K3Od8vbBn332mdatW1dzcnIs8/r06aMLFy60u0+V5c752jqOsNX/6uBK+RodO3ZM/fz8dNOmTeW2K28fXGz58uWWv5nVXSi7c77FxxpG3bp10ylTpqiq6nPPPacDBgywLNu3b5+KiM0vNirDlfJ0dPxnzpxREdH9+/db5vXv31//9Kc/2f2ZXHp9k4mMjJQNGzaIr6+vZZ6Hh4dcvnxZUlJS5IEHHhAPDw/L/I4dO1ouk1i4cKH07NnTaj0RkcuXL4uIyA8//CDNmze3uy9//vOfpX///iIi8ssvv8jixYslMDCwzPatWrWSlStXWj43MTFRDh48aLXO559/LsuWLZNx48bZ3Q9nc6WMRYouK1mwYIHMnj3brvZJSUkycuRIWb16dYll6enpUlhYKE2bNnWoD87kzvl26dJFli9fbvlcY99FRDIzM6VDhw6WZb6+vtK8eXP5+uuvHepTZbhSvhX575GYmCjTpk2TuXPnlli2detW6dOnj3h6/vqnbe/evVZ9rmrunG9sbKy88847IiJSWFgoS5culV9++cWyD05JSZFOnTpZ2ptMphq5dNWVMt66dav07dvXMu3r6ytHjhyRu+66q8x1ytsHb926VeLi4sTf398yb/369fL000/b3afKcud8bR1H2Op/dXClfI1effVVueeee6RHjx7ltitvHywicu7cOXn55ZdlwYIFFepHZblzvo899pjMmTPHap7xGKJt27ayc+dOycjIkOvXr8uHH34oPj4+4uXlVaE+2cOV8nR0/PXr15fbb79dVqxYIdevX5eMjAzZtWtXubXIjSiUbzJBQUHSrVs3y3R+fr4sXbpUHnroITl58qSEhIRYtW/cuLFk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pLZq1ara36PsShnv3LlTa9WqpfPnz9eMjAwdPXq0hoWFWRVqZSltn3L+/Hm99dZbddSoUZqenq6LFi3S2rVrV+uXae6cr63jiPL6X11cKV/Voi/IWrdu7fA4StsH30hq4NJrd8531qxZ6u3trV9//bXV5xf/fi5evFjr16+vn332maanp+uIESO0UaNGdp0cqShXytPR8efl5WnTpk31iSee0LS0NN24caM2aNDA6vJtWyiUbzITJkxQESnxU1xUpqSkaHR0tHp5eendd9+t33zzjaqqHjhwoNT1jDu5gwcP6sMPP6z+/v4aHBys06ZNK/cbssLCQv3LX/6iYWFhWrduXe3fv78eO3as3P4fPnxY4+Li1N/fX++4444y3x1Zk4WyK2Vs5IxCWbXoG8IWLVqot7e3xsTElHnvYlVx53wHDhxY6ucb75t96623NDg4WP39/fXxxx/X8+fPVySmCnOlfPPy8nTChAnaqFEj9fX11V69epX6LXppyjpI27lzp8bExKiXl5feeeed1f6OX3fPNyUlRe+991718/PTu+66S9etW2e1fMOGDZb9Q5cuXTQjI6PCWVWUK2WsqpqQkKBRUVHq5eWl9957b7nvUDYqa59y8OBBjY2NVS8vL42IiCjzKqyq4u752jqOKKv/1cXV8h03bpz269fP4XG4aqHszvm2a9eu1M833qf/7rvvarNmzTQgIEDj4uL04MGDDmfkCFfL09HxZ2VlaY8ePbROnToaERGhM2fOtOvL+GIeqqoCAAAAAABEhNdDAQAAAABghUIZAAAAAAADCmUAAAAAAAwolAEAAAAAMKBQBgAAAADAgEIZAAAAAAADCmUAAAAAAAwolAEAAAAAMKBQBgAAAADAgEIZAAAAAAADCmUAAAAAAAwolAEAAAAAMPh/TbTVkNSUMQIAAAAASUVORK5CYII=",
68
+ "text/plain": [
69
+ "<Figure size 1000x800 with 1 Axes>"
70
+ ]
71
+ },
72
+ "metadata": {},
73
+ "output_type": "display_data"
74
+ }
75
+ ],
76
+ "source": [
77
+ "s = sm['sh000001']\n",
78
+ "k = s.get_kdata(Query(-100)) \n",
79
+ "k.plot()"
80
+ ]
81
+ },
82
+ {
83
+ "cell_type": "markdown",
84
+ "metadata": {},
85
+ "source": [
86
+ "2 查看与遍历K线数据\n",
87
+ "==========\n",
88
+ "\n",
89
+ "K线数据可以象list一样遍历和查看具体值"
90
+ ]
91
+ },
92
+ {
93
+ "cell_type": "code",
94
+ "execution_count": 3,
95
+ "metadata": {},
96
+ "outputs": [
97
+ {
98
+ "name": "stdout",
99
+ "output_type": "stream",
100
+ "text": [
101
+ "KData{\n",
102
+ " size : 100\n",
103
+ " stock: Stock(SH, 000001, 上证指数, 指数, 1, 1990-12-20 00:00:00, +infinity),\n",
104
+ " query: KQuery(-100, 9223372036854775807, INDEX, DAY, NO_RECOVER)\n",
105
+ "}\n"
106
+ ]
107
+ }
108
+ ],
109
+ "source": [
110
+ "s = sm['sh000001']\n",
111
+ "k = s.get_kdata(Query(-100)) \n",
112
+ "print(k)"
113
+ ]
114
+ },
115
+ {
116
+ "cell_type": "code",
117
+ "execution_count": 4,
118
+ "metadata": {},
119
+ "outputs": [
120
+ {
121
+ "data": {
122
+ "text/plain": [
123
+ "KRecordList[KRecord(Datetime(202508040000), 3547.1600, 3583.3100, 3547.1600, 3583.3100, 63977560.5000, 4585736.0000), KRecord(Datetime(202508050000), 3588.8100, 3617.6000, 3586.9700, 3617.6000, 65638249.3000, 4997978.0000), KRecord(Datetime(202508060000), 3615.8100, 3634.3100, 3613.9900, 3633.9900, 70722125.8000, 5124672.0000), KRecord(Datetime(202508070000), 3637.7800, 3645.1200, 3622.5200, 3639.6700, 74969999.0000, 5355012.0000), KRecord(Datetime(202508080000), 3634.8500, 3645.3700, 3625.4500, 3635.1300, 71356973.1000, 5264076.0000)]"
124
+ ]
125
+ },
126
+ "execution_count": 4,
127
+ "metadata": {},
128
+ "output_type": "execute_result"
129
+ }
130
+ ],
131
+ "source": [
132
+ "#查看最后5个交易日的K线值\n",
133
+ "k[-5:]"
134
+ ]
135
+ },
136
+ {
137
+ "cell_type": "code",
138
+ "execution_count": 5,
139
+ "metadata": {},
140
+ "outputs": [
141
+ {
142
+ "name": "stdout",
143
+ "output_type": "stream",
144
+ "text": [
145
+ "3639.67\n"
146
+ ]
147
+ }
148
+ ],
149
+ "source": [
150
+ "#遍历查询最大收盘价\n",
151
+ "max_close = 0\n",
152
+ "for v in k:\n",
153
+ " if v.close > max_close:\n",
154
+ " max_close = v.close\n",
155
+ "print(max_close)"
156
+ ]
157
+ },
158
+ {
159
+ "cell_type": "markdown",
160
+ "metadata": {},
161
+ "source": [
162
+ "K线数据(KData)其实是有KRecord组成的数组,KRecord的属性如下:"
163
+ ]
164
+ },
165
+ {
166
+ "cell_type": "code",
167
+ "execution_count": 6,
168
+ "metadata": {},
169
+ "outputs": [
170
+ {
171
+ "name": "stdout",
172
+ "output_type": "stream",
173
+ "text": [
174
+ "日期 - 2025-03-17 00:00:00\n",
175
+ "开盘价 - 3430.81\n",
176
+ "最高价 - 3436.35\n",
177
+ "最低价 - 3422.46\n",
178
+ "收盘价 - 3426.13\n",
179
+ "成交金额 - 63934994.800000004\n",
180
+ "成交量 - 5156851.0\n"
181
+ ]
182
+ }
183
+ ],
184
+ "source": [
185
+ "print(\"日期 - \", k[0].datetime)\n",
186
+ "print(\"开盘价 - \", k[0].open)\n",
187
+ "print(\"最高价 - \", k[0].high)\n",
188
+ "print(\"最低价 - \", k[0].low)\n",
189
+ "print(\"收盘价 - \", k[0].close)\n",
190
+ "print(\"成交金额 - \", k[0].amount)\n",
191
+ "print(\"成交量 - \", k[0].volume)"
192
+ ]
193
+ },
194
+ {
195
+ "cell_type": "markdown",
196
+ "metadata": {},
197
+ "source": [
198
+ "3 Query详解\n",
199
+ "========\n",
200
+ "\n",
201
+ "获取Stock的K线数据,需要指定查询条件,可按索引和日期两种方式查询。\n",
202
+ "\n",
203
+ "构建按索引方式查询条件:Query(start=0, end=None , kType=Query.DAY, recoverType=Query.NO_RECOVER)\n",
204
+ "\n",
205
+ "构建按日期方式查询条件:QueryByDate(start=None, end=None, kType=Query.DAY, recoverType=Query.NO_RECOVER)\n",
206
+ "\n",
207
+ "其中,索引遵循Python的惯用方式,即以0位起始,以[start, end)的方式查询,支持负数表示倒叙; 按日期查询同样遵循[start, end)惯例。\n",
208
+ "\n",
209
+ "kType: 为K线数据类型(日线、分钟线、周线等):\n",
210
+ "\n",
211
+ " - Query.DAY 日线\n",
212
+ " - Query.WEEK 周线\n",
213
+ " - Query.MONTH 月线\n",
214
+ " - Query.QUARTER 季线\n",
215
+ " - Query.HALFYEAR 半年线\n",
216
+ " - Query.YEAR 年线\n",
217
+ " - Query.MIN 1分钟线\n",
218
+ " - Query.MIN5 5分钟线\n",
219
+ " - Query.MIN15 15分钟线\n",
220
+ " - Query.MIN30 30分钟线\n",
221
+ " - Query.MIN60 60分钟线\n",
222
+ " \n",
223
+ "recoverType:为复权类型(不复权、前向复权、后向复权、等比前向复权、等比后向复权),仅支持日线复权:\n",
224
+ "\n",
225
+ " - Query.NO_RECOVER 不复权\n",
226
+ " - Query.FORWARD 前向复权\n",
227
+ " - Query.BACKWARD 后向复权\n",
228
+ " - Query.EQUAL_FORWARD 等比前向复权\n",
229
+ " - Query.EQUAL_BACKWARD 等比后向复权"
230
+ ]
231
+ },
232
+ {
233
+ "cell_type": "markdown",
234
+ "metadata": {},
235
+ "source": [
236
+ "3.1 按索引方式查询K线数据\n",
237
+ "-------------------------"
238
+ ]
239
+ },
240
+ {
241
+ "cell_type": "code",
242
+ "execution_count": 7,
243
+ "metadata": {},
244
+ "outputs": [],
245
+ "source": [
246
+ "#查询股票前100个交易日的K线数据\n",
247
+ "k = s.get_kdata(Query(0, 100))\n",
248
+ "\n",
249
+ "#查询股票最后100个交易日K线数据\n",
250
+ "k = s.get_kdata(Query(-100))\n",
251
+ "\n",
252
+ "#查询股票第199个交易日到第209个交易日的K线数据\n",
253
+ "k = s.get_kdata(Query(200, 210))\n",
254
+ "\n",
255
+ "#查询股票倒数第100个交易日至倒数第10个交易日的K线数据\n",
256
+ "k = s.get_kdata(Query(-100, -10))"
257
+ ]
258
+ },
259
+ {
260
+ "cell_type": "markdown",
261
+ "metadata": {},
262
+ "source": [
263
+ "3.2 按日期方式查询K线数据\n",
264
+ "--------------------------\n",
265
+ "\n",
266
+ "按日期查询同样遵循 [start, end) 惯例。\n",
267
+ "\n",
268
+ "日期类型为Hikyuu库中定义的 Datetime,其记录的是“年月日时分”。可使用Python的datetime类型、日期字符串或数字表示法进行构建:\n",
269
+ "\n",
270
+ "- Datetime(datetime.date(2017,1,1)) - 从Python的datetime构建\n",
271
+ "- Datetime('2017-1-1 9:35') - 通过日期字符串构建\n",
272
+ "- Datetime(201701010935) - 通过数字进行构建,数字格式须如“yyyymmddhhmm”(4位年份2位月份2位小时数2位分钟数)"
273
+ ]
274
+ },
275
+ {
276
+ "cell_type": "code",
277
+ "execution_count": 8,
278
+ "metadata": {},
279
+ "outputs": [
280
+ {
281
+ "name": "stdout",
282
+ "output_type": "stream",
283
+ "text": [
284
+ "kdata is None\n"
285
+ ]
286
+ }
287
+ ],
288
+ "source": [
289
+ "#查询2017年1月1日至今的日线数据\n",
290
+ "k = s.get_kdata(Query(Datetime(201701010000)))\n",
291
+ "\n",
292
+ "#查询2017年1月1日至3月31日日线数据\n",
293
+ "k = s.get_kdata(Query(Datetime(201701010000), Datetime(201704010000)))\n",
294
+ "\n",
295
+ "#查询2017年1月5日1分钟线数据\n",
296
+ "k = s.get_kdata(Query(Datetime(201701050000), Datetime(201701060000), ktype=Query.MIN))\n",
297
+ "k.plot()"
298
+ ]
299
+ },
300
+ {
301
+ "cell_type": "markdown",
302
+ "metadata": {},
303
+ "source": [
304
+ "3.3 查询复权日线\n",
305
+ "----------------"
306
+ ]
307
+ },
308
+ {
309
+ "cell_type": "code",
310
+ "execution_count": 9,
311
+ "metadata": {},
312
+ "outputs": [
313
+ {
314
+ "data": {
315
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7sAAAMSCAYAAACridPQAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAjzRJREFUeJzs3Xd8U/Xi//F3odAQWgIaZRTCUEad2DpxoN+rXgf68yL36pWquJAqV8SNXgUuCop660BR3FrnFeQKKk4QHDiog1HKEAyUqoSRAqUtpZ/fH7kJTZvutElOXk8eedCclc85bdq8z2clGGOMAAAAAACwkFaRLgAAAAAAAOFG2AUAAAAAWA5hFwAAAABgOYRdAAAAAIDlEHYBAAAAAJZD2AUAAAAAWA5hFwAAAABgOYRdAAAAAIDlEHYBAGgCY4xmzJihjRs3Kj8/X263OyLl2LVrV0ReN9rs2bOnxnXl5eUtWBIAQKQRdgEAaIKEhATdcsst+vbbb3XvvffqkEMO0VlnnaWNGzc26Di7d+/Wvffeq99//73WbU4++WQ9/vjjQct//PFHde7cWdu3b6/Xa3399deBr1euXFmvR20hMprk5OTo9NNPr7Z84MCBev7553XHHXfohx9+iEDJAAAtLTHSBQAAIFY89dRTWr9+fbXlrVq10owZMzRw4EBlZmbqxRdf1A033KCzzjpLI0eOlCTt3btXw4YN0zXXXKNzzjmn2jF27dqlu+++W0OGDFHnzp1Dvn67du1044036tJLL1VhYaEmT54sSbrnnnu0a9cuderUqdo+N998sx566KHA82+//VZDhgzRWWedpZdeeklpaWn1OvfVq1fr4IMPrte2TTF79mz95S9/qXWbnj17hvw+SNKcOXNCXr/t27drz549atWqlQYNGqRXXnlFw4YNC0eRAQBRippdALCg/Px8DR8+XL169VK7du3Up08fXXrppVqxYkXQdr169VJCQkKNjxEjRgRt/+CDD+qMM84IPH/ppZc0YMAAJSUlacCAAXr22WerleXbb7/VSSedpHbt2qlr16669dZbVVpaGrTNb7/9posuukgOh0MOh0PDhg1TQUFBtWM9//zzOuyww2Sz2dS7d29NmjRJe/fuDdrm/fffV3p6umw2m3r16qUpU6bIGBO0zZw5c3TMMccoOTlZffv21X333VevmsucnBzNnj1by5YtC3qkpKTohx9+0LJly7Rx40adfvrpKisr07p16wL7tm7dWueee64uvPBCffvtt3W+Vk0uvPBCvf7667rwwgslSf/+97/13nvv6Z133tFbb72lJ598Unl5eVq2bJmcTqf69u0btP+xxx6rn376SYsXL9ajjz4qSfr4449ljJExRtu3b1e7du30+eefB5YZYxoddIuKitSzZ08tX768Qfvl5eWFfIwbN67GfX7//XfNnTtXI0aMUFFRUbXve1JSkiZPnqxnnnlGCQkJtdai+z311FM6//zzG1R2AECUMAAAS/nxxx9N+/btzemnn27eeOMNs2DBAvPSSy+Zo446yiQlJZkvvvgisG1ubq75+uuvqz0uuOACI8k8++yzQcc+7bTTzL///W9jjDFvvfWWkWRuv/128+mnn5pbbrnFSDKvvPJKYPs1a9aYlJQUM2TIEPPxxx+bJ554wiQnJ5urrroqsM2ePXvMEUccYQYMGGDeeecd8/bbb5t+/fqZtLQ0U1ZWFtju8ccfN5LMzTffbObPn2+mTp1qEhMTze233x7Y5ssvvzSJiYnmiiuuMJ9++qmZMmWKad26tZk0aVJgm48++si0atXKXHHFFebjjz82jz76qGnfvr257rrr6ry2J554YtCx/KZOnWq6du1qKioqjDHG3HzzzSY7OzvkMa6++mpzyCGHmM2bN5u8vLzA4+uvvzaSzDvvvBO0fPPmzdWO8dtvv5lPP/3U3HPPPaZVq1ZmxowZxhhjTj75ZHPkkUeaiooK88EHH5jOnTub7du3B+27bNkyY4wxa9euNaWlpUaS+fjjj80ZZ5xh2rdvb9q1a2ckmfbt2wceCxcurPPa1OTaa681l19+eb23f+edd0xtH0+ys7NNz549Q667+eabzeGHH24qKirM5Zdfbi6//HKzc+dO89VXX5kDDjjAnHDCCeakk04y++23X+Bnty579uwxBx98sHn99dfrfQ4AgOhA2AUAi7nssstMz549TXl5edDybdu2GafTac4999xa93/zzTeNJJOZmRm0vKioyLRp08asXLnSGGNMv379zNChQ4O2GTp0qDn44IMDz0eOHGm6detmdu/eHVj22GOPmVatWhm3222MMea1114zksxPP/0U2Obnn382kkxOTo4xxpgdO3aYDh06mFtuuSXo9W655RZzzDHHBJ6feeaZJiMjIxA6jTHmpptuMikpKYEynH766dW2GT9+vGnbtq0pKSmp9dqceOKJRlLQo1+/fiYvLy8QVP1hes6cOSGPsXnzZpOTk2Nef/31ascK9Rg/fny1YwwdOtT86U9/Mt98842ZM2eO2bt3rxkzZoxp166d6dWrlxk1apTZs2eP2bFjR9B+mzZtMl26dDFDhgwJXA9/2D3xxBPNP/7xD7N69erAY+XKlUaSmT9/fq3XpSarV682iYmJZvXq1fXep7Fhd9WqVaZdu3Zm3rx5gdd95ZVXTNu2bQPXMj093dx1111m5syZZvXq1UE/A7WZNm2aOeigg8zevXvrfR4AgMgj7AKAxZx//vmmZ8+eprS0tNq6l19+2bz88ss17pufn29SUlLMYYcdZnbt2hW0btasWaZ3797GGF+toCTz2muvBW3jD65r1qwxxhjTo0cPM3LkyKBtNm3aFFRrfOmll5p+/fpVK0u/fv0CgXvWrFlGkvn1119rLHtJSYlp06aNmTx5ctDyr776ykgyn3zySeAcly5dGrTN1KlTTUJCgtm2bVuNxzfGmKOPPtpcccUVgVrXrKwsc8oppxhjjBk8eLDp3r17oCbbGGOmT59uioqKjDHGFBYWBtXYVq61NsaYX3/91Ugy69atq7UM999/v2nbtq358ccfTUlJiXnrrbfM0Ucfbfbbbz/zwQcfmA0bNpjDDz/cpKenm5kzZ1Z7nc2bN5tDDjnEXHbZZcaY4LBbU+BubNi9+uqrzcknn9ygfRobdq+88kqTmJhoUlNTTevWrc1RRx1l9u7da3Jzc83WrVtNz549zfTp083SpUvNK6+8Ym6++WZz+umn1/p+8Nu6datJSkoyb7/9doPOBQAQWfTZBQCLOfvss/Xrr79q0KBBevLJJ7Vy5crAuksvvVSXXnppyP2Ki4sDA/a8/fbbstvtQes/+OCDwMBK/mP2798/aJt+/fpJklatWqXi4mJt2LCh2jZdu3ZVSkqKVq1aFThW1W38x/Jv89NPP6ljx47avHmzTjzxRLVt21Zdu3bVfffdF+iXuXbtWu3Zs6fWMvmfH3bYYZJ8g0K98847mjJlii699FJ17Ngx5LXx27RpkwYOHKgBAwZowIAB2rlzp3r27ClJ+vvf/66NGzcqOTlZr7zyiiTfwFHff/+9JOmf//yn0tLSAo9ff/016NgFBQVq3bq1bDZbjYMv/fe//9W4ceP09NNPq3v37nK5XBo3bpz+9Kc/KS8vT2eddZa6d+8eGIRqxIgR6ty5c9AAVU6nU7NmzdINN9xQ7fjXX399UP/YZcuW1Xo9alNeXq6ZM2dq6NChjdq/pn7kY8eODbn98OHDNWrUKJ188skyxuiJJ57Qpk2b9PXXX+v222/XH3/8oaysLB1++OG6+eab9fPPP2vgwIEhf/aq6tSpk0488US98cYbjToXAEBkEHYBwGKuvfZa3XbbbVq6dKmuv/56paWlqUuXLrriiiv0zTff1Ljfddddp6VLl+q5554LGQAqh13/FDcOhyNomw4dOgTW17SNJKWkpATWb9++PeQ2HTp0CGzz+++/a+/evRoyZIjOOeccffjhhxoxYoTuuece3XPPPfUuU2WFhYVKTk7W0KFD5XQ6dffdd4e4KvusXr1amzZt0kknnaSrr75aH330kb777jsdcsghGj9+vEaPHq3WrVvrt99+03PPPafCwkJt2bJFhx9+uCTp2WeflTEmaNCqyhYtWqQePXrokUce0fnnn6/i4uJq2wwZMkTz5s3TiBEjlJ2drT/++ENr167VAw88oM6dOwcCoX+AqYKCAj366KO6+OKLg47Tv39/de3atdrxExMTZbPZgh6NtXjxYm3btk1HH310o/Zv6ABV//d//6dbb71V8+bN0/jx43XCCSdo1apVeuyxx+TxeNSxY0ddeeWVKigo0O+//64RI0bo7rvv1rHHHluv8px44on65JNPqg2IBgCIXoRdALCYhIQEPfDAAyooKNDzzz+vESNGyGaz6cUXX9QJJ5ygRx55pNo+zzzzjF566SXdeOON+utf/1pt/dKlS+XxeHTaaadJUqA2taKiotpr+9fXtI1/O/96Y0yd2+zZs0c7duzQ2LFjddddd+m0007TlClTdPXVV+uhhx7Szp0761Wmyux2u+bPn6+33npLbdq00QknnFDr3LiTJ0/WYYcdpvT0dEm+mtw2bdpo6NChevvtt/WPf/xDBQUFGjdunO644w6lpaXprLPOktPprPGYlf33v//V+eefrwkTJqh169a68sorq23TunVrnXnmmYHnAwcO1KJFi7Ro0SJNnTpV7733nhYtWqTLLrtMku+mwqWXXqru3bsHHWfLli1yuVyB+Wb91+jRRx9V7969A4+mTDXkr0mvOhp0fflrz6s+DjzwwJDbFxQU6IwzztARRxyhAQMGaOLEiVqyZIlWrlypWbNm6aSTTlJJSYm6deum119/XVdffbXWrFlT7/L07dtX27dv14YNGxp1PgCAlkfYBQCLcjqduuKKK/TCCy9o/fr1Wrx4sfr166fbbrtNHo8nsN0PP/ygG264QYMGDdLUqVNDHuuDDz7Qqaeeqnbt2klSoLnvjh07grbzer2B9f4a1qrb+LfzH6Njx451bpOcnCzJV7NZ2dlnn62SkhItX768XmWqzOFw6NRTT9Vf//pXvf/++9qyZYtefPHFkOdfVlamXbt26YYbbtDKlSt1yy236Msvv9Rbb72liooKzZw5UyNHjtS2bdt06aWX6v3339fYsWP13HPPhTxeVV988YW++uorZWZmymaz6aWXXtKsWbM0a9asWvdzOBw66aSTdOyxx+q2225T586dddJJJ6lHjx617vfTTz+pVatWgSBut9v12Wef6fHHH1dBQYFSU1OVnZ2tWbNm6Y033tApp5xSr/OozD+tT11Nw8Nl0qRJWrVqlRYuXKjbbrtNP/30U9B8u8cee6wWLFigd955R1dccYVeeumlwI2L+vBfq99++y3sZQcANA/CLgBYyPr169WlSxc988wz1dYdd9xxmjRpkvbs2aO1a9dK8gXBYcOGKSUlRW+++abatGkT8riVmzBL+/rB5ufnB23nr83r37+/kpOT1a1bt2rbFBYWaufOnYGm0v369au2jf9Y/m38NYxVm/b658Zt27at+vTpo8TExFrLVFFRoTfeeENLliwJ2qZnz57ab7/9aqzZbdu2rd566y3l5+cH9but6XHmmWdqwoQJQTcVarJ27VpdcskluuKKK3TMMcdIko444ghde+21Gj9+fMha76rcbrckBYW72rz33ns66aSTgvb76aefdMMNN+iPP/6Q5GvSXFRUpMsuuyzQ77gh/LXF9Sl/ONx66616/fXXVVBQoPXr1+vhhx9WYWFhYE7nCy64QIWFhbrwwgs1ZcqUkC0Y6sN/XgCA6EfYBQAL6d69u4wxmjFjhnbv3l1t/apVq5SYmKiDDjpIknT55Zdr/fr1eu2116o1dfUrKirSl19+qbPPPjuwrG/fvurdu7feeuutoG1nzpypgw46KHD8P//5z5ozZ45KSkqCtmnVqpXOOOOMwDarVq3STz/9FNhm6dKlWrVqlf785z8HtpGk1157Lej1Zs+erf3220+HHnqo2rVrp5NPPllvv/12UJPlmTNnKjk5WYMGDVKrVq30z3/+U3fddVfQcXJzc7Vly5bAwFW1Offcc2WM0bZt2yRJ3333nYwxGjNmTGBdYWFhjfv7w1dZWZlee+01HX300erWrZsef/zxoO3uvPNOrVy5Um+++WadZZo/f7569OihLl261LltaWmp3njjDf3tb3/TwoULtd9++8nhcOiyyy7TlVdeqYEDBwa2vfzyy3X11Vdr5MiRDQ6t/rJs2bKlQfv5rVy5MuTDH8arOuiggwKDSB133HHq06ePnn766cDPwgcffKDWrVurc+fOGjFiRIPL4/9+1+caAwCiRIuP/wwAaFZvvvmmadWqlTnssMPME088YT799FMzd+5cM2bMGJOYmGjuu+8+Y4xvvltJ5uKLLzZff/11yMfy5cvNzJkzTd++fau9zksvvWQkmVtuucV89tln5o477jCSzKuvvhrYJi8vz7Rr186cffbZ5qOPPjIzZswwKSkp5pprrglsU1paagYMGGD69etnZs6caWbPnm0GDBhgDj300KBpc6699lqTkJBgbrvtNvPhhx+aG2+80Ugy06ZNC2zz2WefmVatWpnLLrvMfPrpp2bq1KmmTZs2gXOuXO5Ro0aZjz/+2DzzzDOmW7du5tBDD6023VJVN998c2Ce4m3bthlJ5rvvvjPGGDNmzJjAusLCQiOp2hRH69atM4cccohp27atOfbYY83ChQvNPffcU216IL8HHnjAbNy4MeS6lStXmq+++sosXbrUdOnSxdx3333G5XKZo48+2mRmZprXX3895H7Tpk0znTp1MkVFRaZ///7mzDPPNIcddpgZOHCg2blzpzHGmNTUVPP4448bY3xTFdlsNjNr1qxar01Vubm5RpL56KOPGrSff+qh2h6hph66/PLLTUJCgnE4HOaqq64yn3/+uamoqDAbNmwww4YNM5LMTTfdZPr27WtOOukks3nzZvPyyy+be+65p17luvvuu02HDh3Mnj17GnQ+AIDIIewCgAV9+eWX5sILLzTdunUzbdq0MZ07dzZ/+tOfzLx58wLbXH755XWGisGDB5urr77ajBkzJuTrPPXUU+bggw82bdu2Nf369TPPPfdctW0WLlxojjvuOJOUlGQ6d+5sbr311mpzALvdbnPBBReY5ORkk5KSYoYNG2YKCgqCttm7d6958MEHzUEHHWTatGljDj74YPPUU09Ve71Zs2aZww8/3LRt29a4XC5z//33m4qKiqBt3njjDXPUUUeZdu3amS5dupjrrrvObN26tcbruXr16jqvVW3X0BhjvvnmG9O5c2dz9tlnm40bN5rjjz/euFwu88QTT5jc3FyzceNGs2XLFrNr1y5TVFRkNm3aZFasWGG+/vrrQAgvLy8369atM99++62ZOXOmycrKMjabzYwcOdIUFRWZF154wVx00UWmffv2pnXr1ubSSy8Nuo7r1683ycnJ5oEHHjCvv/66kWQWLlxonn32WbN582azbt068/PPP5uUlBQzffr0wH6vvvqq2b59e43XJ5SKigpzwAEHmAkTJjRov8bOs/vJJ5+Y119/3ezevdsYY8yOHTvMddddZ5KSkkzPnj3Nu+++a4wxZs2aNaZv377G6XSa448/3px22mn1KtdZZ51l/vrXvzboXAAAkZVgTJXhKQEAQJDK/Zwbym63y+Vy6e6775bH49G0adPUunVrlZSUaPLkyfrPf/6jdevWBZo3V9W1a1e53W4lJiaqrKxMBx98sDwej/r376/BgwfrsssuqzbQ0s6dO/XMM89o8uTJevXVVwMjOFdUVOitt97SsGHD9Pjjj+vrr78Oaoo+adIk3XPPPXI4HFq4cKGOOOKIRp2z35gxY7Rw4cLAqM/1sXPnTm3cuFEDBgwIub6kpES7d+9Wp06daj2OMUYjRoxQenq6rr322qBplIqKinTPPfcoJydHTz75pP72t7/VeqytW7eqa9eueuONN/SXv/yl3ucCAIgswi4AADFkz549NQ4kVpXX6w05h3FLWb9+vfr27avvv/9eRx55ZMTK0VRPPPGEnnzySS1btowBqgAghhB2AQBAsxkzZow2b95cbXCxWFFaWqq+ffvqiSee0HnnnRfp4gAAGoDRmAEAQLOZPHmyli5dqhUrVkS6KI3y0ksv6dRTTyXoAkAMomYXAAAAAGA51OwCAAAAACyHsAsAAAAAsJzESBfAr6KiQps2bVJKSgojHQIAAABAHDHGaMeOHerWrZtatQpPnWzUhN1NmzapR48ekS4GAAAAACBCNmzYoO7du4flWFETdlNSUiT5Tq5Dhw4RLg0AAAAAoKUUFRWpR48egVwYDlETdv1Nlzt06EDYBQAA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/PPPB61/6qmn1KNHD9ntdl144YX6/fff63lVwiearq/T6ay2T12/JyRp9erVstls1ZYvXbpUJ510kux2u4444gjNnz+/vpclbGL5+n744YcaOHCgkpOTNWjQIH3//fdB6z/66COlpaWpXbt2OuWUU7Rq1arGXKImiabr+/nnn+uoo46S3W7XCSecoJ9++qle51DT72C3261zzjlH7du318EHH6y33nqrnlclfGL5+tb1GaK28rekaLnGVbf1P15++eU6z6Gm38F+v/zyi+x2uxYsWFCPKxJesXx958+fr2OOOUbJyck64ogjqn0Gmzp1qnr27CmHw6ELLrggqHzNIVqupdTwc1+1apXOOOMMpaSk6OCDD9YLL7zQ8AtgEHVKS0vNoYceajIzM82aNWvMvHnzzAEHHGCefPJJs2PHDtO5c2dz1113mfXr15s77rjDOJ1OU1RUZIwx5t577zW9evUyn3/+ucnPzzfnnnuuOf74401FRYUxxpj777/fnHvuuWbz5s2Bh3/fUPzH+/LLL01eXp7505/+ZK688soat/d6vWb//fc3d9xxh1m/fr155ZVXTEpKisnPzw/abtmyZaZLly6mZ8+eTb9gDRRN19evrKzMHHrooUaSWbduXZ3bb9u2zZx88skhtx8wYIB55ZVXgspQVlbW4OvUFLF8jbds2WI6d+5sbrvtNvPLL7+YN99809hsNvP+++8bY4z58MMPTevWrc306dPNqlWrzOWXX24yMjJMeXl50y9cPUXT9f3tt9+MJPPLL78E7VOXDRs2mAEDBpiqf4a8Xq/p0qWLGTVqlFm3bp2ZPHmy6dChg/ntt9+acMUaJpav75o1a4zNZjOPPvqo+fXXX83DDz9snE6n2bJlizHGmF9//dXY7XYzffp0s27dOnPZZZeZtLQ0s3fv3jBewdpF0/X95ZdfTPv27c2//vUvs379enP99dcbl8tlSktLaz2Hmn4Hl5eXm8MPP9xccMEFZs2aNebFF180bdq0MT///HPTL1w9xfL1reszRF3lbynRdI0rb7d582Zz1113mdTUVLN9+/Zaz6Gm38GVnXHGGUaSmT9/fsMvUhPE8vVdvXq1sdvtJjs726xbt848+eSTQb8D3njjDZOSkmLee+89s3btWvPXv/7VDB48OLwXsJJoupaNOfe0tDRz8cUXm7Vr15o5c+aY5ORk89lnnzXoGhB2o9DChQtNUlKSKS4uDiy77777zIknnmief/5506tXr8APWkVFhenTp4957rnnjDHG9OnTxzz//POB/QoKCowks3r1amOMMZdffrm59dZb612W8ePHm5kzZwaez54923Ts2LHG7ZcuXWqGDx8eKJ8xxgwcONA88sgjgedPP/20SU5ONgMHDoxI2I2m6+v3r3/9y5xyyin1CruLFi0yffr0MQMHDqy2fVlZmUlMTDTLly9vcBnCKZav8csvvxxUPmOMueaaa8zw4cONMcacd9555tJLLw2sKy4uNp06dTIfffRRg8vUWNF0fefPn28OOOCABpX/nXfeMQceeGDgZ7iyxx57zPTr1y8ofGVkZJi5c+c26DWaIpav7/z5880NN9wQtKxjx45m9uzZxhhj7rnnnqAPF7t27TLt27c3n376ab1fo6mi6fredNNN5vTTTw88Ly4uNr179zY//vhjjfvU9jv43XffNR07djQ7duwILDv//PPN008/Xe8yNVUsX9+6PkPUVf6WEk3XuLJff/3VtG/f3rz33nu1blfb72C/l19+OfA3s6XDbixfX/9njcrOOOMMc9dddxljjLnuuuvMhRdeGFj3888/G0l13pxorGi6lg099z/++MNIMkuXLg0sGzp0qLnxxhvr/ZrGGEMz5ig0YMAAzZkzR+3atQssS0hI0K5du7R48WKddNJJSkhICCwfNGhQoNnB008/rXPPPTdoP0natWuXJGnFihXq27dvvcsyYcIEDR06VJK0fft2PfPMM3I4HDVuf9hhhyknJyfwuh988IGWL18etM+8efP04osvasyYMfUuRzhF0/WVfE00pk+froceeqhe23/00Ue64oor9J///KfautWrV6uiokIHHXRQg8oQbrF8jQcPHqyXX3458LqVyy5Ja9eu1fHHHx9Y165dO/Xt21dff/11g8rUFNF0fRvz/fjggw80ceJEZWdnV1u3YMECnX/++WrVat+fp++//z6ozM0tlq/vqaeeqkcffVSSVFFRoeeff17bt28P/A5evHixTj755MD2dru9xZuCRtP1XbBggS644P+3d79BUZRxHMC/KNyBHIJ40AlBIIhIgihMTlkjyqUJlGmahIo5mFpSTg1qKdrIpF5/qEbhmiDLUTQmRSVlGLXQhDE0e1MSqIdEQikpjN0VBwG/XjDssHFw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",
316
+ "text/plain": [
317
+ "<Figure size 1000x800 with 1 Axes>"
318
+ ]
319
+ },
320
+ "metadata": {},
321
+ "output_type": "display_data"
322
+ }
323
+ ],
324
+ "source": [
325
+ "s = sm['sz000603']\n",
326
+ "\n",
327
+ "#查询股票最后100个交易日K线数据,不复权\n",
328
+ "k = s.get_kdata(Query(-100))\n",
329
+ "k.plot()"
330
+ ]
331
+ },
332
+ {
333
+ "cell_type": "code",
334
+ "execution_count": 10,
335
+ "metadata": {},
336
+ "outputs": [
337
+ {
338
+ "data": {
339
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7sAAAMSCAYAAACridPQAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAj2tJREFUeJzs3Xl8U1X+//F3odAQWgIaBSwERLa6Yus2iKhfl3FBfg7i6AxFcEOqjMi4oqPIoKCoUxcUwXGvu6AzIOIKggsuVJSllEUgUKoSlhQobSk9vz8yCU2b7mmT3L6ePvKwuffm5uR2Ie+ccz4nzhhjBAAAAACAhbSIdAMAAAAAAAg3wi4AAAAAwHIIuwAAAAAAyyHsAgAAAAAsh7ALAAAAALAcwi4AAAAAwHIIuwAAAAAAyyHsAgAAAAAsh7ALAEADGGM0c+ZMbdmyRbm5uXK73RFpx969eyPyvNFm//79Ve4rLS1twpYAACKNsAsAQAPExcXptttu03fffacHHnhARx99tC644AJt2bKlTufZt2+fHnjgAf3222/VHnPGGWfoqaeeCtq+bNkydezYUbt27arVc33zzTeBr1evXl2rW3UhMppkZWXp3HPPrbS9X79+euGFF3TXXXfpxx9/jEDLAABNLT7SDQAAIFY8++yz2rhxY6XtLVq00MyZM9WvXz+lp6frpZde0s0336wLLrhAo0aNkiQdOHBAQ4cO1fXXX6+LLrqo0jn27t2re++9V4MGDVLHjh1DPn+bNm10yy23aPjw4crPz9fkyZMlSffdd5/27t2rDh06VHrMrbfeqkcffTRw/7vvvtOgQYN0wQUX6OWXX1ZKSkqtXvvatWvVs2fPWh3bEO+//77+9Kc/VXtMt27dQn4fJGnOnDkhr9+uXbu0f/9+tWjRQv3799err76qoUOHhqPJAIAoRc8uAFhQbm6uhg0bpu7du6tNmzbq0aOHhg8frlWrVgUd1717d8XFxVV5GzlyZNDxjzzyiM4777zA/Zdffll9+/ZVQkKC+vbtq3//+9+V2vLdd99pwIABatOmjTp37qzbb79dxcXFQcf8+uuvuuKKK+RwOORwODR06FDl5eVVOtcLL7ygY489VjabTUceeaQmTZqkAwcOBB0zb948paamymazqXv37poyZYqMMUHHzJkzRyeffLISExPVq1cvPfjgg7XquczKytL777+vFStWBN2SkpL0448/asWKFdqyZYvOPfdclZSUaMOGDYHHtmzZUhdffLEuu+wyfffddzU+V1Uuu+wyvfHGG7rsssskSf/617/0wQcf6L333tPbb7+tZ555Rjk5OVqxYoWcTqd69eoV9PhTTjlFP/30k5YsWaInnnhCkvTJJ5/IGCNjjHbt2qU2bdroiy++CGwzxtQ76BYUFKhbt25auXJlnR6Xk5MT8jZ+/PgqH/Pbb79p7ty5GjlypAoKCip93xMSEjR58mQ999xziouLq7YX3e/ZZ5/V4MGD69R2AECUMAAAS1m2bJlp27atOffcc82bb75pFi5caF5++WVz4oknmoSEBPPll18Gjs3OzjbffPNNpdull15qJJl///vfQec+++yzzb/+9S9jjDFvv/22kWTuvPNO89lnn5nbbrvNSDKvvvpq4Ph169aZpKQkM2jQIPPJJ5+Yp59+2iQmJpprr702cMz+/fvN8ccfb/r27Wvee+898+6775revXublJQUU1JSEjjuqaeeMpLMrbfeahYsWGCmTp1q4uPjzZ133hk45quvvjLx8fHm6quvNp999pmZMmWKadmypZk0aVLgmI8//ti0aNHCXH311eaTTz4xTzzxhGnbtq258cYba7y2p59+etC5/KZOnWo6d+5sysrKjDHG3HrrrSYzMzPkOa677jpz9NFHm23btpmcnJzA7ZtvvjGSzHvvvRe0fdu2bZXO8euvv5rPPvvM3HfffaZFixZm5syZxhhjzjjjDHPCCSeYsrIy8+GHH5qOHTuaXbt2BT12xYoVxhhj1q9fb4qLi40k88knn5jzzjvPtG3b1rRp08ZIMm3btg3cFi1aVOO1qcoNN9xgRowYUevj33vvPVPd25PMzEzTrVu3kPtuvfVWc9xxx5mysjIzYsQIM2LECLNnzx7z9ddfm8MOO8z84Q9/MAMGDDCHHHJI4Ge3Jvv37zc9e/Y0b7zxRq1fAwAgOhB2AcBirrrqKtOtWzdTWloatH3nzp3G6XSaiy++uNrHv/XWW0aSSU9PD9peUFBgWrVqZVavXm2MMaZ3795myJAhQccMGTLE9OzZM3B/1KhR5ogjjjD79u0LbHvyySdNixYtjNvtNsYY8/rrrxtJ5qeffgoc8/PPPxtJJisryxhjzO7du027du3MbbfdFvR8t912mzn55JMD988//3yTlpYWCJ3GGPP3v//dJCUlBdpw7rnnVjpmwoQJpnXr1qaoqKjaa3P66acbSUG33r17m5ycnEBQ9YfpOXPmhDzHtm3bTFZWlnnjjTcqnSvUbcKECZXOMWTIEHPOOeeYb7/91syZM8ccOHDAjB071rRp08Z0797djB492uzfv9/s3r076HFbt241nTp1MoMGDQpcD3/YPf30083f/vY3s3bt2sBt9erVRpJZsGBBtdelKmvXrjXx8fFm7dq1tX5MfcPumjVrTJs2bcz8+fMDz/vqq6+a1q1bB65lamqqueeee8ysWbPM2rVrg34GqjNt2jRz1FFHmQMHDtT6dQAAIo+wCwAWM3jwYNOtWzdTXFxcad8rr7xiXnnllSofm5uba5KSksyxxx5r9u7dG7Rv9uzZ5sgjjzTG+HoFJZnXX3896Bh/cF23bp0xxpiuXbuaUaNGBR2zdevWoF7j4cOHm969e1dqS+/evQOBe/bs2UaS2bRpU5VtLyoqMq1atTKTJ08O2v71118bSebTTz8NvMbly5cHHTN16lQTFxdndu7cWeX5jTHmpJNOMldffXWg1zUjI8MMHDjQGGPMmWeeabp06RLoyTbGmOnTp5uCggJjjDH5+flBPbble62NMWbTpk1GktmwYUO1bXjooYdM69atzbJly0xRUZF5++23zUknnWQOOeQQ8+GHH5rNmzeb4447zqSmpppZs2ZVep5t27aZo48+2lx11VXGmOCwW1Xgrm/Yve6668wZZ5xRp8fUN+xec801Jj4+3iQnJ5uWLVuaE0880Rw4cMBkZ2ebHTt2mG7dupnp06eb5cuXm1dffdXceuut5txzz63298Fvx44dJiEhwbz77rt1ei0AgMhizi4AWMyFF16oTZs2qX///nrmmWe0evXqwL7hw4dr+PDhIR9XWFgYKNjz7rvvym63B+3/8MMPA4WV/Ofs06dP0DG9e/eWJK1Zs0aFhYXavHlzpWM6d+6spKQkrVmzJnCuisf4z+U/5qefflL79u21bds2nX766WrdurU6d+6sBx98MDAvc/369dq/f3+1bfLfP/bYYyX5ikK99957mjJlioYPH6727duHvDZ+W7duVb9+/dS3b1/17dtXe/bsUbdu3SRJf/nLX7RlyxYlJibq1VdfleQrHPXDDz9Ikv7xj38oJSUlcNu0aVPQufPy8tSyZUvZbLYqiy/95z//0fjx4zVjxgx16dJFLpdL48eP1znnnKOcnBxdcMEF6tKlS6AI1ciRI9WxY8egAlVOp1OzZ8/WzTffXOn8N910U9D82BUrVlR7PapTWlqqWbNmaciQIfV6fFXzyMeNGxfy+GHDhmn06NE644wzZIzR008/ra1bt+qbb77RnXfeqd9//10ZGRk67rjjdOutt+rnn39Wv379Qv7sVdShQwedfvrpevPNN+v1WgAAkUHYBQCLueGGG3THHXdo+fLluummm5SSkqJOnTrp6quv1rffflvl42688UYtX75czz//fMgAUD7s+pe4cTgcQce0a9cusL+qYyQpKSkpsH/Xrl0hj2nXrl3gmN9++00HDhzQoEGDdNFFF+mjjz7SyJEjdd999+m+++6rdZvKy8/PV2JiooYMGSKn06l77703xFU5aO3atdq6dasGDBig6667Th9//LG+//57HX300ZowYYLGjBmjli1b6tdff9Xzzz+v/Px8bd++Xccdd5wk6d///reMMUFFq8pbvHixunbtqscff1yDBw9WYWFhpWMGDRqk+fPna+TIkcrMzNTvv/+u9evX6+GHH1bHjh0DgdBfYCovL09PPPGErrzyyqDz9OnTR507d650/vj4eNlstqBbfS1ZskQ7d+7USSedVK/H17VA1f/93//p9ttv1/z58zVhwgT94Q9/0Jo1a/Tkk0/K4/Goffv2uuaaa5SXl6fffvtNI0eO1L333qtTTjmlVu05/fTT9emnn1YqiAYAiF6EXQCwmLi4OD388MPKy8vTCy+8oJEjR8pms+mll17SH/7wBz3++OOVHvPcc8/p5Zdf1i233KLLL7+80v7ly5fL4/Ho7LPPlqRAb2pZWVml5/bvr+oY/3H+/caYGo/Zv3+/du/erXHjxumee+7R2WefrSlTpui6667To48+qj179tSqTeXZ7XYtWLBAb7/9tlq1aqU//OEP1a6NO3nyZB177LFKTU2V5OvJbdWqlYYMGaJ3331Xf/vb35SXl6fx48frrrvuUkpKii644AI5nc4qz1nef/7zHw0ePFj333+/WrZsqWuuuabSMS1bttT5558fuN+vXz8tXrxYixcv1tSpU/XBBx9o8eLFuuqqqyT5PlQYPny4unTpEnSe7du3y+VyBdab9V+jJ554QkceeWTg1pClhvw96RWrQdeWv/e84u3www8PeXxeXp7OO+88HX/88erbt68mTpyopUuXavXq1Zo9e7YGDBigoqIiHXHEEXrjjTd03XXXad26dbVuT69evbRr1y5t3ry5Xq8HAND0CLsAYFFOp1NXX321XnzxRW3cuFFLlixR7969dccdd8jj8QSO+/HHH3XzzTerf//+mjp1ashzffjhhzrrrLPUpk0bSQoM9929e3fQcV6vN7Df38Na8Rj/cf5ztG/fvsZjEhMTJfl6Nsu78MILVVRUpJUrV9aqTeU5HA6dddZZuvzyyzVv3jxt375dL730UsjXX1JSor179+rmm2/W6tWrddttt+mrr77S22+/rbKyMs2aNUujRo3Szp07NXz4cM2bN0/jxo3T888/H/J8FX355Zf6+uuvlZ6eLpvNppdfflmzZ8/W7Nmzq32cw+HQgAEDdMopp+iOO+5Qx44dNWDAAHXt2rXax/30009q0aJFIIjb7XZ9/vnneuqpp5SXl6fk5GRlZmZq9uzZevPNNzVw4MBavY7y/Mv61DQ0PFwmTZqkNWvWaNGiRbrjjjv0008/Ba23e8opp2jhwoV67733dPXVV+vll18OfHBRG/5r9euvv4a97QCAxkHYBQAL2bhxozp16qTnnnuu0r5TTz1VkyZN0v79+7V+/XpJviA4dOhQJSUl6a233lKrVq1Cnrf8EGbp4DzY3NzcoOP8vXl9+vRRYmKijjjiiErH5Ofna8+ePYGh0r179650jP9c/mP8PYwVh/b618Zt3bq1evToofj4+GrbVFZWpjfffFNLly4NOqZbt2465JBDquzZbd26td5++23l5uYGzbut6nb++efr/vvvD/pQoSrr16/XX//6V1199dU6+eSTJUnHH3+8brjhBk2YMCFkr3dFbrdbkoLCXXU++OADDRgwIOhxP/30k26++Wb9/vvvknxDmgsKCnTVVVcF5h3Xhb+3uDbtD4fbb79db7zxhvLy8rRx40Y99thjys/PD6zpfOmllyo/P1+XXXaZpkyZEnIEQ234XxcAIPoRdgHAQrp06SJjjGbOnKl9+/ZV2r9mzRrFx8frqKOOkiSNGDFCGzdu1Ouvv15pqKtfQUGBvvrqK1144YWBbb169dKRRx6pt99+O+jYWbNm6aijjgqc/49//KPmzJmjoqKioGNatGih8847L3DMmjVr9NNPPwWOWb58udasWaM//vGPgWMk6fXXXw96vvfff1+HHHKIjjnmGLVp00ZnnHGG3n333aAhy7NmzVJiYqL69++vFi1a6B//+IfuueeeoPNkZ2dr+/btgcJV1bn44otljNHOnTslSd9//72MMRo7dmxgX35+fpWP94evkpISvf766zrppJN0xBFH6Kmnngo67u6779bq1av11ltv1dimBQsWqGvXrurUqVONxxYXF+vNN9/Un//8Zy1atEiHHHKIHA6HrrrqKl1zzTXq169f4NgRI0bouuuu06hRo+ocWv1t2b59e50e57d69eqQN38Yr+ioo44KFJE69dRT1aNHD82YMSPws/Dhhx+qZcuW6tixo0aOHFnn9vi/37W5xgCAKNHk9Z8BAI3qrbfeMi1atDDHHnusefrpp81nn31m5s6da8aOHWvi4+PNgw8+aIzxrXcryVx55ZXmm2++CXlbuXKlmTVrlunVq1el53n55ZeNJHPbbbeZzz//3Nx1111GknnttdcCx+Tk5Jg2bdqYCy+80Hz88cdm5syZJikpyVx//fWBY4qLi03fvn1N7969zaxZs8z7779v+vbta4455pigZXNuuOEGExcXZ+644w7z0UcfmVtuucVIMtOmTQsc8/nnn5sWLVqYq666ynz22Wdm6tSpplWrVoHXXL7do0ePNp988ol57rnnzBFHHGGOOeaYSsstVXTrrbcG1ineuXOnkWS+//57Y4wxY8eODezLz883kiotcbRhwwZz9NFHm9atW5tTTjnFLFq0yNx3332Vlgfye/jhh82WLVtC7lu9erX5+uuvzfLly02nTp3Mgw8+aFwulznppJNMenq6eeONN0I+btq0aaZDhw6moKDA9OnTx5x//vnm2GOPNf369TN79uwxxhiTnJxsnnrqKWOMb6kim81mZs+eXe21qSg7O9tIMh9//HGdHudfeqi6W6ilh0aMGGHi4uKMw+Ew1157rfniiy9MWVmZ2bx5sxk6dKiRZP7+97+bXr16mQEDBpht27aZV155xdx33321ate9995r2rVrZ/bv31+n1wMAiBzCLgBY0FdffWUuu+wyc8QRR5hWrVqZjh07mnPOOcfMnz8/cMyIESNqDBVnnnmmue6668zYsWNDPs+zzz5revbsaVq3bm169+5tnn/++UrHLFq0yJx66qkmISHBdOzY0dx+++2V1gB2u93m0ksvNYmJiSYpKckMHTrU5OXlBR1z4MAB88gjj5ijjjrKtGrVyvTs2dM8++yzlZ5v9uzZ5rjjjjOtW7c2LpfLPPTQQ6asrCzomDfffNOceOKJpk2bNqZTp07mxhtvNDt27Kjyeq5du7bGa1XdNTTGmG+//dZ07NjRXHjhhWbLli3mtNNOMy6Xyzz99NMmOzvbbNmyxWzfvt3s3bvXFBQUmK1bt5pVq1aZb775JhDCS0tLzYYNG8x3331nZs2aZTIyMozNZjOjRo0yBQUF5sUXXzRXXHGFadu2rWnZsqUZPnx40HXcuHGjSUxMNA8//LB54403jCSzaNEi8+9//9ts27bNbNiwwfz8888mKSnJTJ8+PfC41157zezatavK6xNKWVmZOeyww8z9999fp8fVd53dTz/91Lzxxhtm3759xhhjdu/ebW688UaTkJBgunXrZv773/8aY4xZt26d6dWrl3E6nea0004zZ599dq3adcEFF5jLL7+8Tq8FABBZccZUKE8JAACClJ/nXFd2u10ul0v33nuvPB6Ppk2bppYtW6qoqEiTJ0/WO++8ow0bNgSGN1fUuXNnud1uxcfHq6SkRD179pTH41GfPn105pln6qqrrqpUaGnPnj167rnnNHnyZL322muBCs5lZWV6++23NXToUD311FP65ptvgoaiT5o0Sffdd58cDocWLVqk448/vl6v2W/s2LFatGhRoOpzbezZs0dbtmxR3759Q+4vKirSvn371KFDh2rPY4zRyJEjlZqaqhtuuCFoGaWCggLdd999ysrK0jPPPKM///nP1Z5rx44d6ty5s95880396U9/qvVrAQBEFmEXAIAYsn///ioLiVXk9XpDrmHcVDZu3KhevXrphx9+0AknnBCxdjTU008/rWeeeUYrVqygQBUAxBDCLgAAaDRjx47Vtm3bKhUXixXFxcXq1auXnn76aV1yySWRbg4AoA6oxgwAABrN5MmTtXz5cq1atSrSTamXl19+WWeddRZBFwBiED27AAAAAADLoWcXAAAAAGA5hF0AAAAAgOXER7oBfmVlZdq6dauSkpKodAgAAAAAzYgxRrt379YRRxyhFi3C0ycbNWF369at6tq1a6SbAQAAAACIkM2bN6tLly5hOVfUhN2kpCRJvhfXrl27CLcGAAAAANBUCgoK1LVr10AuDIeoCbv+ocvt2rUj7AIAAABA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vwFvvvmmSUpKMh988IFZv369ufzyy82ZZ54Z3gtYTjRdy/q89pSUFHPllVea9evXmzlz5pjExETz+eef1+kaEHaj0KJFi0xCQoIpLCwMbHvwwQfN6aefbl544QXTvXv3wA9aWVmZ6dGjh3n++eeNMcb06NHDvPDCC4HH5eXlGUlm7dq1xhhjRowYYW6//fZat2XChAlm1qxZgfvvv/++ad++fZXHL1++3AwbNizQPmOM6devn3n88ccD92fMmGESExNNv379IhJ2o+n6+v3zn/80AwcOrFXYXbx4senRo4fp169fpeNLSkpMfHy8WblyZZ3bEE6xfI1feeWVoPYZY8z1119vhg0bZowx5pJLLjHDhw8P7CssLDQdOnQwH3/8cZ3bVF/RdH0XLFhgDjvssDq1/7333jOHH3544Ge4vCeffNL07t07KHylpaWZuXPn1uk5GiKWr++CBQvMzTffHLStffv25v333zfGGHPfffcFvbnYu3evadu2rfnss89q/RwNFU3X9+9//7s599xzA/cLCwvNkUceaZYtW1blY6r7G/zf//7XtG/f3uzevTuwbfDgwWbGjBm1blNDxfL1rek9RE3tbyrRdI3L27Rpk2nbtq354IMPqj2uur/Bfq+88krg38ymDruxfH397zXKO++888w999xjjDHmxhtvNJdddllg388//2wk1fjhRH1F07Ws62v//fffjSSzfPnywLYhQ4aYW265pdbPaYwxDGOOQn379tWcOXPUpk2bwLa4uDjt3btXS5Ys0YABAxQXFxfY3r9//8CwgxkzZujiiy8Oepwk7d27V5K0atUq9erVq9Ztuf/++zVkyBBJ0q5du/Tcc8/J4XBUefyxxx6rrKyswPN++OGHWrlyZdBj5s+fr5deekljx46tdTvCKZqur+QbojF9+nQ9+uijtTr+448/1tVXX6133nmn0r61a9eqrKxMRx11VJ3aEG6xfI3PPPNMvfLKK4HnLd92SVq/fr1OO+20wL42bdqoV69e+uabb+rUpoaIputbn+/Hhx9+qIkTJyozM7PSvoULF2rw4MFq0eLgP08//PBDUJsbWyxf37POOktPPPGEJKmsrEwvvPCCdu3aFfgbvGTJ/2/v3oOiquI4gH9R2OWxCuJCKEEgyCvBB0xOmaPCJgmUjzDJB8RAakk5Najlq9FJpQfVKNKEWYyv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",
340
+ "text/plain": [
341
+ "<Figure size 1000x800 with 1 Axes>"
342
+ ]
343
+ },
344
+ "metadata": {},
345
+ "output_type": "display_data"
346
+ }
347
+ ],
348
+ "source": [
349
+ "#查询股票最后100个交易日K线数据,后向复权\n",
350
+ "k = s.get_kdata(Query(-100, recover_type=Query.BACKWARD))\n",
351
+ "k.plot()"
352
+ ]
353
+ },
354
+ {
355
+ "cell_type": "code",
356
+ "execution_count": null,
357
+ "metadata": {},
358
+ "outputs": [],
359
+ "source": []
360
+ }
361
+ ],
362
+ "metadata": {
363
+ "kernelspec": {
364
+ "display_name": "Python 3 (ipykernel)",
365
+ "language": "python",
366
+ "name": "python3"
367
+ },
368
+ "language_info": {
369
+ "codemirror_mode": {
370
+ "name": "ipython",
371
+ "version": 3
372
+ },
373
+ "file_extension": ".py",
374
+ "mimetype": "text/x-python",
375
+ "name": "python",
376
+ "nbconvert_exporter": "python",
377
+ "pygments_lexer": "ipython3",
378
+ "version": "3.12.9"
379
+ }
380
+ },
381
+ "nbformat": 4,
382
+ "nbformat_minor": 4
383
+ }