hikyuu 2.3.1__py3-none-macosx_11_1_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (931) hide show
  1. hikyuu/LICENSE.txt +21 -0
  2. hikyuu/__init__.py +137 -0
  3. hikyuu/__init__.pyi +782 -0
  4. hikyuu/analysis/__init__.py +14 -0
  5. hikyuu/analysis/__init__.pyi +473 -0
  6. hikyuu/analysis/analysis.py +151 -0
  7. hikyuu/analysis/analysis.pyi +503 -0
  8. hikyuu/config/__init__.py +1 -0
  9. hikyuu/config/block/__init__.py +0 -0
  10. hikyuu/config/block/dybk.ini +5357 -0
  11. hikyuu/config/block/gnbk.ini +50024 -0
  12. hikyuu/config/block/hybk.ini +5464 -0
  13. hikyuu/config/block/self.ini +10 -0
  14. hikyuu/config/block/zsbk.ini +65543 -0
  15. hikyuu/core.py +27 -0
  16. hikyuu/core.pyi +468 -0
  17. hikyuu/cpp/__init__.py +1 -0
  18. hikyuu/cpp/__init__.pyi +3 -0
  19. hikyuu/cpp/core310.so +0 -0
  20. hikyuu/cpp/core311.so +0 -0
  21. hikyuu/cpp/core312.pyi +12475 -0
  22. hikyuu/cpp/core312.so +0 -0
  23. hikyuu/cpp/core313.so +0 -0
  24. hikyuu/cpp/core39.so +0 -0
  25. hikyuu/cpp/libcrypto.3.dylib +0 -0
  26. hikyuu/cpp/libcrypto.dylib +0 -0
  27. hikyuu/cpp/libhku_hdf5.200.2.0.dylib +0 -0
  28. hikyuu/cpp/libhku_hdf5.200.dylib +0 -0
  29. hikyuu/cpp/libhku_hdf5.dylib +0 -0
  30. hikyuu/cpp/libhku_hdf5_cpp.200.2.0.dylib +0 -0
  31. hikyuu/cpp/libhku_hdf5_cpp.200.dylib +0 -0
  32. hikyuu/cpp/libhku_hdf5_cpp.dylib +0 -0
  33. hikyuu/cpp/libhku_hdf5_hl.200.1.0.dylib +0 -0
  34. hikyuu/cpp/libhku_hdf5_hl.200.dylib +0 -0
  35. hikyuu/cpp/libhku_hdf5_hl.dylib +0 -0
  36. hikyuu/cpp/libhku_hdf5_hl_cpp.200.1.0.dylib +0 -0
  37. hikyuu/cpp/libhku_hdf5_hl_cpp.200.dylib +0 -0
  38. hikyuu/cpp/libhku_hdf5_hl_cpp.dylib +0 -0
  39. hikyuu/cpp/libhku_hdf5_tools.200.1.1.dylib +0 -0
  40. hikyuu/cpp/libhku_hdf5_tools.200.dylib +0 -0
  41. hikyuu/cpp/libhku_hdf5_tools.dylib +0 -0
  42. hikyuu/cpp/libmysqlclient.21.dylib +0 -0
  43. hikyuu/cpp/libmysqlclient.dylib +0 -0
  44. hikyuu/cpp/libsqlite3.dylib +0 -0
  45. hikyuu/cpp/libssl.3.dylib +0 -0
  46. hikyuu/cpp/libssl.dylib +0 -0
  47. hikyuu/data/__init__.py +1 -0
  48. hikyuu/data/common.py +248 -0
  49. hikyuu/data/common_h5.py +398 -0
  50. hikyuu/data/common_mysql.py +485 -0
  51. hikyuu/data/common_pytdx.py +108 -0
  52. hikyuu/data/common_sqlite3.py +140 -0
  53. hikyuu/data/em_block_to_mysql.py +120 -0
  54. hikyuu/data/em_block_to_sqlite.py +117 -0
  55. hikyuu/data/hku_config_template.py +266 -0
  56. hikyuu/data/mysql_upgrade/0001.sql +5 -0
  57. hikyuu/data/mysql_upgrade/0002.sql +3 -0
  58. hikyuu/data/mysql_upgrade/0003.sql +9 -0
  59. hikyuu/data/mysql_upgrade/0004.sql +26 -0
  60. hikyuu/data/mysql_upgrade/0005.sql +3 -0
  61. hikyuu/data/mysql_upgrade/0006.sql +2 -0
  62. hikyuu/data/mysql_upgrade/0007.sql +20 -0
  63. hikyuu/data/mysql_upgrade/0008.sql +6 -0
  64. hikyuu/data/mysql_upgrade/0009.sql +36 -0
  65. hikyuu/data/mysql_upgrade/0010.sql +5 -0
  66. hikyuu/data/mysql_upgrade/0011.sql +5 -0
  67. hikyuu/data/mysql_upgrade/0012.sql +5 -0
  68. hikyuu/data/mysql_upgrade/0013.sql +2389 -0
  69. hikyuu/data/mysql_upgrade/0014.sql +3 -0
  70. hikyuu/data/mysql_upgrade/0015.sql +4 -0
  71. hikyuu/data/mysql_upgrade/0016.sql +4 -0
  72. hikyuu/data/mysql_upgrade/0017.sql +5 -0
  73. hikyuu/data/mysql_upgrade/0018.sql +2 -0
  74. hikyuu/data/mysql_upgrade/0019.sql +6 -0
  75. hikyuu/data/mysql_upgrade/0020.sql +4 -0
  76. hikyuu/data/mysql_upgrade/0021.sql +4 -0
  77. hikyuu/data/mysql_upgrade/0022.sql +5 -0
  78. hikyuu/data/mysql_upgrade/0023.sql +4 -0
  79. hikyuu/data/mysql_upgrade/0024.sql +2 -0
  80. hikyuu/data/mysql_upgrade/0025.sql +61 -0
  81. hikyuu/data/mysql_upgrade/__init__.py +1 -0
  82. hikyuu/data/mysql_upgrade/createdb.sql +265 -0
  83. hikyuu/data/pytdx_finance_to_mysql.py +129 -0
  84. hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
  85. hikyuu/data/pytdx_to_h5.py +662 -0
  86. hikyuu/data/pytdx_to_mysql.py +803 -0
  87. hikyuu/data/pytdx_weight_to_mysql.py +196 -0
  88. hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
  89. hikyuu/data/sqlite_mem.py +84 -0
  90. hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
  91. hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
  92. hikyuu/data/sqlite_upgrade/0001.sql +4 -0
  93. hikyuu/data/sqlite_upgrade/0002.sql +48 -0
  94. hikyuu/data/sqlite_upgrade/0003.sql +18 -0
  95. hikyuu/data/sqlite_upgrade/0004.sql +11 -0
  96. hikyuu/data/sqlite_upgrade/0005.sql +28 -0
  97. hikyuu/data/sqlite_upgrade/0006.sql +5 -0
  98. hikyuu/data/sqlite_upgrade/0007.sql +4 -0
  99. hikyuu/data/sqlite_upgrade/0008.sql +22 -0
  100. hikyuu/data/sqlite_upgrade/0009.sql +8 -0
  101. hikyuu/data/sqlite_upgrade/0010.sql +5 -0
  102. hikyuu/data/sqlite_upgrade/0011.sql +16 -0
  103. hikyuu/data/sqlite_upgrade/0012.sql +15 -0
  104. hikyuu/data/sqlite_upgrade/0013.sql +9 -0
  105. hikyuu/data/sqlite_upgrade/0014.sql +607 -0
  106. hikyuu/data/sqlite_upgrade/0015.sql +7 -0
  107. hikyuu/data/sqlite_upgrade/0016.sql +8 -0
  108. hikyuu/data/sqlite_upgrade/0017.sql +16 -0
  109. hikyuu/data/sqlite_upgrade/0018.sql +5 -0
  110. hikyuu/data/sqlite_upgrade/0019.sql +4 -0
  111. hikyuu/data/sqlite_upgrade/0020.sql +4 -0
  112. hikyuu/data/sqlite_upgrade/0021.sql +6 -0
  113. hikyuu/data/sqlite_upgrade/0022.sql +6 -0
  114. hikyuu/data/sqlite_upgrade/0023.sql +7 -0
  115. hikyuu/data/sqlite_upgrade/0024.sql +22 -0
  116. hikyuu/data/sqlite_upgrade/0025.sql +63 -0
  117. hikyuu/data/sqlite_upgrade/__init__.py +1 -0
  118. hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
  119. hikyuu/data/tdx_to_h5.py +464 -0
  120. hikyuu/data/tdx_to_mysql.py +464 -0
  121. hikyuu/data/weight_to_mysql.py +72 -0
  122. hikyuu/data/weight_to_sqlite.py +70 -0
  123. hikyuu/data/zh_bond10_to_mysql.py +30 -0
  124. hikyuu/data/zh_bond10_to_sqlite.py +42 -0
  125. hikyuu/data_driver/__init__.py +49 -0
  126. hikyuu/data_driver/jqdata_data_driver.py +277 -0
  127. hikyuu/data_driver/pytdx_data_driver.py +292 -0
  128. hikyuu/deprecated.py +651 -0
  129. hikyuu/draw/__init__.py +65 -0
  130. hikyuu/draw/drawplot/__init__.py +300 -0
  131. hikyuu/draw/drawplot/bokeh_draw.py +583 -0
  132. hikyuu/draw/drawplot/common.py +89 -0
  133. hikyuu/draw/drawplot/echarts_draw.py +604 -0
  134. hikyuu/draw/drawplot/icon/1.png +0 -0
  135. hikyuu/draw/drawplot/icon/10.png +0 -0
  136. hikyuu/draw/drawplot/icon/11.png +0 -0
  137. hikyuu/draw/drawplot/icon/12.png +0 -0
  138. hikyuu/draw/drawplot/icon/13.png +0 -0
  139. hikyuu/draw/drawplot/icon/14.png +0 -0
  140. hikyuu/draw/drawplot/icon/15.png +0 -0
  141. hikyuu/draw/drawplot/icon/16.png +0 -0
  142. hikyuu/draw/drawplot/icon/17.png +0 -0
  143. hikyuu/draw/drawplot/icon/18.png +0 -0
  144. hikyuu/draw/drawplot/icon/19.png +0 -0
  145. hikyuu/draw/drawplot/icon/2.png +0 -0
  146. hikyuu/draw/drawplot/icon/20.png +0 -0
  147. hikyuu/draw/drawplot/icon/21.png +0 -0
  148. hikyuu/draw/drawplot/icon/22.png +0 -0
  149. hikyuu/draw/drawplot/icon/23.png +0 -0
  150. hikyuu/draw/drawplot/icon/24.png +0 -0
  151. hikyuu/draw/drawplot/icon/25.png +0 -0
  152. hikyuu/draw/drawplot/icon/26.png +0 -0
  153. hikyuu/draw/drawplot/icon/27.png +0 -0
  154. hikyuu/draw/drawplot/icon/28.png +0 -0
  155. hikyuu/draw/drawplot/icon/29.png +0 -0
  156. hikyuu/draw/drawplot/icon/3.png +0 -0
  157. hikyuu/draw/drawplot/icon/30.png +0 -0
  158. hikyuu/draw/drawplot/icon/31.png +0 -0
  159. hikyuu/draw/drawplot/icon/32.png +0 -0
  160. hikyuu/draw/drawplot/icon/33.png +0 -0
  161. hikyuu/draw/drawplot/icon/34.png +0 -0
  162. hikyuu/draw/drawplot/icon/35.png +0 -0
  163. hikyuu/draw/drawplot/icon/36.png +0 -0
  164. hikyuu/draw/drawplot/icon/37.png +0 -0
  165. hikyuu/draw/drawplot/icon/38.png +0 -0
  166. hikyuu/draw/drawplot/icon/39.png +0 -0
  167. hikyuu/draw/drawplot/icon/4.png +0 -0
  168. hikyuu/draw/drawplot/icon/40.png +0 -0
  169. hikyuu/draw/drawplot/icon/41.png +0 -0
  170. hikyuu/draw/drawplot/icon/42.png +0 -0
  171. hikyuu/draw/drawplot/icon/43.png +0 -0
  172. hikyuu/draw/drawplot/icon/44.png +0 -0
  173. hikyuu/draw/drawplot/icon/45.png +0 -0
  174. hikyuu/draw/drawplot/icon/46.png +0 -0
  175. hikyuu/draw/drawplot/icon/47.png +0 -0
  176. hikyuu/draw/drawplot/icon/48.png +0 -0
  177. hikyuu/draw/drawplot/icon/49.png +0 -0
  178. hikyuu/draw/drawplot/icon/5.png +0 -0
  179. hikyuu/draw/drawplot/icon/6.png +0 -0
  180. hikyuu/draw/drawplot/icon/7.png +0 -0
  181. hikyuu/draw/drawplot/icon/8.png +0 -0
  182. hikyuu/draw/drawplot/icon/9.png +0 -0
  183. hikyuu/draw/drawplot/icon/__init__.py +0 -0
  184. hikyuu/draw/drawplot/matplotlib_draw.py +1381 -0
  185. hikyuu/draw/elder.py +135 -0
  186. hikyuu/draw/kaufman.py +192 -0
  187. hikyuu/draw/volume.py +122 -0
  188. hikyuu/examples/Turtle_SG.py +47 -0
  189. hikyuu/examples/__init__.py +1 -0
  190. hikyuu/examples/examples_init.py +33 -0
  191. hikyuu/examples/notebook/000-Index.ipynb +76 -0
  192. hikyuu/examples/notebook/001-overview.ipynb +345 -0
  193. hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
  194. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
  195. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
  196. hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
  197. hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
  198. hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
  199. hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
  200. hikyuu/examples/notebook/009-RealData.ipynb +110 -0
  201. hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
  202. hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
  203. hikyuu/examples/notebook/Demo/Demo1.ipynb +623 -0
  204. hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
  205. hikyuu/examples/notebook/Demo/__init__.py +1 -0
  206. hikyuu/examples/notebook/README.md +1 -0
  207. hikyuu/examples/notebook/__init__.py +1 -0
  208. hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
  209. hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
  210. hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
  211. hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
  212. hikyuu/examples/notebook/images/__init__.py +1 -0
  213. hikyuu/examples/quick_crtsg.py +40 -0
  214. hikyuu/extend.py +387 -0
  215. hikyuu/extend.pyi +621 -0
  216. hikyuu/fetcher/__init__.py +8 -0
  217. hikyuu/fetcher/proxy/__init__.py +12 -0
  218. hikyuu/fetcher/proxy/proxy.py +39 -0
  219. hikyuu/fetcher/proxy/zhima.py +63 -0
  220. hikyuu/fetcher/stock/__init__.py +8 -0
  221. hikyuu/fetcher/stock/zh_block_em.py +140 -0
  222. hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
  223. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
  224. hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
  225. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
  226. hikyuu/flat/Spot.py +440 -0
  227. hikyuu/flat/SpotList.py +74 -0
  228. hikyuu/flat/__init__.py +4 -0
  229. hikyuu/gui/HikyuuTDX.py +842 -0
  230. hikyuu/gui/__init__.py +1 -0
  231. hikyuu/gui/data/CollectSpotThread.py +43 -0
  232. hikyuu/gui/data/CollectToMemThread.py +123 -0
  233. hikyuu/gui/data/CollectToMySQLThread.py +178 -0
  234. hikyuu/gui/data/EscapetimeThread.py +32 -0
  235. hikyuu/gui/data/ImportBlockInfoTask.py +55 -0
  236. hikyuu/gui/data/ImportHistoryFinanceTask.py +141 -0
  237. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
  238. hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
  239. hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
  240. hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
  241. hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
  242. hikyuu/gui/data/ImportZhBond10Task.py +48 -0
  243. hikyuu/gui/data/MainWindow.py +824 -0
  244. hikyuu/gui/data/SchedImportThread.py +62 -0
  245. hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
  246. hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
  247. hikyuu/gui/data/__init__.py +1 -0
  248. hikyuu/gui/data/tool.py +43 -0
  249. hikyuu/gui/hikyuu.ico +0 -0
  250. hikyuu/gui/hikyuu_small.png +0 -0
  251. hikyuu/gui/importdata.py +166 -0
  252. hikyuu/gui/spot_server.py +336 -0
  253. hikyuu/gui/start_huatai_insight.py +510 -0
  254. hikyuu/gui/start_qmt.py +122 -0
  255. hikyuu/hub.py +634 -0
  256. hikyuu/hub.pyi +255 -0
  257. hikyuu/include/__init__.py +1 -0
  258. hikyuu/include/hikyuu/Block.h +173 -0
  259. hikyuu/include/hikyuu/DataType.h +173 -0
  260. hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
  261. hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
  262. hikyuu/include/hikyuu/KData.h +271 -0
  263. hikyuu/include/hikyuu/KDataImp.h +94 -0
  264. hikyuu/include/hikyuu/KQuery.h +275 -0
  265. hikyuu/include/hikyuu/KRecord.h +94 -0
  266. hikyuu/include/hikyuu/MarketInfo.h +132 -0
  267. hikyuu/include/hikyuu/Stock.h +351 -0
  268. hikyuu/include/hikyuu/StockManager.h +371 -0
  269. hikyuu/include/hikyuu/StockMapIterator.h +72 -0
  270. hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
  271. hikyuu/include/hikyuu/StockWeight.h +148 -0
  272. hikyuu/include/hikyuu/StrategyContext.h +107 -0
  273. hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
  274. hikyuu/include/hikyuu/TransRecord.h +79 -0
  275. hikyuu/include/hikyuu/ZhBond10.h +36 -0
  276. hikyuu/include/hikyuu/__init__.py +1 -0
  277. hikyuu/include/hikyuu/analysis/__init__.py +1 -0
  278. hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
  279. hikyuu/include/hikyuu/analysis/combinate.h +115 -0
  280. hikyuu/include/hikyuu/config.h +51 -0
  281. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
  282. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +108 -0
  283. hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
  284. hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
  285. hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
  286. hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
  287. hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
  288. hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
  289. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
  290. hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
  291. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
  292. hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
  293. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
  294. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
  295. hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
  296. hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
  297. hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
  298. hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
  299. hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
  300. hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
  301. hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
  302. hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
  303. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +36 -0
  304. hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
  305. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +31 -0
  306. hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
  307. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +36 -0
  308. hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
  309. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
  310. hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
  311. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
  312. hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
  313. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
  314. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
  315. hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
  316. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
  317. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
  318. hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
  319. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
  320. hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
  321. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
  322. hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
  323. hikyuu/include/hikyuu/debug.h +32 -0
  324. hikyuu/include/hikyuu/doc.h +166 -0
  325. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
  326. hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
  327. hikyuu/include/hikyuu/global/__init__.py +1 -0
  328. hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
  329. hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
  330. hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
  331. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
  332. hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
  333. hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
  334. hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
  335. hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
  336. hikyuu/include/hikyuu/global/sysinfo.h +67 -0
  337. hikyuu/include/hikyuu/hikyuu.h +55 -0
  338. hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
  339. hikyuu/include/hikyuu/indicator/Indicator.h +410 -0
  340. hikyuu/include/hikyuu/indicator/IndicatorImp.h +419 -0
  341. hikyuu/include/hikyuu/indicator/__init__.py +1 -0
  342. hikyuu/include/hikyuu/indicator/build_in.h +122 -0
  343. hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
  344. hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
  345. hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
  346. hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +34 -0
  347. hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
  348. hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
  349. hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
  350. hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
  351. hikyuu/include/hikyuu/indicator/crt/ATR.h +44 -0
  352. hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
  353. hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
  354. hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
  355. hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
  356. hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +41 -0
  357. hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
  358. hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
  359. hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
  360. hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +30 -0
  361. hikyuu/include/hikyuu/indicator/crt/CORR.h +26 -0
  362. hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
  363. hikyuu/include/hikyuu/indicator/crt/COST.h +34 -0
  364. hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
  365. hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
  366. hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
  367. hikyuu/include/hikyuu/indicator/crt/DECLINE.h +34 -0
  368. hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
  369. hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
  370. hikyuu/include/hikyuu/indicator/crt/DMA.h +35 -0
  371. hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
  372. hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
  373. hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
  374. hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
  375. hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
  376. hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
  377. hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
  378. hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
  379. hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
  380. hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
  381. hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
  382. hikyuu/include/hikyuu/indicator/crt/HSL.h +39 -0
  383. hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
  384. hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
  385. hikyuu/include/hikyuu/indicator/crt/INDEX.h +48 -0
  386. hikyuu/include/hikyuu/indicator/crt/INSUM.h +36 -0
  387. hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
  388. hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
  389. hikyuu/include/hikyuu/indicator/crt/ISINF.h +28 -0
  390. hikyuu/include/hikyuu/indicator/crt/ISINFA.h +28 -0
  391. hikyuu/include/hikyuu/indicator/crt/ISLASTBAR.h +30 -0
  392. hikyuu/include/hikyuu/indicator/crt/ISNA.h +29 -0
  393. hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
  394. hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
  395. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +23 -0
  396. hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
  397. hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
  398. hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
  399. hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
  400. hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
  401. hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
  402. hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
  403. hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
  404. hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
  405. hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
  406. hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
  407. hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
  408. hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
  409. hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
  410. hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
  411. hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
  412. hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
  413. hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
  414. hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
  415. hikyuu/include/hikyuu/indicator/crt/REPLACE.h +29 -0
  416. hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
  417. hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
  418. hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
  419. hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
  420. hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
  421. hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
  422. hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
  423. hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
  424. hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
  425. hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
  426. hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
  427. hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
  428. hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
  429. hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
  430. hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
  431. hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
  432. hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +24 -0
  433. hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
  434. hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
  435. hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
  436. hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
  437. hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
  438. hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
  439. hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
  440. hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
  441. hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
  442. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
  443. hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
  444. hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
  445. hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
  446. hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
  447. hikyuu/include/hikyuu/indicator/crt/WMA.h +46 -0
  448. hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
  449. hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
  450. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
  451. hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
  452. hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
  453. hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
  454. hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
  455. hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
  456. hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
  457. hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
  458. hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
  459. hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
  460. hikyuu/include/hikyuu/indicator/imp/IAtr.h +28 -0
  461. hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
  462. hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
  463. hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
  464. hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +28 -0
  465. hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
  466. hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
  467. hikyuu/include/hikyuu/indicator/imp/IContext.h +44 -0
  468. hikyuu/include/hikyuu/indicator/imp/ICorr.h +41 -0
  469. hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
  470. hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
  471. hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
  472. hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
  473. hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
  474. hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
  475. hikyuu/include/hikyuu/indicator/imp/IDma.h +47 -0
  476. hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
  477. hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
  478. hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
  479. hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
  480. hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
  481. hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
  482. hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
  483. hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
  484. hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
  485. hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
  486. hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
  487. hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
  488. hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
  489. hikyuu/include/hikyuu/indicator/imp/IIsInf.h +26 -0
  490. hikyuu/include/hikyuu/indicator/imp/IIsInfa.h +26 -0
  491. hikyuu/include/hikyuu/indicator/imp/IIsLastBar.h +27 -0
  492. hikyuu/include/hikyuu/indicator/imp/IIsNa.h +26 -0
  493. hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
  494. hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
  495. hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
  496. hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
  497. hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
  498. hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
  499. hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
  500. hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
  501. hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
  502. hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
  503. hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
  504. hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
  505. hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
  506. hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
  507. hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
  508. hikyuu/include/hikyuu/indicator/imp/IReplace.h +26 -0
  509. hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
  510. hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
  511. hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
  512. hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
  513. hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
  514. hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
  515. hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
  516. hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
  517. hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
  518. hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
  519. hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
  520. hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
  521. hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
  522. hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
  523. hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
  524. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +41 -0
  525. hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
  526. hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
  527. hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
  528. hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
  529. hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
  530. hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
  531. hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
  532. hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
  533. hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
  534. hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
  535. hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
  536. hikyuu/include/hikyuu/indicator/imp/IWma.h +30 -0
  537. hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
  538. hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
  539. hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
  540. hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
  541. hikyuu/include/hikyuu/indicator_talib/__init__.py +1 -0
  542. hikyuu/include/hikyuu/indicator_talib/imp/TaAdosc.h +26 -0
  543. hikyuu/include/hikyuu/indicator_talib/imp/TaApo.h +24 -0
  544. hikyuu/include/hikyuu/indicator_talib/imp/TaBbands.h +24 -0
  545. hikyuu/include/hikyuu/indicator_talib/imp/TaMa.h +24 -0
  546. hikyuu/include/hikyuu/indicator_talib/imp/TaMacd.h +24 -0
  547. hikyuu/include/hikyuu/indicator_talib/imp/TaMacdext.h +24 -0
  548. hikyuu/include/hikyuu/indicator_talib/imp/TaMama.h +24 -0
  549. hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +41 -0
  550. hikyuu/include/hikyuu/indicator_talib/imp/TaPpo.h +24 -0
  551. hikyuu/include/hikyuu/indicator_talib/imp/TaSar.h +26 -0
  552. hikyuu/include/hikyuu/indicator_talib/imp/TaSarext.h +31 -0
  553. hikyuu/include/hikyuu/indicator_talib/imp/TaStddev.h +24 -0
  554. hikyuu/include/hikyuu/indicator_talib/imp/TaStoch.h +27 -0
  555. hikyuu/include/hikyuu/indicator_talib/imp/TaStochf.h +26 -0
  556. hikyuu/include/hikyuu/indicator_talib/imp/TaStochrsi.h +24 -0
  557. hikyuu/include/hikyuu/indicator_talib/imp/TaT3.h +24 -0
  558. hikyuu/include/hikyuu/indicator_talib/imp/TaUltosc.h +26 -0
  559. hikyuu/include/hikyuu/indicator_talib/imp/TaVar.h +24 -0
  560. hikyuu/include/hikyuu/indicator_talib/imp/__init__.py +1 -0
  561. hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +288 -0
  562. hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +1374 -0
  563. hikyuu/include/hikyuu/indicator_talib/ta_crt.h +322 -0
  564. hikyuu/include/hikyuu/python/__init__.py +1 -0
  565. hikyuu/include/hikyuu/python/pickle_support.h +90 -0
  566. hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
  567. hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
  568. hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
  569. hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
  570. hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
  571. hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
  572. hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
  573. hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
  574. hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
  575. hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
  576. hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
  577. hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
  578. hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
  579. hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
  580. hikyuu/include/hikyuu/serialization/__init__.py +1 -0
  581. hikyuu/include/hikyuu/serialization/all.h +26 -0
  582. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
  583. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
  584. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
  585. hikyuu/include/hikyuu/strategy/Strategy.h +191 -0
  586. hikyuu/include/hikyuu/strategy/__init__.py +1 -0
  587. hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
  588. hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
  589. hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
  590. hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
  591. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +207 -0
  592. hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
  593. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +108 -0
  594. hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
  595. hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
  596. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +778 -0
  597. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +151 -0
  598. hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
  599. hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
  600. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
  601. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
  602. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
  603. hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
  604. hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
  605. hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
  606. hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
  607. hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
  608. hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
  609. hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
  610. hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
  611. hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
  612. hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
  613. hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
  614. hikyuu/include/hikyuu/trade_sys/all.h +24 -0
  615. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
  616. hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
  617. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +16 -0
  618. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
  619. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
  620. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
  621. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
  622. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
  623. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
  624. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +23 -0
  625. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
  626. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +241 -0
  627. hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
  628. hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
  629. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
  630. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
  631. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
  632. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
  633. hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
  634. hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
  635. hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
  636. hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
  637. hikyuu/include/hikyuu/trade_sys/condition/imp/SubCondition.h +42 -0
  638. hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
  639. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
  640. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
  641. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
  642. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
  643. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
  644. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
  645. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +178 -0
  646. hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
  647. hikyuu/include/hikyuu/trade_sys/environment/build_in.h +16 -0
  648. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
  649. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
  650. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
  651. hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
  652. hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
  653. hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
  654. hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
  655. hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
  656. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +230 -0
  657. hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
  658. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +20 -0
  659. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +20 -0
  660. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
  661. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
  662. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +20 -0
  663. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +20 -0
  664. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
  665. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +20 -0
  666. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
  667. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
  668. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
  669. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
  670. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
  671. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
  672. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
  673. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
  674. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
  675. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
  676. hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
  677. hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
  678. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +13 -0
  679. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
  680. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
  681. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
  682. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +30 -0
  683. hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
  684. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
  685. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
  686. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
  687. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +41 -0
  688. hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
  689. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +256 -0
  690. hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
  691. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +14 -0
  692. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +23 -0
  693. hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
  694. hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
  695. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
  696. hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
  697. hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
  698. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
  699. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
  700. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
  701. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
  702. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
  703. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
  704. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
  705. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
  706. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
  707. hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
  708. hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
  709. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
  710. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
  711. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
  712. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
  713. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
  714. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
  715. hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
  716. hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
  717. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +52 -0
  718. hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
  719. hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
  720. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
  721. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
  722. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
  723. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
  724. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
  725. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
  726. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
  727. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
  728. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
  729. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
  730. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
  731. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
  732. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
  733. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
  734. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
  735. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
  736. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
  737. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +249 -0
  738. hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
  739. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +22 -0
  740. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
  741. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
  742. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +28 -0
  743. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
  744. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
  745. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
  746. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
  747. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
  748. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
  749. hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
  750. hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
  751. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
  752. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
  753. hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
  754. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
  755. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
  756. hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
  757. hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
  758. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
  759. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
  760. hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
  761. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
  762. hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
  763. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
  764. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
  765. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
  766. hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
  767. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
  768. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
  769. hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
  770. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
  771. hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
  772. hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
  773. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
  774. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
  775. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
  776. hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
  777. hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
  778. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +50 -0
  779. hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
  780. hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
  781. hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
  782. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
  783. hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
  784. hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
  785. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
  786. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +21 -0
  787. hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
  788. hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
  789. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
  790. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
  791. hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
  792. hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
  793. hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
  794. hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
  795. hikyuu/include/hikyuu/utilities/Log.h +411 -0
  796. hikyuu/include/hikyuu/utilities/Null.h +176 -0
  797. hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
  798. hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
  799. hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
  800. hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
  801. hikyuu/include/hikyuu/utilities/__init__.py +1 -0
  802. hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
  803. hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
  804. hikyuu/include/hikyuu/utilities/base64.h +52 -0
  805. hikyuu/include/hikyuu/utilities/config.h +41 -0
  806. hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
  807. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +438 -0
  808. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +343 -0
  809. hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
  810. hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
  811. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +248 -0
  812. hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
  813. hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
  814. hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
  815. hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
  816. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
  817. hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
  818. hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
  819. hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
  820. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +56 -0
  821. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +88 -0
  822. hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
  823. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
  824. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
  825. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
  826. hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
  827. hikyuu/include/hikyuu/utilities/exception.h +52 -0
  828. hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
  829. hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
  830. hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
  831. hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
  832. hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
  833. hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
  834. hikyuu/include/hikyuu/utilities/md5.h +41 -0
  835. hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
  836. hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
  837. hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
  838. hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
  839. hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
  840. hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
  841. hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
  842. hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
  843. hikyuu/include/hikyuu/utilities/os.h +102 -0
  844. hikyuu/include/hikyuu/utilities/osdef.h +159 -0
  845. hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
  846. hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
  847. hikyuu/include/hikyuu/utilities/string_view.h +70 -0
  848. hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
  849. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
  850. hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
  851. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
  852. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
  853. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
  854. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
  855. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
  856. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
  857. hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
  858. hikyuu/include/hikyuu/utilities/thread/algorithm.h +110 -0
  859. hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
  860. hikyuu/include/hikyuu/version.h +24 -0
  861. hikyuu/indicator/__init__.py +29 -0
  862. hikyuu/indicator/indicator.py +157 -0
  863. hikyuu/indicator/pyind.py +47 -0
  864. hikyuu/indicator/talib_wrap.py +1273 -0
  865. hikyuu/interactive.py +385 -0
  866. hikyuu/setup.py +104 -0
  867. hikyuu/shell/__init__.py +0 -0
  868. hikyuu/shell/cmdserver.py +126 -0
  869. hikyuu/shell/hkucmd.py +110 -0
  870. hikyuu/shell/hkushell.py +20 -0
  871. hikyuu/strategy/__init__.py +2 -0
  872. hikyuu/strategy/strategy_demo1.py +54 -0
  873. hikyuu/strategy/strategy_demo2.py +47 -0
  874. hikyuu/strategy/strategy_demo3.py +24 -0
  875. hikyuu/test/AllocateFunds.py +25 -0
  876. hikyuu/test/Condition.py +95 -0
  877. hikyuu/test/Datetime.py +61 -0
  878. hikyuu/test/Environment.py +88 -0
  879. hikyuu/test/Indicator.py +233 -0
  880. hikyuu/test/KData.py +64 -0
  881. hikyuu/test/MarketInfo.py +26 -0
  882. hikyuu/test/MoneyManager.py +88 -0
  883. hikyuu/test/Parameter.py +62 -0
  884. hikyuu/test/ProfitGoal.py +83 -0
  885. hikyuu/test/Signal.py +160 -0
  886. hikyuu/test/Slippage.py +88 -0
  887. hikyuu/test/Stock.py +127 -0
  888. hikyuu/test/StockTypeInfo.py +47 -0
  889. hikyuu/test/Stoploss.py +86 -0
  890. hikyuu/test/TradeCost.py +71 -0
  891. hikyuu/test/__init__.py +0 -0
  892. hikyuu/test/test.py +63 -0
  893. hikyuu/test/test_init.py +36 -0
  894. hikyuu/tools/__init__.py +1 -0
  895. hikyuu/tools/copy_file.py +16 -0
  896. hikyuu/tools/delete_index.py +50 -0
  897. hikyuu/tools/fenge.py +139 -0
  898. hikyuu/tools/h5_data_clear.py +163 -0
  899. hikyuu/tools/mysql_clear_last_day_data.py +61 -0
  900. hikyuu/tools/update_block_info.py +168 -0
  901. hikyuu/trade_manage/__init__.py +30 -0
  902. hikyuu/trade_manage/__init__.pyi +713 -0
  903. hikyuu/trade_manage/broker.py +95 -0
  904. hikyuu/trade_manage/broker.pyi +54 -0
  905. hikyuu/trade_manage/broker_easytrader.py +63 -0
  906. hikyuu/trade_manage/broker_easytrader.pyi +21 -0
  907. hikyuu/trade_manage/broker_mail.py +101 -0
  908. hikyuu/trade_manage/broker_mail.pyi +55 -0
  909. hikyuu/trade_manage/trade.py +111 -0
  910. hikyuu/trade_manage/trade.pyi +719 -0
  911. hikyuu/trade_sys/__init__.py +27 -0
  912. hikyuu/trade_sys/trade_sys.py +251 -0
  913. hikyuu/util/__init__.py +49 -0
  914. hikyuu/util/__init__.pyi +55 -0
  915. hikyuu/util/check.py +153 -0
  916. hikyuu/util/check.pyi +59 -0
  917. hikyuu/util/mylog.py +264 -0
  918. hikyuu/util/mylog.pyi +70 -0
  919. hikyuu/util/notebook.py +47 -0
  920. hikyuu/util/notebook.pyi +23 -0
  921. hikyuu/util/singleton.py +29 -0
  922. hikyuu/util/singleton.pyi +18 -0
  923. hikyuu/util/slice.py +43 -0
  924. hikyuu/util/slice.pyi +8 -0
  925. hikyuu/util/timeout.py +83 -0
  926. hikyuu-2.3.1.dist-info/LICENSE +201 -0
  927. hikyuu-2.3.1.dist-info/METADATA +151 -0
  928. hikyuu-2.3.1.dist-info/RECORD +931 -0
  929. hikyuu-2.3.1.dist-info/WHEEL +5 -0
  930. hikyuu-2.3.1.dist-info/entry_points.txt +3 -0
  931. hikyuu-2.3.1.dist-info/top_level.txt +115 -0
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-03-13
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "../MultiFactorBase.h"
11
+
12
+ namespace hku {
13
+
14
+ class ICMultiFactor : public MultiFactorBase {
15
+ MULTIFACTOR_IMP(ICMultiFactor)
16
+ MULTIFACTOR_NO_PRIVATE_MEMBER_SERIALIZATION
17
+
18
+ public:
19
+ ICMultiFactor();
20
+ ICMultiFactor(const IndicatorList& inds, const StockList& stks, const KQuery& query,
21
+ const Stock& ref_stk, int ic_n, int ic_rolling_n, bool spearman);
22
+ virtual ~ICMultiFactor() = default;
23
+
24
+ virtual void _checkParam(const string& name) const override;
25
+ };
26
+
27
+ } // namespace hku
@@ -0,0 +1,41 @@
1
+ /*
2
+ * Copyright (c) 2024 hikyuu.org
3
+ *
4
+ * Created on: 2024-03-13
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+
10
+ #include "../MultiFactorBase.h"
11
+
12
+ namespace hku {
13
+
14
+ /**
15
+ * 指定指标权重评分板,证券得分为其个指标的权重之和
16
+ */
17
+ class WeightMultiFactor : public MultiFactorBase {
18
+ MULTIFACTOR_IMP(WeightMultiFactor)
19
+
20
+ public:
21
+ WeightMultiFactor();
22
+ WeightMultiFactor(const vector<Indicator>& inds, const PriceList& weights,
23
+ const StockList& stks, const KQuery& query, const Stock& ref_stk, int ic_n,
24
+ bool spearman);
25
+ virtual ~WeightMultiFactor() = default;
26
+
27
+ private:
28
+ PriceList m_weights; // 每个指标权重,与输入 inds 列表等长
29
+
30
+ #if HKU_SUPPORT_SERIALIZATION
31
+ private:
32
+ friend class boost::serialization::access;
33
+ template <class Archive>
34
+ void serialize(Archive& ar, const unsigned int version) {
35
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(MultiFactorBase);
36
+ ar& BOOST_SERIALIZATION_NVP(m_weights);
37
+ }
38
+ #endif
39
+ };
40
+
41
+ } // namespace hku
@@ -0,0 +1,256 @@
1
+ /*
2
+ * Portfolio.h
3
+ *
4
+ * Created on: 2016年2月21日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PORTFOLIO_PORTFOLIO_H_
10
+ #define TRADE_SYS_PORTFOLIO_PORTFOLIO_H_
11
+
12
+ #include "../allocatefunds/AllocateFundsBase.h"
13
+ #include "../selector/SelectorBase.h"
14
+
15
+ namespace hku {
16
+
17
+ /*
18
+ * 资产组合
19
+ * @ingroup Portfolio
20
+ */
21
+ class HKU_API Portfolio : public enable_shared_from_this<Portfolio> {
22
+ PARAMETER_SUPPORT_WITH_CHECK
23
+
24
+ public:
25
+ /** 默认构造函数 */
26
+ Portfolio();
27
+
28
+ /**
29
+ * @brief 指定名称的构造函数
30
+ * @param name 名称
31
+ */
32
+ explicit Portfolio(const string& name);
33
+
34
+ /**
35
+ * @brief 构造函数
36
+ * @param tm 账户
37
+ * @param se 选择器
38
+ * @param af 资产分配算法
39
+ */
40
+ Portfolio(const TradeManagerPtr& tm, const SelectorPtr& se, const AFPtr& af);
41
+
42
+ /** 析构函数 */
43
+ virtual ~Portfolio();
44
+
45
+ /** 组合名称 */
46
+ const string& name() const;
47
+
48
+ /** 设置组合名称 */
49
+ void name(const string& name);
50
+
51
+ /**
52
+ * @brief 运行资产组合
53
+ * @details
54
+ * <pre>
55
+ * 调仓模式 adjust_mode 说明:
56
+ * - "query" 模式,跟随输入参数 query 中的 ktype,此时 adjust_cycle 为以 query 中的 ktype
57
+ * 决定周期间隔;
58
+ * - "day" 模式,adjust_cycle 为调仓间隔天数
59
+ * - "week" | "month" | "quarter" | "year" 模式时,adjust_cycle
60
+ * 为对应的每周第N日、每月第n日、每季度第n日、每年第n日,在 delay_to_trading_day 为 false 时
61
+ * 如果当日不是交易日将会被跳过调仓;当 delay_to_trading_day 为 true时,如果当日不是交易日
62
+ * 将会顺延至当前周期内的第一个交易日,如指定每月第1日调仓,但当月1日不是交易日,则将顺延至当月
63
+ * 的第一个交易日
64
+ * </pre>
65
+ * @note
66
+ * 由于各个组件可能存在参数变化的情况,无法自动感知判断是否需要重新计算,此时需要手工指定强制计算
67
+ * @param query 查询条件, 其 KType 必须为 KQuery::DAY
68
+ * @param adjust_cycle 调仓周期(受 adjust_mode 影响), 默认为1
69
+ * @param force 是否强制重计算
70
+ * @param adjust_mode 调仓模式 "query" | "day" | "week" | "month" | "year"
71
+ * @param delay_to_trading_day true 时,如果当日不是交易日将会被顺延至当前周期内的第一个交易日
72
+ */
73
+ void run(const KQuery& query, int adjust_cycle = 1, bool force = false,
74
+ const string& adjust_mode = "query", bool delay_to_trading_day = true);
75
+
76
+ /** 修改查询条件 */
77
+ void setQuery(const KQuery& query);
78
+
79
+ /** 获取查询条件 */
80
+ const KQuery& getQuery() const;
81
+
82
+ /** 获取账户 */
83
+ TMPtr getTM() const;
84
+
85
+ /** 设置账户 */
86
+ void setTM(const TMPtr& tm);
87
+
88
+ /** 获取选择器 */
89
+ SEPtr getSE() const;
90
+
91
+ /** 设置选择器 */
92
+ void setSE(const SEPtr& se);
93
+
94
+ /** 获取资产分配算法 */
95
+ AFPtr getAF() const;
96
+
97
+ /** 设置资产分配算法 */
98
+ void setAF(const AFPtr& af);
99
+
100
+ /** 复位操作 */
101
+ void reset();
102
+
103
+ typedef shared_ptr<Portfolio> PortfolioPtr;
104
+
105
+ /** 克隆操作 */
106
+ PortfolioPtr clone();
107
+
108
+ /** 获取所有原型系统列表,与 SE 同 */
109
+ const SystemList& getSystemList() const;
110
+
111
+ /** 获取所有实际运行的系统列表,与 SE 同 */
112
+ const SystemList& getRealSystemList() const;
113
+
114
+ private:
115
+ void initParam();
116
+
117
+ /** 运行前准备 */
118
+ void _readyForRun();
119
+
120
+ void _runMoment(const Datetime& date, const Datetime& nextCycle, bool adjust);
121
+
122
+ void _runOnMode(const DatetimeList& datelist, int adjust_cycle, const string& mode);
123
+
124
+ void _runOnModeDelayToTradingDay(const DatetimeList& datelist, int adjust_cycle,
125
+ const string& mode);
126
+
127
+ protected:
128
+ string m_name;
129
+ TMPtr m_tm;
130
+ TMPtr m_cash_tm; // 仅仅负责内部资金的管理(即只需要 checkout 到子账号, 从账户checkin现金)
131
+ SEPtr m_se;
132
+ AFPtr m_af;
133
+
134
+ KQuery m_query; // 关联的查询条件
135
+ bool m_need_calculate; // 是否需要计算标志
136
+
137
+ SystemList m_real_sys_list; // 所有实际运行的子系统列表
138
+
139
+ // 用于中间计算的临时数据
140
+ std::unordered_set<SYSPtr> m_running_sys_set;
141
+ SystemList m_dlist_sys_list; // 因证券退市,无法执行买入的系统(资产全部损失)
142
+ SystemWeightList m_delay_adjust_sys_list; // 延迟调仓卖出的系统列表
143
+ SystemWeightList m_tmp_selected_list;
144
+ SystemWeightList m_tmp_will_remove_sys;
145
+
146
+ //============================================
147
+ // 序列化支持
148
+ //============================================
149
+ #if HKU_SUPPORT_SERIALIZATION
150
+ private:
151
+ friend class boost::serialization::access;
152
+ template <class Archive>
153
+ void save(Archive& ar, const unsigned int version) const {
154
+ ar& BOOST_SERIALIZATION_NVP(m_name);
155
+ ar& BOOST_SERIALIZATION_NVP(m_params);
156
+ ar& BOOST_SERIALIZATION_NVP(m_tm);
157
+ ar& BOOST_SERIALIZATION_NVP(m_cash_tm);
158
+ ar& BOOST_SERIALIZATION_NVP(m_se);
159
+ ar& BOOST_SERIALIZATION_NVP(m_af);
160
+ ar& BOOST_SERIALIZATION_NVP(m_query);
161
+ ar& BOOST_SERIALIZATION_NVP(m_need_calculate);
162
+ }
163
+
164
+ template <class Archive>
165
+ void load(Archive& ar, const unsigned int version) {
166
+ ar& BOOST_SERIALIZATION_NVP(m_name);
167
+ ar& BOOST_SERIALIZATION_NVP(m_params);
168
+ ar& BOOST_SERIALIZATION_NVP(m_tm);
169
+ ar& BOOST_SERIALIZATION_NVP(m_cash_tm);
170
+ ar& BOOST_SERIALIZATION_NVP(m_se);
171
+ ar& BOOST_SERIALIZATION_NVP(m_af);
172
+ ar& BOOST_SERIALIZATION_NVP(m_query);
173
+ ar& BOOST_SERIALIZATION_NVP(m_need_calculate);
174
+ }
175
+
176
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
177
+ #endif /* HKU_SUPPORT_SERIALIZATION */
178
+ };
179
+
180
+ /**
181
+ * 客户程序都应使用该指针类型
182
+ * @ingroup Selector
183
+ */
184
+ typedef shared_ptr<Portfolio> PortfolioPtr;
185
+ typedef shared_ptr<Portfolio> PFPtr;
186
+
187
+ HKU_API std::ostream& operator<<(std::ostream&, const Portfolio&);
188
+ HKU_API std::ostream& operator<<(std::ostream&, const PortfolioPtr&);
189
+
190
+ inline const string& Portfolio::name() const {
191
+ return m_name;
192
+ }
193
+
194
+ inline void Portfolio::name(const string& name) {
195
+ m_name = name;
196
+ }
197
+
198
+ inline void Portfolio::setQuery(const KQuery& query) {
199
+ if (m_query != query) {
200
+ m_query = query;
201
+ m_need_calculate = true;
202
+ }
203
+ }
204
+
205
+ inline const KQuery& Portfolio::getQuery() const {
206
+ return m_query;
207
+ }
208
+
209
+ inline TMPtr Portfolio::getTM() const {
210
+ return m_tm;
211
+ }
212
+
213
+ inline void Portfolio::setTM(const TMPtr& tm) {
214
+ if (m_tm != tm) {
215
+ m_tm = tm;
216
+ m_need_calculate = true;
217
+ }
218
+ }
219
+
220
+ inline SEPtr Portfolio::getSE() const {
221
+ return m_se;
222
+ }
223
+
224
+ inline void Portfolio::setSE(const SEPtr& se) {
225
+ if (m_se != se) {
226
+ m_se = se;
227
+ m_need_calculate = true;
228
+ }
229
+ }
230
+
231
+ inline AFPtr Portfolio::getAF() const {
232
+ return m_af;
233
+ }
234
+
235
+ inline void Portfolio::setAF(const AFPtr& af) {
236
+ if (m_af != af) {
237
+ m_af = af;
238
+ m_need_calculate = true;
239
+ }
240
+ }
241
+
242
+ inline const SystemList& Portfolio::getRealSystemList() const {
243
+ return m_real_sys_list;
244
+ }
245
+
246
+ } /* namespace hku */
247
+
248
+ #if FMT_VERSION >= 90000
249
+ template <>
250
+ struct fmt::formatter<hku::Portfolio> : ostream_formatter {};
251
+
252
+ template <>
253
+ struct fmt::formatter<hku::PortfolioPtr> : ostream_formatter {};
254
+ #endif
255
+
256
+ #endif /* TRADE_SYS_PORTFOLIO_PORTFOLIO_H_ */
@@ -0,0 +1,14 @@
1
+ /*
2
+ * build_in.h
3
+ *
4
+ * Created on: 2016年3月28日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PORTFOLIO_BUILD_IN_H_
10
+ #define TRADE_SYS_PORTFOLIO_BUILD_IN_H_
11
+
12
+ #include "crt/PF_Simple.h"
13
+
14
+ #endif /* TRADE_SYS_PORTFOLIO_BUILD_IN_H_ */
@@ -0,0 +1,23 @@
1
+ /*
2
+ * PF_Simple.h
3
+ *
4
+ * Created on: 2018年1月13日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PORTFOLIO_IMP_PF_SIMPLE_H_
10
+ #define TRADE_SYS_PORTFOLIO_IMP_PF_SIMPLE_H_
11
+
12
+ #include "../Portfolio.h"
13
+ #include "../../selector/crt/SE_Fixed.h"
14
+ #include "../../allocatefunds/crt/AF_EqualWeight.h"
15
+
16
+ namespace hku {
17
+
18
+ PortfolioPtr HKU_API PF_Simple(const TMPtr& tm = TradeManagerPtr(), const SEPtr& se = SE_Fixed(),
19
+ const AFPtr& af = AF_EqualWeight());
20
+
21
+ } /* namespace hku */
22
+
23
+ #endif /* TRADE_SYS_PORTFOLIO_IMP_PF_SIMPLE_H_ */
@@ -0,0 +1,189 @@
1
+ /*
2
+ * ProfitGoal.h
3
+ *
4
+ * Created on: 2013-3-7
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef PROFITGOAL_H_
10
+ #define PROFITGOAL_H_
11
+
12
+ #include "../../KData.h"
13
+ #include "../../utilities/Parameter.h"
14
+ #include "../../trade_manage/TradeManager.h"
15
+
16
+ namespace hku {
17
+
18
+ /**
19
+ * 盈利目标策略基类
20
+ * @details 交易前确定盈利目标,用于系统在价格达到盈利目标时执行卖出
21
+ * @ingroup ProfitGoal
22
+ */
23
+ class HKU_API ProfitGoalBase : public enable_shared_from_this<ProfitGoalBase> {
24
+ PARAMETER_SUPPORT_WITH_CHECK
25
+
26
+ public:
27
+ ProfitGoalBase();
28
+ explicit ProfitGoalBase(const string& name);
29
+ ProfitGoalBase(const ProfitGoalBase&) = default;
30
+ virtual ~ProfitGoalBase();
31
+
32
+ /** 设置账户 */
33
+ void setTM(const TradeManagerPtr& tm);
34
+
35
+ /** 获取账户 */
36
+ TradeManagerPtr getTM() const;
37
+
38
+ /** 设置交易对象 */
39
+ void setTO(const KData& kdata);
40
+
41
+ /** 获取交易对象 */
42
+ KData getTO() const;
43
+
44
+ /** 获取名称 */
45
+ const string& name() const;
46
+
47
+ /** 设置名称 */
48
+ void name(const string& name);
49
+
50
+ /** 接收实际交易变化情况 */
51
+ virtual void buyNotify(const TradeRecord&) {}
52
+
53
+ /** 接收实际交易变化情况 */
54
+ virtual void sellNotify(const TradeRecord&) {}
55
+
56
+ /** 复位操作 */
57
+ void reset();
58
+
59
+ typedef shared_ptr<ProfitGoalBase> ProfitGoalPtr;
60
+ /** 克隆接口 */
61
+ ProfitGoalPtr clone();
62
+
63
+ /**
64
+ * 买入时计算目标价格
65
+ * @param datetime 买入时间
66
+ * @param price 买入价格
67
+ * @return 返回Null<price_t>时,表示未限定目标; 返回0,意味着需要卖出
68
+ */
69
+ virtual price_t getGoal(const Datetime& datetime, price_t price) = 0;
70
+
71
+ /** 返回0,表示未设目标 */
72
+ virtual price_t getShortGoal(const Datetime&, price_t) {
73
+ return 0.0;
74
+ }
75
+
76
+ /** 子类复位接口 */
77
+ virtual void _reset() {}
78
+
79
+ /** 子类克隆接口 */
80
+ virtual ProfitGoalPtr _clone() = 0;
81
+
82
+ /** 子类计算接口,由setTO调用 */
83
+ virtual void _calculate() = 0;
84
+
85
+ protected:
86
+ string m_name;
87
+ KData m_kdata;
88
+ TradeManagerPtr m_tm;
89
+
90
+ //============================================
91
+ // 序列化支持
92
+ //============================================
93
+ #if HKU_SUPPORT_SERIALIZATION
94
+ private:
95
+ friend class boost::serialization::access;
96
+ template <class Archive>
97
+ void save(Archive& ar, const unsigned int version) const {
98
+ ar& BOOST_SERIALIZATION_NVP(m_name);
99
+ ar& BOOST_SERIALIZATION_NVP(m_params);
100
+ }
101
+
102
+ template <class Archive>
103
+ void load(Archive& ar, const unsigned int version) {
104
+ ar& BOOST_SERIALIZATION_NVP(m_name);
105
+ ar& BOOST_SERIALIZATION_NVP(m_params);
106
+ }
107
+
108
+ BOOST_SERIALIZATION_SPLIT_MEMBER()
109
+ #endif /* HKU_SUPPORT_SERIALIZATION */
110
+ };
111
+
112
+ #if HKU_SUPPORT_SERIALIZATION
113
+ BOOST_SERIALIZATION_ASSUME_ABSTRACT(ProfitGoalBase)
114
+ #endif
115
+
116
+ #if HKU_SUPPORT_SERIALIZATION
117
+ /**
118
+ * 对于没有私有变量的继承子类,可直接使用该宏定义序列化
119
+ * @code
120
+ * class Drived: public ProfitGoalBase {
121
+ * PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION
122
+ *
123
+ * public:
124
+ * Drived();
125
+ * ...
126
+ * };
127
+ * @endcode
128
+ * @ingroup ProfitGoal
129
+ */
130
+ #define PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION \
131
+ private: \
132
+ friend class boost::serialization::access; \
133
+ template <class Archive> \
134
+ void serialize(Archive& ar, const unsigned int version) { \
135
+ ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(ProfitGoalBase); \
136
+ }
137
+ #else
138
+ #define PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION
139
+ #endif
140
+
141
+ #define PROFITGOAL_IMP(classname) \
142
+ public: \
143
+ virtual ProfitGoalPtr _clone() override { \
144
+ return std::make_shared<classname>(); \
145
+ } \
146
+ virtual price_t getGoal(const Datetime&, price_t) override; \
147
+ virtual void _calculate() override;
148
+
149
+ /**
150
+ * 客户程序都应使用该指针类型
151
+ * @ingroup ProfitGoal
152
+ */
153
+ typedef shared_ptr<ProfitGoalBase> ProfitGoalPtr;
154
+ typedef shared_ptr<ProfitGoalBase> PGPtr;
155
+
156
+ HKU_API std::ostream& operator<<(std::ostream& os, const ProfitGoalBase& pg);
157
+ HKU_API std::ostream& operator<<(std::ostream& os, const ProfitGoalPtr& pg);
158
+
159
+ inline void ProfitGoalBase::setTM(const TradeManagerPtr& tm) {
160
+ m_tm = tm;
161
+ }
162
+
163
+ inline TradeManagerPtr ProfitGoalBase::getTM() const {
164
+ return m_tm;
165
+ }
166
+
167
+ inline KData ProfitGoalBase::getTO() const {
168
+ return m_kdata;
169
+ }
170
+
171
+ inline const string& ProfitGoalBase::name() const {
172
+ return m_name;
173
+ }
174
+
175
+ inline void ProfitGoalBase::name(const string& name) {
176
+ m_name = name;
177
+ }
178
+
179
+ } /* namespace hku */
180
+
181
+ #if FMT_VERSION >= 90000
182
+ template <>
183
+ struct fmt::formatter<hku::ProfitGoalBase> : ostream_formatter {};
184
+
185
+ template <>
186
+ struct fmt::formatter<hku::ProfitGoalPtr> : ostream_formatter {};
187
+ #endif
188
+
189
+ #endif /* PROFITGOAL_H_ */
@@ -0,0 +1,16 @@
1
+ /*
2
+ * build_in.h
3
+ *
4
+ * Created on: 2013-5-5
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef PROFITGOAL_BUILD_IN_H_
10
+ #define PROFITGOAL_BUILD_IN_H_
11
+
12
+ #include "crt/PG_NoGoal.h"
13
+ #include "crt/PG_FixedPercent.h"
14
+ #include "crt/PG_FixedHoldDays.h"
15
+
16
+ #endif /* PROFITGOAL_BUILD_IN_H_ */
@@ -0,0 +1,26 @@
1
+ /*
2
+ * PG_FixedPercent.h
3
+ *
4
+ * Created on: 2016年5月6日
5
+ * Author: Administrator
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PROFITGOAL_CRT_PG_FIXEDHOLDDAYS_H_
10
+ #define TRADE_SYS_PROFITGOAL_CRT_PG_FIXEDHOLDDAYS_H_
11
+
12
+ #include "../ProfitGoalBase.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 固定持仓天数盈利目标策略
18
+ * @param days: 允许持仓天数(按交易日算),默认5天
19
+ * @return PGPtr
20
+ * @ingroup ProfitGoal
21
+ */
22
+ ProfitGoalPtr HKU_API PG_FixedHoldDays(int days = 5);
23
+
24
+ } /* namespace hku */
25
+
26
+ #endif /* TRADE_SYS_PROFITGOAL_CRT_PG_FIXEDPERCENT_H_ */
@@ -0,0 +1,25 @@
1
+ /*
2
+ * PG_FixedPercent.h
3
+ *
4
+ * Created on: 2016年5月6日
5
+ * Author: Administrator
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PROFITGOAL_CRT_PG_FIXEDPERCENT_H_
10
+ #define TRADE_SYS_PROFITGOAL_CRT_PG_FIXEDPERCENT_H_
11
+
12
+ #include "../ProfitGoalBase.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 固定百分比盈利目标,目标价格 = 买入价格 * (1 + p)
18
+ * @param p 百分比
19
+ * @return PGPtr
20
+ */
21
+ ProfitGoalPtr HKU_API PG_FixedPercent(double p = 0.2);
22
+
23
+ } /* namespace hku */
24
+
25
+ #endif /* TRADE_SYS_PROFITGOAL_CRT_PG_FIXEDPERCENT_H_ */
@@ -0,0 +1,24 @@
1
+ /*
2
+ * PG_NoGoal.h
3
+ *
4
+ * Created on: 2016年5月6日
5
+ * Author: Administrator
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PROFITGOAL_CRT_PG_NOGOAL_H_
10
+ #define TRADE_SYS_PROFITGOAL_CRT_PG_NOGOAL_H_
11
+
12
+ #include "../ProfitGoalBase.h"
13
+
14
+ namespace hku {
15
+
16
+ /**
17
+ * 无盈利目标策略,通常为了进行测试或对比
18
+ * @return PGPtr
19
+ */
20
+ ProfitGoalPtr HKU_API PG_NoGoal();
21
+
22
+ } /* namespace hku */
23
+
24
+ #endif /* TRADE_SYS_PROFITGOAL_CRT_PG_NOGOAL_H_ */
@@ -0,0 +1,29 @@
1
+ /*
2
+ * FixedHoldDays.h
3
+ *
4
+ * Created on: 2018年1月20日
5
+ * Author: fasiondog
6
+ */
7
+
8
+ #pragma once
9
+ #ifndef TRADE_SYS_PROFITGOAL_IMP_FIXEDHOLDDAYS_H_
10
+ #define TRADE_SYS_PROFITGOAL_IMP_FIXEDHOLDDAYS_H_
11
+
12
+ #include "../ProfitGoalBase.h"
13
+
14
+ namespace hku {
15
+
16
+ class FixedHoldDays : public ProfitGoalBase {
17
+ PROFITGOAL_IMP(FixedHoldDays)
18
+ PROFIT_GOAL_NO_PRIVATE_MEMBER_SERIALIZATION
19
+
20
+ public:
21
+ FixedHoldDays();
22
+ virtual ~FixedHoldDays();
23
+
24
+ virtual void _checkParam(const string& name) const override;
25
+ };
26
+
27
+ } /* namespace hku */
28
+
29
+ #endif /* TRADE_SYS_PROFITGOAL_IMP_FIXEDHOLDDAYS_H_ */