hikyuu 2.3.1__py3-none-macosx_11_1_arm64.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 (931) hide show
  1. hikyuu/LICENSE.txt +21 -0
  2. hikyuu/__init__.py +137 -0
  3. hikyuu/__init__.pyi +782 -0
  4. hikyuu/analysis/__init__.py +14 -0
  5. hikyuu/analysis/__init__.pyi +473 -0
  6. hikyuu/analysis/analysis.py +151 -0
  7. hikyuu/analysis/analysis.pyi +503 -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 +468 -0
  17. hikyuu/cpp/__init__.py +1 -0
  18. hikyuu/cpp/__init__.pyi +3 -0
  19. hikyuu/cpp/core310.so +0 -0
  20. hikyuu/cpp/core311.so +0 -0
  21. hikyuu/cpp/core312.pyi +12475 -0
  22. hikyuu/cpp/core312.so +0 -0
  23. hikyuu/cpp/core313.so +0 -0
  24. hikyuu/cpp/core39.so +0 -0
  25. hikyuu/cpp/libcrypto.3.dylib +0 -0
  26. hikyuu/cpp/libcrypto.dylib +0 -0
  27. hikyuu/cpp/libhku_hdf5.200.2.0.dylib +0 -0
  28. hikyuu/cpp/libhku_hdf5.200.dylib +0 -0
  29. hikyuu/cpp/libhku_hdf5.dylib +0 -0
  30. hikyuu/cpp/libhku_hdf5_cpp.200.2.0.dylib +0 -0
  31. hikyuu/cpp/libhku_hdf5_cpp.200.dylib +0 -0
  32. hikyuu/cpp/libhku_hdf5_cpp.dylib +0 -0
  33. hikyuu/cpp/libhku_hdf5_hl.200.1.0.dylib +0 -0
  34. hikyuu/cpp/libhku_hdf5_hl.200.dylib +0 -0
  35. hikyuu/cpp/libhku_hdf5_hl.dylib +0 -0
  36. hikyuu/cpp/libhku_hdf5_hl_cpp.200.1.0.dylib +0 -0
  37. hikyuu/cpp/libhku_hdf5_hl_cpp.200.dylib +0 -0
  38. hikyuu/cpp/libhku_hdf5_hl_cpp.dylib +0 -0
  39. hikyuu/cpp/libhku_hdf5_tools.200.1.1.dylib +0 -0
  40. hikyuu/cpp/libhku_hdf5_tools.200.dylib +0 -0
  41. hikyuu/cpp/libhku_hdf5_tools.dylib +0 -0
  42. hikyuu/cpp/libmysqlclient.21.dylib +0 -0
  43. hikyuu/cpp/libmysqlclient.dylib +0 -0
  44. hikyuu/cpp/libsqlite3.dylib +0 -0
  45. hikyuu/cpp/libssl.3.dylib +0 -0
  46. hikyuu/cpp/libssl.dylib +0 -0
  47. hikyuu/data/__init__.py +1 -0
  48. hikyuu/data/common.py +248 -0
  49. hikyuu/data/common_h5.py +398 -0
  50. hikyuu/data/common_mysql.py +485 -0
  51. hikyuu/data/common_pytdx.py +108 -0
  52. hikyuu/data/common_sqlite3.py +140 -0
  53. hikyuu/data/em_block_to_mysql.py +120 -0
  54. hikyuu/data/em_block_to_sqlite.py +117 -0
  55. hikyuu/data/hku_config_template.py +266 -0
  56. hikyuu/data/mysql_upgrade/0001.sql +5 -0
  57. hikyuu/data/mysql_upgrade/0002.sql +3 -0
  58. hikyuu/data/mysql_upgrade/0003.sql +9 -0
  59. hikyuu/data/mysql_upgrade/0004.sql +26 -0
  60. hikyuu/data/mysql_upgrade/0005.sql +3 -0
  61. hikyuu/data/mysql_upgrade/0006.sql +2 -0
  62. hikyuu/data/mysql_upgrade/0007.sql +20 -0
  63. hikyuu/data/mysql_upgrade/0008.sql +6 -0
  64. hikyuu/data/mysql_upgrade/0009.sql +36 -0
  65. hikyuu/data/mysql_upgrade/0010.sql +5 -0
  66. hikyuu/data/mysql_upgrade/0011.sql +5 -0
  67. hikyuu/data/mysql_upgrade/0012.sql +5 -0
  68. hikyuu/data/mysql_upgrade/0013.sql +2389 -0
  69. hikyuu/data/mysql_upgrade/0014.sql +3 -0
  70. hikyuu/data/mysql_upgrade/0015.sql +4 -0
  71. hikyuu/data/mysql_upgrade/0016.sql +4 -0
  72. hikyuu/data/mysql_upgrade/0017.sql +5 -0
  73. hikyuu/data/mysql_upgrade/0018.sql +2 -0
  74. hikyuu/data/mysql_upgrade/0019.sql +6 -0
  75. hikyuu/data/mysql_upgrade/0020.sql +4 -0
  76. hikyuu/data/mysql_upgrade/0021.sql +4 -0
  77. hikyuu/data/mysql_upgrade/0022.sql +5 -0
  78. hikyuu/data/mysql_upgrade/0023.sql +4 -0
  79. hikyuu/data/mysql_upgrade/0024.sql +2 -0
  80. hikyuu/data/mysql_upgrade/0025.sql +61 -0
  81. hikyuu/data/mysql_upgrade/__init__.py +1 -0
  82. hikyuu/data/mysql_upgrade/createdb.sql +265 -0
  83. hikyuu/data/pytdx_finance_to_mysql.py +129 -0
  84. hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
  85. hikyuu/data/pytdx_to_h5.py +662 -0
  86. hikyuu/data/pytdx_to_mysql.py +803 -0
  87. hikyuu/data/pytdx_weight_to_mysql.py +196 -0
  88. hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
  89. hikyuu/data/sqlite_mem.py +84 -0
  90. hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
  91. hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
  92. hikyuu/data/sqlite_upgrade/0001.sql +4 -0
  93. hikyuu/data/sqlite_upgrade/0002.sql +48 -0
  94. hikyuu/data/sqlite_upgrade/0003.sql +18 -0
  95. hikyuu/data/sqlite_upgrade/0004.sql +11 -0
  96. hikyuu/data/sqlite_upgrade/0005.sql +28 -0
  97. hikyuu/data/sqlite_upgrade/0006.sql +5 -0
  98. hikyuu/data/sqlite_upgrade/0007.sql +4 -0
  99. hikyuu/data/sqlite_upgrade/0008.sql +22 -0
  100. hikyuu/data/sqlite_upgrade/0009.sql +8 -0
  101. hikyuu/data/sqlite_upgrade/0010.sql +5 -0
  102. hikyuu/data/sqlite_upgrade/0011.sql +16 -0
  103. hikyuu/data/sqlite_upgrade/0012.sql +15 -0
  104. hikyuu/data/sqlite_upgrade/0013.sql +9 -0
  105. hikyuu/data/sqlite_upgrade/0014.sql +607 -0
  106. hikyuu/data/sqlite_upgrade/0015.sql +7 -0
  107. hikyuu/data/sqlite_upgrade/0016.sql +8 -0
  108. hikyuu/data/sqlite_upgrade/0017.sql +16 -0
  109. hikyuu/data/sqlite_upgrade/0018.sql +5 -0
  110. hikyuu/data/sqlite_upgrade/0019.sql +4 -0
  111. hikyuu/data/sqlite_upgrade/0020.sql +4 -0
  112. hikyuu/data/sqlite_upgrade/0021.sql +6 -0
  113. hikyuu/data/sqlite_upgrade/0022.sql +6 -0
  114. hikyuu/data/sqlite_upgrade/0023.sql +7 -0
  115. hikyuu/data/sqlite_upgrade/0024.sql +22 -0
  116. hikyuu/data/sqlite_upgrade/0025.sql +63 -0
  117. hikyuu/data/sqlite_upgrade/__init__.py +1 -0
  118. hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
  119. hikyuu/data/tdx_to_h5.py +464 -0
  120. hikyuu/data/tdx_to_mysql.py +464 -0
  121. hikyuu/data/weight_to_mysql.py +72 -0
  122. hikyuu/data/weight_to_sqlite.py +70 -0
  123. hikyuu/data/zh_bond10_to_mysql.py +30 -0
  124. hikyuu/data/zh_bond10_to_sqlite.py +42 -0
  125. hikyuu/data_driver/__init__.py +49 -0
  126. hikyuu/data_driver/jqdata_data_driver.py +277 -0
  127. hikyuu/data_driver/pytdx_data_driver.py +292 -0
  128. hikyuu/deprecated.py +651 -0
  129. hikyuu/draw/__init__.py +65 -0
  130. hikyuu/draw/drawplot/__init__.py +300 -0
  131. hikyuu/draw/drawplot/bokeh_draw.py +583 -0
  132. hikyuu/draw/drawplot/common.py +89 -0
  133. hikyuu/draw/drawplot/echarts_draw.py +604 -0
  134. hikyuu/draw/drawplot/icon/1.png +0 -0
  135. hikyuu/draw/drawplot/icon/10.png +0 -0
  136. hikyuu/draw/drawplot/icon/11.png +0 -0
  137. hikyuu/draw/drawplot/icon/12.png +0 -0
  138. hikyuu/draw/drawplot/icon/13.png +0 -0
  139. hikyuu/draw/drawplot/icon/14.png +0 -0
  140. hikyuu/draw/drawplot/icon/15.png +0 -0
  141. hikyuu/draw/drawplot/icon/16.png +0 -0
  142. hikyuu/draw/drawplot/icon/17.png +0 -0
  143. hikyuu/draw/drawplot/icon/18.png +0 -0
  144. hikyuu/draw/drawplot/icon/19.png +0 -0
  145. hikyuu/draw/drawplot/icon/2.png +0 -0
  146. hikyuu/draw/drawplot/icon/20.png +0 -0
  147. hikyuu/draw/drawplot/icon/21.png +0 -0
  148. hikyuu/draw/drawplot/icon/22.png +0 -0
  149. hikyuu/draw/drawplot/icon/23.png +0 -0
  150. hikyuu/draw/drawplot/icon/24.png +0 -0
  151. hikyuu/draw/drawplot/icon/25.png +0 -0
  152. hikyuu/draw/drawplot/icon/26.png +0 -0
  153. hikyuu/draw/drawplot/icon/27.png +0 -0
  154. hikyuu/draw/drawplot/icon/28.png +0 -0
  155. hikyuu/draw/drawplot/icon/29.png +0 -0
  156. hikyuu/draw/drawplot/icon/3.png +0 -0
  157. hikyuu/draw/drawplot/icon/30.png +0 -0
  158. hikyuu/draw/drawplot/icon/31.png +0 -0
  159. hikyuu/draw/drawplot/icon/32.png +0 -0
  160. hikyuu/draw/drawplot/icon/33.png +0 -0
  161. hikyuu/draw/drawplot/icon/34.png +0 -0
  162. hikyuu/draw/drawplot/icon/35.png +0 -0
  163. hikyuu/draw/drawplot/icon/36.png +0 -0
  164. hikyuu/draw/drawplot/icon/37.png +0 -0
  165. hikyuu/draw/drawplot/icon/38.png +0 -0
  166. hikyuu/draw/drawplot/icon/39.png +0 -0
  167. hikyuu/draw/drawplot/icon/4.png +0 -0
  168. hikyuu/draw/drawplot/icon/40.png +0 -0
  169. hikyuu/draw/drawplot/icon/41.png +0 -0
  170. hikyuu/draw/drawplot/icon/42.png +0 -0
  171. hikyuu/draw/drawplot/icon/43.png +0 -0
  172. hikyuu/draw/drawplot/icon/44.png +0 -0
  173. hikyuu/draw/drawplot/icon/45.png +0 -0
  174. hikyuu/draw/drawplot/icon/46.png +0 -0
  175. hikyuu/draw/drawplot/icon/47.png +0 -0
  176. hikyuu/draw/drawplot/icon/48.png +0 -0
  177. hikyuu/draw/drawplot/icon/49.png +0 -0
  178. hikyuu/draw/drawplot/icon/5.png +0 -0
  179. hikyuu/draw/drawplot/icon/6.png +0 -0
  180. hikyuu/draw/drawplot/icon/7.png +0 -0
  181. hikyuu/draw/drawplot/icon/8.png +0 -0
  182. hikyuu/draw/drawplot/icon/9.png +0 -0
  183. hikyuu/draw/drawplot/icon/__init__.py +0 -0
  184. hikyuu/draw/drawplot/matplotlib_draw.py +1381 -0
  185. hikyuu/draw/elder.py +135 -0
  186. hikyuu/draw/kaufman.py +192 -0
  187. hikyuu/draw/volume.py +122 -0
  188. hikyuu/examples/Turtle_SG.py +47 -0
  189. hikyuu/examples/__init__.py +1 -0
  190. hikyuu/examples/examples_init.py +33 -0
  191. hikyuu/examples/notebook/000-Index.ipynb +76 -0
  192. hikyuu/examples/notebook/001-overview.ipynb +345 -0
  193. hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
  194. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
  195. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
  196. hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
  197. hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
  198. hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
  199. hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
  200. hikyuu/examples/notebook/009-RealData.ipynb +110 -0
  201. hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
  202. hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
  203. hikyuu/examples/notebook/Demo/Demo1.ipynb +623 -0
  204. hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
  205. hikyuu/examples/notebook/Demo/__init__.py +1 -0
  206. hikyuu/examples/notebook/README.md +1 -0
  207. hikyuu/examples/notebook/__init__.py +1 -0
  208. hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
  209. hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
  210. hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
  211. hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
  212. hikyuu/examples/notebook/images/__init__.py +1 -0
  213. hikyuu/examples/quick_crtsg.py +40 -0
  214. hikyuu/extend.py +387 -0
  215. hikyuu/extend.pyi +621 -0
  216. hikyuu/fetcher/__init__.py +8 -0
  217. hikyuu/fetcher/proxy/__init__.py +12 -0
  218. hikyuu/fetcher/proxy/proxy.py +39 -0
  219. hikyuu/fetcher/proxy/zhima.py +63 -0
  220. hikyuu/fetcher/stock/__init__.py +8 -0
  221. hikyuu/fetcher/stock/zh_block_em.py +140 -0
  222. hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
  223. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
  224. hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
  225. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
  226. hikyuu/flat/Spot.py +440 -0
  227. hikyuu/flat/SpotList.py +74 -0
  228. hikyuu/flat/__init__.py +4 -0
  229. hikyuu/gui/HikyuuTDX.py +842 -0
  230. hikyuu/gui/__init__.py +1 -0
  231. hikyuu/gui/data/CollectSpotThread.py +43 -0
  232. hikyuu/gui/data/CollectToMemThread.py +123 -0
  233. hikyuu/gui/data/CollectToMySQLThread.py +178 -0
  234. hikyuu/gui/data/EscapetimeThread.py +32 -0
  235. hikyuu/gui/data/ImportBlockInfoTask.py +55 -0
  236. hikyuu/gui/data/ImportHistoryFinanceTask.py +141 -0
  237. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
  238. hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
  239. hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
  240. hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
  241. hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
  242. hikyuu/gui/data/ImportZhBond10Task.py +48 -0
  243. hikyuu/gui/data/MainWindow.py +824 -0
  244. hikyuu/gui/data/SchedImportThread.py +62 -0
  245. hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
  246. hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
  247. hikyuu/gui/data/__init__.py +1 -0
  248. hikyuu/gui/data/tool.py +43 -0
  249. hikyuu/gui/hikyuu.ico +0 -0
  250. hikyuu/gui/hikyuu_small.png +0 -0
  251. hikyuu/gui/importdata.py +166 -0
  252. hikyuu/gui/spot_server.py +336 -0
  253. hikyuu/gui/start_huatai_insight.py +510 -0
  254. hikyuu/gui/start_qmt.py +122 -0
  255. hikyuu/hub.py +634 -0
  256. hikyuu/hub.pyi +255 -0
  257. hikyuu/include/__init__.py +1 -0
  258. hikyuu/include/hikyuu/Block.h +173 -0
  259. hikyuu/include/hikyuu/DataType.h +173 -0
  260. hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
  261. hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
  262. hikyuu/include/hikyuu/KData.h +271 -0
  263. hikyuu/include/hikyuu/KDataImp.h +94 -0
  264. hikyuu/include/hikyuu/KQuery.h +275 -0
  265. hikyuu/include/hikyuu/KRecord.h +94 -0
  266. hikyuu/include/hikyuu/MarketInfo.h +132 -0
  267. hikyuu/include/hikyuu/Stock.h +351 -0
  268. hikyuu/include/hikyuu/StockManager.h +371 -0
  269. hikyuu/include/hikyuu/StockMapIterator.h +72 -0
  270. hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
  271. hikyuu/include/hikyuu/StockWeight.h +148 -0
  272. hikyuu/include/hikyuu/StrategyContext.h +107 -0
  273. hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
  274. hikyuu/include/hikyuu/TransRecord.h +79 -0
  275. hikyuu/include/hikyuu/ZhBond10.h +36 -0
  276. hikyuu/include/hikyuu/__init__.py +1 -0
  277. hikyuu/include/hikyuu/analysis/__init__.py +1 -0
  278. hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
  279. hikyuu/include/hikyuu/analysis/combinate.h +115 -0
  280. hikyuu/include/hikyuu/config.h +51 -0
  281. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
  282. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +108 -0
  283. hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
  284. hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
  285. hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
  286. hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
  287. hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
  288. hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
  289. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
  290. hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
  291. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
  292. hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
  293. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
  294. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
  295. hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
  296. hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
  297. hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
  298. hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
  299. hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
  300. hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
  301. hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
  302. hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
  303. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +36 -0
  304. hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
  305. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +31 -0
  306. hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
  307. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +36 -0
  308. hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
  309. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
  310. hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
  311. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
  312. hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
  313. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
  314. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
  315. hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
  316. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
  317. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
  318. hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
  319. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
  320. hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
  321. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
  322. hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
  323. hikyuu/include/hikyuu/debug.h +32 -0
  324. hikyuu/include/hikyuu/doc.h +166 -0
  325. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
  326. hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
  327. hikyuu/include/hikyuu/global/__init__.py +1 -0
  328. hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
  329. hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
  330. hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
  331. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
  332. hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
  333. hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
  334. hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
  335. hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
  336. hikyuu/include/hikyuu/global/sysinfo.h +67 -0
  337. hikyuu/include/hikyuu/hikyuu.h +55 -0
  338. hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
  339. hikyuu/include/hikyuu/indicator/Indicator.h +410 -0
  340. hikyuu/include/hikyuu/indicator/IndicatorImp.h +419 -0
  341. hikyuu/include/hikyuu/indicator/__init__.py +1 -0
  342. hikyuu/include/hikyuu/indicator/build_in.h +122 -0
  343. hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
  344. hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
  345. hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
  346. hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +34 -0
  347. hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
  348. hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
  349. hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
  350. hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
  351. hikyuu/include/hikyuu/indicator/crt/ATR.h +44 -0
  352. hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
  353. hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
  354. hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
  355. hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
  356. hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +41 -0
  357. hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
  358. hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
  359. hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
  360. hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +30 -0
  361. hikyuu/include/hikyuu/indicator/crt/CORR.h +26 -0
  362. hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
  363. hikyuu/include/hikyuu/indicator/crt/COST.h +34 -0
  364. hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
  365. hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
  366. hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
  367. hikyuu/include/hikyuu/indicator/crt/DECLINE.h +34 -0
  368. hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
  369. hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
  370. hikyuu/include/hikyuu/indicator/crt/DMA.h +35 -0
  371. hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
  372. hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
  373. hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
  374. hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
  375. hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
  376. hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
  377. hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
  378. hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
  379. hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
  380. hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
  381. hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
  382. hikyuu/include/hikyuu/indicator/crt/HSL.h +39 -0
  383. hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
  384. hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
  385. hikyuu/include/hikyuu/indicator/crt/INDEX.h +48 -0
  386. hikyuu/include/hikyuu/indicator/crt/INSUM.h +36 -0
  387. hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
  388. hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
  389. hikyuu/include/hikyuu/indicator/crt/ISINF.h +28 -0
  390. hikyuu/include/hikyuu/indicator/crt/ISINFA.h +28 -0
  391. hikyuu/include/hikyuu/indicator/crt/ISLASTBAR.h +30 -0
  392. hikyuu/include/hikyuu/indicator/crt/ISNA.h +29 -0
  393. hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
  394. hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
  395. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +23 -0
  396. hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
  397. hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
  398. hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
  399. hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
  400. hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
  401. hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
  402. hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
  403. hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
  404. hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
  405. hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
  406. hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
  407. hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
  408. hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
  409. hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
  410. hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
  411. hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
  412. hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
  413. hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
  414. hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
  415. hikyuu/include/hikyuu/indicator/crt/REPLACE.h +29 -0
  416. hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
  417. hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
  418. hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
  419. hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
  420. hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
  421. hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
  422. hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
  423. hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
  424. hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
  425. hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
  426. hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
  427. hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
  428. hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
  429. hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
  430. hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
  431. hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
  432. hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +24 -0
  433. hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
  434. hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
  435. hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
  436. hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
  437. hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
  438. hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
  439. hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
  440. hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
  441. hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
  442. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
  443. hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
  444. hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
  445. hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
  446. hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
  447. hikyuu/include/hikyuu/indicator/crt/WMA.h +46 -0
  448. hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
  449. hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
  450. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
  451. hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
  452. hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
  453. hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
  454. hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
  455. hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
  456. hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
  457. hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
  458. hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
  459. hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
  460. hikyuu/include/hikyuu/indicator/imp/IAtr.h +28 -0
  461. hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
  462. hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
  463. hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
  464. hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +28 -0
  465. hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
  466. hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
  467. hikyuu/include/hikyuu/indicator/imp/IContext.h +44 -0
  468. hikyuu/include/hikyuu/indicator/imp/ICorr.h +41 -0
  469. hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
  470. hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
  471. hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
  472. hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
  473. hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
  474. hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
  475. hikyuu/include/hikyuu/indicator/imp/IDma.h +47 -0
  476. hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
  477. hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
  478. hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
  479. hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
  480. hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
  481. hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
  482. hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
  483. hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
  484. hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
  485. hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
  486. hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
  487. hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
  488. hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
  489. hikyuu/include/hikyuu/indicator/imp/IIsInf.h +26 -0
  490. hikyuu/include/hikyuu/indicator/imp/IIsInfa.h +26 -0
  491. hikyuu/include/hikyuu/indicator/imp/IIsLastBar.h +27 -0
  492. hikyuu/include/hikyuu/indicator/imp/IIsNa.h +26 -0
  493. hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
  494. hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
  495. hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
  496. hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
  497. hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
  498. hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
  499. hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
  500. hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
  501. hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
  502. hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
  503. hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
  504. hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
  505. hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
  506. hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
  507. hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
  508. hikyuu/include/hikyuu/indicator/imp/IReplace.h +26 -0
  509. hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
  510. hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
  511. hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
  512. hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
  513. hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
  514. hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
  515. hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
  516. hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
  517. hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
  518. hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
  519. hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
  520. hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
  521. hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
  522. hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
  523. hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
  524. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +41 -0
  525. hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
  526. hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
  527. hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
  528. hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
  529. hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
  530. hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
  531. hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
  532. hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
  533. hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
  534. hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
  535. hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
  536. hikyuu/include/hikyuu/indicator/imp/IWma.h +30 -0
  537. hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
  538. hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
  539. hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
  540. hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
  541. hikyuu/include/hikyuu/indicator_talib/__init__.py +1 -0
  542. hikyuu/include/hikyuu/indicator_talib/imp/TaAdosc.h +26 -0
  543. hikyuu/include/hikyuu/indicator_talib/imp/TaApo.h +24 -0
  544. hikyuu/include/hikyuu/indicator_talib/imp/TaBbands.h +24 -0
  545. hikyuu/include/hikyuu/indicator_talib/imp/TaMa.h +24 -0
  546. hikyuu/include/hikyuu/indicator_talib/imp/TaMacd.h +24 -0
  547. hikyuu/include/hikyuu/indicator_talib/imp/TaMacdext.h +24 -0
  548. hikyuu/include/hikyuu/indicator_talib/imp/TaMama.h +24 -0
  549. hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +41 -0
  550. hikyuu/include/hikyuu/indicator_talib/imp/TaPpo.h +24 -0
  551. hikyuu/include/hikyuu/indicator_talib/imp/TaSar.h +26 -0
  552. hikyuu/include/hikyuu/indicator_talib/imp/TaSarext.h +31 -0
  553. hikyuu/include/hikyuu/indicator_talib/imp/TaStddev.h +24 -0
  554. hikyuu/include/hikyuu/indicator_talib/imp/TaStoch.h +27 -0
  555. hikyuu/include/hikyuu/indicator_talib/imp/TaStochf.h +26 -0
  556. hikyuu/include/hikyuu/indicator_talib/imp/TaStochrsi.h +24 -0
  557. hikyuu/include/hikyuu/indicator_talib/imp/TaT3.h +24 -0
  558. hikyuu/include/hikyuu/indicator_talib/imp/TaUltosc.h +26 -0
  559. hikyuu/include/hikyuu/indicator_talib/imp/TaVar.h +24 -0
  560. hikyuu/include/hikyuu/indicator_talib/imp/__init__.py +1 -0
  561. hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +288 -0
  562. hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +1374 -0
  563. hikyuu/include/hikyuu/indicator_talib/ta_crt.h +322 -0
  564. hikyuu/include/hikyuu/python/__init__.py +1 -0
  565. hikyuu/include/hikyuu/python/pickle_support.h +90 -0
  566. hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
  567. hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
  568. hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
  569. hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
  570. hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
  571. hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
  572. hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
  573. hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
  574. hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
  575. hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
  576. hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
  577. hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
  578. hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
  579. hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
  580. hikyuu/include/hikyuu/serialization/__init__.py +1 -0
  581. hikyuu/include/hikyuu/serialization/all.h +26 -0
  582. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
  583. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
  584. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
  585. hikyuu/include/hikyuu/strategy/Strategy.h +191 -0
  586. hikyuu/include/hikyuu/strategy/__init__.py +1 -0
  587. hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
  588. hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
  589. hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
  590. hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
  591. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +207 -0
  592. hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
  593. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +108 -0
  594. hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
  595. hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
  596. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +778 -0
  597. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +151 -0
  598. hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
  599. hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
  600. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
  601. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
  602. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
  603. hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
  604. hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
  605. hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
  606. hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
  607. hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
  608. hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
  609. hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
  610. hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
  611. hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
  612. hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
  613. hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
  614. hikyuu/include/hikyuu/trade_sys/all.h +24 -0
  615. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
  616. hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
  617. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +16 -0
  618. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
  619. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
  620. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
  621. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
  622. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
  623. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
  624. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +23 -0
  625. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
  626. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +241 -0
  627. hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
  628. hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
  629. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
  630. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
  631. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
  632. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
  633. hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
  634. hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
  635. hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
  636. hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
  637. hikyuu/include/hikyuu/trade_sys/condition/imp/SubCondition.h +42 -0
  638. hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
  639. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
  640. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
  641. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
  642. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
  643. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
  644. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
  645. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +178 -0
  646. hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
  647. hikyuu/include/hikyuu/trade_sys/environment/build_in.h +16 -0
  648. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
  649. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
  650. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
  651. hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
  652. hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
  653. hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
  654. hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
  655. hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
  656. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +230 -0
  657. hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
  658. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +20 -0
  659. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +20 -0
  660. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
  661. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
  662. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +20 -0
  663. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +20 -0
  664. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
  665. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +20 -0
  666. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
  667. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
  668. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
  669. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
  670. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
  671. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
  672. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
  673. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
  674. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
  675. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
  676. hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
  677. hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
  678. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +13 -0
  679. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
  680. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
  681. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
  682. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +30 -0
  683. hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
  684. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
  685. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
  686. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
  687. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +41 -0
  688. hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
  689. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +256 -0
  690. hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
  691. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +14 -0
  692. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +23 -0
  693. hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
  694. hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
  695. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
  696. hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
  697. hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
  698. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
  699. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
  700. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
  701. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
  702. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
  703. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
  704. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
  705. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
  706. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
  707. hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
  708. hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
  709. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
  710. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
  711. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
  712. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
  713. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
  714. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
  715. hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
  716. hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
  717. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +52 -0
  718. hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
  719. hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
  720. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
  721. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
  722. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
  723. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
  724. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
  725. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
  726. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
  727. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
  728. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
  729. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
  730. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
  731. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
  732. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
  733. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
  734. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
  735. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
  736. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
  737. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +249 -0
  738. hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
  739. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +22 -0
  740. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
  741. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
  742. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +28 -0
  743. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
  744. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
  745. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
  746. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
  747. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
  748. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
  749. hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
  750. hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
  751. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
  752. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
  753. hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
  754. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
  755. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
  756. hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
  757. hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
  758. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
  759. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
  760. hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
  761. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
  762. hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
  763. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
  764. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
  765. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
  766. hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
  767. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
  768. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
  769. hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
  770. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
  771. hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
  772. hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
  773. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
  774. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
  775. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
  776. hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
  777. hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
  778. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +50 -0
  779. hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
  780. hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
  781. hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
  782. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
  783. hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
  784. hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
  785. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
  786. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +21 -0
  787. hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
  788. hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
  789. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
  790. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
  791. hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
  792. hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
  793. hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
  794. hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
  795. hikyuu/include/hikyuu/utilities/Log.h +411 -0
  796. hikyuu/include/hikyuu/utilities/Null.h +176 -0
  797. hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
  798. hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
  799. hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
  800. hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
  801. hikyuu/include/hikyuu/utilities/__init__.py +1 -0
  802. hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
  803. hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
  804. hikyuu/include/hikyuu/utilities/base64.h +52 -0
  805. hikyuu/include/hikyuu/utilities/config.h +41 -0
  806. hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
  807. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +438 -0
  808. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +343 -0
  809. hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
  810. hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
  811. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +248 -0
  812. hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
  813. hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
  814. hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
  815. hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
  816. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
  817. hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
  818. hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
  819. hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
  820. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +56 -0
  821. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +88 -0
  822. hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
  823. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
  824. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
  825. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
  826. hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
  827. hikyuu/include/hikyuu/utilities/exception.h +52 -0
  828. hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
  829. hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
  830. hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
  831. hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
  832. hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
  833. hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
  834. hikyuu/include/hikyuu/utilities/md5.h +41 -0
  835. hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
  836. hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
  837. hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
  838. hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
  839. hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
  840. hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
  841. hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
  842. hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
  843. hikyuu/include/hikyuu/utilities/os.h +102 -0
  844. hikyuu/include/hikyuu/utilities/osdef.h +159 -0
  845. hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
  846. hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
  847. hikyuu/include/hikyuu/utilities/string_view.h +70 -0
  848. hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
  849. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
  850. hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
  851. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
  852. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
  853. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
  854. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
  855. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
  856. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
  857. hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
  858. hikyuu/include/hikyuu/utilities/thread/algorithm.h +110 -0
  859. hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
  860. hikyuu/include/hikyuu/version.h +24 -0
  861. hikyuu/indicator/__init__.py +29 -0
  862. hikyuu/indicator/indicator.py +157 -0
  863. hikyuu/indicator/pyind.py +47 -0
  864. hikyuu/indicator/talib_wrap.py +1273 -0
  865. hikyuu/interactive.py +385 -0
  866. hikyuu/setup.py +104 -0
  867. hikyuu/shell/__init__.py +0 -0
  868. hikyuu/shell/cmdserver.py +126 -0
  869. hikyuu/shell/hkucmd.py +110 -0
  870. hikyuu/shell/hkushell.py +20 -0
  871. hikyuu/strategy/__init__.py +2 -0
  872. hikyuu/strategy/strategy_demo1.py +54 -0
  873. hikyuu/strategy/strategy_demo2.py +47 -0
  874. hikyuu/strategy/strategy_demo3.py +24 -0
  875. hikyuu/test/AllocateFunds.py +25 -0
  876. hikyuu/test/Condition.py +95 -0
  877. hikyuu/test/Datetime.py +61 -0
  878. hikyuu/test/Environment.py +88 -0
  879. hikyuu/test/Indicator.py +233 -0
  880. hikyuu/test/KData.py +64 -0
  881. hikyuu/test/MarketInfo.py +26 -0
  882. hikyuu/test/MoneyManager.py +88 -0
  883. hikyuu/test/Parameter.py +62 -0
  884. hikyuu/test/ProfitGoal.py +83 -0
  885. hikyuu/test/Signal.py +160 -0
  886. hikyuu/test/Slippage.py +88 -0
  887. hikyuu/test/Stock.py +127 -0
  888. hikyuu/test/StockTypeInfo.py +47 -0
  889. hikyuu/test/Stoploss.py +86 -0
  890. hikyuu/test/TradeCost.py +71 -0
  891. hikyuu/test/__init__.py +0 -0
  892. hikyuu/test/test.py +63 -0
  893. hikyuu/test/test_init.py +36 -0
  894. hikyuu/tools/__init__.py +1 -0
  895. hikyuu/tools/copy_file.py +16 -0
  896. hikyuu/tools/delete_index.py +50 -0
  897. hikyuu/tools/fenge.py +139 -0
  898. hikyuu/tools/h5_data_clear.py +163 -0
  899. hikyuu/tools/mysql_clear_last_day_data.py +61 -0
  900. hikyuu/tools/update_block_info.py +168 -0
  901. hikyuu/trade_manage/__init__.py +30 -0
  902. hikyuu/trade_manage/__init__.pyi +713 -0
  903. hikyuu/trade_manage/broker.py +95 -0
  904. hikyuu/trade_manage/broker.pyi +54 -0
  905. hikyuu/trade_manage/broker_easytrader.py +63 -0
  906. hikyuu/trade_manage/broker_easytrader.pyi +21 -0
  907. hikyuu/trade_manage/broker_mail.py +101 -0
  908. hikyuu/trade_manage/broker_mail.pyi +55 -0
  909. hikyuu/trade_manage/trade.py +111 -0
  910. hikyuu/trade_manage/trade.pyi +719 -0
  911. hikyuu/trade_sys/__init__.py +27 -0
  912. hikyuu/trade_sys/trade_sys.py +251 -0
  913. hikyuu/util/__init__.py +49 -0
  914. hikyuu/util/__init__.pyi +55 -0
  915. hikyuu/util/check.py +153 -0
  916. hikyuu/util/check.pyi +59 -0
  917. hikyuu/util/mylog.py +264 -0
  918. hikyuu/util/mylog.pyi +70 -0
  919. hikyuu/util/notebook.py +47 -0
  920. hikyuu/util/notebook.pyi +23 -0
  921. hikyuu/util/singleton.py +29 -0
  922. hikyuu/util/singleton.pyi +18 -0
  923. hikyuu/util/slice.py +43 -0
  924. hikyuu/util/slice.pyi +8 -0
  925. hikyuu/util/timeout.py +83 -0
  926. hikyuu-2.3.1.dist-info/LICENSE +201 -0
  927. hikyuu-2.3.1.dist-info/METADATA +151 -0
  928. hikyuu-2.3.1.dist-info/RECORD +931 -0
  929. hikyuu-2.3.1.dist-info/WHEEL +5 -0
  930. hikyuu-2.3.1.dist-info/entry_points.txt +3 -0
  931. hikyuu-2.3.1.dist-info/top_level.txt +115 -0
@@ -0,0 +1,271 @@
1
+ /*
2
+ * KData.h
3
+ *
4
+ * Created on: 2012-9-25
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef KDATA_H_
10
+ #define KDATA_H_
11
+
12
+ #include "KDataImp.h"
13
+
14
+ namespace hku {
15
+
16
+ class HKU_API Indicator;
17
+
18
+ /**
19
+ * K线数据
20
+ * @ingroup StockManage
21
+ */
22
+ class HKU_API KData {
23
+ public:
24
+ KData();
25
+ KData(const KData&);
26
+ KData(const Stock& stock, const KQuery& query);
27
+ virtual ~KData() {}
28
+
29
+ KData& operator=(const KData&);
30
+
31
+ // 移动语义对 KData 没有实际用处,而且会导致 KData 可能存在空 imp 的情况
32
+ // 主要是 boost::any_cast 需要,予以保留,但使用时不要到 KData 执行 std::move
33
+ KData(KData&&);
34
+ KData& operator=(KData&&);
35
+
36
+ size_t size() const;
37
+ bool empty() const;
38
+
39
+ bool operator==(const KData&) const;
40
+ bool operator!=(const KData&) const;
41
+
42
+ DatetimeList getDatetimeList() const;
43
+
44
+ /** 获取指定位置的KRecord,未作越界检查 */
45
+ const KRecord& getKRecord(size_t pos) const;
46
+
47
+ /** 按日期查询KRecord */
48
+ const KRecord& getKRecord(Datetime datetime) const;
49
+
50
+ /** 同getKRecord @see getKRecord */
51
+ const KRecord& operator[](size_t pos) const {
52
+ return getKRecord(pos);
53
+ }
54
+
55
+ /** 同getKRecord @see getKRecord */
56
+ const KRecord& operator[](Datetime datetime) const {
57
+ return getKRecord(datetime);
58
+ }
59
+
60
+ /**
61
+ * 通过当前 KData 获取一个保持数据类型、复权类型不变的新的 KData
62
+ * @note 新的 KData 并不一定是原 KData 的子集
63
+ * @param start 起始日期
64
+ * @param end 结束日期
65
+ */
66
+ KData getKData(const Datetime& start, const Datetime& end) const;
67
+
68
+ /** 按日期查询对应的索引位置,注:是 KData 中的位置,不是在 Stock 中原始K记录的位置 */
69
+ size_t getPos(const Datetime& datetime) const;
70
+
71
+ /** 按日期获取在原始 K 线记录中的位置 */
72
+ size_t getPosInStock(Datetime datetime) const;
73
+
74
+ /** 获取关联的KQuery */
75
+ const KQuery& getQuery() const;
76
+
77
+ /** 获取关联的Stock,如果没有关联返回Null<Stock> */
78
+ const Stock& getStock() const;
79
+
80
+ /** 获取在原始K线记录中对应的起始位置,如果为空返回0 */
81
+ size_t startPos() const;
82
+
83
+ /** 获取在原始K线记录中对应的最后一条记录的位置,如果为空返回0,其他等于endPos - 1 */
84
+ size_t lastPos() const;
85
+
86
+ /** 获取在原始K线记录中对应范围的下一条记录的位置,如果为空返回0,其他等于lastPos + 1 */
87
+ size_t endPos() const;
88
+
89
+ /** 输出数据到指定的文件中 */
90
+ void tocsv(const string& filename);
91
+
92
+ string toString() const;
93
+
94
+ /** 开盘价 */
95
+ Indicator open() const;
96
+
97
+ /** 最高价 */
98
+ Indicator high() const;
99
+
100
+ /** 收盘价 */
101
+ Indicator close() const;
102
+
103
+ /** 最低价 */
104
+ Indicator low() const;
105
+
106
+ /** 成交量 */
107
+ Indicator vol() const;
108
+
109
+ /** 成交金额 */
110
+ Indicator amo() const;
111
+
112
+ public:
113
+ typedef KRecordList::iterator iterator;
114
+ typedef KRecordList::const_iterator const_iterator;
115
+ iterator begin();
116
+ iterator end();
117
+ const_iterator cbegin() const;
118
+ const_iterator cend() const;
119
+ const KRecord* data() const;
120
+
121
+ private:
122
+ static KRecord ms_null_krecord;
123
+
124
+ private:
125
+ KDataImpPtr m_imp;
126
+ };
127
+
128
+ /**
129
+ * 输出KData信息
130
+ * @details
131
+ * <pre>
132
+ * KData{
133
+ * size : 738501
134
+ * stock: Stock(SH, 000001, 上证指数, 指数, 1, 1990-Dec-19 00:00:00, +infinity),
135
+ * query: KQuery(0, 99999999999, INDEX, MIN, NO_RECOVER)
136
+ * }
137
+ * </pre>
138
+ * @ingroup StockManage
139
+ */
140
+ HKU_API std::ostream& operator<<(std::ostream& os, const KData& kdata);
141
+
142
+ /**
143
+ * 根据股票标识按指定的查询条件查询的 K 线数据
144
+ * @param market_code 股票标识
145
+ * @param query 查询条件
146
+ * @ingroup StockManage
147
+ */
148
+ KData HKU_API getKData(const string& market_code, const KQuery& query);
149
+
150
+ /**
151
+ * 根据股票标识直接按日期查询获取相应的 K 线数据
152
+ * @param market_code 股票标识
153
+ * @param start 起始日期
154
+ * @param end 结束日期
155
+ * @param ktype K线类型
156
+ * @param recoverType 复权类型
157
+ * @ingroup StockManage
158
+ */
159
+ KData HKU_API getKData(const string& market_code, const Datetime& start = Datetime::min(),
160
+ const Datetime& end = Null<Datetime>(),
161
+ const KQuery::KType& ktype = KQuery::DAY,
162
+ KQuery::RecoverType recoverType = KQuery::NO_RECOVER);
163
+
164
+ /**
165
+ * 根据股票标识直接按索引位置查询获取相应的 K 线数据
166
+ * @param market_code 股票标识
167
+ * @param start 起始索引
168
+ * @param end 结束索引
169
+ * @param ktype K线类型
170
+ * @param recoverType 复权类型
171
+ * @ingroup StockManage
172
+ */
173
+ KData HKU_API getKData(const string& market_code, int64_t start = 0, int64_t end = Null<int64_t>(),
174
+ const KQuery::KType& ktype = KQuery::DAY,
175
+ KQuery::RecoverType recoverType = KQuery::NO_RECOVER);
176
+
177
+ inline KData::KData(const KData& x) : m_imp(x.m_imp) {}
178
+
179
+ inline KData::KData(KData&& x) : m_imp(std::move(x.m_imp)) {}
180
+
181
+ inline KData& KData::operator=(const KData& x) {
182
+ if (this == &x)
183
+ return *this;
184
+ m_imp = x.m_imp;
185
+ return *this;
186
+ }
187
+
188
+ inline KData& KData::operator=(KData&& x) {
189
+ if (this == &x)
190
+ return *this;
191
+ m_imp = std::move(x.m_imp);
192
+ return *this;
193
+ }
194
+
195
+ inline DatetimeList KData::getDatetimeList() const {
196
+ return m_imp->getDatetimeList();
197
+ }
198
+
199
+ inline const KRecord& KData::getKRecord(size_t pos) const {
200
+ return m_imp->getKRecord(pos); // 不会抛出异常
201
+ }
202
+
203
+ inline const KRecord& KData::getKRecord(Datetime datetime) const {
204
+ size_t pos = getPos(datetime);
205
+ return pos != Null<size_t>() ? getKRecord(pos) : ms_null_krecord;
206
+ }
207
+
208
+ inline size_t KData::getPos(const Datetime& datetime) const {
209
+ return m_imp->getPos(datetime);
210
+ }
211
+
212
+ inline size_t KData::size() const {
213
+ return m_imp->size();
214
+ }
215
+
216
+ inline bool KData::empty() const {
217
+ return m_imp->empty();
218
+ }
219
+
220
+ inline const KQuery& KData::getQuery() const {
221
+ return m_imp->getQuery();
222
+ }
223
+
224
+ inline const Stock& KData::getStock() const {
225
+ return m_imp->getStock();
226
+ }
227
+
228
+ inline size_t KData::startPos() const {
229
+ return m_imp->startPos();
230
+ }
231
+
232
+ inline size_t KData::endPos() const {
233
+ return m_imp->endPos();
234
+ }
235
+
236
+ inline size_t KData::lastPos() const {
237
+ return m_imp->lastPos();
238
+ }
239
+
240
+ inline bool KData::operator!=(const KData& other) const {
241
+ return !(*this == other);
242
+ }
243
+
244
+ inline KData::iterator KData::begin() {
245
+ return m_imp->begin();
246
+ }
247
+
248
+ inline KData::iterator KData::end() {
249
+ return m_imp->end();
250
+ }
251
+
252
+ inline KData::const_iterator KData::cbegin() const {
253
+ return m_imp->cbegin();
254
+ }
255
+
256
+ inline KData::const_iterator KData::cend() const {
257
+ return m_imp->cend();
258
+ }
259
+
260
+ inline const KRecord* KData::data() const {
261
+ return m_imp->data();
262
+ }
263
+
264
+ } /* namespace hku */
265
+
266
+ #if FMT_VERSION >= 90000
267
+ template <>
268
+ struct fmt::formatter<hku::KData> : ostream_formatter {};
269
+ #endif
270
+
271
+ #endif /* KDATA_H_ */
@@ -0,0 +1,94 @@
1
+ /*
2
+ * KDataImp.h
3
+ *
4
+ * Created on: 2013-2-4
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef KDATAIMP_H_
10
+ #define KDATAIMP_H_
11
+
12
+ #include "Stock.h"
13
+
14
+ namespace hku {
15
+
16
+ class HKU_API KDataImp {
17
+ public:
18
+ KDataImp();
19
+ KDataImp(const Stock& stock, const KQuery& query);
20
+ virtual ~KDataImp();
21
+
22
+ const KQuery& getQuery() const {
23
+ return m_query;
24
+ }
25
+
26
+ const Stock& getStock() const {
27
+ return m_stock;
28
+ }
29
+
30
+ const KRecord& getKRecord(size_t pos) const {
31
+ return m_buffer[pos];
32
+ }
33
+
34
+ bool empty() const {
35
+ return m_buffer.empty();
36
+ }
37
+
38
+ size_t size() {
39
+ return m_buffer.size();
40
+ }
41
+
42
+ size_t startPos();
43
+ size_t endPos();
44
+ size_t lastPos();
45
+
46
+ size_t getPos(const Datetime& datetime);
47
+
48
+ const KRecord* data() const {
49
+ return m_buffer.data();
50
+ }
51
+
52
+ DatetimeList getDatetimeList() const;
53
+
54
+ public:
55
+ typedef KRecordList::iterator iterator;
56
+ typedef KRecordList::const_iterator const_iterator;
57
+
58
+ iterator begin() {
59
+ return m_buffer.begin();
60
+ }
61
+
62
+ iterator end() {
63
+ return m_buffer.end();
64
+ }
65
+
66
+ const_iterator cbegin() const {
67
+ return m_buffer.cbegin();
68
+ }
69
+
70
+ const_iterator cend() const {
71
+ return m_buffer.cend();
72
+ }
73
+
74
+ private:
75
+ void _getPosInStock();
76
+ void _recoverForward();
77
+ void _recoverBackward();
78
+ void _recoverEqualForward();
79
+ void _recoverEqualBackward();
80
+ void _recoverForUpDay();
81
+
82
+ private:
83
+ KRecordList m_buffer;
84
+ KQuery m_query;
85
+ Stock m_stock;
86
+ size_t m_start;
87
+ size_t m_end;
88
+ bool m_have_pos_in_stock;
89
+ };
90
+
91
+ typedef shared_ptr<KDataImp> KDataImpPtr;
92
+
93
+ } /* namespace hku */
94
+ #endif /* KDATAIMP_H_ */
@@ -0,0 +1,275 @@
1
+ /*
2
+ * KQuery.h
3
+ *
4
+ * Created on: 2009-11-23
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef KQUERY_H_
10
+ #define KQUERY_H_
11
+
12
+ #include "KRecord.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 按索引方式查询K线数据条件
18
+ * @ingroup StockManage
19
+ */
20
+ class HKU_API KQuery {
21
+ public:
22
+ /// 查询方式:索引或日期
23
+ enum QueryType {
24
+ INDEX = 0, ///< 按索引方式查询
25
+ DATE = 1, ///< 按日期方式查询
26
+ INVALID = 2
27
+ };
28
+
29
+ /// 查询K线类型:日线/周线等
30
+ /*enum KType {
31
+ //notes: 如添加新类型,请注意按大小顺序添加,否则可能出错
32
+ MIN = 0, ///<1分钟线
33
+ MIN5 = 1, ///<5分钟线
34
+ MIN15 = 2, ///<15分钟线
35
+ MIN30 = 3, ///<30分钟线
36
+ MIN60 = 4, ///<60分钟线
37
+ DAY = 5, ///<日线
38
+ WEEK = 6, ///<周线
39
+ MONTH = 7, ///<月线
40
+ QUARTER = 8, ///<季线
41
+ HALFYEAR = 9, ///<半年线
42
+ YEAR = 10, ///<年线
43
+
44
+ //BTC扩展
45
+ MIN3 = 11, ///<3分钟线
46
+ HOUR2 = 12, ///<2小时线
47
+ HOUR4 = 13, ///<4小时线
48
+ HOUR6 = 14, ///<6小时线
49
+ HOUR12 = 15, ///<12小时线
50
+ INVALID_KTYPE = 16
51
+ };*/
52
+ typedef string KType;
53
+
54
+ static const string MIN;
55
+ static const string MIN5;
56
+ static const string MIN15;
57
+ static const string MIN30;
58
+ static const string MIN60;
59
+ static const string DAY;
60
+ static const string WEEK;
61
+ static const string MONTH;
62
+ static const string QUARTER;
63
+ static const string HALFYEAR;
64
+ static const string YEAR;
65
+ static const string MIN3;
66
+ static const string HOUR2;
67
+ static const string HOUR4;
68
+ static const string HOUR6;
69
+ static const string HOUR12;
70
+ // static const string INVALID_KTYPE;
71
+
72
+ /** 获取所有的 KType */
73
+ static const vector<KType>& getAllKType();
74
+
75
+ static int32_t getKTypeInMin(KType);
76
+
77
+ /** 判断是否为有效 ktype */
78
+ static bool isKType(const string& ktype);
79
+
80
+ /**
81
+ * 复权类型
82
+ * @note 日线以上,如周线/月线不支持复权
83
+ */
84
+ enum RecoverType {
85
+ NO_RECOVER = 0, ///< 不复权
86
+ FORWARD = 1, ///< 前向复权
87
+ BACKWARD = 2, ///< 后向复权
88
+ EQUAL_FORWARD = 3, ///< 等比前向复权
89
+ EQUAL_BACKWARD = 4, ///< 等比后向复权
90
+ INVALID_RECOVER_TYPE = 5
91
+ };
92
+
93
+ /** 默认构造,按索引方式查询全部日线数据,不复权 */
94
+ KQuery()
95
+ : m_start(0),
96
+ m_end(Null<int64_t>()),
97
+ m_queryType(INDEX),
98
+ m_dataType(DAY),
99
+ m_recoverType(NO_RECOVER) {};
100
+
101
+ /**
102
+ * K线查询,范围[start, end)
103
+ * @param start 起始索引,支持负数
104
+ * @param end 结束索引(不包含本身),支持负数
105
+ * @param dataType K线类型
106
+ * @param recoverType 复权类型
107
+ * @param queryType 默认按索引方式查询
108
+ */
109
+ KQuery(int64_t start, // cppcheck-suppress [noExplicitConstructor]
110
+ int64_t end = Null<int64_t>(), const KType& dataType = DAY,
111
+ RecoverType recoverType = NO_RECOVER, QueryType queryType = INDEX)
112
+ : m_start(start),
113
+ m_end(end),
114
+ m_queryType(queryType),
115
+ m_dataType(dataType),
116
+ m_recoverType(recoverType) {
117
+ to_upper(m_dataType);
118
+ }
119
+
120
+ /**
121
+ * 按指定日期查询 K 线,范围[start, end)
122
+ * @param start 起始日期
123
+ * @param end 结束日期
124
+ * @param ktype K线类型
125
+ * @param recoverType 复权类型
126
+ */
127
+ KQuery(Datetime start, // cppcheck-suppress [noExplicitConstructor]
128
+ Datetime end = Null<Datetime>(), const KType& ktype = DAY,
129
+ RecoverType recoverType = NO_RECOVER);
130
+
131
+ /**
132
+ * 按索引方式查询时,返回指定的起始索引,否则返回Null<int64_t>()
133
+ */
134
+ int64_t start() const {
135
+ return m_queryType != INDEX ? Null<int64_t>() : m_start;
136
+ }
137
+
138
+ /**
139
+ * 按索引方式查询时,返回指定的结束索引,否则返回Null<int64_t>()
140
+ */
141
+ int64_t end() const {
142
+ return m_queryType != INDEX ? Null<int64_t>() : m_end;
143
+ }
144
+
145
+ /**
146
+ * 按日期方式查询时,返回指定的起始日期,否则返回Null<Datetime>()
147
+ */
148
+ Datetime startDatetime() const;
149
+
150
+ /**
151
+ * 按日期方式查询时,返回指定的结束日期,否则返回Null<Datetime>()
152
+ */
153
+ Datetime endDatetime() const;
154
+
155
+ /** 获取查询条件类型 */
156
+ QueryType queryType() const {
157
+ return m_queryType;
158
+ }
159
+
160
+ /** 获取K线数据类型 */
161
+ // KType kType() const { return m_dataType; }
162
+ string kType() const {
163
+ return m_dataType;
164
+ }
165
+
166
+ /** 获取复权类型 */
167
+ RecoverType recoverType() const {
168
+ return m_recoverType;
169
+ }
170
+
171
+ /** 设置复权类型 */
172
+ void recoverType(RecoverType recoverType) {
173
+ m_recoverType = recoverType;
174
+ }
175
+
176
+ /** 获取queryType名称,用于显示输出 */
177
+ static string getQueryTypeName(QueryType);
178
+
179
+ /** 获取KType名称,用于显示输出 */
180
+ static string getKTypeName(KType);
181
+
182
+ /** 获取recoverType名称,用于显示输出 */
183
+ static string getRecoverTypeName(RecoverType);
184
+
185
+ /** 根据字符串名称获取相应的queryType枚举值 */
186
+ static QueryType getQueryTypeEnum(const string&);
187
+
188
+ /** 根据字符串名称,获取相应的枚举值 */
189
+ static KType getKTypeEnum(const string&);
190
+
191
+ /** 根据字符串名称,获取相应的枚举值 */
192
+ static RecoverType getRecoverTypeEnum(const string&);
193
+
194
+ private:
195
+ int64_t m_start;
196
+ int64_t m_end;
197
+ QueryType m_queryType;
198
+ KType m_dataType;
199
+ RecoverType m_recoverType;
200
+ };
201
+
202
+ /**
203
+ * 构造按索引方式K线查询,范围[start, end)
204
+ * @param start 起始索引,支持负数
205
+ * @param end 结束索引(不包含本身),支持负数
206
+ * @param dataType K线类型
207
+ * @param recoverType 复权类型
208
+ * @see KQuery
209
+ * @ingroup StockManage*
210
+ */
211
+ KQuery HKU_API KQueryByIndex(int64_t start = 0, int64_t end = Null<int64_t>(),
212
+ const KQuery::KType& dataType = KQuery::DAY,
213
+ KQuery::RecoverType recoverType = KQuery::NO_RECOVER);
214
+
215
+ inline KQuery KQueryByIndex(int64_t start, int64_t end, const KQuery::KType& dataType,
216
+ KQuery::RecoverType recoverType) {
217
+ return KQuery(start, end, dataType, recoverType, KQuery::INDEX);
218
+ }
219
+
220
+ /**
221
+ * 构造按日期方式K线查询,范围[startDatetime, endDatetime)
222
+ * @param start 起始日期
223
+ * @param end 结束日期(不包含本身)
224
+ * @param dataType K线类型
225
+ * @param recoverType 复权类型
226
+ * @see KQuery
227
+ * @ingroup StockManage
228
+ */
229
+ KQuery HKU_API KQueryByDate(const Datetime& start = Datetime::min(),
230
+ const Datetime& end = Null<Datetime>(),
231
+ const KQuery::KType& dataType = KQuery::DAY,
232
+ KQuery::RecoverType recoverType = KQuery::NO_RECOVER);
233
+
234
+ inline KQuery KQueryByDate(const Datetime& start, const Datetime& end,
235
+ const KQuery::KType& dataType, KQuery::RecoverType recoverType) {
236
+ return KQuery(start, end, dataType, recoverType);
237
+ }
238
+
239
+ /**
240
+ * 输出KQuery信息,如:KQuery(start, end, queryType, kType, recoverType)
241
+ * @ingroup StockManage
242
+ */
243
+ HKU_API std::ostream& operator<<(std::ostream& os, const KQuery& query);
244
+
245
+ ///////////////////////////////////////////////////////////////////////////////
246
+ //
247
+ // 关系比较函数, 不直接在类中定义是为了支持 Null<>() == d,Null可以放在左边
248
+ //
249
+ ///////////////////////////////////////////////////////////////////////////////
250
+ bool HKU_API operator==(const KQuery&, const KQuery&);
251
+ bool HKU_API operator!=(const KQuery&, const KQuery&);
252
+
253
+ /**
254
+ * 提供KQuery的Null值
255
+ * @ingroup StockManage
256
+ */
257
+ template <>
258
+ class Null<KQuery> {
259
+ public:
260
+ Null() {}
261
+ operator KQuery() {
262
+ return KQuery(Null<int64_t>(), Null<int64_t>(),
263
+ "", // KQuery::INVALID_KTYPE,
264
+ KQuery::INVALID_RECOVER_TYPE, KQuery::INVALID);
265
+ }
266
+ };
267
+
268
+ } // namespace hku
269
+
270
+ #if FMT_VERSION >= 90000
271
+ template <>
272
+ struct fmt::formatter<hku::KQuery> : ostream_formatter {};
273
+ #endif
274
+
275
+ #endif /* KQUERY_H_ */