hikyuu 2.5.6__py3-none-macosx_11_0_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 (1008) hide show
  1. hikyuu/LICENSE.txt +21 -0
  2. hikyuu/__init__.py +573 -0
  3. hikyuu/__init__.pyi +953 -0
  4. hikyuu/analysis/__init__.py +14 -0
  5. hikyuu/analysis/__init__.pyi +499 -0
  6. hikyuu/analysis/analysis.py +151 -0
  7. hikyuu/analysis/analysis.pyi +529 -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 +494 -0
  17. hikyuu/cpp/__init__.py +1 -0
  18. hikyuu/cpp/__init__.pyi +3 -0
  19. hikyuu/cpp/core310.pyi +13025 -0
  20. hikyuu/cpp/core310.so +0 -0
  21. hikyuu/cpp/core311.pyi +13025 -0
  22. hikyuu/cpp/core311.so +0 -0
  23. hikyuu/cpp/core312.pyi +13025 -0
  24. hikyuu/cpp/core312.so +0 -0
  25. hikyuu/cpp/core313.pyi +13003 -0
  26. hikyuu/cpp/core313.so +0 -0
  27. hikyuu/cpp/libcrypto.3.dylib +0 -0
  28. hikyuu/cpp/libcrypto.dylib +0 -0
  29. hikyuu/cpp/libhikyuu.dylib +0 -0
  30. hikyuu/cpp/libhku_hdf5.200.2.0.dylib +0 -0
  31. hikyuu/cpp/libhku_hdf5.200.dylib +0 -0
  32. hikyuu/cpp/libhku_hdf5.dylib +0 -0
  33. hikyuu/cpp/libhku_hdf5_cpp.200.2.0.dylib +0 -0
  34. hikyuu/cpp/libhku_hdf5_cpp.200.dylib +0 -0
  35. hikyuu/cpp/libhku_hdf5_cpp.dylib +0 -0
  36. hikyuu/cpp/libhku_hdf5_hl.200.1.0.dylib +0 -0
  37. hikyuu/cpp/libhku_hdf5_hl.200.dylib +0 -0
  38. hikyuu/cpp/libhku_hdf5_hl.dylib +0 -0
  39. hikyuu/cpp/libhku_hdf5_hl_cpp.200.1.0.dylib +0 -0
  40. hikyuu/cpp/libhku_hdf5_hl_cpp.200.dylib +0 -0
  41. hikyuu/cpp/libhku_hdf5_hl_cpp.dylib +0 -0
  42. hikyuu/cpp/libhku_hdf5_tools.200.1.1.dylib +0 -0
  43. hikyuu/cpp/libhku_hdf5_tools.200.dylib +0 -0
  44. hikyuu/cpp/libhku_hdf5_tools.dylib +0 -0
  45. hikyuu/cpp/libmysqlclient.21.dylib +0 -0
  46. hikyuu/cpp/libmysqlclient.dylib +0 -0
  47. hikyuu/cpp/libsqlite3.dylib +0 -0
  48. hikyuu/cpp/libssl.3.dylib +0 -0
  49. hikyuu/cpp/libssl.dylib +0 -0
  50. hikyuu/data/__init__.py +1 -0
  51. hikyuu/data/common.py +248 -0
  52. hikyuu/data/common_h5.py +398 -0
  53. hikyuu/data/common_mysql.py +502 -0
  54. hikyuu/data/common_pytdx.py +124 -0
  55. hikyuu/data/common_sqlite3.py +140 -0
  56. hikyuu/data/em_block_to_mysql.py +121 -0
  57. hikyuu/data/em_block_to_sqlite.py +122 -0
  58. hikyuu/data/hku_config_template.py +266 -0
  59. hikyuu/data/mysql_upgrade/0001.sql +5 -0
  60. hikyuu/data/mysql_upgrade/0002.sql +3 -0
  61. hikyuu/data/mysql_upgrade/0003.sql +9 -0
  62. hikyuu/data/mysql_upgrade/0004.sql +26 -0
  63. hikyuu/data/mysql_upgrade/0005.sql +3 -0
  64. hikyuu/data/mysql_upgrade/0006.sql +2 -0
  65. hikyuu/data/mysql_upgrade/0007.sql +20 -0
  66. hikyuu/data/mysql_upgrade/0008.sql +6 -0
  67. hikyuu/data/mysql_upgrade/0009.sql +36 -0
  68. hikyuu/data/mysql_upgrade/0010.sql +5 -0
  69. hikyuu/data/mysql_upgrade/0011.sql +5 -0
  70. hikyuu/data/mysql_upgrade/0012.sql +5 -0
  71. hikyuu/data/mysql_upgrade/0013.sql +2389 -0
  72. hikyuu/data/mysql_upgrade/0014.sql +3 -0
  73. hikyuu/data/mysql_upgrade/0015.sql +4 -0
  74. hikyuu/data/mysql_upgrade/0016.sql +4 -0
  75. hikyuu/data/mysql_upgrade/0017.sql +5 -0
  76. hikyuu/data/mysql_upgrade/0018.sql +2 -0
  77. hikyuu/data/mysql_upgrade/0019.sql +6 -0
  78. hikyuu/data/mysql_upgrade/0020.sql +4 -0
  79. hikyuu/data/mysql_upgrade/0021.sql +4 -0
  80. hikyuu/data/mysql_upgrade/0022.sql +5 -0
  81. hikyuu/data/mysql_upgrade/0023.sql +4 -0
  82. hikyuu/data/mysql_upgrade/0024.sql +2 -0
  83. hikyuu/data/mysql_upgrade/0025.sql +61 -0
  84. hikyuu/data/mysql_upgrade/0026.sql +9 -0
  85. hikyuu/data/mysql_upgrade/0027.sql +6 -0
  86. hikyuu/data/mysql_upgrade/__init__.py +1 -0
  87. hikyuu/data/mysql_upgrade/createdb.sql +265 -0
  88. hikyuu/data/pytdx_finance_to_mysql.py +129 -0
  89. hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
  90. hikyuu/data/pytdx_to_h5.py +665 -0
  91. hikyuu/data/pytdx_to_mysql.py +806 -0
  92. hikyuu/data/pytdx_weight_to_mysql.py +196 -0
  93. hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
  94. hikyuu/data/sqlite_mem.py +84 -0
  95. hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
  96. hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
  97. hikyuu/data/sqlite_upgrade/0001.sql +4 -0
  98. hikyuu/data/sqlite_upgrade/0002.sql +48 -0
  99. hikyuu/data/sqlite_upgrade/0003.sql +18 -0
  100. hikyuu/data/sqlite_upgrade/0004.sql +11 -0
  101. hikyuu/data/sqlite_upgrade/0005.sql +28 -0
  102. hikyuu/data/sqlite_upgrade/0006.sql +5 -0
  103. hikyuu/data/sqlite_upgrade/0007.sql +4 -0
  104. hikyuu/data/sqlite_upgrade/0008.sql +22 -0
  105. hikyuu/data/sqlite_upgrade/0009.sql +8 -0
  106. hikyuu/data/sqlite_upgrade/0010.sql +5 -0
  107. hikyuu/data/sqlite_upgrade/0011.sql +16 -0
  108. hikyuu/data/sqlite_upgrade/0012.sql +15 -0
  109. hikyuu/data/sqlite_upgrade/0013.sql +9 -0
  110. hikyuu/data/sqlite_upgrade/0014.sql +607 -0
  111. hikyuu/data/sqlite_upgrade/0015.sql +7 -0
  112. hikyuu/data/sqlite_upgrade/0016.sql +8 -0
  113. hikyuu/data/sqlite_upgrade/0017.sql +16 -0
  114. hikyuu/data/sqlite_upgrade/0018.sql +5 -0
  115. hikyuu/data/sqlite_upgrade/0019.sql +4 -0
  116. hikyuu/data/sqlite_upgrade/0020.sql +4 -0
  117. hikyuu/data/sqlite_upgrade/0021.sql +6 -0
  118. hikyuu/data/sqlite_upgrade/0022.sql +6 -0
  119. hikyuu/data/sqlite_upgrade/0023.sql +7 -0
  120. hikyuu/data/sqlite_upgrade/0024.sql +22 -0
  121. hikyuu/data/sqlite_upgrade/0025.sql +63 -0
  122. hikyuu/data/sqlite_upgrade/0026.sql +10 -0
  123. hikyuu/data/sqlite_upgrade/0027.sql +8 -0
  124. hikyuu/data/sqlite_upgrade/__init__.py +1 -0
  125. hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
  126. hikyuu/data/tdx_to_h5.py +464 -0
  127. hikyuu/data/tdx_to_mysql.py +464 -0
  128. hikyuu/data/weight_to_mysql.py +72 -0
  129. hikyuu/data/weight_to_sqlite.py +70 -0
  130. hikyuu/data/zh_bond10_to_mysql.py +30 -0
  131. hikyuu/data/zh_bond10_to_sqlite.py +42 -0
  132. hikyuu/data_driver/__init__.py +49 -0
  133. hikyuu/data_driver/jqdata_data_driver.py +277 -0
  134. hikyuu/data_driver/pytdx_data_driver.py +292 -0
  135. hikyuu/draw/__init__.py +65 -0
  136. hikyuu/draw/__init__.pyi +35 -0
  137. hikyuu/draw/drawplot/__init__.py +307 -0
  138. hikyuu/draw/drawplot/__init__.pyi +138 -0
  139. hikyuu/draw/drawplot/bokeh_draw.py +583 -0
  140. hikyuu/draw/drawplot/bokeh_draw.pyi +956 -0
  141. hikyuu/draw/drawplot/common.py +89 -0
  142. hikyuu/draw/drawplot/common.pyi +10 -0
  143. hikyuu/draw/drawplot/echarts_draw.py +597 -0
  144. hikyuu/draw/drawplot/echarts_draw.pyi +842 -0
  145. hikyuu/draw/drawplot/icon/1.png +0 -0
  146. hikyuu/draw/drawplot/icon/10.png +0 -0
  147. hikyuu/draw/drawplot/icon/11.png +0 -0
  148. hikyuu/draw/drawplot/icon/12.png +0 -0
  149. hikyuu/draw/drawplot/icon/13.png +0 -0
  150. hikyuu/draw/drawplot/icon/14.png +0 -0
  151. hikyuu/draw/drawplot/icon/15.png +0 -0
  152. hikyuu/draw/drawplot/icon/16.png +0 -0
  153. hikyuu/draw/drawplot/icon/17.png +0 -0
  154. hikyuu/draw/drawplot/icon/18.png +0 -0
  155. hikyuu/draw/drawplot/icon/19.png +0 -0
  156. hikyuu/draw/drawplot/icon/2.png +0 -0
  157. hikyuu/draw/drawplot/icon/20.png +0 -0
  158. hikyuu/draw/drawplot/icon/21.png +0 -0
  159. hikyuu/draw/drawplot/icon/22.png +0 -0
  160. hikyuu/draw/drawplot/icon/23.png +0 -0
  161. hikyuu/draw/drawplot/icon/24.png +0 -0
  162. hikyuu/draw/drawplot/icon/25.png +0 -0
  163. hikyuu/draw/drawplot/icon/26.png +0 -0
  164. hikyuu/draw/drawplot/icon/27.png +0 -0
  165. hikyuu/draw/drawplot/icon/28.png +0 -0
  166. hikyuu/draw/drawplot/icon/29.png +0 -0
  167. hikyuu/draw/drawplot/icon/3.png +0 -0
  168. hikyuu/draw/drawplot/icon/30.png +0 -0
  169. hikyuu/draw/drawplot/icon/31.png +0 -0
  170. hikyuu/draw/drawplot/icon/32.png +0 -0
  171. hikyuu/draw/drawplot/icon/33.png +0 -0
  172. hikyuu/draw/drawplot/icon/34.png +0 -0
  173. hikyuu/draw/drawplot/icon/35.png +0 -0
  174. hikyuu/draw/drawplot/icon/36.png +0 -0
  175. hikyuu/draw/drawplot/icon/37.png +0 -0
  176. hikyuu/draw/drawplot/icon/38.png +0 -0
  177. hikyuu/draw/drawplot/icon/39.png +0 -0
  178. hikyuu/draw/drawplot/icon/4.png +0 -0
  179. hikyuu/draw/drawplot/icon/40.png +0 -0
  180. hikyuu/draw/drawplot/icon/41.png +0 -0
  181. hikyuu/draw/drawplot/icon/42.png +0 -0
  182. hikyuu/draw/drawplot/icon/43.png +0 -0
  183. hikyuu/draw/drawplot/icon/44.png +0 -0
  184. hikyuu/draw/drawplot/icon/45.png +0 -0
  185. hikyuu/draw/drawplot/icon/46.png +0 -0
  186. hikyuu/draw/drawplot/icon/47.png +0 -0
  187. hikyuu/draw/drawplot/icon/48.png +0 -0
  188. hikyuu/draw/drawplot/icon/49.png +0 -0
  189. hikyuu/draw/drawplot/icon/5.png +0 -0
  190. hikyuu/draw/drawplot/icon/6.png +0 -0
  191. hikyuu/draw/drawplot/icon/7.png +0 -0
  192. hikyuu/draw/drawplot/icon/8.png +0 -0
  193. hikyuu/draw/drawplot/icon/9.png +0 -0
  194. hikyuu/draw/drawplot/icon/__init__.py +0 -0
  195. hikyuu/draw/drawplot/matplotlib_draw.py +1518 -0
  196. hikyuu/draw/drawplot/matplotlib_draw.pyi +1308 -0
  197. hikyuu/draw/elder.py +135 -0
  198. hikyuu/draw/elder.pyi +44 -0
  199. hikyuu/draw/kaufman.py +192 -0
  200. hikyuu/draw/kaufman.pyi +38 -0
  201. hikyuu/draw/volume.py +122 -0
  202. hikyuu/draw/volume.pyi +31 -0
  203. hikyuu/examples/Turtle_SG.py +47 -0
  204. hikyuu/examples/__init__.py +1 -0
  205. hikyuu/examples/examples_init.py +33 -0
  206. hikyuu/examples/notebook/000-Index.ipynb +76 -0
  207. hikyuu/examples/notebook/001-overview.ipynb +345 -0
  208. hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
  209. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
  210. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
  211. hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
  212. hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
  213. hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
  214. hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
  215. hikyuu/examples/notebook/009-RealData.ipynb +110 -0
  216. hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
  217. hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
  218. hikyuu/examples/notebook/Demo/Demo1.ipynb +623 -0
  219. hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
  220. hikyuu/examples/notebook/Demo/__init__.py +1 -0
  221. hikyuu/examples/notebook/README.md +1 -0
  222. hikyuu/examples/notebook/__init__.py +1 -0
  223. hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
  224. hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
  225. hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
  226. hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
  227. hikyuu/examples/notebook/images/__init__.py +1 -0
  228. hikyuu/examples/quick_crtsg.py +40 -0
  229. hikyuu/extend.py +369 -0
  230. hikyuu/extend.pyi +630 -0
  231. hikyuu/fetcher/__init__.py +8 -0
  232. hikyuu/fetcher/proxy/__init__.py +12 -0
  233. hikyuu/fetcher/proxy/proxy.py +39 -0
  234. hikyuu/fetcher/proxy/zhima.py +63 -0
  235. hikyuu/fetcher/stock/__init__.py +8 -0
  236. hikyuu/fetcher/stock/zh_block_em.py +218 -0
  237. hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
  238. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
  239. hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
  240. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
  241. hikyuu/flat/Spot.py +440 -0
  242. hikyuu/flat/SpotList.py +74 -0
  243. hikyuu/flat/__init__.py +4 -0
  244. hikyuu/gui/HikyuuTDX.py +842 -0
  245. hikyuu/gui/__init__.py +1 -0
  246. hikyuu/gui/data/CollectSpotThread.py +43 -0
  247. hikyuu/gui/data/CollectToMemThread.py +123 -0
  248. hikyuu/gui/data/CollectToMySQLThread.py +178 -0
  249. hikyuu/gui/data/EscapetimeThread.py +32 -0
  250. hikyuu/gui/data/ImportBlockInfoTask.py +56 -0
  251. hikyuu/gui/data/ImportHistoryFinanceTask.py +143 -0
  252. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
  253. hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
  254. hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
  255. hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
  256. hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
  257. hikyuu/gui/data/ImportZhBond10Task.py +48 -0
  258. hikyuu/gui/data/MainWindow.py +830 -0
  259. hikyuu/gui/data/SchedImportThread.py +62 -0
  260. hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
  261. hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
  262. hikyuu/gui/data/__init__.py +1 -0
  263. hikyuu/gui/data/tool.py +43 -0
  264. hikyuu/gui/hikyuu.ico +0 -0
  265. hikyuu/gui/hikyuu_small.png +0 -0
  266. hikyuu/gui/importdata.py +153 -0
  267. hikyuu/gui/spot_server.py +336 -0
  268. hikyuu/gui/start_huatai_insight.py +510 -0
  269. hikyuu/gui/start_qmt.py +122 -0
  270. hikyuu/hub.py +771 -0
  271. hikyuu/hub.pyi +295 -0
  272. hikyuu/include/__init__.py +1 -0
  273. hikyuu/include/hikyuu/Block.h +173 -0
  274. hikyuu/include/hikyuu/DataType.h +177 -0
  275. hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
  276. hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
  277. hikyuu/include/hikyuu/KData.h +271 -0
  278. hikyuu/include/hikyuu/KDataImp.h +94 -0
  279. hikyuu/include/hikyuu/KQuery.h +275 -0
  280. hikyuu/include/hikyuu/KRecord.h +94 -0
  281. hikyuu/include/hikyuu/MarketInfo.h +132 -0
  282. hikyuu/include/hikyuu/Stock.h +358 -0
  283. hikyuu/include/hikyuu/StockManager.h +372 -0
  284. hikyuu/include/hikyuu/StockMapIterator.h +72 -0
  285. hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
  286. hikyuu/include/hikyuu/StockWeight.h +148 -0
  287. hikyuu/include/hikyuu/StrategyContext.h +116 -0
  288. hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
  289. hikyuu/include/hikyuu/TransRecord.h +79 -0
  290. hikyuu/include/hikyuu/ZhBond10.h +36 -0
  291. hikyuu/include/hikyuu/__init__.py +1 -0
  292. hikyuu/include/hikyuu/analysis/__init__.py +1 -0
  293. hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
  294. hikyuu/include/hikyuu/analysis/combinate.h +115 -0
  295. hikyuu/include/hikyuu/config.h +51 -0
  296. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
  297. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +108 -0
  298. hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
  299. hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
  300. hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
  301. hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
  302. hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
  303. hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
  304. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
  305. hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
  306. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
  307. hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
  308. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
  309. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
  310. hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
  311. hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
  312. hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
  313. hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
  314. hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
  315. hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
  316. hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
  317. hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
  318. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +36 -0
  319. hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
  320. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +31 -0
  321. hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
  322. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +36 -0
  323. hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
  324. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
  325. hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
  326. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
  327. hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
  328. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
  329. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
  330. hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
  331. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
  332. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
  333. hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
  334. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
  335. hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
  336. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
  337. hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
  338. hikyuu/include/hikyuu/debug.h +32 -0
  339. hikyuu/include/hikyuu/doc.h +166 -0
  340. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
  341. hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
  342. hikyuu/include/hikyuu/global/__init__.py +1 -0
  343. hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
  344. hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
  345. hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
  346. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
  347. hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
  348. hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
  349. hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
  350. hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
  351. hikyuu/include/hikyuu/global/sysinfo.h +67 -0
  352. hikyuu/include/hikyuu/hikyuu.h +55 -0
  353. hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
  354. hikyuu/include/hikyuu/indicator/Indicator.h +434 -0
  355. hikyuu/include/hikyuu/indicator/Indicator2InImp.h +66 -0
  356. hikyuu/include/hikyuu/indicator/IndicatorImp.h +417 -0
  357. hikyuu/include/hikyuu/indicator/__init__.py +1 -0
  358. hikyuu/include/hikyuu/indicator/build_in.h +131 -0
  359. hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
  360. hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
  361. hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
  362. hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +34 -0
  363. hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
  364. hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
  365. hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
  366. hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
  367. hikyuu/include/hikyuu/indicator/crt/ATR.h +33 -0
  368. hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
  369. hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
  370. hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
  371. hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
  372. hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +53 -0
  373. hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
  374. hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
  375. hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
  376. hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +30 -0
  377. hikyuu/include/hikyuu/indicator/crt/CORR.h +26 -0
  378. hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
  379. hikyuu/include/hikyuu/indicator/crt/COST.h +37 -0
  380. hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
  381. hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
  382. hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
  383. hikyuu/include/hikyuu/indicator/crt/CYCLE.h +24 -0
  384. hikyuu/include/hikyuu/indicator/crt/DECLINE.h +34 -0
  385. hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
  386. hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
  387. hikyuu/include/hikyuu/indicator/crt/DISCARD.h +27 -0
  388. hikyuu/include/hikyuu/indicator/crt/DMA.h +35 -0
  389. hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
  390. hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
  391. hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
  392. hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
  393. hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
  394. hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
  395. hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
  396. hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
  397. hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
  398. hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
  399. hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
  400. hikyuu/include/hikyuu/indicator/crt/HSL.h +27 -0
  401. hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
  402. hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
  403. hikyuu/include/hikyuu/indicator/crt/INBLOCK.h +31 -0
  404. hikyuu/include/hikyuu/indicator/crt/INDEX.h +60 -0
  405. hikyuu/include/hikyuu/indicator/crt/INSUM.h +36 -0
  406. hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
  407. hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
  408. hikyuu/include/hikyuu/indicator/crt/ISINF.h +28 -0
  409. hikyuu/include/hikyuu/indicator/crt/ISINFA.h +28 -0
  410. hikyuu/include/hikyuu/indicator/crt/ISLASTBAR.h +30 -0
  411. hikyuu/include/hikyuu/indicator/crt/ISNA.h +29 -0
  412. hikyuu/include/hikyuu/indicator/crt/JUMPDOWN.h +24 -0
  413. hikyuu/include/hikyuu/indicator/crt/JUMPUP.h +24 -0
  414. hikyuu/include/hikyuu/indicator/crt/KALMAN.h +30 -0
  415. hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
  416. hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
  417. hikyuu/include/hikyuu/indicator/crt/LASTVALUE.h +29 -0
  418. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +24 -0
  419. hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
  420. hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
  421. hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
  422. hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
  423. hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
  424. hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
  425. hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
  426. hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
  427. hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
  428. hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
  429. hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
  430. hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
  431. hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
  432. hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
  433. hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
  434. hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
  435. hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
  436. hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
  437. hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
  438. hikyuu/include/hikyuu/indicator/crt/REPLACE.h +29 -0
  439. hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
  440. hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
  441. hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
  442. hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
  443. hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
  444. hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
  445. hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
  446. hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
  447. hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
  448. hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
  449. hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
  450. hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
  451. hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
  452. hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
  453. hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
  454. hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
  455. hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +24 -0
  456. hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
  457. hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
  458. hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
  459. hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
  460. hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
  461. hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
  462. hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
  463. hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
  464. hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
  465. hikyuu/include/hikyuu/indicator/crt/TR.h +32 -0
  466. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
  467. hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
  468. hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
  469. hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
  470. hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
  471. hikyuu/include/hikyuu/indicator/crt/WINNER.h +38 -0
  472. hikyuu/include/hikyuu/indicator/crt/WMA.h +46 -0
  473. hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
  474. hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
  475. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
  476. hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
  477. hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
  478. hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
  479. hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
  480. hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
  481. hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
  482. hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
  483. hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
  484. hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
  485. hikyuu/include/hikyuu/indicator/imp/IAtr.h +30 -0
  486. hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
  487. hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
  488. hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
  489. hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +34 -0
  490. hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
  491. hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
  492. hikyuu/include/hikyuu/indicator/imp/IContext.h +44 -0
  493. hikyuu/include/hikyuu/indicator/imp/ICorr.h +26 -0
  494. hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
  495. hikyuu/include/hikyuu/indicator/imp/ICost.h +31 -0
  496. hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
  497. hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
  498. hikyuu/include/hikyuu/indicator/imp/ICycle.h +30 -0
  499. hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
  500. hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
  501. hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
  502. hikyuu/include/hikyuu/indicator/imp/IDiscard.h +28 -0
  503. hikyuu/include/hikyuu/indicator/imp/IDma.h +30 -0
  504. hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
  505. hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
  506. hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
  507. hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
  508. hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
  509. hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
  510. hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
  511. hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
  512. hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
  513. hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
  514. hikyuu/include/hikyuu/indicator/imp/IHsl.h +30 -0
  515. hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
  516. hikyuu/include/hikyuu/indicator/imp/IInBlock.h +30 -0
  517. hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
  518. hikyuu/include/hikyuu/indicator/imp/IIndex.h +26 -0
  519. hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
  520. hikyuu/include/hikyuu/indicator/imp/IIsInf.h +26 -0
  521. hikyuu/include/hikyuu/indicator/imp/IIsInfa.h +26 -0
  522. hikyuu/include/hikyuu/indicator/imp/IIsLastBar.h +27 -0
  523. hikyuu/include/hikyuu/indicator/imp/IIsNa.h +26 -0
  524. hikyuu/include/hikyuu/indicator/imp/IJumpDown.h +24 -0
  525. hikyuu/include/hikyuu/indicator/imp/IJumpUp.h +24 -0
  526. hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
  527. hikyuu/include/hikyuu/indicator/imp/IKalman.h +27 -0
  528. hikyuu/include/hikyuu/indicator/imp/ILastValue.h +26 -0
  529. hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
  530. hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
  531. hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
  532. hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
  533. hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
  534. hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
  535. hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
  536. hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
  537. hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
  538. hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
  539. hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
  540. hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
  541. hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
  542. hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
  543. hikyuu/include/hikyuu/indicator/imp/IReplace.h +26 -0
  544. hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
  545. hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
  546. hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
  547. hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
  548. hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
  549. hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
  550. hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
  551. hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
  552. hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
  553. hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
  554. hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
  555. hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
  556. hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
  557. hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
  558. hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
  559. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +26 -0
  560. hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
  561. hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
  562. hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
  563. hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
  564. hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
  565. hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
  566. hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
  567. hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
  568. hikyuu/include/hikyuu/indicator/imp/ITr.h +35 -0
  569. hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
  570. hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
  571. hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
  572. hikyuu/include/hikyuu/indicator/imp/IWinner.h +26 -0
  573. hikyuu/include/hikyuu/indicator/imp/IWma.h +30 -0
  574. hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
  575. hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
  576. hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
  577. hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
  578. hikyuu/include/hikyuu/indicator_talib/__init__.py +1 -0
  579. hikyuu/include/hikyuu/indicator_talib/imp/TaAdosc.h +26 -0
  580. hikyuu/include/hikyuu/indicator_talib/imp/TaApo.h +24 -0
  581. hikyuu/include/hikyuu/indicator_talib/imp/TaBbands.h +24 -0
  582. hikyuu/include/hikyuu/indicator_talib/imp/TaMa.h +24 -0
  583. hikyuu/include/hikyuu/indicator_talib/imp/TaMacd.h +24 -0
  584. hikyuu/include/hikyuu/indicator_talib/imp/TaMacdext.h +24 -0
  585. hikyuu/include/hikyuu/indicator_talib/imp/TaMama.h +24 -0
  586. hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +27 -0
  587. hikyuu/include/hikyuu/indicator_talib/imp/TaPpo.h +24 -0
  588. hikyuu/include/hikyuu/indicator_talib/imp/TaSar.h +26 -0
  589. hikyuu/include/hikyuu/indicator_talib/imp/TaSarext.h +31 -0
  590. hikyuu/include/hikyuu/indicator_talib/imp/TaStddev.h +24 -0
  591. hikyuu/include/hikyuu/indicator_talib/imp/TaStoch.h +27 -0
  592. hikyuu/include/hikyuu/indicator_talib/imp/TaStochf.h +26 -0
  593. hikyuu/include/hikyuu/indicator_talib/imp/TaStochrsi.h +24 -0
  594. hikyuu/include/hikyuu/indicator_talib/imp/TaT3.h +24 -0
  595. hikyuu/include/hikyuu/indicator_talib/imp/TaUltosc.h +26 -0
  596. hikyuu/include/hikyuu/indicator_talib/imp/TaVar.h +24 -0
  597. hikyuu/include/hikyuu/indicator_talib/imp/__init__.py +1 -0
  598. hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +237 -0
  599. hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +1328 -0
  600. hikyuu/include/hikyuu/indicator_talib/ta_crt.h +322 -0
  601. hikyuu/include/hikyuu/python/__init__.py +1 -0
  602. hikyuu/include/hikyuu/python/convert_any.h +299 -0
  603. hikyuu/include/hikyuu/python/pickle_support.h +90 -0
  604. hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
  605. hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
  606. hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
  607. hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
  608. hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
  609. hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
  610. hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
  611. hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
  612. hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
  613. hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
  614. hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
  615. hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
  616. hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
  617. hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
  618. hikyuu/include/hikyuu/serialization/__init__.py +1 -0
  619. hikyuu/include/hikyuu/serialization/all.h +26 -0
  620. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
  621. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +36 -0
  622. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
  623. hikyuu/include/hikyuu/strategy/Strategy.h +190 -0
  624. hikyuu/include/hikyuu/strategy/__init__.py +1 -0
  625. hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
  626. hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
  627. hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
  628. hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
  629. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +207 -0
  630. hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
  631. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +114 -0
  632. hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
  633. hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
  634. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +778 -0
  635. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +155 -0
  636. hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
  637. hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
  638. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
  639. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
  640. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
  641. hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
  642. hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
  643. hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
  644. hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
  645. hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
  646. hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
  647. hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
  648. hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
  649. hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
  650. hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
  651. hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
  652. hikyuu/include/hikyuu/trade_sys/all.h +24 -0
  653. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
  654. hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
  655. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +17 -0
  656. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
  657. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
  658. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeightList.h +22 -0
  659. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
  660. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
  661. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
  662. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
  663. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightListAllocateFunds.h +25 -0
  664. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +26 -0
  665. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
  666. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +244 -0
  667. hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
  668. hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
  669. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
  670. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
  671. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
  672. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
  673. hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
  674. hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
  675. hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
  676. hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
  677. hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
  678. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
  679. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
  680. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
  681. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
  682. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
  683. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/SubCondition.h +42 -0
  684. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
  685. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +192 -0
  686. hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
  687. hikyuu/include/hikyuu/trade_sys/environment/build_in.h +17 -0
  688. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
  689. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Logic.h +35 -0
  690. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
  691. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
  692. hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
  693. hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
  694. hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
  695. hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
  696. hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
  697. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/AddEnvironment.h +42 -0
  698. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/AndEnvironment.h +42 -0
  699. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/DivEnvironment.h +42 -0
  700. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/MultiEnvironment.h +42 -0
  701. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/OrEnvironment.h +42 -0
  702. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/SubEnvironment.h +42 -0
  703. hikyuu/include/hikyuu/trade_sys/environment/imp/logic/__init__.py +1 -0
  704. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +243 -0
  705. hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
  706. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +22 -0
  707. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +26 -0
  708. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapitalFunds.h +26 -0
  709. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
  710. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCountTps.h +27 -0
  711. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
  712. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +26 -0
  713. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +26 -0
  714. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
  715. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +27 -0
  716. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
  717. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalFundsMM.h +28 -0
  718. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
  719. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
  720. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountTpsMM.h +44 -0
  721. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
  722. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
  723. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
  724. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
  725. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
  726. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
  727. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
  728. hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
  729. hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
  730. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +13 -0
  731. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
  732. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
  733. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
  734. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +30 -0
  735. hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
  736. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
  737. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
  738. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
  739. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +41 -0
  740. hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
  741. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +253 -0
  742. hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
  743. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +15 -0
  744. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +47 -0
  745. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_WithoutAF.h +50 -0
  746. hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
  747. hikyuu/include/hikyuu/trade_sys/portfolio/imp/SimplePortfolio.h +53 -0
  748. hikyuu/include/hikyuu/trade_sys/portfolio/imp/WithoutAFPortfolio.h +57 -0
  749. hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
  750. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
  751. hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
  752. hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
  753. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
  754. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
  755. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
  756. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
  757. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
  758. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
  759. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
  760. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
  761. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
  762. hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
  763. hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
  764. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
  765. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
  766. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
  767. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
  768. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
  769. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
  770. hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
  771. hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
  772. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +59 -0
  773. hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
  774. hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
  775. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
  776. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
  777. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
  778. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
  779. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
  780. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
  781. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
  782. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
  783. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
  784. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
  785. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
  786. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
  787. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
  788. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
  789. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
  790. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
  791. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
  792. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +289 -0
  793. hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
  794. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +24 -0
  795. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
  796. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
  797. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +29 -0
  798. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
  799. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
  800. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
  801. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
  802. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Logic.h +127 -0
  803. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
  804. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_OneSide.h +38 -0
  805. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
  806. hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
  807. hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
  808. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
  809. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
  810. hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
  811. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
  812. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
  813. hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
  814. hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
  815. hikyuu/include/hikyuu/trade_sys/signal/imp/OneSideSignal.h +46 -0
  816. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
  817. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
  818. hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
  819. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddSignal.h +19 -0
  820. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddValueSignal.h +19 -0
  821. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AndSignal.h +19 -0
  822. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivSignal.h +19 -0
  823. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivValueSignal.h +22 -0
  824. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulSignal.h +19 -0
  825. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulValueSignal.h +19 -0
  826. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorSignal.h +70 -0
  827. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorValueSignal.h +68 -0
  828. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OrSignal.h +19 -0
  829. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubSignal.h +19 -0
  830. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubValueSignal.h +22 -0
  831. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/__init__.py +1 -0
  832. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
  833. hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
  834. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
  835. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
  836. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
  837. hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
  838. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
  839. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
  840. hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
  841. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
  842. hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
  843. hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
  844. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
  845. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
  846. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
  847. hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
  848. hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
  849. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +49 -0
  850. hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
  851. hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
  852. hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
  853. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
  854. hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
  855. hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
  856. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
  857. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +21 -0
  858. hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
  859. hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
  860. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
  861. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
  862. hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
  863. hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
  864. hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
  865. hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
  866. hikyuu/include/hikyuu/utilities/Log.h +438 -0
  867. hikyuu/include/hikyuu/utilities/Null.h +176 -0
  868. hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
  869. hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
  870. hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
  871. hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
  872. hikyuu/include/hikyuu/utilities/__init__.py +1 -0
  873. hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
  874. hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
  875. hikyuu/include/hikyuu/utilities/base64.h +52 -0
  876. hikyuu/include/hikyuu/utilities/config.h +41 -0
  877. hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
  878. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +439 -0
  879. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +351 -0
  880. hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
  881. hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
  882. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +252 -0
  883. hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
  884. hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
  885. hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
  886. hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
  887. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
  888. hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
  889. hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
  890. hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
  891. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +60 -0
  892. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +88 -0
  893. hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
  894. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
  895. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
  896. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
  897. hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
  898. hikyuu/include/hikyuu/utilities/exception.h +52 -0
  899. hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
  900. hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
  901. hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
  902. hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
  903. hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
  904. hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
  905. hikyuu/include/hikyuu/utilities/md5.h +41 -0
  906. hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
  907. hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
  908. hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
  909. hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
  910. hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
  911. hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
  912. hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
  913. hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
  914. hikyuu/include/hikyuu/utilities/os.h +102 -0
  915. hikyuu/include/hikyuu/utilities/osdef.h +159 -0
  916. hikyuu/include/hikyuu/utilities/plugin/PluginBase.h +47 -0
  917. hikyuu/include/hikyuu/utilities/plugin/PluginClient.h +55 -0
  918. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +64 -0
  919. hikyuu/include/hikyuu/utilities/plugin/__init__.py +1 -0
  920. hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
  921. hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
  922. hikyuu/include/hikyuu/utilities/string_view.h +70 -0
  923. hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
  924. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
  925. hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
  926. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
  927. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
  928. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
  929. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
  930. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
  931. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
  932. hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
  933. hikyuu/include/hikyuu/utilities/thread/algorithm.h +116 -0
  934. hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
  935. hikyuu/include/hikyuu/version.h +24 -0
  936. hikyuu/indicator/__init__.py +29 -0
  937. hikyuu/indicator/indicator.py +159 -0
  938. hikyuu/indicator/pyind.py +47 -0
  939. hikyuu/indicator/talib_wrap.py +1273 -0
  940. hikyuu/interactive.py +68 -0
  941. hikyuu/plugin/libbacktest.dylib +0 -0
  942. hikyuu/plugin/libdevice.dylib +0 -0
  943. hikyuu/setup.py +104 -0
  944. hikyuu/shell/__init__.py +0 -0
  945. hikyuu/shell/cmdserver.py +126 -0
  946. hikyuu/shell/hkucmd.py +110 -0
  947. hikyuu/shell/hkushell.py +20 -0
  948. hikyuu/strategy/__init__.py +2 -0
  949. hikyuu/strategy/strategy_demo1.py +54 -0
  950. hikyuu/strategy/strategy_demo2.py +47 -0
  951. hikyuu/strategy/strategy_demo3.py +24 -0
  952. hikyuu/test/AllocateFunds.py +25 -0
  953. hikyuu/test/Condition.py +95 -0
  954. hikyuu/test/Datetime.py +61 -0
  955. hikyuu/test/Environment.py +88 -0
  956. hikyuu/test/Indicator.py +233 -0
  957. hikyuu/test/KData.py +64 -0
  958. hikyuu/test/MarketInfo.py +26 -0
  959. hikyuu/test/MoneyManager.py +88 -0
  960. hikyuu/test/Parameter.py +62 -0
  961. hikyuu/test/ProfitGoal.py +83 -0
  962. hikyuu/test/Signal.py +160 -0
  963. hikyuu/test/Slippage.py +88 -0
  964. hikyuu/test/Stock.py +127 -0
  965. hikyuu/test/StockTypeInfo.py +47 -0
  966. hikyuu/test/Stoploss.py +86 -0
  967. hikyuu/test/TradeCost.py +71 -0
  968. hikyuu/test/__init__.py +0 -0
  969. hikyuu/test/test.py +63 -0
  970. hikyuu/test/test_init.py +36 -0
  971. hikyuu/tools/__init__.py +1 -0
  972. hikyuu/tools/copy_file.py +16 -0
  973. hikyuu/tools/delete_index.py +50 -0
  974. hikyuu/tools/fenge.py +139 -0
  975. hikyuu/tools/h5_data_clear.py +163 -0
  976. hikyuu/tools/mysql_clear_last_day_data.py +61 -0
  977. hikyuu/tools/update_block_info.py +168 -0
  978. hikyuu/trade_manage/__init__.py +30 -0
  979. hikyuu/trade_manage/__init__.pyi +740 -0
  980. hikyuu/trade_manage/broker.py +95 -0
  981. hikyuu/trade_manage/broker.pyi +54 -0
  982. hikyuu/trade_manage/broker_easytrader.py +63 -0
  983. hikyuu/trade_manage/broker_easytrader.pyi +21 -0
  984. hikyuu/trade_manage/broker_mail.py +101 -0
  985. hikyuu/trade_manage/broker_mail.pyi +55 -0
  986. hikyuu/trade_manage/trade.py +111 -0
  987. hikyuu/trade_manage/trade.pyi +746 -0
  988. hikyuu/trade_sys/__init__.py +27 -0
  989. hikyuu/trade_sys/trade_sys.py +252 -0
  990. hikyuu/util/__init__.py +49 -0
  991. hikyuu/util/__init__.pyi +55 -0
  992. hikyuu/util/check.py +153 -0
  993. hikyuu/util/check.pyi +59 -0
  994. hikyuu/util/mylog.py +264 -0
  995. hikyuu/util/mylog.pyi +70 -0
  996. hikyuu/util/notebook.py +47 -0
  997. hikyuu/util/notebook.pyi +23 -0
  998. hikyuu/util/singleton.py +29 -0
  999. hikyuu/util/singleton.pyi +18 -0
  1000. hikyuu/util/slice.py +43 -0
  1001. hikyuu/util/slice.pyi +8 -0
  1002. hikyuu/util/timeout.py +83 -0
  1003. hikyuu-2.5.6.dist-info/LICENSE +201 -0
  1004. hikyuu-2.5.6.dist-info/METADATA +152 -0
  1005. hikyuu-2.5.6.dist-info/RECORD +1008 -0
  1006. hikyuu-2.5.6.dist-info/WHEEL +5 -0
  1007. hikyuu-2.5.6.dist-info/entry_points.txt +3 -0
  1008. hikyuu-2.5.6.dist-info/top_level.txt +119 -0
@@ -0,0 +1,148 @@
1
+ /*
2
+ * StockWeight.h
3
+ *
4
+ * Created on: 2011-12-9
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef STOCKWEIGHT_H_
10
+ #define STOCKWEIGHT_H_
11
+
12
+ #include "DataType.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 权息数据结构
18
+ * @ingroup StockManage
19
+ */
20
+ class HKU_API StockWeight {
21
+ public:
22
+ /** 默认构造函数,返回Null<StockWeight>() */
23
+ StockWeight() = default;
24
+
25
+ explicit StockWeight(const Datetime& datetime);
26
+
27
+ StockWeight(const Datetime& datetime, price_t countAsGift, price_t countForSell,
28
+ price_t priceForSell, price_t bonus, price_t increasement, price_t totalCount,
29
+ price_t freeCount, price_t suogu);
30
+
31
+ /** 权息日期 */
32
+ Datetime datetime() const {
33
+ return m_datetime;
34
+ }
35
+
36
+ /** 每10股送X股 */
37
+ price_t countAsGift() const {
38
+ return m_countAsGift;
39
+ }
40
+
41
+ /** 每10股配X股 */
42
+ price_t countForSell() const {
43
+ return m_countForSell;
44
+ }
45
+
46
+ /** 配股价 */
47
+ price_t priceForSell() const {
48
+ return m_priceForSell;
49
+ }
50
+
51
+ /** 每10股红利 */
52
+ price_t bonus() const {
53
+ return m_bonus;
54
+ }
55
+
56
+ /** 每10股转增X股 */
57
+ price_t increasement() const {
58
+ return m_increasement;
59
+ }
60
+
61
+ /** 总股本(万股) */
62
+ price_t totalCount() const {
63
+ return m_totalCount;
64
+ }
65
+
66
+ /** 流通股(万股) */
67
+ price_t freeCount() const {
68
+ return m_freeCount;
69
+ }
70
+
71
+ /** 扩缩股比例 */
72
+ price_t suogu() const {
73
+ return m_suogu;
74
+ }
75
+
76
+ private:
77
+ Datetime m_datetime; // 权息日期
78
+ price_t m_countAsGift{0.}; // 每10股送X股
79
+ price_t m_countForSell{0.}; // 每10股配X股
80
+ price_t m_priceForSell{0.}; // 配股价
81
+ price_t m_bonus{0.}; // 每10股红利
82
+ price_t m_increasement{0.}; // 每10股转增X股
83
+ price_t m_totalCount{0.}; // 总股本(万股)
84
+ price_t m_freeCount{0.}; // 流通股(万股)
85
+ price_t m_suogu{0.}; // 扩缩股比例
86
+ };
87
+
88
+ /** @ingroup StockManage */
89
+ typedef vector<StockWeight> StockWeightList;
90
+
91
+ /**
92
+ * 输出权息信息,如:Weight(datetime, countAsGift, countForSell,
93
+ * priceForSell, bonus, increasement, totalCount, freeCount)
94
+ * @ingroup StockManage
95
+ */
96
+ HKU_API std::ostream& operator<<(std::ostream&, const StockWeight&);
97
+
98
+ ///////////////////////////////////////////////////////////////////////////////
99
+ //
100
+ // 关系比较函数
101
+ //
102
+ ///////////////////////////////////////////////////////////////////////////////
103
+ bool operator==(const StockWeight&, const StockWeight&);
104
+ bool operator!=(const StockWeight&, const StockWeight&);
105
+ bool operator>(const StockWeight&, const StockWeight&);
106
+ bool operator<(const StockWeight&, const StockWeight&);
107
+ bool operator>=(const StockWeight&, const StockWeight&);
108
+ bool operator<=(const StockWeight&, const StockWeight&);
109
+
110
+ /* 相等比较, 仅根据日期判断 */
111
+ inline bool operator==(const StockWeight& m1, const StockWeight& m2) {
112
+ return m1.datetime() == m2.datetime();
113
+ }
114
+
115
+ /* 不等比较, 仅根据日期判断 */
116
+ inline bool operator!=(const StockWeight& m1, const StockWeight& m2) {
117
+ return m1.datetime() != m2.datetime();
118
+ }
119
+
120
+ /* 大于比较, 仅根据日期判断 */
121
+ inline bool operator>(const StockWeight& m1, const StockWeight& m2) {
122
+ return m1.datetime() > m2.datetime();
123
+ }
124
+
125
+ /* 小于比较, 仅根据日期判断 */
126
+ inline bool operator<(const StockWeight& m1, const StockWeight& m2) {
127
+ return m1.datetime() < m2.datetime();
128
+ }
129
+
130
+ /* 大于等于比较, 仅根据日期判断 */
131
+ inline bool operator>=(const StockWeight& m1, const StockWeight& m2) {
132
+ return m1.datetime() >= m2.datetime();
133
+ }
134
+
135
+ /* 小于等于比较, 仅根据日期判断 */
136
+ inline bool operator<=(const StockWeight& m1, const StockWeight& m2) {
137
+ return m1.datetime() <= m2.datetime();
138
+ }
139
+
140
+ /** @} */
141
+ } // namespace hku
142
+
143
+ #if FMT_VERSION >= 90000
144
+ template <>
145
+ struct fmt::formatter<hku::StockWeight> : ostream_formatter {};
146
+ #endif
147
+
148
+ #endif /* STOCKWEIGHT_H_ */
@@ -0,0 +1,116 @@
1
+ /*
2
+ * Copyright(C) 2021 hikyuu.org
3
+ *
4
+ * Create on: 2021-02-10
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "DataType.h"
11
+ #include "KQuery.h"
12
+
13
+ namespace hku {
14
+
15
+ /**
16
+ * 策略上下文,定义策略执行时包含的证券/K线级别信息
17
+ * @ingroup Strategy
18
+ *
19
+ */
20
+ class HKU_API StrategyContext {
21
+ public:
22
+ StrategyContext() = default;
23
+ virtual ~StrategyContext() = default;
24
+
25
+ /**
26
+ * 构造函数
27
+ * @param stockCodeList 指定的证券代码列表,如:如:{"sz000001", "sz000002"}
28
+ */
29
+ explicit StrategyContext(const vector<string>& stockCodeList);
30
+
31
+ /**
32
+ * 构造函数
33
+ * @note 证券列表中如果包含 ("ALL") 则表示全部证券;
34
+ * 1. 指定K线类型列表同时影响着K线数据的优先加载顺序,靠前的将优先加载。
35
+ * 2. 未指定 ktypelist 或 preloadNum 时,将使用全局配置文件参数
36
+ * @param stockCodeList 指定的证券代码列表,如:{"sh000001", "sz000001"}
37
+ * @param ktypeList 指定的 K线数据列表,如:{"day", "min"}
38
+ * @param preloadNum 指定的预加载数量,如:{{"min_max", 100}, {"day_max", 200}}
39
+ */
40
+ StrategyContext(const vector<string>& stockCodeList, const vector<KQuery::KType>& ktypeList,
41
+ const unordered_map<string, int>& preloadNum = {});
42
+
43
+ // 自定义移动构造与赋值会引起 python 中无法正常退出
44
+ // StrategyContext(const StrategyContext&) = default;
45
+ // StrategyContext(StrategyContext&& rv) = delete;
46
+ // StrategyContext& operator=(const StrategyContext&) = default;
47
+ // StrategyContext& operator=(StrategyContext&&) = delete;
48
+
49
+ /**
50
+ * 是否为加载全部证券,只要 stockCodeList 包含 "ALL"(不区分大小写) ,即认为加载全部
51
+ * @return true
52
+ * @return false
53
+ */
54
+ bool isAll() const noexcept;
55
+
56
+ bool empty() const noexcept {
57
+ return m_stockCodeList.empty();
58
+ }
59
+
60
+ Datetime startDatetime() const noexcept {
61
+ return m_startDatetime;
62
+ }
63
+
64
+ void setStockCodeList(const vector<string>& stockList) {
65
+ _removeDuplicateCode(stockList);
66
+ }
67
+
68
+ const vector<string>& getStockCodeList() const noexcept {
69
+ return m_stockCodeList;
70
+ }
71
+
72
+ void setKTypeList(const vector<KQuery::KType>& ktypeList) {
73
+ _checkAndRemoveDuplicateKType(ktypeList);
74
+ }
75
+
76
+ const vector<KQuery::KType>& getKTypeList() const noexcept {
77
+ return m_ktypeList;
78
+ }
79
+
80
+ void setPreloadNum(const unordered_map<string, int>& preloadNum);
81
+
82
+ const unordered_map<string, int>& getPreloadNum() const noexcept {
83
+ return m_preloadNum;
84
+ }
85
+
86
+ /**
87
+ * 隐含的默认必须被加载的证券列表
88
+ * @note 影响交易日历判断、和某些常被作为默认比较基准的证券,通常被作为某些函数的默认值
89
+ */
90
+ const vector<string>& getMustLoadStockCodeList() const noexcept {
91
+ return m_mustLoad;
92
+ }
93
+
94
+ /**
95
+ * 返回所有需要加载的证券列表(含指定的证券列表和默认包含必须加载的证券列表)
96
+ * @return vector<string>
97
+ */
98
+ vector<string> getAllNeedLoadStockCodeList() const noexcept;
99
+
100
+ string str() const;
101
+
102
+ private:
103
+ void _removeDuplicateCode(const vector<string>& stockCodeList);
104
+ void _checkAndRemoveDuplicateKType(const vector<KQuery::KType>& ktypeList);
105
+
106
+ private:
107
+ Datetime m_startDatetime{19901219};
108
+ vector<string> m_mustLoad{"sh000001", "sh000300"}; // 默认必须加载的 stock
109
+ vector<string> m_stockCodeList;
110
+ vector<KQuery::KType> m_ktypeList;
111
+ unordered_map<string, int> m_preloadNum;
112
+ };
113
+
114
+ HKU_API std::ostream& operator<<(std::ostream& os, const StrategyContext& context);
115
+
116
+ } // namespace hku
@@ -0,0 +1,71 @@
1
+ /*
2
+ * TimeLineRecord.h
3
+ *
4
+ * Created on: 2019-1-27
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TIMELINERECORD_H_
10
+ #define TIMELINERECORD_H_
11
+
12
+ #include "DataType.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 分时线记录
18
+ * @ingroup StockManage
19
+ */
20
+ class HKU_API TimeLineRecord {
21
+ public:
22
+ Datetime datetime;
23
+ price_t price;
24
+ price_t vol;
25
+
26
+ TimeLineRecord();
27
+ TimeLineRecord(const Datetime& datetime, price_t price, price_t vol);
28
+
29
+ bool isValid() const;
30
+ };
31
+
32
+ /**
33
+ * 分时线
34
+ * @ingroup StockManage
35
+ */
36
+ typedef vector<TimeLineRecord> TimeLineList;
37
+
38
+ /**
39
+ * 输出TimeLineRecord信息,如:TimeSharingRecord(datetime, price, vol)
40
+ * @ingroup StockManage
41
+ */
42
+ HKU_API std::ostream& operator<<(std::ostream&, const TimeLineRecord&);
43
+
44
+ /**
45
+ * 输出TimeLine信息
46
+ * @details
47
+ * <pre>
48
+ * TimeLine{
49
+ * size : 738501
50
+ * start: YYYY-MM-DD hh:mm:ss
51
+ * last : YYYY-MM-DD hh:mm:ss
52
+ * }
53
+ * </pre>
54
+ * @ingroup StockManage
55
+ */
56
+ HKU_API std::ostream& operator<<(std::ostream& os, const TimeLineList&);
57
+
58
+ /**
59
+ * 比较两个TimeLineRecord是否相等,一般仅测试时使用
60
+ * @ingroup StockManage
61
+ */
62
+ bool HKU_API operator==(const TimeLineRecord& d1, const TimeLineRecord& d2);
63
+
64
+ } /* namespace hku */
65
+
66
+ #if FMT_VERSION >= 90000
67
+ template <>
68
+ struct fmt::formatter<hku::TimeLineRecord> : ostream_formatter {};
69
+ #endif
70
+
71
+ #endif /* TIMELINERECORD_H_ */
@@ -0,0 +1,79 @@
1
+ /*
2
+ * TransRecord.h
3
+ *
4
+ * Created on: 2019年2月10日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRANSRECORD_H_
10
+ #define TRANSRECORD_H_
11
+
12
+ #include "DataType.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 分笔成交记录
18
+ * @ingroup StockManage
19
+ */
20
+ class HKU_API TransRecord {
21
+ public:
22
+ enum DIRECT {
23
+ BUY = 0, /**< 买盘 */
24
+ SELL = 1, /**< 卖盘 */
25
+ AUCTION = 2 /**< 集合竞价 */
26
+ };
27
+
28
+ Datetime datetime; // 时间
29
+ price_t price; // 成交均价
30
+ price_t vol; // 成交量
31
+ DIRECT direct; // 买卖盘性质:1--sell 0--buy 2--集合竞价
32
+
33
+ TransRecord();
34
+ TransRecord(const Datetime& datetime, price_t price, price_t vol, DIRECT);
35
+
36
+ bool isValid() const;
37
+ };
38
+
39
+ /**
40
+ * 分时线
41
+ * @ingroup StockManage
42
+ */
43
+ typedef vector<TransRecord> TransList;
44
+ typedef vector<TransRecord> TransRecordList;
45
+
46
+ /**
47
+ * 输出 TransRecord 信息,如:TimeSharingRecord(datetime, price, vol)
48
+ * @ingroup StockManage
49
+ */
50
+ HKU_API std::ostream& operator<<(std::ostream&, const TransRecord&);
51
+
52
+ /**
53
+ * 输出 TransList 信息
54
+ * @details
55
+ * <pre>
56
+ * TimeLine{
57
+ * size : 738501
58
+ * start: YYYY-MM-DD hh:mm:ss
59
+ * last : YYYY-MM-DD hh:mm:ss
60
+ * }
61
+ * </pre>
62
+ * @ingroup StockManage
63
+ */
64
+ HKU_API std::ostream& operator<<(std::ostream& os, const TransList&);
65
+
66
+ /**
67
+ * 比较两个 TransRecord 是否相等,一般仅测试时使用
68
+ * @ingroup StockManage
69
+ */
70
+ bool HKU_API operator==(const TransRecord& d1, const TransRecord& d2);
71
+
72
+ } /* namespace hku */
73
+
74
+ #if FMT_VERSION >= 90000
75
+ template <>
76
+ struct fmt::formatter<hku::TransRecord> : ostream_formatter {};
77
+ #endif
78
+
79
+ #endif /* TRANSRECORD_H_ */
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-03-01
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "DataType.h"
11
+
12
+ namespace hku {
13
+
14
+ /**
15
+ * 10年期中国国债数据结构
16
+ * @ingroup StockManage
17
+ */
18
+ struct HKU_API ZhBond10 {
19
+ Datetime date; ///< 日期
20
+ price_t value; ///< 收益率
21
+ };
22
+
23
+ typedef vector<ZhBond10> ZhBond10List;
24
+
25
+ /**
26
+ * 输出 ZhBond10 ZhBond10(date, value)
27
+ * @ingroup StockManage
28
+ */
29
+ HKU_API std::ostream& operator<<(std::ostream&, const ZhBond10&);
30
+
31
+ } // namespace hku
32
+
33
+ #if FMT_VERSION >= 90000
34
+ template <>
35
+ struct fmt::formatter<hku::ZhBond10> : ostream_formatter {};
36
+ #endif
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Copyright (c) 2023 hikyuu.org
3
+ *
4
+ * Created on: 2023-12-25
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/system/System.h"
11
+ #include "hikyuu/trade_manage/Performance.h"
12
+ #include "hikyuu/utilities/thread/thread.h"
13
+
14
+ namespace hku {
15
+
16
+ struct HKU_API AnalysisSystemOutput {
17
+ string market_code; ///< 证券代码
18
+ string name; ///< 证券名称
19
+ PriceList values; ///< 统计各项指标值
20
+
21
+ AnalysisSystemOutput() = default;
22
+ AnalysisSystemOutput(const AnalysisSystemOutput& other) = default;
23
+ AnalysisSystemOutput(AnalysisSystemOutput&& rv)
24
+ : market_code(std::move(rv.market_code)),
25
+ name(std::move(rv.name)),
26
+ values(std::move(rv.values)) {}
27
+
28
+ AnalysisSystemOutput& operator=(const AnalysisSystemOutput&) = default;
29
+ AnalysisSystemOutput& operator=(AnalysisSystemOutput&& rv) {
30
+ HKU_IF_RETURN(this == &rv, *this);
31
+ market_code = std::move(rv.market_code);
32
+ name = std::move(rv.name);
33
+ values = std::move(rv.values);
34
+ return *this;
35
+ }
36
+ };
37
+
38
+ /**
39
+ * 统计所有指定系统策略, 系统列表中的每一个系统都应该是独立的系统实例
40
+ * @note 系统实例列表和证券列表是一一对应,不是两两组合
41
+ * @param sys_list 系统策略实例列表
42
+ * @param stk_list 证券列表,须与系统策略列表一一对应
43
+ * @param query 查询条件
44
+ * @return vector<AnalysisSystemOutput>
45
+ */
46
+ vector<AnalysisSystemOutput> HKU_API analysisSystemList(const SystemList& sys_list,
47
+ const StockList& stk_list,
48
+ const KQuery& query);
49
+
50
+ /**
51
+ * 以指定的 stock 统计执行所有的系统策略
52
+ * @param sys_list 系统策略思路列表,每一个都应是单独的实例
53
+ * @param stk 指定证券
54
+ * @param query 查询条件
55
+ * @return vector<AnalysisSystemOutput>
56
+ */
57
+ vector<AnalysisSystemOutput> HKU_API analysisSystemList(const SystemList& sys_list,
58
+ const Stock& stk, const KQuery& query);
59
+
60
+ /**
61
+ * 以指定的 stock 统计执行所有的系统策略,并按指定的统计项返回统计项最高或最低的系统实例及其统计值
62
+ * @param sys_list 系统策略思路列表,每一个都应是单独的实例
63
+ * @param stk 指定证券
64
+ * @param query 查询条件
65
+ * @param sort_key Performance 中的统计项名称,按该统计项返回
66
+ * @param sort_mode 0 为取统计最高值的系统,其他值为取统计最低值的系统
67
+ * @return std::pair<double, SYSPtr>
68
+ */
69
+ std::pair<double, SYSPtr> HKU_API findOptimalSystem(const SystemList& sys_list, const Stock& stk,
70
+ const KQuery& query, const string& sort_key,
71
+ int sort_mode = 0);
72
+
73
+ std::pair<double, SYSPtr> HKU_API findOptimalSystemMulti(const SystemList& sys_list,
74
+ const Stock& stk, const KQuery& query,
75
+ const string& sort_key, int sort_mode = 0);
76
+ } // namespace hku
@@ -0,0 +1,115 @@
1
+ /*
2
+ * Copyright (c) 2023 hikyuu.org
3
+ *
4
+ * Created on: 2023-09-26
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/indicator/Indicator.h"
11
+ #include "hikyuu/trade_sys/system/System.h"
12
+ #include "hikyuu/trade_manage/Performance.h"
13
+ #include "hikyuu/utilities/Log.h"
14
+
15
+ namespace hku {
16
+
17
+ /**
18
+ * 获取指定序列索引的组合,返回由序列下标索引组成的组合集合
19
+ * @note 组合的总数是 2**n - 1 个,所以inputs的长度需要控制
20
+ * @exception 输入序列的最大长度仅支持15,超过时将抛出异常 HKUException
21
+ * @param inputs 任意类型的序列
22
+ * @return
23
+ */
24
+ template <class T>
25
+ std::vector<std::vector<size_t>> combinateIndex(const std::vector<T>& inputs) {
26
+ size_t total = inputs.size();
27
+ HKU_CHECK(total <= 15, "The length of inputs exceeds the maximum limit!");
28
+
29
+ std::vector<std::vector<size_t>> result;
30
+ std::vector<size_t> current;
31
+ for (size_t i = 0; i < total; i++) {
32
+ for (size_t j = 0, len = result.size(); j < len; j++) {
33
+ current.resize(result[j].size());
34
+ std::copy(result[j].cbegin(), result[j].cend(), current.begin());
35
+ current.push_back(i);
36
+ result.push_back(std::move(current));
37
+ }
38
+ current.clear();
39
+ current.push_back(i);
40
+ result.push_back(std::move(current));
41
+ }
42
+
43
+ return result;
44
+ }
45
+
46
+ /**
47
+ * @brief 对输入的指标序列进行组合
48
+ * @details
49
+ * 如输入为 [ind1, ind2], 输出为 [EXIST(ind1,n), EXIST(ind2,n),
50
+ * EXIST(ind1,n)&EXIST(ind2,n)]
51
+ * @param inputs 待组合的指标列表
52
+ * @param n 指标在 n 周期内存在
53
+ * @return std::vector<Indicator>
54
+ */
55
+ std::vector<Indicator> HKU_API combinateIndicator(const std::vector<Indicator>& inputs, int n);
56
+
57
+ /**
58
+ * @brief 对指定的证券及买入、卖出信号指标进行组合测试
59
+ * @param stk 指定证券
60
+ * @param query 指定范围条件
61
+ * @param tm 指定交易管理实例
62
+ * @param sys 指定交易策略实例
63
+ * @param buy_inds 买入信号指标列表
64
+ * @param sell_inds 卖出信号指标列表
65
+ * @param n 组合时间范围参数
66
+ * @return std::map<std::string, Performance>
67
+ */
68
+ std::map<std::string, Performance> HKU_API combinateIndicatorAnalysis(
69
+ const Stock& stk, const KQuery& query, TradeManagerPtr tm, SystemPtr sys,
70
+ const std::vector<Indicator>& buy_inds, const std::vector<Indicator>& sell_inds, int n);
71
+
72
+ /**
73
+ * @brief combinateIndicatorAnalysisWithBlock 输出结果定义
74
+ */
75
+ struct HKU_API CombinateAnalysisOutput {
76
+ string combinateName; ///< 买入、卖出指标组合名称
77
+ string market_code; ///< 证券代码
78
+ string name; ///< 证券名称
79
+ PriceList values; ///< 统计各项指标值
80
+
81
+ CombinateAnalysisOutput() = default;
82
+ CombinateAnalysisOutput(const CombinateAnalysisOutput&) = default;
83
+ CombinateAnalysisOutput(CombinateAnalysisOutput&& rv)
84
+ : combinateName(std::move(rv.combinateName)),
85
+ market_code(std::move(rv.market_code)),
86
+ name(std::move(rv.name)),
87
+ values(std::move(rv.values)) {}
88
+
89
+ CombinateAnalysisOutput& operator=(const CombinateAnalysisOutput&) = default;
90
+ CombinateAnalysisOutput& operator=(CombinateAnalysisOutput&& rv) {
91
+ HKU_IF_RETURN(this == &rv, *this);
92
+ combinateName = std::move(rv.combinateName);
93
+ market_code = std::move(rv.market_code);
94
+ name = std::move(rv.name);
95
+ values = std::move(rv.values);
96
+ return *this;
97
+ }
98
+ };
99
+
100
+ /**
101
+ * @brief 对指定的证券列表,进行买入、卖出信号指标组合测试
102
+ * @param blk 指定板块
103
+ * @param query 指定范围条件
104
+ * @param tm 指定交易实例
105
+ * @param sys 指定系统策略实例
106
+ * @param buy_inds 买入指标列表
107
+ * @param sell_inds 卖出指标列表
108
+ * @param n 组合时间范围参数
109
+ * @return vector<CombinateAnalysisOutput>
110
+ */
111
+ vector<CombinateAnalysisOutput> HKU_API combinateIndicatorAnalysisWithBlock(
112
+ const Block& blk, const KQuery& query, TradeManagerPtr tm, SystemPtr sys,
113
+ const std::vector<Indicator>& buy_inds, const std::vector<Indicator>& sell_inds, int n);
114
+
115
+ } // namespace hku
@@ -0,0 +1,51 @@
1
+ #pragma once
2
+ #ifndef HIKYUU_CONFIG_H_
3
+ #define HIKYUU_CONFIG_H_
4
+
5
+ // clang-format off
6
+
7
+ // Debug 模式
8
+ #define HKU_DEBUG_MODE 0
9
+
10
+ // support serialization
11
+ #define HKU_SUPPORT_SERIALIZATION 0
12
+
13
+ #if HKU_SUPPORT_SERIALIZATION
14
+ #define HKU_SUPPORT_TEXT_ARCHIVE 0
15
+ #define HKU_SUPPORT_XML_ARCHIVE 1 //must 1 for python
16
+ #define HKU_SUPPORT_BINARY_ARCHIVE 1 //must 1 for python
17
+ #endif /* HKU_SUPPORT_SERIALIZATION*/
18
+
19
+ // 检查下标越界
20
+ #define CHECK_ACCESS_BOUND 1
21
+
22
+ // 启用MSVC内存泄漏检查
23
+ #define ENABLE_MSVC_LEAK_DETECT 0
24
+
25
+ // 启用内存泄漏检测,用于 linux 系统
26
+ #define HKU_ENABLE_LEAK_DETECT 0
27
+
28
+ // 启用发送用户使用信息
29
+ #define HKU_ENABLE_SEND_FEEDBACK 1
30
+
31
+ // 启用 hdf5 K线数据引擎
32
+ #define HKU_ENABLE_HDF5_KDATA 1
33
+
34
+ // 启用 MySQL K线数据引擎
35
+ #define HKU_ENABLE_MYSQL_KDATA 1
36
+
37
+ // 启用 SQLite K线数据引擎
38
+ #define HKU_ENABLE_SQLITE_KDATA 1
39
+
40
+ // 启用通达信本地 K线数据引擎
41
+ #define HKU_ENABLE_TDX_KDATA 1
42
+
43
+ // 使用低精度版本,Indicator 使用 float 类型进行计算
44
+ #define HKU_USE_LOW_PRECISION 0
45
+
46
+ // 使用 TA-Lib
47
+ #define HKU_ENABLE_TA_LIB 1
48
+
49
+ // clang-format on
50
+
51
+ #endif /* HIKYUU_CONFIG_H_ */