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,94 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-05-27
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "hikyuu/trade_sys/selector/SelectorBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class HKU_API OperatorValueSelector : public SelectorBase {
15
+ public:
16
+ OperatorValueSelector();
17
+ explicit OperatorValueSelector(const string& name);
18
+ OperatorValueSelector(const string& name, const SelectorPtr& se, double value);
19
+ virtual ~OperatorValueSelector();
20
+
21
+ virtual void _reset() override;
22
+ virtual SelectorPtr _clone() override;
23
+ virtual bool isMatchAF(const AFPtr& af) override;
24
+ virtual void _calculate() override;
25
+ virtual SystemWeightList getSelected(Datetime date) override {
26
+ return SystemWeightList();
27
+ }
28
+
29
+ protected:
30
+ SelectorPtr m_se;
31
+ double m_value{0.0};
32
+
33
+ private:
34
+ //============================================
35
+ // 序列化支持
36
+ //============================================
37
+ #if HKU_SUPPORT_SERIALIZATION
38
+ friend class boost::serialization::access;
39
+ // template <class Archive>
40
+ // void serialize(Archive& ar, const unsigned int version) {
41
+ // ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(SelectorBase);
42
+ // ar& BOOST_SERIALIZATION_NVP(m_se);
43
+ // ar& BOOST_SERIALIZATION_NVP(m_value);
44
+ // }
45
+ template <class Archive>
46
+ void save(Archive& ar, const unsigned int version) const {
47
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(SelectorBase);
48
+ ar& BOOST_SERIALIZATION_NVP(m_se);
49
+ ar& BOOST_SERIALIZATION_NVP(m_value);
50
+ }
51
+
52
+ template <class Archive>
53
+ void load(Archive& ar, const unsigned int version) {
54
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(SelectorBase);
55
+ ar& BOOST_SERIALIZATION_NVP(m_se);
56
+ ar& BOOST_SERIALIZATION_NVP(m_value);
57
+ if (m_se) {
58
+ m_pro_sys_list = m_se->getProtoSystemList();
59
+ }
60
+ }
61
+
62
+ #endif
63
+ };
64
+
65
+ #define OPERATOR_VALUE_SELECTOR_IMP(classname, name) \
66
+ public: \
67
+ classname() : OperatorValueSelector(name) {} \
68
+ classname(const SelectorPtr& se, double value) : OperatorValueSelector(name, se, value) {} \
69
+ virtual ~classname() {} \
70
+ \
71
+ virtual SystemWeightList getSelected(Datetime date) override; \
72
+ \
73
+ virtual SelectorPtr _clone() override { \
74
+ auto p = std::make_shared<classname>(); \
75
+ if (m_se) { \
76
+ p->m_se = m_se->clone(); \
77
+ } \
78
+ p->m_value = m_value; \
79
+ return p; \
80
+ }
81
+
82
+ #if HKU_SUPPORT_SERIALIZATION
83
+ #define OPERATOR_VALUE_SELECTOR_SERIALIZATION \
84
+ private: \
85
+ friend class boost::serialization::access; \
86
+ template <class Archive> \
87
+ void serialize(Archive& ar, const unsigned int version) { \
88
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(OperatorValueSelector); \
89
+ }
90
+ #else
91
+ #define OPERATOR_VALUE_SELECTOR_SERIALIZATION
92
+ #endif
93
+
94
+ } // namespace hku
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-09-22
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef HKU_TRADE_SYS_MAX_FUNDS_OPTIMAL_SELECTOR_H_
10
+ #define HKU_TRADE_SYS_MAX_FUNDS_OPTIMAL_SELECTOR_H_
11
+
12
+ #include "OptimalSelectorBase.h"
13
+
14
+ namespace hku {
15
+
16
+ class MaxFundsOptimalSelector : public OptimalSelectorBase {
17
+ OPTIMAL_SELECTOR_IMP(MaxFundsOptimalSelector)
18
+ OPTIMAL_SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION
19
+
20
+ public:
21
+ MaxFundsOptimalSelector();
22
+ virtual ~MaxFundsOptimalSelector();
23
+ };
24
+
25
+ } // namespace hku
26
+
27
+ #endif /* HKU_TRADE_SYS_MAX_FUNDS_OPTIMAL_SELECTOR_H_ */
@@ -0,0 +1,86 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-09-13
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #include "hikyuu/trade_sys/selector/SelectorBase.h"
10
+
11
+ namespace hku {
12
+
13
+ //
14
+ // start ------ run_start --end
15
+ // | train_len | test_len
16
+ //
17
+ struct RunRanges {
18
+ Datetime start;
19
+ Datetime run_start;
20
+ Datetime end;
21
+
22
+ RunRanges(const Datetime& start_, const Datetime& run_start_, const Datetime end_)
23
+ : start(start_), run_start(run_start_), end(end_) {}
24
+ };
25
+
26
+ class HKU_API OptimalSelectorBase : public SelectorBase {
27
+ CLASS_LOGGER_IMP(SE_Optimal)
28
+ SELECTOR_IMP(OptimalSelectorBase)
29
+ SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION
30
+
31
+ public:
32
+ OptimalSelectorBase();
33
+ explicit OptimalSelectorBase(const string& name);
34
+ virtual ~OptimalSelectorBase() = default;
35
+
36
+ virtual void _checkParam(const string& name) const override;
37
+ virtual void calculate(const SystemList& pf_realSysList, const KQuery& query) override;
38
+
39
+ virtual void _reset() override;
40
+
41
+ virtual string str() const override;
42
+
43
+ // 以便继承子类只需要实现 _clone 和 该接口即可
44
+ // 该接口实现系统绩效评估,getSelected 时将取评估结果最大的系统
45
+ // 使用 std::function 的话,在 C++ 中无法序列化,所以使用继承
46
+ virtual double evaluate(const SYSPtr& sys, const Datetime& endDate) noexcept {
47
+ return Null<double>();
48
+ }
49
+
50
+ const vector<RunRanges>& getRunRanges() const {
51
+ return m_run_ranges;
52
+ }
53
+
54
+ private:
55
+ void _initParams();
56
+ void _calculate_single(const vector<std::pair<size_t, size_t>>& train_ranges,
57
+ const DatetimeList& dates, size_t test_len, bool trace);
58
+
59
+ void _calculate_parallel(const vector<std::pair<size_t, size_t>>& train_ranges,
60
+ const DatetimeList& dates, size_t test_len, bool trace);
61
+
62
+ protected:
63
+ unordered_map<Datetime, std::shared_ptr<SystemWeightList>> m_sys_dict;
64
+ vector<RunRanges> m_run_ranges;
65
+ };
66
+
67
+ #if HKU_SUPPORT_SERIALIZATION
68
+ #define OPTIMAL_SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION \
69
+ private: \
70
+ friend class boost::serialization::access; \
71
+ template <class Archive> \
72
+ void serialize(Archive& ar, const unsigned int version) { \
73
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(SelectorBase); \
74
+ }
75
+ #else
76
+ #define OPTIMAL_SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION
77
+ #endif
78
+
79
+ #define OPTIMAL_SELECTOR_IMP(classname) \
80
+ public: \
81
+ virtual SelectorPtr _clone() override { \
82
+ return std::make_shared<classname>(); \
83
+ } \
84
+ virtual double evaluate(const SYSPtr&, const Datetime& endDate) noexcept override;
85
+
86
+ } // namespace hku
@@ -0,0 +1,42 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-09-13
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "OptimalSelectorBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class PerformanceOptimalSelector : public OptimalSelectorBase {
15
+ CLASS_LOGGER_IMP(SE_Optimal)
16
+ OPTIMAL_SELECTOR_NO_PRIVATE_MEMBER_SERIALIZATION
17
+
18
+ public:
19
+ PerformanceOptimalSelector();
20
+ virtual ~PerformanceOptimalSelector() = default;
21
+
22
+ virtual void _checkParam(const string& name) const override;
23
+ virtual void calculate(const SystemList& pf_realSysList, const KQuery& query) override;
24
+
25
+ virtual SystemWeightList getSelected(Datetime date) override;
26
+ virtual SelectorPtr _clone() override;
27
+ virtual void _reset() override;
28
+
29
+ private:
30
+ void _calculate_single(const vector<std::pair<size_t, size_t>>& train_ranges,
31
+ const DatetimeList& dates, const string& key, int mode, size_t test_len,
32
+ bool trace);
33
+
34
+ void _calculate_parallel(const vector<std::pair<size_t, size_t>>& train_ranges,
35
+ const DatetimeList& dates, const string& key, int mode,
36
+ size_t test_len, bool trace);
37
+
38
+ private:
39
+ unordered_map<Datetime, SYSPtr> m_sys_dict;
40
+ };
41
+
42
+ } // namespace hku
@@ -0,0 +1,289 @@
1
+ /*
2
+ * SignalBase.h
3
+ *
4
+ * Created on: 2013-3-3
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef SIGNALBASE_H_
10
+ #define SIGNALBASE_H_
11
+
12
+ #include <set>
13
+ #include "../../KData.h"
14
+ #include "../../utilities/Parameter.h"
15
+ #include "../../trade_manage/TradeManager.h"
16
+ #include "../../serialization/Datetime_serialization.h"
17
+
18
+ namespace hku {
19
+
20
+ /**
21
+ * 信号指示器基类
22
+ * @ingroup Signal
23
+ */
24
+ class HKU_API SignalBase : public enable_shared_from_this<SignalBase> {
25
+ PARAMETER_SUPPORT_WITH_CHECK
26
+
27
+ public:
28
+ SignalBase();
29
+ explicit SignalBase(const string& name);
30
+ SignalBase(const SignalBase&) = default;
31
+ virtual ~SignalBase();
32
+
33
+ /**
34
+ * 指定时刻是否可以买入
35
+ * @param datetime 指定时刻
36
+ * @return true 可以买入 | false 不可买入
37
+ */
38
+ bool shouldBuy(const Datetime& datetime) const;
39
+
40
+ /**
41
+ * 指定时刻是否可以卖出
42
+ * @param datetime 指定时刻
43
+ * @return true 可以卖出 | false 不可卖出
44
+ */
45
+ bool shouldSell(const Datetime& datetime) const;
46
+
47
+ /**
48
+ * 获取指定时刻的买入信号数值,返回值小于等于0时,表示无买入信号
49
+ * @param datetime
50
+ * @return double
51
+ */
52
+ double getBuyValue(const Datetime& datetime) const;
53
+
54
+ /**
55
+ * 获取指定时刻的买出信号数值,返回值大于等于0时,表示无卖出信号
56
+ * @param datetime
57
+ * @return double
58
+ */
59
+ double getSellValue(const Datetime& datetime) const;
60
+
61
+ double getValue(const Datetime& datetime) const;
62
+
63
+ /**
64
+ * 下一时刻是否可以买入,相当于最后时刻是否指示买入
65
+ */
66
+ bool nextTimeShouldBuy() const;
67
+
68
+ /**
69
+ * 下一时刻是否可以卖出,相当于最后时刻是否指示卖出
70
+ */
71
+ bool nextTimeShouldSell() const;
72
+
73
+ /** 获取所有买入指示日期列表 */
74
+ DatetimeList getBuySignal() const;
75
+
76
+ /** 获取所有卖出指示日期列表 */
77
+ DatetimeList getSellSignal() const;
78
+
79
+ void _addSignal(const Datetime& datetime, double value);
80
+
81
+ /**
82
+ * 加入买入信号,在_calculate中调用
83
+ * @param datetime 发生买入信号的日期
84
+ * @param value 信号值,默认为1.0, 必须大于0,否则抛出异常
85
+ */
86
+ void _addBuySignal(const Datetime& datetime, double value = 1.0);
87
+
88
+ /**
89
+ * 加入卖出信号,在_calculate中调用
90
+ * @param datetime
91
+ * @param value 信号值,默认为-1.0,必须小于0,否则抛出异常
92
+ */
93
+ void _addSellSignal(const Datetime& datetime, double value = -1.0);
94
+
95
+ /**
96
+ * 指定交易对象,指K线数据
97
+ * @param kdata 指定的交易对象
98
+ */
99
+ void setTO(const KData& kdata);
100
+
101
+ /**
102
+ * 获取交易对象
103
+ * @return 交易对象(KData)
104
+ */
105
+ const KData& getTO() const;
106
+
107
+ void startCycle(const Datetime& start, const Datetime& end);
108
+ const Datetime& getCycleStart() const;
109
+ const Datetime& getCycleEnd() const;
110
+
111
+ /** 复位操作 */
112
+ void reset();
113
+
114
+ typedef shared_ptr<SignalBase> SignalPtr;
115
+ /** 克隆操作 */
116
+ SignalPtr clone();
117
+
118
+ /** 获取名称 */
119
+ const string& name() const;
120
+
121
+ /** 设置名称 */
122
+ void name(const string& name);
123
+
124
+ /** 子类复位接口 */
125
+ virtual void _reset() {}
126
+
127
+ /** 子类克隆接口 */
128
+ virtual SignalPtr _clone() = 0;
129
+
130
+ /** 子类计算接口,在setTO中调用 */
131
+ virtual void _calculate(const KData&) = 0;
132
+
133
+ private:
134
+ void initParam();
135
+
136
+ protected:
137
+ string m_name;
138
+ KData m_kdata;
139
+ bool m_calculated{false}; // 仅针对 setTO 时的计算
140
+
141
+ /* 多头持仓 */
142
+ bool m_hold_long;
143
+ /* 空头持仓 */
144
+ bool m_hold_short;
145
+
146
+ // 用 map 保存,以便获取时能保持顺序
147
+ std::map<Datetime, double> m_buySig;
148
+ std::map<Datetime, double> m_sellSig;
149
+
150
+ Datetime m_cycle_start;
151
+ Datetime m_cycle_end;
152
+
153
+ //============================================
154
+ // 序列化支持
155
+ //============================================
156
+ #if HKU_SUPPORT_SERIALIZATION
157
+ private:
158
+ friend class boost::serialization::access;
159
+ template <class Archive>
160
+ void save(Archive& ar, const unsigned int version) const {
161
+ ar& BOOST_SERIALIZATION_NVP(m_name);
162
+ ar& BOOST_SERIALIZATION_NVP(m_params);
163
+ ar& BOOST_SERIALIZATION_NVP(m_hold_long);
164
+ ar& BOOST_SERIALIZATION_NVP(m_hold_short);
165
+ ar& BOOST_SERIALIZATION_NVP(m_buySig);
166
+ ar& BOOST_SERIALIZATION_NVP(m_sellSig);
167
+ // m_kdata都是系统运行时临时设置,不需要序列化
168
+ // ar & BOOST_SERIALIZATION_NVP(m_kdata);
169
+ // ar & BOOST_SERIALIZATION_NVP(m_calculated);
170
+ }
171
+
172
+ template <class Archive>
173
+ void load(Archive& ar, const unsigned int version) {
174
+ ar& BOOST_SERIALIZATION_NVP(m_name);
175
+ ar& BOOST_SERIALIZATION_NVP(m_params);
176
+ ar& BOOST_SERIALIZATION_NVP(m_hold_long);
177
+ ar& BOOST_SERIALIZATION_NVP(m_hold_short);
178
+ ar& BOOST_SERIALIZATION_NVP(m_buySig);
179
+ ar& BOOST_SERIALIZATION_NVP(m_sellSig);
180
+ // m_kdata都是系统运行时临时设置,不需要序列化
181
+ // ar & BOOST_SERIALIZATION_NVP(m_kdata);
182
+ // ar & BOOST_SERIALIZATION_NVP(m_calculated);
183
+ }
184
+
185
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
186
+ #endif /* HKU_SUPPORT_SERIALIZATION */
187
+ };
188
+
189
+ #if HKU_SUPPORT_SERIALIZATION
190
+ BOOST_SERIALIZATION_ASSUME_ABSTRACT(SignalBase)
191
+ #endif
192
+
193
+ #if HKU_SUPPORT_SERIALIZATION
194
+ /**
195
+ * 对于没有私有变量的继承子类,可直接使用该宏定义序列化
196
+ * @code
197
+ * class Drived: public SignalBase {
198
+ * SIGNAL_NO_PRIVATE_MEMBER_SERIALIZATION
199
+ *
200
+ * public:
201
+ * Drived();
202
+ * ...
203
+ * };
204
+ * @endcode
205
+ * @ingroup Signal
206
+ */
207
+ #define SIGNAL_NO_PRIVATE_MEMBER_SERIALIZATION \
208
+ private: \
209
+ friend class boost::serialization::access; \
210
+ template <class Archive> \
211
+ void serialize(Archive& ar, const unsigned int version) { \
212
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(SignalBase); \
213
+ }
214
+ #else
215
+ #define SIGNAL_NO_PRIVATE_MEMBER_SERIALIZATION
216
+ #endif
217
+
218
+ #define SIGNAL_IMP(classname) \
219
+ public: \
220
+ virtual SignalPtr _clone() override { \
221
+ return std::make_shared<classname>(); \
222
+ } \
223
+ virtual void _calculate(const KData&) override;
224
+
225
+ /**
226
+ * 客户程序都应使用该指针类型,操作信号指示器
227
+ * @ingroup Signal
228
+ */
229
+ typedef shared_ptr<SignalBase> SignalPtr;
230
+ typedef shared_ptr<SignalBase> SGPtr;
231
+
232
+ HKU_API std::ostream& operator<<(std::ostream&, const SignalBase&);
233
+ HKU_API std::ostream& operator<<(std::ostream&, const SignalPtr&);
234
+
235
+ inline const KData& SignalBase::getTO() const {
236
+ return m_kdata;
237
+ }
238
+
239
+ inline const string& SignalBase::name() const {
240
+ return m_name;
241
+ }
242
+
243
+ inline void SignalBase::name(const string& name) {
244
+ m_name = name;
245
+ }
246
+
247
+ inline bool SignalBase::shouldBuy(const Datetime& datetime) const {
248
+ return m_buySig.count(datetime) ? true : false;
249
+ }
250
+
251
+ inline bool SignalBase::shouldSell(const Datetime& datetime) const {
252
+ return m_sellSig.count(datetime) ? true : false;
253
+ }
254
+
255
+ inline const Datetime& SignalBase::getCycleStart() const {
256
+ return m_cycle_start;
257
+ }
258
+
259
+ inline const Datetime& SignalBase::getCycleEnd() const {
260
+ return m_cycle_end;
261
+ }
262
+
263
+ inline double SignalBase::getValue(const Datetime& datetime) const {
264
+ return getBuyValue(datetime) + getSellValue(datetime);
265
+ }
266
+
267
+ inline void SignalBase::_addBuySignal(const Datetime& datetime, double value) {
268
+ HKU_IF_RETURN(std::isnan(value), void());
269
+ HKU_CHECK(value > 0.0, "buy value muse be > 0", value);
270
+ _addSignal(datetime, value);
271
+ }
272
+
273
+ inline void SignalBase::_addSellSignal(const Datetime& datetime, double value) {
274
+ HKU_IF_RETURN(std::isnan(value), void());
275
+ HKU_CHECK(value < 0.0, "sell value muse be > 0", value);
276
+ _addSignal(datetime, value);
277
+ }
278
+
279
+ } /* namespace hku */
280
+
281
+ #if FMT_VERSION >= 90000
282
+ template <>
283
+ struct fmt::formatter<hku::SignalBase> : ostream_formatter {};
284
+
285
+ template <>
286
+ struct fmt::formatter<hku::SignalPtr> : ostream_formatter {};
287
+ #endif
288
+
289
+ #endif /* SIGNALBASE_H_ */
@@ -0,0 +1,24 @@
1
+ /*
2
+ * build_in.h
3
+ *
4
+ * Created on: 2013-4-19
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef SIGNAL_BUILD_IN_H_
10
+ #define SIGNAL_BUILD_IN_H_
11
+
12
+ #include "crt/SG_AllwaysBuy.h"
13
+ #include "crt/SG_Cross.h"
14
+ #include "crt/SG_CrossGold.h"
15
+ #include "crt/SG_Cycle.h"
16
+ #include "crt/SG_Flex.h"
17
+ #include "crt/SG_Single.h"
18
+ #include "crt/SG_Bool.h"
19
+ #include "crt/SG_Band.h"
20
+ #include "crt/SG_Logic.h"
21
+ #include "crt/SG_Manual.h"
22
+ #include "crt/SG_OneSide.h"
23
+
24
+ #endif /* SIGNAL_BUILD_IN_H_ */
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-03-30
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #include "../SignalBase.h"
10
+
11
+ namespace hku {
12
+
13
+ /**
14
+ * 一个总是发出买入信号的系统,主要用于 PF 中 MultiFactor 选股匹配
15
+ * @return SignalPtr
16
+ * @ingroup Signal
17
+ */
18
+ SignalPtr HKU_API SG_AllwaysBuy();
19
+
20
+ } // namespace hku
@@ -0,0 +1,37 @@
1
+ /*
2
+ * SG_Band.h
3
+ *
4
+ * Created on: 2023年09月23日
5
+ * Author: yangrq1018
6
+ */
7
+ #pragma once
8
+ #ifndef TRADE_SYS_SIGNAL_CRT_SG_BAND_H_
9
+ #define TRADE_SYS_SIGNAL_CRT_SG_BAND_H_
10
+
11
+ #include "../../../indicator/Indicator.h"
12
+ #include "../SignalBase.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 指标区间指示器, 当指标超过上轨时,买入;当指标低于下轨时,卖出。
18
+ * @note 适用于 RSI 类,有绝对值区间的指标
19
+ * @param ind 指标
20
+ * @param lower 下轨
21
+ * @param upper 上轨
22
+ * @return SignalPtr
23
+ */
24
+ SignalPtr HKU_API SG_Band(const Indicator& ind, price_t lower, price_t upper);
25
+
26
+ /**
27
+ * 指标区间指示器, 当指标超过上轨指标时,买入;当指标低于下轨指标时,卖出。
28
+ * @param ind 指标
29
+ * @param lower 下轨指标
30
+ * @param upper 上轨指标
31
+ * @return SignalPtr
32
+ */
33
+ SignalPtr HKU_API SG_Band(const Indicator& ind, const Indicator& lower, const Indicator& upper);
34
+
35
+ } /* namespace hku */
36
+
37
+ #endif /* TRADE_SYS_SIGNAL_CRT_SG_BOOL_H_ */
@@ -0,0 +1,29 @@
1
+ /*
2
+ * SG_Bool.h
3
+ *
4
+ * Created on: 2017年7月2日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_SIGNAL_CRT_SG_BOOL_H_
10
+ #define TRADE_SYS_SIGNAL_CRT_SG_BOOL_H_
11
+
12
+ #include "../../../indicator/Indicator.h"
13
+ #include "../SignalBase.h"
14
+
15
+ namespace hku {
16
+
17
+ /**
18
+ * 布尔信号指示器
19
+ * @param buy 买入指示(结果Indicator中相应位置>0则代表买入)
20
+ * @param sell 卖出指示(结果Indicator中相应位置>0则代表卖出)
21
+ * @param alternate 买入与卖出信号是否交替出现,默认为true
22
+ * @return 信号指示器
23
+ * @ingroup Signal
24
+ */
25
+ SignalPtr HKU_API SG_Bool(const Indicator& buy, const Indicator& sell, bool alternate = true);
26
+
27
+ } /* namespace hku */
28
+
29
+ #endif /* TRADE_SYS_SIGNAL_CRT_SG_BOOL_H_ */
@@ -0,0 +1,28 @@
1
+ /*
2
+ * CROSS_SG.h
3
+ *
4
+ * Created on: 2015年2月20日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_SIGNAL_CRT_SG_CROSS_H_
10
+ #define TRADE_SYS_SIGNAL_CRT_SG_CROSS_H_
11
+
12
+ #include "../../../indicator/Indicator.h"
13
+ #include "../SignalBase.h"
14
+
15
+ namespace hku {
16
+
17
+ /**
18
+ * 双线交叉指示器,当快线从下向上穿越慢线时,买入;当快线从上向下穿越慢线时,卖出。
19
+ * @param fast 快线
20
+ * @param slow 慢线
21
+ * @return 信号指示器
22
+ * @ingroup Signal
23
+ */
24
+ SignalPtr HKU_API SG_Cross(const Indicator& fast, const Indicator& slow);
25
+
26
+ } /* namespace hku */
27
+
28
+ #endif /* TRADE_SYS_SIGNAL_CRT_SG_CROSS_H_ */