hikyuu 2.2.2__py3-none-win_amd64.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 (820) hide show
  1. hikyuu/LICENSE.txt +21 -0
  2. hikyuu/__init__.py +137 -0
  3. hikyuu/analysis/__init__.py +14 -0
  4. hikyuu/analysis/analysis.py +151 -0
  5. hikyuu/config/__init__.py +1 -0
  6. hikyuu/config/block/__init__.py +0 -0
  7. hikyuu/config/block/dybk.ini +5357 -0
  8. hikyuu/config/block/gnbk.ini +50024 -0
  9. hikyuu/config/block/hybk.ini +5464 -0
  10. hikyuu/config/block/self.ini +10 -0
  11. hikyuu/config/block/zsbk.ini +65543 -0
  12. hikyuu/core.py +27 -0
  13. hikyuu/cpp/__init__.py +1 -0
  14. hikyuu/cpp/boost_date_time-mt.dll +0 -0
  15. hikyuu/cpp/boost_serialization-mt.dll +0 -0
  16. hikyuu/cpp/boost_wserialization-mt.dll +0 -0
  17. hikyuu/cpp/concrt140.dll +0 -0
  18. hikyuu/cpp/core310.pyd +0 -0
  19. hikyuu/cpp/core311.pyd +0 -0
  20. hikyuu/cpp/core312.pyd +0 -0
  21. hikyuu/cpp/core313.pyd +0 -0
  22. hikyuu/cpp/core38.pyd +0 -0
  23. hikyuu/cpp/core39.pyd +0 -0
  24. hikyuu/cpp/hikyuu.dll +0 -0
  25. hikyuu/cpp/hku_hdf5.dll +0 -0
  26. hikyuu/cpp/hku_hdf5_cpp.dll +0 -0
  27. hikyuu/cpp/hku_hdf5_hl.dll +0 -0
  28. hikyuu/cpp/hku_hdf5_hl_cpp.dll +0 -0
  29. hikyuu/cpp/libcrypto-1_1-x64.dll +0 -0
  30. hikyuu/cpp/libmysql.dll +0 -0
  31. hikyuu/cpp/libssl-1_1-x64.dll +0 -0
  32. hikyuu/cpp/msvcp140.dll +0 -0
  33. hikyuu/cpp/msvcp140_1.dll +0 -0
  34. hikyuu/cpp/msvcp140_2.dll +0 -0
  35. hikyuu/cpp/msvcp140_atomic_wait.dll +0 -0
  36. hikyuu/cpp/msvcp140_codecvt_ids.dll +0 -0
  37. hikyuu/cpp/sqlite3.dll +0 -0
  38. hikyuu/cpp/vcruntime140.dll +0 -0
  39. hikyuu/cpp/vcruntime140_1.dll +0 -0
  40. hikyuu/data/__init__.py +1 -0
  41. hikyuu/data/common.py +248 -0
  42. hikyuu/data/common_h5.py +398 -0
  43. hikyuu/data/common_mysql.py +485 -0
  44. hikyuu/data/common_pytdx.py +108 -0
  45. hikyuu/data/common_sqlite3.py +140 -0
  46. hikyuu/data/em_block_to_mysql.py +120 -0
  47. hikyuu/data/em_block_to_sqlite.py +117 -0
  48. hikyuu/data/hku_config_template.py +266 -0
  49. hikyuu/data/mysql_upgrade/0001.sql +5 -0
  50. hikyuu/data/mysql_upgrade/0002.sql +3 -0
  51. hikyuu/data/mysql_upgrade/0003.sql +9 -0
  52. hikyuu/data/mysql_upgrade/0004.sql +26 -0
  53. hikyuu/data/mysql_upgrade/0005.sql +3 -0
  54. hikyuu/data/mysql_upgrade/0006.sql +2 -0
  55. hikyuu/data/mysql_upgrade/0007.sql +20 -0
  56. hikyuu/data/mysql_upgrade/0008.sql +6 -0
  57. hikyuu/data/mysql_upgrade/0009.sql +36 -0
  58. hikyuu/data/mysql_upgrade/0010.sql +5 -0
  59. hikyuu/data/mysql_upgrade/0011.sql +5 -0
  60. hikyuu/data/mysql_upgrade/0012.sql +5 -0
  61. hikyuu/data/mysql_upgrade/0013.sql +2389 -0
  62. hikyuu/data/mysql_upgrade/0014.sql +3 -0
  63. hikyuu/data/mysql_upgrade/0015.sql +4 -0
  64. hikyuu/data/mysql_upgrade/0016.sql +4 -0
  65. hikyuu/data/mysql_upgrade/0017.sql +5 -0
  66. hikyuu/data/mysql_upgrade/0018.sql +2 -0
  67. hikyuu/data/mysql_upgrade/0019.sql +6 -0
  68. hikyuu/data/mysql_upgrade/0020.sql +4 -0
  69. hikyuu/data/mysql_upgrade/0021.sql +4 -0
  70. hikyuu/data/mysql_upgrade/0022.sql +5 -0
  71. hikyuu/data/mysql_upgrade/0023.sql +4 -0
  72. hikyuu/data/mysql_upgrade/__init__.py +1 -0
  73. hikyuu/data/mysql_upgrade/createdb.sql +265 -0
  74. hikyuu/data/pytdx_finance_to_mysql.py +129 -0
  75. hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
  76. hikyuu/data/pytdx_to_h5.py +662 -0
  77. hikyuu/data/pytdx_to_mysql.py +803 -0
  78. hikyuu/data/pytdx_weight_to_mysql.py +196 -0
  79. hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
  80. hikyuu/data/sqlite_mem.py +84 -0
  81. hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
  82. hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
  83. hikyuu/data/sqlite_upgrade/0001.sql +4 -0
  84. hikyuu/data/sqlite_upgrade/0002.sql +48 -0
  85. hikyuu/data/sqlite_upgrade/0003.sql +18 -0
  86. hikyuu/data/sqlite_upgrade/0004.sql +11 -0
  87. hikyuu/data/sqlite_upgrade/0005.sql +28 -0
  88. hikyuu/data/sqlite_upgrade/0006.sql +5 -0
  89. hikyuu/data/sqlite_upgrade/0007.sql +4 -0
  90. hikyuu/data/sqlite_upgrade/0008.sql +22 -0
  91. hikyuu/data/sqlite_upgrade/0009.sql +8 -0
  92. hikyuu/data/sqlite_upgrade/0010.sql +5 -0
  93. hikyuu/data/sqlite_upgrade/0011.sql +16 -0
  94. hikyuu/data/sqlite_upgrade/0012.sql +15 -0
  95. hikyuu/data/sqlite_upgrade/0013.sql +9 -0
  96. hikyuu/data/sqlite_upgrade/0014.sql +607 -0
  97. hikyuu/data/sqlite_upgrade/0015.sql +7 -0
  98. hikyuu/data/sqlite_upgrade/0016.sql +8 -0
  99. hikyuu/data/sqlite_upgrade/0017.sql +16 -0
  100. hikyuu/data/sqlite_upgrade/0018.sql +5 -0
  101. hikyuu/data/sqlite_upgrade/0019.sql +4 -0
  102. hikyuu/data/sqlite_upgrade/0020.sql +4 -0
  103. hikyuu/data/sqlite_upgrade/0021.sql +6 -0
  104. hikyuu/data/sqlite_upgrade/0022.sql +6 -0
  105. hikyuu/data/sqlite_upgrade/0023.sql +7 -0
  106. hikyuu/data/sqlite_upgrade/0024.sql +22 -0
  107. hikyuu/data/sqlite_upgrade/__init__.py +1 -0
  108. hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
  109. hikyuu/data/tdx_to_h5.py +464 -0
  110. hikyuu/data/tdx_to_mysql.py +464 -0
  111. hikyuu/data/weight_to_mysql.py +72 -0
  112. hikyuu/data/weight_to_sqlite.py +70 -0
  113. hikyuu/data/zh_bond10_to_mysql.py +30 -0
  114. hikyuu/data/zh_bond10_to_sqlite.py +42 -0
  115. hikyuu/data_driver/__init__.py +49 -0
  116. hikyuu/data_driver/jqdata_data_driver.py +277 -0
  117. hikyuu/data_driver/pytdx_data_driver.py +292 -0
  118. hikyuu/deprecated.py +651 -0
  119. hikyuu/draw/__init__.py +59 -0
  120. hikyuu/draw/drawplot/__init__.py +291 -0
  121. hikyuu/draw/drawplot/bokeh_draw.py +583 -0
  122. hikyuu/draw/drawplot/common.py +89 -0
  123. hikyuu/draw/drawplot/echarts_draw.py +402 -0
  124. hikyuu/draw/drawplot/matplotlib_draw.py +832 -0
  125. hikyuu/draw/elder.py +135 -0
  126. hikyuu/draw/kaufman.py +192 -0
  127. hikyuu/draw/volume.py +122 -0
  128. hikyuu/examples/Turtle_SG.py +47 -0
  129. hikyuu/examples/__init__.py +1 -0
  130. hikyuu/examples/examples_init.py +33 -0
  131. hikyuu/examples/notebook/000-Index.ipynb +76 -0
  132. hikyuu/examples/notebook/001-overview.ipynb +345 -0
  133. hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
  134. hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
  135. hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
  136. hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
  137. hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
  138. hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
  139. hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
  140. hikyuu/examples/notebook/009-RealData.ipynb +110 -0
  141. hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
  142. hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
  143. hikyuu/examples/notebook/Demo/Demo1.ipynb +622 -0
  144. hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
  145. hikyuu/examples/notebook/Demo/__init__.py +1 -0
  146. hikyuu/examples/notebook/README.md +1 -0
  147. hikyuu/examples/notebook/__init__.py +1 -0
  148. hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
  149. hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
  150. hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
  151. hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
  152. hikyuu/examples/notebook/images/__init__.py +1 -0
  153. hikyuu/examples/quick_crtsg.py +40 -0
  154. hikyuu/extend.py +387 -0
  155. hikyuu/fetcher/__init__.py +8 -0
  156. hikyuu/fetcher/proxy/__init__.py +12 -0
  157. hikyuu/fetcher/proxy/proxy.py +39 -0
  158. hikyuu/fetcher/proxy/zhima.py +63 -0
  159. hikyuu/fetcher/stock/__init__.py +8 -0
  160. hikyuu/fetcher/stock/zh_block_em.py +140 -0
  161. hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
  162. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
  163. hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
  164. hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
  165. hikyuu/flat/Spot.py +440 -0
  166. hikyuu/flat/SpotList.py +74 -0
  167. hikyuu/flat/__init__.py +4 -0
  168. hikyuu/gui/HikyuuTDX.py +839 -0
  169. hikyuu/gui/__init__.py +1 -0
  170. hikyuu/gui/data/CollectSpotThread.py +43 -0
  171. hikyuu/gui/data/CollectToMemThread.py +123 -0
  172. hikyuu/gui/data/CollectToMySQLThread.py +178 -0
  173. hikyuu/gui/data/EscapetimeThread.py +32 -0
  174. hikyuu/gui/data/ImportBlockInfoTask.py +55 -0
  175. hikyuu/gui/data/ImportHistoryFinanceTask.py +141 -0
  176. hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
  177. hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
  178. hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
  179. hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
  180. hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
  181. hikyuu/gui/data/ImportZhBond10Task.py +48 -0
  182. hikyuu/gui/data/MainWindow.py +807 -0
  183. hikyuu/gui/data/SchedImportThread.py +62 -0
  184. hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
  185. hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
  186. hikyuu/gui/data/__init__.py +1 -0
  187. hikyuu/gui/data/tool.py +43 -0
  188. hikyuu/gui/hikyuu.ico +0 -0
  189. hikyuu/gui/importdata.py +166 -0
  190. hikyuu/gui/spot_server.py +336 -0
  191. hikyuu/gui/start_huatai_insight.py +510 -0
  192. hikyuu/gui/start_qmt.py +122 -0
  193. hikyuu/hub.py +634 -0
  194. hikyuu/include/__init__.py +1 -0
  195. hikyuu/include/hikyuu/Block.h +173 -0
  196. hikyuu/include/hikyuu/DataType.h +171 -0
  197. hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
  198. hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
  199. hikyuu/include/hikyuu/KData.h +271 -0
  200. hikyuu/include/hikyuu/KDataImp.h +94 -0
  201. hikyuu/include/hikyuu/KQuery.h +275 -0
  202. hikyuu/include/hikyuu/KRecord.h +94 -0
  203. hikyuu/include/hikyuu/MarketInfo.h +132 -0
  204. hikyuu/include/hikyuu/Stock.h +351 -0
  205. hikyuu/include/hikyuu/StockManager.h +361 -0
  206. hikyuu/include/hikyuu/StockMapIterator.h +72 -0
  207. hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
  208. hikyuu/include/hikyuu/StockWeight.h +148 -0
  209. hikyuu/include/hikyuu/StrategyContext.h +107 -0
  210. hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
  211. hikyuu/include/hikyuu/TransRecord.h +79 -0
  212. hikyuu/include/hikyuu/ZhBond10.h +36 -0
  213. hikyuu/include/hikyuu/__init__.py +1 -0
  214. hikyuu/include/hikyuu/analysis/__init__.py +1 -0
  215. hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
  216. hikyuu/include/hikyuu/analysis/combinate.h +115 -0
  217. hikyuu/include/hikyuu/config.h +48 -0
  218. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
  219. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +94 -0
  220. hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
  221. hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
  222. hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
  223. hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
  224. hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
  225. hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
  226. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
  227. hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
  228. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
  229. hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
  230. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
  231. hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
  232. hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
  233. hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
  234. hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
  235. hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
  236. hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
  237. hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
  238. hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
  239. hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
  240. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +29 -0
  241. hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
  242. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +29 -0
  243. hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
  244. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +29 -0
  245. hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
  246. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
  247. hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
  248. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
  249. hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
  250. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
  251. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
  252. hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
  253. hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
  254. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
  255. hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
  256. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
  257. hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
  258. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
  259. hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
  260. hikyuu/include/hikyuu/debug.h +32 -0
  261. hikyuu/include/hikyuu/doc.h +166 -0
  262. hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
  263. hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
  264. hikyuu/include/hikyuu/global/__init__.py +1 -0
  265. hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
  266. hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
  267. hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
  268. hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
  269. hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
  270. hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
  271. hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
  272. hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
  273. hikyuu/include/hikyuu/global/sysinfo.h +67 -0
  274. hikyuu/include/hikyuu/hikyuu.h +55 -0
  275. hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
  276. hikyuu/include/hikyuu/indicator/Indicator.h +403 -0
  277. hikyuu/include/hikyuu/indicator/IndicatorImp.h +413 -0
  278. hikyuu/include/hikyuu/indicator/__init__.py +1 -0
  279. hikyuu/include/hikyuu/indicator/build_in.h +114 -0
  280. hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
  281. hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
  282. hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
  283. hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +32 -0
  284. hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
  285. hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
  286. hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
  287. hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
  288. hikyuu/include/hikyuu/indicator/crt/ATR.h +44 -0
  289. hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
  290. hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
  291. hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
  292. hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
  293. hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +41 -0
  294. hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
  295. hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
  296. hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
  297. hikyuu/include/hikyuu/indicator/crt/CORR.h +24 -0
  298. hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
  299. hikyuu/include/hikyuu/indicator/crt/COST.h +34 -0
  300. hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
  301. hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
  302. hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
  303. hikyuu/include/hikyuu/indicator/crt/DECLINE.h +32 -0
  304. hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
  305. hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
  306. hikyuu/include/hikyuu/indicator/crt/DMA.h +34 -0
  307. hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
  308. hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
  309. hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
  310. hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
  311. hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
  312. hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
  313. hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
  314. hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
  315. hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
  316. hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
  317. hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
  318. hikyuu/include/hikyuu/indicator/crt/HSL.h +39 -0
  319. hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
  320. hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
  321. hikyuu/include/hikyuu/indicator/crt/INSUM.h +33 -0
  322. hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
  323. hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
  324. hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
  325. hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
  326. hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +23 -0
  327. hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
  328. hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
  329. hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
  330. hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
  331. hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
  332. hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
  333. hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
  334. hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
  335. hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
  336. hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
  337. hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
  338. hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
  339. hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
  340. hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
  341. hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
  342. hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
  343. hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
  344. hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
  345. hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
  346. hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
  347. hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
  348. hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
  349. hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
  350. hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
  351. hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
  352. hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
  353. hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
  354. hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
  355. hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
  356. hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
  357. hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
  358. hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
  359. hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
  360. hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
  361. hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
  362. hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +23 -0
  363. hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
  364. hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
  365. hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
  366. hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
  367. hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
  368. hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
  369. hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
  370. hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
  371. hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
  372. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
  373. hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
  374. hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
  375. hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
  376. hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
  377. hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
  378. hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
  379. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
  380. hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
  381. hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
  382. hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
  383. hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
  384. hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
  385. hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
  386. hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
  387. hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
  388. hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
  389. hikyuu/include/hikyuu/indicator/imp/IAtr.h +28 -0
  390. hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
  391. hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
  392. hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
  393. hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +28 -0
  394. hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
  395. hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
  396. hikyuu/include/hikyuu/indicator/imp/ICorr.h +42 -0
  397. hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
  398. hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
  399. hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
  400. hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
  401. hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
  402. hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
  403. hikyuu/include/hikyuu/indicator/imp/IDma.h +47 -0
  404. hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
  405. hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
  406. hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
  407. hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
  408. hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
  409. hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
  410. hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
  411. hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
  412. hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
  413. hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
  414. hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
  415. hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
  416. hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
  417. hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
  418. hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
  419. hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
  420. hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
  421. hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
  422. hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
  423. hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
  424. hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
  425. hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
  426. hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
  427. hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
  428. hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
  429. hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
  430. hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
  431. hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
  432. hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
  433. hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
  434. hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
  435. hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
  436. hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
  437. hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
  438. hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
  439. hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
  440. hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
  441. hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
  442. hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
  443. hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
  444. hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
  445. hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
  446. hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
  447. hikyuu/include/hikyuu/indicator/imp/ISpearman.h +42 -0
  448. hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
  449. hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
  450. hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
  451. hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
  452. hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
  453. hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
  454. hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
  455. hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
  456. hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
  457. hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
  458. hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
  459. hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
  460. hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
  461. hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
  462. hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
  463. hikyuu/include/hikyuu/python/__init__.py +1 -0
  464. hikyuu/include/hikyuu/python/pickle_support.h +90 -0
  465. hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
  466. hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
  467. hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
  468. hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
  469. hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
  470. hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
  471. hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
  472. hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
  473. hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
  474. hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
  475. hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
  476. hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
  477. hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
  478. hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
  479. hikyuu/include/hikyuu/serialization/__init__.py +1 -0
  480. hikyuu/include/hikyuu/serialization/all.h +26 -0
  481. hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
  482. hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
  483. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
  484. hikyuu/include/hikyuu/strategy/Strategy.h +191 -0
  485. hikyuu/include/hikyuu/strategy/__init__.py +1 -0
  486. hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
  487. hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
  488. hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
  489. hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
  490. hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +182 -0
  491. hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
  492. hikyuu/include/hikyuu/trade_manage/PositionRecord.h +108 -0
  493. hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
  494. hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
  495. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +782 -0
  496. hikyuu/include/hikyuu/trade_manage/TradeRecord.h +151 -0
  497. hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
  498. hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
  499. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
  500. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
  501. hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
  502. hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
  503. hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
  504. hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
  505. hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
  506. hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
  507. hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
  508. hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
  509. hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
  510. hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
  511. hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
  512. hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
  513. hikyuu/include/hikyuu/trade_sys/all.h +24 -0
  514. hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
  515. hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
  516. hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +16 -0
  517. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
  518. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
  519. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
  520. hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
  521. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
  522. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
  523. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +23 -0
  524. hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
  525. hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +241 -0
  526. hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
  527. hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
  528. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
  529. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
  530. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
  531. hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
  532. hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
  533. hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
  534. hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
  535. hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
  536. hikyuu/include/hikyuu/trade_sys/condition/imp/SubCondition.h +42 -0
  537. hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
  538. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
  539. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
  540. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
  541. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
  542. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
  543. hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
  544. hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +178 -0
  545. hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
  546. hikyuu/include/hikyuu/trade_sys/environment/build_in.h +16 -0
  547. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
  548. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
  549. hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
  550. hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
  551. hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
  552. hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
  553. hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
  554. hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
  555. hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +230 -0
  556. hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
  557. hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +20 -0
  558. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +20 -0
  559. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
  560. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
  561. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +20 -0
  562. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +20 -0
  563. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
  564. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +20 -0
  565. hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
  566. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
  567. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
  568. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
  569. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
  570. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
  571. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
  572. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
  573. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
  574. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
  575. hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
  576. hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
  577. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +12 -0
  578. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
  579. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
  580. hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
  581. hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
  582. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
  583. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
  584. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
  585. hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
  586. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +256 -0
  587. hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
  588. hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +14 -0
  589. hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +23 -0
  590. hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
  591. hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
  592. hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
  593. hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
  594. hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
  595. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
  596. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
  597. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
  598. hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
  599. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
  600. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
  601. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
  602. hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
  603. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
  604. hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
  605. hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
  606. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
  607. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
  608. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
  609. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
  610. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
  611. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
  612. hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
  613. hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
  614. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +52 -0
  615. hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
  616. hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
  617. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
  618. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
  619. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
  620. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
  621. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
  622. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
  623. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
  624. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
  625. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
  626. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
  627. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
  628. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
  629. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
  630. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
  631. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
  632. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
  633. hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
  634. hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +249 -0
  635. hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
  636. hikyuu/include/hikyuu/trade_sys/signal/build_in.h +22 -0
  637. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
  638. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
  639. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +28 -0
  640. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
  641. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
  642. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
  643. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
  644. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
  645. hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
  646. hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
  647. hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
  648. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
  649. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
  650. hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
  651. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
  652. hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
  653. hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
  654. hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
  655. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
  656. hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
  657. hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
  658. hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
  659. hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
  660. hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
  661. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
  662. hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
  663. hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
  664. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
  665. hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
  666. hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
  667. hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
  668. hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
  669. hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
  670. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
  671. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
  672. hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
  673. hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
  674. hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
  675. hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +50 -0
  676. hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
  677. hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
  678. hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
  679. hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
  680. hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
  681. hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
  682. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
  683. hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +27 -0
  684. hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
  685. hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
  686. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
  687. hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
  688. hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
  689. hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
  690. hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
  691. hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
  692. hikyuu/include/hikyuu/utilities/Log.h +411 -0
  693. hikyuu/include/hikyuu/utilities/Null.h +143 -0
  694. hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
  695. hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
  696. hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
  697. hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
  698. hikyuu/include/hikyuu/utilities/__init__.py +1 -0
  699. hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
  700. hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
  701. hikyuu/include/hikyuu/utilities/base64.h +52 -0
  702. hikyuu/include/hikyuu/utilities/config.h +41 -0
  703. hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
  704. hikyuu/include/hikyuu/utilities/datetime/Datetime.h +438 -0
  705. hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +343 -0
  706. hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
  707. hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
  708. hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +248 -0
  709. hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
  710. hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
  711. hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
  712. hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
  713. hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
  714. hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
  715. hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
  716. hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
  717. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +56 -0
  718. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +87 -0
  719. hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
  720. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
  721. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
  722. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
  723. hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
  724. hikyuu/include/hikyuu/utilities/exception.h +52 -0
  725. hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
  726. hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
  727. hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
  728. hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
  729. hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
  730. hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
  731. hikyuu/include/hikyuu/utilities/md5.h +41 -0
  732. hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
  733. hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
  734. hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
  735. hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
  736. hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
  737. hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
  738. hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
  739. hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
  740. hikyuu/include/hikyuu/utilities/os.h +102 -0
  741. hikyuu/include/hikyuu/utilities/osdef.h +159 -0
  742. hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
  743. hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
  744. hikyuu/include/hikyuu/utilities/string_view.h +70 -0
  745. hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
  746. hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
  747. hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
  748. hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
  749. hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
  750. hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
  751. hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
  752. hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
  753. hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
  754. hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
  755. hikyuu/include/hikyuu/utilities/thread/algorithm.h +110 -0
  756. hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
  757. hikyuu/include/hikyuu/version.h +24 -0
  758. hikyuu/indicator/__init__.py +29 -0
  759. hikyuu/indicator/indicator.py +157 -0
  760. hikyuu/indicator/pyind.py +47 -0
  761. hikyuu/indicator/talib_wrap.py +1264 -0
  762. hikyuu/interactive.py +331 -0
  763. hikyuu/setup.py +104 -0
  764. hikyuu/shell/__init__.py +0 -0
  765. hikyuu/shell/cmdserver.py +126 -0
  766. hikyuu/shell/hkucmd.py +110 -0
  767. hikyuu/shell/hkushell.py +20 -0
  768. hikyuu/sqlite3.dll +0 -0
  769. hikyuu/strategy/__init__.py +2 -0
  770. hikyuu/strategy/strategy_demo1.py +54 -0
  771. hikyuu/strategy/strategy_demo2.py +47 -0
  772. hikyuu/strategy/strategy_demo3.py +24 -0
  773. hikyuu/test/AllocateFunds.py +25 -0
  774. hikyuu/test/Condition.py +95 -0
  775. hikyuu/test/Datetime.py +61 -0
  776. hikyuu/test/Environment.py +88 -0
  777. hikyuu/test/Indicator.py +233 -0
  778. hikyuu/test/KData.py +64 -0
  779. hikyuu/test/MarketInfo.py +26 -0
  780. hikyuu/test/MoneyManager.py +88 -0
  781. hikyuu/test/Parameter.py +62 -0
  782. hikyuu/test/ProfitGoal.py +83 -0
  783. hikyuu/test/Signal.py +160 -0
  784. hikyuu/test/Slippage.py +88 -0
  785. hikyuu/test/Stock.py +127 -0
  786. hikyuu/test/StockTypeInfo.py +47 -0
  787. hikyuu/test/Stoploss.py +86 -0
  788. hikyuu/test/TradeCost.py +71 -0
  789. hikyuu/test/__init__.py +0 -0
  790. hikyuu/test/test.py +63 -0
  791. hikyuu/test/test_init.py +36 -0
  792. hikyuu/tools/__init__.py +1 -0
  793. hikyuu/tools/copy_file.py +16 -0
  794. hikyuu/tools/delete_index.py +50 -0
  795. hikyuu/tools/fenge.py +139 -0
  796. hikyuu/tools/h5_data_clear.py +163 -0
  797. hikyuu/tools/mysql_clear_last_day_data.py +61 -0
  798. hikyuu/tools/update_block_info.py +168 -0
  799. hikyuu/trade_manage/__init__.py +30 -0
  800. hikyuu/trade_manage/broker.py +95 -0
  801. hikyuu/trade_manage/broker_easytrader.py +63 -0
  802. hikyuu/trade_manage/broker_mail.py +101 -0
  803. hikyuu/trade_manage/trade.py +111 -0
  804. hikyuu/trade_sys/__init__.py +27 -0
  805. hikyuu/trade_sys/trade_sys.py +251 -0
  806. hikyuu/util/__init__.py +49 -0
  807. hikyuu/util/check.py +153 -0
  808. hikyuu/util/mylog.py +264 -0
  809. hikyuu/util/notebook.py +47 -0
  810. hikyuu/util/singleton.py +29 -0
  811. hikyuu/util/slice.py +43 -0
  812. hikyuu/util/timeout.py +83 -0
  813. hikyuu/vcruntime140.dll +0 -0
  814. hikyuu/vcruntime140_1.dll +0 -0
  815. hikyuu-2.2.2.dist-info/LICENSE +201 -0
  816. hikyuu-2.2.2.dist-info/METADATA +127 -0
  817. hikyuu-2.2.2.dist-info/RECORD +820 -0
  818. hikyuu-2.2.2.dist-info/WHEEL +5 -0
  819. hikyuu-2.2.2.dist-info/entry_points.txt +3 -0
  820. hikyuu-2.2.2.dist-info/top_level.txt +112 -0
@@ -0,0 +1,196 @@
1
+ # coding:utf-8
2
+ #
3
+ # The MIT License (MIT)
4
+ #
5
+ # Copyright (c) 2010-2019 fasiondog/hikyuu
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+
25
+ from pytdx.hq import TDXParams
26
+ import mysql.connector
27
+ from hikyuu.util import *
28
+ from .common_pytdx import to_pytdx_market
29
+
30
+
31
+ @hku_catch(trace=True)
32
+ def pytdx_import_weight_to_mysql(pytdx_api, connect, market):
33
+ """从 pytdx 导入权息数据"""
34
+ cur = connect.cursor()
35
+ cur.execute("select marketid from `hku_base`.`market` where market='%s'" % market)
36
+ marketid = [id[0] for id in cur.fetchall()]
37
+ marketid = marketid[0]
38
+ pytdx_market = to_pytdx_market(market)
39
+
40
+ total_count = 0
41
+ cur.execute("select stockid, code from `hku_base`.`stock` where marketid=%s and valid=1" % (marketid))
42
+ stockid_list = [x for x in cur.fetchall()]
43
+ cur.close()
44
+
45
+ for stockrecord in stockid_list:
46
+ stockid, code = stockrecord
47
+ # print("{}{}".format(market, code))
48
+
49
+ # 获取当前数据库中最后的一条权息记录的总股本和流通股本
50
+ cur = connect.cursor()
51
+ cur.execute(
52
+ "select id, stockid, date, countAsGift, countForSell, priceForSell, \
53
+ bonus, countOfIncreasement, totalCount, \
54
+ freeCount, suogu from `hku_base`.`stkweight` where stockid=%s \
55
+ order by date desc limit 1" % stockid
56
+ )
57
+ a = [x for x in cur.fetchall()]
58
+ last_db_weight = None
59
+ if a:
60
+ a = list(a[0])
61
+ last_db_weight = a
62
+ db_last_date = a[2]
63
+ last_total_count, last_free_count = a[8:10]
64
+ else:
65
+ last_db_weight = None
66
+ db_last_date, last_total_count, last_free_count = (0, 0, 0)
67
+ cur.close()
68
+
69
+ xdxr_list = pytdx_api.get_xdxr_info(pytdx_market, code)
70
+ update_last_db_weight = False
71
+ new_last_db_weight = last_db_weight
72
+ records = {}
73
+ for xdxr in xdxr_list:
74
+ try:
75
+ date = xdxr['year'] * 10000 + xdxr['month'] * 100 + xdxr['day']
76
+ if date < db_last_date:
77
+ continue
78
+ if date == db_last_date and new_last_db_weight is not None:
79
+ if xdxr['songzhuangu'] is not None:
80
+ new_last_db_weight[3] = 10000 * xdxr['songzhuangu']
81
+ update_last_db_weight = True
82
+ if xdxr['peigu'] is not None:
83
+ new_last_db_weight[4] = 10000 * xdxr['peigu']
84
+ update_last_db_weight = True
85
+ if xdxr['peigujia'] is not None:
86
+ new_last_db_weight[5] = 1000 * xdxr['peigujia']
87
+ update_last_db_weight = True
88
+ if xdxr['fenhong'] is not None:
89
+ new_last_db_weight[6] = 1000 * xdxr['fenhong']
90
+ update_last_db_weight = True
91
+ if xdxr['houzongguben'] is not None:
92
+ new_last_db_weight[8] = xdxr['houzongguben']
93
+ update_last_db_weight = True
94
+ last_total_count = new_last_db_weight[8]
95
+ if xdxr['panhouliutong'] is not None:
96
+ new_last_db_weight[9] = xdxr['panhouliutong']
97
+ update_last_db_weight = True
98
+ last_free_count = new_last_db_weight[9]
99
+ if xdxr['suogu'] is not None:
100
+ # etf 扩缩股
101
+ new_last_db_weight[10] = xdxr['suogu']
102
+ update_last_db_weight = True
103
+ continue
104
+ if date not in records:
105
+ records[date] = [
106
+ stockid,
107
+ date,
108
+ 10000 * xdxr['songzhuangu'] if xdxr['songzhuangu'] is not None else 0, # countAsGift
109
+ 10000 * xdxr['peigu'] if xdxr['peigu'] is not None else 0, # countForSell
110
+ 1000 * xdxr['peigujia'] if xdxr['peigujia'] is not None else 0, # priceForSell
111
+ 1000 * xdxr['fenhong'] if xdxr['fenhong'] is not None else 0, # bonus
112
+ 0, # countOfIncreasement, pytdx 不区分送股和转增股,统一记在送股
113
+ xdxr['houzongguben'] if xdxr['houzongguben'] is not None else last_total_count, # totalCount
114
+ xdxr['panhouliutong'] if xdxr['panhouliutong'] is not None else last_free_count, # freeCount
115
+ xdxr["suogu"] if xdxr["suogu"] is not None else 0
116
+ ]
117
+ else:
118
+ if xdxr['songzhuangu'] is not None:
119
+ records[date][2] = 10000 * xdxr['songzhuangu']
120
+ if xdxr['peigu'] is not None:
121
+ records[date][3] = 10000 * xdxr['peigu']
122
+ if xdxr['peigujia'] is not None:
123
+ records[date][4] = 1000 * xdxr['peigujia']
124
+ if xdxr['fenhong'] is not None:
125
+ records[date][5] = 1000 * xdxr['fenhong']
126
+ if xdxr['houzongguben'] is not None:
127
+ records[date][7] = xdxr['houzongguben']
128
+ if xdxr['panhouliutong'] is not None:
129
+ records[date][8] = xdxr['panhouliutong']
130
+ if xdxr['suogu'] is not None:
131
+ records[date][9] = xdxr['suogu']
132
+ if xdxr['houzongguben'] is not None:
133
+ last_total_count = xdxr['houzongguben']
134
+ if xdxr['panhouliutong'] is not None:
135
+ last_free_count = xdxr['panhouliutong']
136
+ except Exception as e:
137
+ print(e)
138
+ print("{} {}{} xdxr: {} last_db_weigth:{}".format(stockid, market, code, xdxr, new_last_db_weight))
139
+ raise e
140
+
141
+ if update_last_db_weight:
142
+ cur = connect.cursor()
143
+ x = new_last_db_weight
144
+ cur.execute(
145
+ "UPDATE `hku_base`.`stkweight` SET countAsGift=%s, countForSell=%s, priceForSell=%s, \
146
+ bonus=%s, totalCount=%s, freeCount=%s, suogu=%s \
147
+ where id=%s" % (x[3], x[4], x[5], x[6], x[8], x[9], x[10], x[0])
148
+ )
149
+ connect.commit()
150
+ cur.close()
151
+
152
+ if records:
153
+ cur = connect.cursor()
154
+ cur.executemany(
155
+ "INSERT INTO `hku_base`.`stkweight` (stockid, date, countAsGift, \
156
+ countForSell, priceForSell, bonus, countOfIncreasement, totalCount, freeCount, suogu) \
157
+ VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", [x for x in records.values()]
158
+ )
159
+ connect.commit()
160
+ cur.close()
161
+ total_count += len(records)
162
+
163
+ return total_count
164
+
165
+
166
+ if __name__ == '__main__':
167
+ import os
168
+ import time
169
+ import sqlite3
170
+ from hikyuu.data.common_mysql import create_database
171
+ starttime = time.time()
172
+
173
+ host = '127.0.0.1'
174
+ port = 3306
175
+ usr = 'root'
176
+ pwd = ''
177
+ tdx_server = '119.147.212.81'
178
+ tdx_port = 7709
179
+ quotations = ['stock', 'fund']
180
+
181
+ connect = mysql.connector.connect(user=usr, password=pwd, host=host, port=port)
182
+ create_database(connect)
183
+
184
+ from pytdx.hq import TdxHq_API, TDXParams
185
+ api = TdxHq_API()
186
+ api.connect(tdx_server, tdx_port)
187
+
188
+ print("导入数量: {}".format(pytdx_import_weight_to_mysql(api, connect, 'SH')))
189
+
190
+ api.disconnect()
191
+ connect.close()
192
+
193
+ endtime = time.time()
194
+ print("\nTotal time:")
195
+ print("%.2fs" % (endtime - starttime))
196
+ print("%.2fm" % ((endtime - starttime) / 60))
@@ -0,0 +1,192 @@
1
+ # coding:utf-8
2
+ #
3
+ # The MIT License (MIT)
4
+ #
5
+ # Copyright (c) 2010-2019 fasiondog/hikyuu
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in all
15
+ # copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ # SOFTWARE.
24
+
25
+ from pytdx.hq import TDXParams
26
+ from hikyuu.data.common_pytdx import to_pytdx_market
27
+
28
+
29
+ def pytdx_import_weight_to_sqlite(pytdx_api, connect, market):
30
+ """导入钱龙格式的权息数据"""
31
+ cur = connect.cursor()
32
+ marketid = cur.execute("select marketid from Market where market='%s'" % market)
33
+ marketid = [id[0] for id in marketid]
34
+ marketid = marketid[0]
35
+ pytdx_market = to_pytdx_market(market)
36
+
37
+ total_count = 0
38
+ stockid_list = cur.execute("select stockid, code from Stock where marketid=%s and valid=1" % (marketid))
39
+ stockid_list = [x for x in stockid_list]
40
+ cur.close()
41
+
42
+ for stockrecord in stockid_list:
43
+ stockid, code = stockrecord
44
+ # print("{}{}".format(market, code))
45
+
46
+ # 获取当前数据库中最后的一条权息记录的总股本和流通股本
47
+ cur = connect.cursor()
48
+ a = cur.execute(
49
+ "select id, stockid, date, countAsGift, countForSell, priceForSell, \
50
+ bonus, countOfIncreasement, totalCount, \
51
+ freeCount, suogu from stkweight where stockid=%s \
52
+ order by date desc limit 1" % stockid
53
+ )
54
+ a = [x for x in a]
55
+ last_db_weight = None
56
+ if a:
57
+ a = list(a[0])
58
+ last_db_weight = a
59
+ db_last_date = a[2]
60
+ last_total_count, last_free_count = a[8:10]
61
+ else:
62
+ last_db_weight = None
63
+ db_last_date, last_total_count, last_free_count = (0, 0, 0)
64
+ cur.close()
65
+
66
+ xdxr_list = pytdx_api.get_xdxr_info(pytdx_market, code)
67
+ update_last_db_weight = False
68
+ new_last_db_weight = last_db_weight
69
+ records = {}
70
+ for xdxr in xdxr_list:
71
+ try:
72
+ date = xdxr['year'] * 10000 + xdxr['month'] * 100 + xdxr['day']
73
+ if date < db_last_date:
74
+ continue
75
+ if date == db_last_date and new_last_db_weight is not None:
76
+ if xdxr['songzhuangu'] is not None:
77
+ new_last_db_weight[3] = int(10000 * xdxr['songzhuangu'])
78
+ update_last_db_weight = True
79
+ if xdxr['peigu'] is not None:
80
+ new_last_db_weight[4] = int(10000 * xdxr['peigu'])
81
+ update_last_db_weight = True
82
+ if xdxr['peigujia'] is not None:
83
+ new_last_db_weight[5] = int(1000 * xdxr['peigujia'])
84
+ update_last_db_weight = True
85
+ if xdxr['fenhong'] is not None:
86
+ new_last_db_weight[6] = int(1000 * xdxr['fenhong'])
87
+ update_last_db_weight = True
88
+ if xdxr['houzongguben'] is not None:
89
+ new_last_db_weight[8] = round(xdxr['houzongguben'])
90
+ update_last_db_weight = True
91
+ last_total_count = new_last_db_weight[8]
92
+ if xdxr['panhouliutong'] is not None:
93
+ new_last_db_weight[9] = round(xdxr['panhouliutong'])
94
+ update_last_db_weight = True
95
+ last_free_count = new_last_db_weight[9]
96
+ if xdxr['suogu'] is not None:
97
+ # etf 扩股
98
+ new_last_db_weight[10] = xdxr['suogu']
99
+ update_last_db_weight = True
100
+ continue
101
+ if date not in records:
102
+ records[date] = [
103
+ stockid,
104
+ date,
105
+ int(10000 * xdxr['songzhuangu']) if xdxr['songzhuangu'] is not None else 0, # countForGift
106
+ int(10000 * xdxr['peigu']) if xdxr['peigu'] is not None else 0, # countForSell
107
+ int(1000 * xdxr['peigujia']) if xdxr['peigujia'] is not None else 0, # priceForSell
108
+ int(1000 * xdxr['fenhong']) if xdxr['fenhong'] is not None else 0, # bonus
109
+ 0, # countOfIncreasement, pytdx 不区分送股和转增股,统一记在送股
110
+ round(xdxr['houzongguben'])
111
+ if xdxr['houzongguben'] is not None else last_total_count, # totalCount
112
+ round(xdxr['panhouliutong'])
113
+ if xdxr['panhouliutong'] is not None else last_free_count, # freeCount
114
+ xdxr["suogu"] if xdxr["suogu"] is not None else 0
115
+ ]
116
+ else:
117
+ if xdxr['songzhuangu'] is not None:
118
+ records[date][2] = int(10000 * xdxr['songzhuangu'])
119
+ if xdxr['peigu'] is not None:
120
+ records[date][3] = int(10000 * xdxr['peigu'])
121
+ if xdxr['peigujia'] is not None:
122
+ records[date][4] = int(1000 * xdxr['peigujia'])
123
+ if xdxr['fenhong'] is not None:
124
+ records[date][5] = int(1000 * xdxr['fenhong'])
125
+ if xdxr['houzongguben'] is not None:
126
+ records[date][7] = round(xdxr['houzongguben'])
127
+ if xdxr['panhouliutong'] is not None:
128
+ records[date][8] = round(xdxr['panhouliutong'])
129
+ if xdxr['suogu'] is not None:
130
+ records[date][9] = xdxr['suogu']
131
+ if xdxr['houzongguben'] is not None:
132
+ last_total_count = round(xdxr['houzongguben'])
133
+ if xdxr['panhouliutong'] is not None:
134
+ last_free_count = round(xdxr['panhouliutong'])
135
+ except Exception as e:
136
+ print(e)
137
+ print("{} {}{} xdxr: {} last_db_weigth:{}".format(stockid, market, code, xdxr, new_last_db_weight))
138
+ raise e
139
+
140
+ if update_last_db_weight:
141
+ cur = connect.cursor()
142
+ x = new_last_db_weight
143
+ cur.execute(
144
+ "UPDATE StkWeight SET countAsGift=%s, countForSell=%s, priceForSell=%s, \
145
+ bonus=%s, totalCount=%s, freeCount=%s, suogu=%s \
146
+ where id=%s" % (x[3], x[4], x[5], x[6], x[8], x[9], x[10], x[0])
147
+ )
148
+ connect.commit()
149
+ cur.close()
150
+
151
+ if records:
152
+ cur = connect.cursor()
153
+ cur.executemany(
154
+ "INSERT INTO StkWeight(stockid, date, countAsGift, \
155
+ countForSell, priceForSell, bonus, countOfIncreasement, totalCount, freeCount, suogu) \
156
+ VALUES (?,?,?,?,?,?,?,?,?,?)", [x for x in records.values()]
157
+ )
158
+ connect.commit()
159
+ cur.close()
160
+ total_count += len(records)
161
+
162
+ return total_count
163
+
164
+
165
+ if __name__ == '__main__':
166
+ import os
167
+ import time
168
+ import sqlite3
169
+ from hikyuu.data.common_sqlite3 import create_database
170
+ starttime = time.time()
171
+
172
+ dest_dir = "d:\\stock"
173
+ tdx_server = '119.147.212.81'
174
+ tdx_port = 7709
175
+ quotations = ['stock', 'fund']
176
+
177
+ connect = sqlite3.connect(dest_dir + "\\stock.db")
178
+ create_database(connect)
179
+
180
+ from pytdx.hq import TdxHq_API, TDXParams
181
+ api = TdxHq_API()
182
+ api.connect(tdx_server, tdx_port)
183
+
184
+ print("导入数量: {}".format(pytdx_import_weight_to_sqlite(api, connect, 'SH')))
185
+
186
+ api.disconnect()
187
+ connect.close()
188
+
189
+ endtime = time.time()
190
+ print("\nTotal time:")
191
+ print("%.2fs" % (endtime - starttime))
192
+ print("%.2fm" % ((endtime - starttime) / 60))
@@ -0,0 +1,84 @@
1
+ # -*- coding: utf8 -*-
2
+ #
3
+ # The MIT License (MIT)
4
+ #
5
+ # Copyright (c) 2010-2019 fasiondog/hikyuu
6
+ #
7
+
8
+ import os
9
+ import sys
10
+ import sqlite3
11
+
12
+ from hikyuu import Datetime
13
+ from hikyuu.util import *
14
+
15
+
16
+ def dbcommit(func):
17
+ def wrapfunc(*args, **kwargs):
18
+ result = None
19
+ x = args[0]
20
+ try:
21
+ hku_check(x.cursor is None, "You cannot nest using database cursors!")
22
+ x.cursor = x._get_cursor()
23
+ result = func(*args, **kwargs)
24
+ x._cnx.commit()
25
+ except Exception as e:
26
+ hku_error("{} [{}.{}]".format(e, func.__module__, func.__name__))
27
+ result = None
28
+
29
+ if x.cursor is not None:
30
+ x.cursor.close()
31
+ x.cursor = None
32
+ return result
33
+
34
+ return wrapfunc
35
+
36
+
37
+ class SqliteMemDriver:
38
+ def __init__(self):
39
+ self._cnx = sqlite3.connect("file:hikyuu_mem?mode=memory&cache=shared")
40
+ self.cursor = None
41
+ self._create_table()
42
+
43
+ def __del__(self):
44
+ self.close()
45
+
46
+ def close(self):
47
+ if self._cnx:
48
+ self._cnx.close()
49
+ self._cnx = None
50
+
51
+ def _get_cursor(self):
52
+ return self._cnx.cursor()
53
+
54
+ @dbcommit
55
+ def _create_table(self):
56
+ filename = os.path.dirname(__file__) + '/sqlite_mem_sql/createdb.sql'
57
+ with open(filename, 'r', encoding='utf8') as f:
58
+ self.cursor.executescript(f.read())
59
+
60
+ @dbcommit
61
+ def insert_bars(self, market, bars, ktype):
62
+ """批量插入一批Bar, 如果 bar['market'] 和 指定的 market 不一致,将被忽略
63
+
64
+ :param str market: 市场简称
65
+ :param bar: 可通过键值方式取值,必须包含以下key:market, code, datetime, open, high
66
+ low, close, amount, volume, bid1,bid1_amount .. bid5, ask1, ask1_amount...
67
+ """
68
+ kline = [
69
+ (
70
+ bar['code'], Datetime(bar['datetime']).start_of_day().number if ktype == 'day' else
71
+ Datetime(bar['datetime']).number, bar['open'], bar['high'], bar['low'],
72
+ bar['close'], bar['amount'], bar['volume'], bar['bid1'], bar['bid1_amount'],
73
+ bar['bid2'], bar['bid2_amount'], bar['bid3'], bar['bid3_amount'], bar['bid4'],
74
+ bar['bid4_amount'], bar['bid5'], bar['bid5_amount'], bar['ask1'],
75
+ bar['ask1_amount'], bar['ask2'], bar['ask2_amount'], bar['ask3'],
76
+ bar['ask3_amount'], bar['ask4'], bar['ask4_amount'], bar['ask5'], bar['ask5_amount']
77
+ ) for bar in bars if market.lower() == bar['market'].lower()
78
+ ]
79
+ sql = 'INSERT OR REPLACE INTO {}_{}(code, datetime, open, high, low, close, amount, \
80
+ volume, bid1, bid1_amount, bid2, bid2_amount, bid3, bid3_amount, bid4, bid4_amount, \
81
+ bid5, bid5_amount, ask1, ask1_amount, ask2, ask2_amount, ask3, ask3_amount, \
82
+ ask4, ask4_amount, ask5, ask5_amount) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,\
83
+ ?,?,?,?,?,?,?,?,?,?)'.format(market, ktype)
84
+ self.cursor.executemany(sql, kline)
@@ -0,0 +1 @@
1
+ __version__ = "0.0.1"
@@ -0,0 +1,126 @@
1
+ BEGIN TRANSACTION;
2
+ CREATE TABLE IF NOT EXISTS "sh_day" (
3
+ "code" TEXT NOT NULL,
4
+ "datetime" NUMERIC NOT NULL,
5
+ "open" REAL NOT NULL,
6
+ "high" REAL NOT NULL,
7
+ "low" REAL NOT NULL,
8
+ "close" REAL NOT NULL,
9
+ "amount" REAL NOT NULL,
10
+ "volume" REAL NOT NULL,
11
+ "bid1" REAL NOT NULL,
12
+ "bid1_amount" REAL NOT NULL,
13
+ "bid2" REAL NOT NULL,
14
+ "bid2_amount" REAL NOT NULL,
15
+ "bid3" REAL NOT NULL,
16
+ "bid3_amount" REAL NOT NULL,
17
+ "bid4" REAL NOT NULL,
18
+ "bid4_amount" REAL NOT NULL,
19
+ "bid5" REAL NOT NULL,
20
+ "bid5_amount" REAL NOT NULL,
21
+ "ask1" REAL NOT NULL,
22
+ "ask1_amount" REAL NOT NULL,
23
+ "ask2" REAL NOT NULL,
24
+ "ask2_amount" REAL NOT NULL,
25
+ "ask3" REAL NOT NULL,
26
+ "ask3_amount" REAL NOT NULL,
27
+ "ask4" REAL NOT NULL,
28
+ "ask4_amount" REAL NOT NULL,
29
+ "ask5" REAL NOT NULL,
30
+ "ask5_amount" REAL NOT NULL,
31
+ PRIMARY KEY("code","datetime")
32
+ );
33
+ CREATE TABLE IF NOT EXISTS "sz_day" (
34
+ "code" TEXT NOT NULL,
35
+ "datetime" NUMERIC NOT NULL,
36
+ "open" REAL NOT NULL,
37
+ "high" REAL NOT NULL,
38
+ "low" REAL NOT NULL,
39
+ "close" REAL NOT NULL,
40
+ "amount" REAL NOT NULL,
41
+ "volume" REAL NOT NULL,
42
+ "bid1" REAL NOT NULL,
43
+ "bid1_amount" REAL NOT NULL,
44
+ "bid2" REAL NOT NULL,
45
+ "bid2_amount" REAL NOT NULL,
46
+ "bid3" REAL NOT NULL,
47
+ "bid3_amount" REAL NOT NULL,
48
+ "bid4" REAL NOT NULL,
49
+ "bid4_amount" REAL NOT NULL,
50
+ "bid5" REAL NOT NULL,
51
+ "bid5_amount" REAL NOT NULL,
52
+ "ask1" REAL NOT NULL,
53
+ "ask1_amount" REAL NOT NULL,
54
+ "ask2" REAL NOT NULL,
55
+ "ask2_amount" REAL NOT NULL,
56
+ "ask3" REAL NOT NULL,
57
+ "ask3_amount" REAL NOT NULL,
58
+ "ask4" REAL NOT NULL,
59
+ "ask4_amount" REAL NOT NULL,
60
+ "ask5" REAL NOT NULL,
61
+ "ask5_amount" REAL NOT NULL,
62
+ PRIMARY KEY("code","datetime")
63
+ );
64
+ CREATE TABLE IF NOT EXISTS "sh_min" (
65
+ "code" TEXT NOT NULL,
66
+ "datetime" NUMERIC NOT NULL,
67
+ "open" REAL NOT NULL,
68
+ "high" REAL NOT NULL,
69
+ "low" REAL NOT NULL,
70
+ "close" REAL NOT NULL,
71
+ "amount" REAL NOT NULL,
72
+ "volume" REAL NOT NULL,
73
+ "bid1" REAL NOT NULL,
74
+ "bid1_amount" REAL NOT NULL,
75
+ "bid2" REAL NOT NULL,
76
+ "bid2_amount" REAL NOT NULL,
77
+ "bid3" REAL NOT NULL,
78
+ "bid3_amount" REAL NOT NULL,
79
+ "bid4" REAL NOT NULL,
80
+ "bid4_amount" REAL NOT NULL,
81
+ "bid5" REAL NOT NULL,
82
+ "bid5_amount" REAL NOT NULL,
83
+ "ask1" REAL NOT NULL,
84
+ "ask1_amount" REAL NOT NULL,
85
+ "ask2" REAL NOT NULL,
86
+ "ask2_amount" REAL NOT NULL,
87
+ "ask3" REAL NOT NULL,
88
+ "ask3_amount" REAL NOT NULL,
89
+ "ask4" REAL NOT NULL,
90
+ "ask4_amount" REAL NOT NULL,
91
+ "ask5" REAL NOT NULL,
92
+ "ask5_amount" REAL NOT NULL,
93
+ PRIMARY KEY("code","datetime")
94
+ );
95
+ CREATE TABLE IF NOT EXISTS "sz_min" (
96
+ "code" TEXT NOT NULL,
97
+ "datetime" NUMERIC NOT NULL,
98
+ "open" REAL NOT NULL,
99
+ "high" REAL NOT NULL,
100
+ "low" REAL NOT NULL,
101
+ "close" REAL NOT NULL,
102
+ "amount" REAL NOT NULL,
103
+ "volume" REAL NOT NULL,
104
+ "bid1" REAL NOT NULL,
105
+ "bid1_amount" REAL NOT NULL,
106
+ "bid2" REAL NOT NULL,
107
+ "bid2_amount" REAL NOT NULL,
108
+ "bid3" REAL NOT NULL,
109
+ "bid3_amount" REAL NOT NULL,
110
+ "bid4" REAL NOT NULL,
111
+ "bid4_amount" REAL NOT NULL,
112
+ "bid5" REAL NOT NULL,
113
+ "bid5_amount" REAL NOT NULL,
114
+ "ask1" REAL NOT NULL,
115
+ "ask1_amount" REAL NOT NULL,
116
+ "ask2" REAL NOT NULL,
117
+ "ask2_amount" REAL NOT NULL,
118
+ "ask3" REAL NOT NULL,
119
+ "ask3_amount" REAL NOT NULL,
120
+ "ask4" REAL NOT NULL,
121
+ "ask4_amount" REAL NOT NULL,
122
+ "ask5" REAL NOT NULL,
123
+ "ask5_amount" REAL NOT NULL,
124
+ PRIMARY KEY("code","datetime")
125
+ );
126
+ COMMIT;
@@ -0,0 +1,4 @@
1
+ CREATE TABLE `version` (
2
+ `version` INTEGER NOT NULL
3
+ );
4
+ INSERT INTO `version` (version) VALUES (1);
@@ -0,0 +1,48 @@
1
+ BEGIN TRANSACTION;
2
+ CREATE TABLE `stkfinance` (
3
+ id INTEGER NOT NULL,
4
+ stockid INTEGER,
5
+ `updated_date` INTEGER,
6
+ `ipo_date` INTEGER, --42.上市日期
7
+ `province` INTEGER,
8
+ `industry` INTEGER,
9
+ `zongguben` NUMERIC, --1.总股本(股)
10
+ `liutongguben` NUMERIC, --7.流通A股(股)
11
+ `guojiagu` NUMERIC, --2.国家股(股)
12
+ `faqirenfarengu` NUMERIC, --3.发起人法人股(股)
13
+ `farengu` NUMERIC, --4.法人股(股)
14
+ `bgu` NUMERIC, --5.B股(股)
15
+ `hgu` NUMERIC, --6.H股(股)
16
+ `zhigonggu` NUMERIC, --8.职工股(股)
17
+ `zongzichan` NUMERIC, --10.总资产(元)
18
+ `liudongzichan` NUMERIC, --11.流动资产(元)
19
+ `gudingzichan` NUMERIC, --12.固定资产(元)
20
+ `wuxingzichan` NUMERIC, --13.无形资产(元)
21
+ `gudongrenshu` NUMERIC, --股东人数
22
+ `liudongfuzhai` NUMERIC, --15.流动负债
23
+ `changqifuzhai` NUMERIC, --16.长期负债
24
+ `zibengongjijin` NUMERIC, --17.资本公积金
25
+ `jingzichan` NUMERIC, --净资产(元)
26
+ `zhuyingshouru` NUMERIC, --20.主营收入
27
+ `zhuyinglirun` NUMERIC, --21.主营利润
28
+ `yingshouzhangkuan` NUMERIC, --应收账款
29
+ `yingyelirun` NUMERIC, --23.营业利润
30
+ `touzishouyu` NUMERIC, --投资收益
31
+ `jingyingxianjinliu` NUMERIC, --经营现金流
32
+ `zongxianjinliu` NUMERIC, --总现金流
33
+ `cunhuo` NUMERIC, --存货
34
+ `lirunzonghe` NUMERIC, --28.利润总额
35
+ `shuihoulirun` NUMERIC, --29.税后利润
36
+ `jinglirun` NUMERIC, --30.净利润
37
+ `weifenpeilirun` NUMERIC, --31.未分配利润
38
+ `meigujingzichan` NUMERIC, --34.每股净资产
39
+ `baoliu2` NUMERIC,
40
+ PRIMARY KEY (id),
41
+ FOREIGN KEY(stockid) REFERENCES "Stock" (stockid)
42
+ );
43
+
44
+ CREATE INDEX "ix_stkfinance_date" ON "stkfinance" (updated_date);
45
+ CREATE INDEX "ix_stkfinance_stock_date" ON "stkfinance" (stockid, updated_date);
46
+
47
+ UPDATE `version` set `version` = 2;
48
+ COMMIT;
@@ -0,0 +1,18 @@
1
+ BEGIN TRANSACTION;
2
+ alter table StockTypeInfo rename to StockTypeInfoOld;
3
+ CREATE TABLE `stocktypeinfo` (
4
+ `tickValue` NUMERIC,
5
+ `precision` INTEGER,
6
+ `id` INTEGER,
7
+ `type` INTEGER,
8
+ `description` VARCHAR(100),
9
+ `tick` NUMERIC,
10
+ `minTradeNumber` NUMERIC,
11
+ `maxTradeNumber` NUMERIC,
12
+ PRIMARY KEY(`id`)
13
+ );
14
+ insert into StockTypeInfo (id, type, description, tick, tickValue, precision, minTradeNumber, maxTradeNumber) select id, type, description, tick, tickValue, precision, minTradeNumber, maxTradeNumber from StockTypeInfoOld;
15
+ drop table StockTypeInfoOld;
16
+
17
+ UPDATE `version` set `version` = 3;
18
+ COMMIT;