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,214 @@
1
+ /*
2
+ * OrderBrokerBase.h
3
+ *
4
+ * Created on: 2017年6月28日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_MANAGE_ORDERBROKERBASE_H_
10
+ #define TRADE_MANAGE_ORDERBROKERBASE_H_
11
+
12
+ #include "../DataType.h"
13
+ #include "../utilities/Parameter.h"
14
+ #include "../trade_sys/system/SystemPart.h"
15
+
16
+ namespace hku {
17
+
18
+ struct HKU_API BrokerPositionRecord {
19
+ Stock stock;
20
+ price_t number{0.0}; // 数量
21
+ price_t money{0.0}; // 买入花费总资金
22
+
23
+ BrokerPositionRecord() = default;
24
+ BrokerPositionRecord(const Stock& stock, price_t number, price_t money);
25
+ BrokerPositionRecord(const BrokerPositionRecord&) = default;
26
+ BrokerPositionRecord(BrokerPositionRecord&& rv);
27
+
28
+ BrokerPositionRecord& operator=(const BrokerPositionRecord&) = default;
29
+ BrokerPositionRecord& operator=(BrokerPositionRecord&& rv);
30
+
31
+ string str() const;
32
+ };
33
+
34
+ HKU_API std::ostream& operator<<(std::ostream& os, const BrokerPositionRecord&);
35
+
36
+ /**
37
+ * 订单代理基类,实现实际的订单操作及程序化的订单。
38
+ * @details 可通过向 TradeManager.regBroker 向 TradeManager 注册多个订单代理实例。
39
+ * 这些订单代理可执行额外的买入/卖出动作,如邮件订单代理,在 TradeManager 发出
40
+ * 买入/卖出指令时, 邮件订单代理可以发送邮件。
41
+ *
42
+ * 默认情况下,TradeManager会在执行买入/卖出操作时,调用订单代理执行代理的买入/卖出动作,
43
+ * 但这样在实盘操作时会存在问题。因为系统在计算信号指示时,需要回溯历史数据才能得到最新的信号,
44
+ * 这样TradeManager会在历史时刻就执行买入/卖出操作。此时如果订单代理本身没有对发出
45
+ * 买入/卖出指令的时刻进行控制,会导致代理发送错误的指令 。因此,需要指定在某一个时刻之后,
46
+ * 才允许执行订单代理的买入/卖出操作。TradeManager的属性 brokeLastDatetime 即用于
47
+ * 指定该时刻。
48
+ * @ingroup OrderBroker
49
+ */
50
+ class HKU_API OrderBrokerBase {
51
+ PARAMETER_SUPPORT
52
+
53
+ public:
54
+ OrderBrokerBase();
55
+ OrderBrokerBase(const string& name);
56
+ virtual ~OrderBrokerBase();
57
+
58
+ /** 获取名称 */
59
+ const string& name() const;
60
+
61
+ /** 设置名称 */
62
+ void name(const string& name);
63
+
64
+ /**
65
+ * 执行买入操作
66
+ * @param datetime 策略指示时间
67
+ * @param market 市场标识
68
+ * @param code 证券代码
69
+ * @param price 买入价格
70
+ * @param num 买入数量
71
+ * @param stoploss 预期的止损价
72
+ * @param goalPrice 预期的目标价位
73
+ * @param from 系统部件来源
74
+ * @param remark 备注信息
75
+ */
76
+ void buy(Datetime datetime, const string& market, const string& code, price_t price, double num,
77
+ price_t stoploss, price_t goalPrice, SystemPart from, const string& remark) noexcept;
78
+
79
+ /**
80
+ * 执行卖出操作
81
+ * @param datetime 策略指示时间
82
+ * @param market 市场标识
83
+ * @param code 证券代码
84
+ * @param price 卖出价格
85
+ * @param num 卖出数量
86
+ * @param stoploss 新的预期止损价
87
+ * @param goalPrice 新的预期目标价位
88
+ * @param from 系统部件来源
89
+ * @param remark 备注信息
90
+ */
91
+ void sell(Datetime datetime, const string& market, const string& code, price_t price,
92
+ double num, price_t stoploss, price_t goalPrice, SystemPart from,
93
+ const string& remark) noexcept;
94
+
95
+ /**
96
+ * 获取当前资产信息
97
+ * @return string json字符串
98
+ * <pre>
99
+ * 接口规范:
100
+ * {
101
+ * "datetime": "2001-01-01 18:00:00.12345",
102
+ * "cash": 0.0,
103
+ * "positions": [
104
+ * {"market": "SZ", "code": "000001", "number": 100.0, "stoploss": 0.0, "goal_price": 0.0,
105
+ * "cost_price": 0.0},
106
+ * {"market": "SH", "code": "600001", "number": 100.0, "stoploss": 0.0, "goal_price": 0.0,
107
+ * "cost_price": 0.0},
108
+ * ]
109
+ * }
110
+ *
111
+ * 说明:
112
+ * cash: 当前可用资金
113
+ * number 应该为:现有持仓 + 正在买入 - 正在卖出
114
+ * cost_price: 每股买入成本价
115
+ * </pre>
116
+ */
117
+ string getAssetInfo() noexcept;
118
+
119
+ /**
120
+ * 子类实现接口,执行实际买入操作
121
+ * @param datetime 策略指示时间
122
+ * @param market 市场标识
123
+ * @param code 证券代码
124
+ * @param price 买入价格
125
+ * @param num 买入数量
126
+ * @param stoploss 预期的止损价
127
+ * @param goalPrice 预期的目标价位
128
+ * @param from 系统部件来源
129
+ * @param remark 备注信息
130
+ */
131
+ virtual void _buy(Datetime datetime, const string& market, const string& code, price_t price,
132
+ double num, price_t stoploss, price_t goalPrice, SystemPart from,
133
+ const string& remark) = 0;
134
+
135
+ /**
136
+ * 子类实现接口,执行实际卖出操作
137
+ * @param datetime 策略指示时间
138
+ * @param market 市场标识
139
+ * @param code 证券代码
140
+ * @param price 卖出价格
141
+ * @param num 卖出数量
142
+ * @param stoploss 新预期的止损价
143
+ * @param goalPrice 新预期的目标价位
144
+ * @param from 系统部件来源
145
+ * @param remark 备注信息
146
+ */
147
+ virtual void _sell(Datetime datetime, const string& market, const string& code, price_t price,
148
+ double num, price_t stoploss, price_t goalPrice, SystemPart from,
149
+ const string& remark) = 0;
150
+
151
+ virtual string _getAssetInfo() {
152
+ return string();
153
+ }
154
+
155
+ protected:
156
+ string m_name;
157
+
158
+ //============================================
159
+ // 序列化支持
160
+ //============================================
161
+ #if HKU_SUPPORT_SERIALIZATION
162
+ private:
163
+ friend class boost::serialization::access;
164
+ template <class Archive>
165
+ void save(Archive& ar, const unsigned int version) const {
166
+ ar& BOOST_SERIALIZATION_NVP(m_name);
167
+ ar& BOOST_SERIALIZATION_NVP(m_params);
168
+ }
169
+
170
+ template <class Archive>
171
+ void load(Archive& ar, const unsigned int version) {
172
+ ar& BOOST_SERIALIZATION_NVP(m_name);
173
+ ar& BOOST_SERIALIZATION_NVP(m_params);
174
+ }
175
+
176
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
177
+ #endif /* HKU_SUPPORT_SERIALIZATION */
178
+ };
179
+
180
+ #if HKU_SUPPORT_SERIALIZATION
181
+ BOOST_SERIALIZATION_ASSUME_ABSTRACT(OrderBrokerBase)
182
+ #endif
183
+
184
+ /**
185
+ * 客户程序应使用此类型进行实际操作
186
+ * @ingroup OrderBroker
187
+ */
188
+ typedef shared_ptr<OrderBrokerBase> OrderBrokerPtr;
189
+
190
+ /** @ingroup OrderBroker */
191
+ HKU_API std::ostream& operator<<(std::ostream& os, const OrderBrokerBase&);
192
+
193
+ /** @ingroup OrderBroker */
194
+ HKU_API std::ostream& operator<<(std::ostream& os, const OrderBrokerPtr&);
195
+
196
+ inline const string& OrderBrokerBase::name() const {
197
+ return m_name;
198
+ }
199
+
200
+ inline void OrderBrokerBase::name(const string& name) {
201
+ m_name = name;
202
+ }
203
+
204
+ } /* namespace hku */
205
+
206
+ #if FMT_VERSION >= 90000
207
+ template <>
208
+ struct fmt::formatter<hku::OrderBrokerBase> : ostream_formatter {};
209
+
210
+ template <>
211
+ struct fmt::formatter<hku::OrderBrokerPtr> : ostream_formatter {};
212
+ #endif
213
+
214
+ #endif /* TRADE_MANAGE_ORDERBROKERBASE_H_ */
@@ -0,0 +1,87 @@
1
+ /*
2
+ * Performance.h
3
+ *
4
+ * Created on: 2013-4-23
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef PERFORMANCE_H_
10
+ #define PERFORMANCE_H_
11
+
12
+ #include <boost/function.hpp>
13
+ #include "TradeManagerBase.h"
14
+
15
+ namespace hku {
16
+
17
+ /**
18
+ * 简单绩效统计
19
+ * @ingroup Performance
20
+ */
21
+ class HKU_API Performance {
22
+ public:
23
+ Performance();
24
+ virtual ~Performance();
25
+
26
+ Performance(const Performance& other) = default;
27
+ Performance(Performance&& other)
28
+ : m_result(std::move(other.m_result)), m_keys(std::move(other.m_keys)) {}
29
+
30
+ Performance& operator=(const Performance& other);
31
+ Performance& operator=(Performance&& other);
32
+
33
+ /** 是否为合法的统计项 */
34
+ bool exist(const string& key);
35
+
36
+ /** 复位,清除已计算的结果 */
37
+ void reset();
38
+
39
+ /** 按指标名称获取指标值,必须在运行 statistics 或 report 之后生效 */
40
+ double get(const string& name) const;
41
+
42
+ /** 同 get */
43
+ double operator[](const string& name) const {
44
+ return get(name);
45
+ }
46
+
47
+ /**
48
+ * 简单的文本统计报告,用于直接输出打印。
49
+ * @note 只有运行 statistics 后或 Performance 本身为从 TM 获取的结果时才生效
50
+ * @return
51
+ */
52
+ string report();
53
+
54
+ /**
55
+ * 根据交易记录,统计截至某一时刻的系统绩效, datetime必须大于等于lastDatetime,
56
+ * 以便用于计算当前市值
57
+ * @param tm 指定的交易管理实例
58
+ * @param datetime 统计截止时刻
59
+ */
60
+ void statistics(const TradeManagerPtr& tm, const Datetime& datetime = Datetime::now());
61
+
62
+ /** 获取所有统计项名称,顺序与 values 相同 */
63
+ const StringList& names() const {
64
+ return m_keys;
65
+ }
66
+
67
+ /** 获取所有统计项值,顺序与 names 相同*/
68
+ PriceList values() const;
69
+
70
+ typedef std::map<string, double> map_type;
71
+ typedef map_type::iterator iterator;
72
+ typedef map_type::const_iterator const_iterator;
73
+
74
+ const map_type& getAll() const {
75
+ return m_result;
76
+ }
77
+
78
+ void addKey(const string& key);
79
+ void setValue(const string& key, double value);
80
+
81
+ private:
82
+ map_type m_result;
83
+ StringList m_keys; // 保存统计项顺序, map/unordered_map都不能保持按插入顺序遍历
84
+ };
85
+
86
+ } /* namespace hku */
87
+ #endif /* PERFORMANCE_H_ */
@@ -0,0 +1,92 @@
1
+ /*
2
+ * Copyright (c) 2025 hikyuu.org
3
+ *
4
+ * Created on: 2025-05-30
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "PositionRecord.h"
11
+
12
+ namespace hku {
13
+ // 持仓扩展信息(只适合一买一卖的情况,一买多卖的情况,部分统计不准确仅供参考)
14
+ struct HKU_API PositionExtInfo final {
15
+ PositionRecord position;
16
+ price_t maxHighPrice{0.}; // 期间最高价最大值
17
+ price_t minLowPrice{0.0}; // 期间最低价最小值
18
+ price_t maxClosePrice{0.}; // 期间收盘价最高值
19
+ price_t minClosePrice{0.0}; // 期间收盘价最低值
20
+ price_t currentClosePrice{0.}; // 当前收盘价
21
+ price_t maxPullBack1{0.}; // 最大回撤百分比1(仅使用最大收盘价和最低收盘价计算)(负数)
22
+ price_t maxPullBack2{0.}; // 最大回撤百分比2(使用期间最高价最大值和最低价最小值计算)(负数)
23
+ price_t currentProfit{0.}; // 当前浮动盈亏(不含预计卖出成本)
24
+
25
+ /** 当前回撤百分比1(仅使用最大收盘价和当前收盘价计算) */
26
+ price_t currentPullBack1() const {
27
+ price_t ret = (maxClosePrice - currentClosePrice) / maxClosePrice;
28
+ return ret > 0. ? 0. : ret;
29
+ }
30
+
31
+ /** 当前回撤百分比2(使用期间最高价最大值和当前收盘价计算) */
32
+ price_t currentPullBack2() const {
33
+ price_t ret = (maxHighPrice - currentClosePrice) / maxHighPrice;
34
+ return ret > 0. ? 0. : ret;
35
+ }
36
+
37
+ /** 期间最大浮盈1 (正数, 仅使用收盘价计算, 不含预计卖出成本, 多次买卖时统计不准) */
38
+ price_t maxFloatingProfit1() const {
39
+ price_t ret = maxClosePrice * position.number + position.sellMoney - position.buyMoney;
40
+ return ret < 0. ? 0. : ret;
41
+ }
42
+
43
+ /** 期间最大浮盈2 (正数, 使用最高值最大值进行计算,不含预计卖出成本,多次买卖时统计不准) */
44
+ price_t maxFloatingProfit2() const {
45
+ price_t ret = maxHighPrice * position.number + position.sellMoney - position.buyMoney;
46
+ return ret < 0. ? 0. : ret;
47
+ }
48
+
49
+ /** 期间最大浮亏1(负数,仅使用收盘价计算, 不含预计卖出成本,多次买卖时统计不准) */
50
+ price_t minLossProfit1() const {
51
+ price_t ret = minClosePrice * position.number + position.sellMoney - position.buyMoney;
52
+ return ret > 0. ? 0. : ret;
53
+ }
54
+
55
+ /** 期间最大浮亏2(负数,仅期间最低价计算, 不含预计卖出成本,多次买卖时统计不准) */
56
+ price_t minLossProfit2() const {
57
+ price_t ret = minLowPrice * position.number + position.sellMoney - position.buyMoney;
58
+ return ret > 0. ? 0. : ret;
59
+ }
60
+
61
+ PositionExtInfo() = default;
62
+ PositionExtInfo(const PositionExtInfo&) = default;
63
+ PositionExtInfo& operator=(const PositionExtInfo&) = default;
64
+
65
+ PositionExtInfo(PositionExtInfo&& rhs)
66
+ : position(std::move(rhs.position)),
67
+ maxHighPrice(rhs.maxHighPrice),
68
+ minLowPrice(rhs.minLowPrice),
69
+ maxClosePrice(rhs.maxClosePrice),
70
+ minClosePrice(rhs.minClosePrice),
71
+ currentClosePrice(rhs.currentClosePrice),
72
+ maxPullBack1(rhs.maxPullBack1),
73
+ maxPullBack2(rhs.maxPullBack2),
74
+ currentProfit(rhs.currentProfit) {}
75
+
76
+ PositionExtInfo& operator=(PositionExtInfo&& rhs) {
77
+ if (this != &rhs) {
78
+ position = std::move(rhs.position);
79
+ maxHighPrice = rhs.maxHighPrice;
80
+ minLowPrice = rhs.minLowPrice;
81
+ maxClosePrice = rhs.maxClosePrice;
82
+ minClosePrice = rhs.minClosePrice;
83
+ currentClosePrice = rhs.currentClosePrice;
84
+ maxPullBack1 = rhs.maxPullBack1;
85
+ maxPullBack2 = rhs.maxPullBack2;
86
+ currentProfit = rhs.currentProfit;
87
+ }
88
+ return *this;
89
+ }
90
+ };
91
+
92
+ } // namespace hku
@@ -0,0 +1,120 @@
1
+ /*
2
+ * PositionRecord.h
3
+ *
4
+ * Created on: 2013-2-21
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef POSITIONRECORD_H_
10
+ #define POSITIONRECORD_H_
11
+
12
+ #include "../StockManager.h"
13
+ #include "../serialization/Stock_serialization.h"
14
+
15
+ namespace hku {
16
+
17
+ /**
18
+ * 持仓记录
19
+ * @ingroup TradeManagerClass
20
+ */
21
+ class HKU_API PositionRecord {
22
+ public:
23
+ PositionRecord();
24
+ PositionRecord(const Stock& stock, const Datetime& takeDatetime, const Datetime& cleanDatetime,
25
+ double number, price_t stoploss, price_t goalPrice, double totalNumber,
26
+ price_t buyMoney, price_t totalCost, price_t totalRisk, price_t sellMoney);
27
+
28
+ PositionRecord(const PositionRecord& ths) = default;
29
+ PositionRecord& operator=(const PositionRecord& ths) = default;
30
+
31
+ PositionRecord(PositionRecord&& rhs);
32
+ PositionRecord& operator=(PositionRecord&& rhs);
33
+
34
+ /** 仅用于python的__str__ */
35
+ string str() const;
36
+
37
+ /**
38
+ * @brief 盈亏 = 卖出资金 - 累计交易总成本 - 买入资金
39
+ * @note 只对已清仓的记录有效,未清仓将返回0.0
40
+ */
41
+ price_t totalProfit() const;
42
+
43
+ Stock stock; ///< 交易对象
44
+ Datetime takeDatetime; ///< 初次建仓日期
45
+ Datetime cleanDatetime; ///< 平仓日期,当前持仓记录中为Null<Datetime>()
46
+ double number{0.0}; ///< 当前持仓数量
47
+ price_t stoploss{0.0}; ///< 当前止损价
48
+ price_t goalPrice{0.0}; ///< 当前的目标价格
49
+ double totalNumber{0.0}; ///< 累计持仓数量
50
+ price_t buyMoney{0.0}; ///< 累计买入资金
51
+ price_t totalCost{0.0}; ///< 累计交易总成本
52
+ price_t totalRisk{0.0}; ///< 累计交易风险 = 各次 (买入价格-止损)*买入数量, 不包含交易成本
53
+ price_t sellMoney{0.0}; ///< 累计卖出资金
54
+
55
+ //===================
56
+ // 序列化支持
57
+ //===================
58
+ #if HKU_SUPPORT_SERIALIZATION
59
+ private:
60
+ friend class boost::serialization::access;
61
+ template <class Archive>
62
+ void save(Archive& ar, const unsigned int version) const {
63
+ namespace bs = boost::serialization;
64
+ ar& BOOST_SERIALIZATION_NVP(stock);
65
+ uint64_t take = takeDatetime.number();
66
+ uint64_t clean = cleanDatetime.number();
67
+ ar& bs::make_nvp("takeDatetime", take);
68
+ ar& bs::make_nvp("cleanDatetime", clean);
69
+ ar& BOOST_SERIALIZATION_NVP(number);
70
+ ar& BOOST_SERIALIZATION_NVP(stoploss);
71
+ ar& BOOST_SERIALIZATION_NVP(goalPrice);
72
+ ar& BOOST_SERIALIZATION_NVP(totalNumber);
73
+ ar& BOOST_SERIALIZATION_NVP(buyMoney);
74
+ ar& BOOST_SERIALIZATION_NVP(totalCost);
75
+ ar& BOOST_SERIALIZATION_NVP(totalRisk);
76
+ ar& BOOST_SERIALIZATION_NVP(sellMoney);
77
+ }
78
+
79
+ template <class Archive>
80
+ void load(Archive& ar, const unsigned int version) {
81
+ namespace bs = boost::serialization;
82
+ ar& BOOST_SERIALIZATION_NVP(stock);
83
+ uint64_t take, clean;
84
+ ar& bs::make_nvp("takeDatetime", take);
85
+ ar& bs::make_nvp("cleanDatetime", clean);
86
+ takeDatetime = Datetime(take);
87
+ cleanDatetime = Datetime(clean);
88
+ ar& BOOST_SERIALIZATION_NVP(number);
89
+ ar& BOOST_SERIALIZATION_NVP(stoploss);
90
+ ar& BOOST_SERIALIZATION_NVP(goalPrice);
91
+ ar& BOOST_SERIALIZATION_NVP(totalNumber);
92
+ ar& BOOST_SERIALIZATION_NVP(buyMoney);
93
+ ar& BOOST_SERIALIZATION_NVP(totalCost);
94
+ ar& BOOST_SERIALIZATION_NVP(totalRisk);
95
+ ar& BOOST_SERIALIZATION_NVP(sellMoney);
96
+ }
97
+
98
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
99
+ #endif /* HKU_SUPPORT_SERIALIZATION */
100
+ };
101
+
102
+ /** @ingroup TradeManagerClass */
103
+ typedef vector<PositionRecord> PositionRecordList;
104
+
105
+ /**
106
+ * 输出持仓记录信息
107
+ * @ingroup TradeManagerClass
108
+ */
109
+ HKU_API std::ostream& operator<<(std::ostream&, const PositionRecord&);
110
+
111
+ bool HKU_API operator==(const PositionRecord& d1, const PositionRecord& d2);
112
+
113
+ } /* namespace hku */
114
+
115
+ #if FMT_VERSION >= 90000
116
+ template <>
117
+ struct fmt::formatter<hku::PositionRecord> : ostream_formatter {};
118
+ #endif
119
+
120
+ #endif /* POSITIONRECORD_H_ */
@@ -0,0 +1,179 @@
1
+ /*
2
+ * TradeCostBase.h
3
+ *
4
+ * Created on: 2013-2-13
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADECOSTBASE_H_
10
+ #define TRADECOSTBASE_H_
11
+
12
+ #include "../Stock.h"
13
+ #include "../utilities/Parameter.h"
14
+ #include "CostRecord.h"
15
+
16
+ namespace hku {
17
+
18
+ /**
19
+ * 交易成本算法接口基类
20
+ * @ingroup TradeCost
21
+ */
22
+ class HKU_API TradeCostBase {
23
+ PARAMETER_SUPPORT_WITH_CHECK
24
+
25
+ public:
26
+ TradeCostBase(const string& name);
27
+ virtual ~TradeCostBase();
28
+
29
+ typedef shared_ptr<TradeCostBase> TradeCostPtr;
30
+ /** 克隆操作 */
31
+ TradeCostPtr clone();
32
+
33
+ /** 获取名称 */
34
+ const string& name() const {
35
+ return m_name;
36
+ }
37
+
38
+ /**
39
+ * 计算买入成本
40
+ * @param datetime 交易日期
41
+ * @param stock 交易的证券对象
42
+ * @param price 买入价格
43
+ * @param num 买入数量
44
+ * @return CostRecord 交易成本记录
45
+ */
46
+ virtual CostRecord getBuyCost(const Datetime& datetime, const Stock& stock, price_t price,
47
+ double num) const = 0;
48
+
49
+ /**
50
+ * 计算卖出成本
51
+ * @param datetime 交易日期
52
+ * @param stock 交易的证券对象
53
+ * @param price 卖出价格
54
+ * @param num 卖出数量
55
+ * @return CostRecord 交易成本记录
56
+ */
57
+ virtual CostRecord getSellCost(const Datetime& datetime, const Stock& stock, price_t price,
58
+ double num) const = 0;
59
+
60
+ /**
61
+ * 计算借入现金花费的成本
62
+ * @param datetime 借入日期
63
+ * @param cash 借入的资金
64
+ */
65
+ virtual CostRecord getBorrowCashCost(const Datetime& datetime, price_t cash) const {
66
+ return CostRecord();
67
+ }
68
+
69
+ /**
70
+ * 计算归还融资成本
71
+ * @param borrow_datetime 资金借入日期
72
+ * @param return_datetime 归还日期
73
+ * @param cash 归还金额
74
+ */
75
+ virtual CostRecord getReturnCashCost(const Datetime& borrow_datetime,
76
+ const Datetime& return_datetime, price_t cash) const {
77
+ return CostRecord();
78
+ }
79
+
80
+ /**
81
+ * 计算融劵借入成本
82
+ * @param datetime 融劵日期
83
+ * @param stock 借入的对象
84
+ * @param price 每股价格
85
+ * @param num 借入的数量
86
+ */
87
+ virtual CostRecord getBorrowStockCost(const Datetime& datetime, const Stock& stock,
88
+ price_t price, double num) const {
89
+ return CostRecord();
90
+ }
91
+
92
+ /**
93
+ * 计算融劵归还成本
94
+ * @param borrow_datetime 借入日期
95
+ * @param return_datetime 归还日期
96
+ * @param stock 归还的对象
97
+ * @param price 归还时每股价格
98
+ * @param num 归还的数量
99
+ */
100
+ virtual CostRecord getReturnStockCost(const Datetime& borrow_datetime,
101
+ const Datetime& return_datetime, const Stock& stock,
102
+ price_t price, double num) const {
103
+ return CostRecord();
104
+ }
105
+
106
+ /** 继承子类必须实现私有变量的克隆接口 */
107
+ virtual TradeCostPtr _clone() = 0;
108
+
109
+ protected:
110
+ virtual bool isPythonObject() const {
111
+ return false;
112
+ }
113
+
114
+ private:
115
+ string m_name;
116
+
117
+ //============================================
118
+ // 序列化支持
119
+ //============================================
120
+ #if HKU_SUPPORT_SERIALIZATION
121
+ private:
122
+ friend class boost::serialization::access;
123
+ template <class Archive>
124
+ void serialize(Archive& ar, const unsigned int version) {
125
+ ar& BOOST_SERIALIZATION_NVP(m_name);
126
+ ar& BOOST_SERIALIZATION_NVP(m_params);
127
+ }
128
+ #endif /* HKU_SUPPORT_SERIALIZATION */
129
+ };
130
+
131
+ #if HKU_SUPPORT_SERIALIZATION
132
+ BOOST_SERIALIZATION_ASSUME_ABSTRACT(TradeCostBase)
133
+ #endif
134
+
135
+ #if HKU_SUPPORT_SERIALIZATION
136
+ /**
137
+ * 对于没有私有变量的继承子类,可直接使用该宏定义序列化
138
+ * @code
139
+ * class DrivedCost: public TradeCostBase {
140
+ * TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
141
+ *
142
+ * public:
143
+ * DrivedCost();
144
+ * ...
145
+ * };
146
+ * @endcode
147
+ * @ingroup TradeCost
148
+ */
149
+ #define TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION \
150
+ private: \
151
+ friend class boost::serialization::access; \
152
+ template <class Archive> \
153
+ void serialize(Archive& ar, const unsigned int version) { \
154
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(TradeCostBase); \
155
+ }
156
+ #else
157
+ #define TRADE_COST_NO_PRIVATE_MEMBER_SERIALIZATION
158
+ #endif
159
+
160
+ /**
161
+ * 交易成本算法指针
162
+ * @ingroup TradeCost
163
+ */
164
+ typedef shared_ptr<TradeCostBase> TradeCostPtr;
165
+
166
+ HKU_API std::ostream& operator<<(std::ostream&, const TradeCostBase&);
167
+ HKU_API std::ostream& operator<<(std::ostream&, const TradeCostPtr&);
168
+
169
+ } /* namespace hku */
170
+
171
+ #if FMT_VERSION >= 90000
172
+ template <>
173
+ struct fmt::formatter<hku::TradeCostBase> : ostream_formatter {};
174
+
175
+ template <>
176
+ struct fmt::formatter<hku::TradeCostPtr> : ostream_formatter {};
177
+ #endif
178
+
179
+ #endif /* TRADECOSTBASE_H_ */