hikyuu 2.6.8.4__py3-none-manylinux2014_x86_64.whl → 2.6.9__py3-none-manylinux2014_x86_64.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 (196) hide show
  1. hikyuu/__init__.py +5 -12
  2. hikyuu/__init__.pyi +612 -587
  3. hikyuu/analysis/__init__.pyi +589 -563
  4. hikyuu/analysis/analysis.pyi +590 -564
  5. hikyuu/core.py +2 -0
  6. hikyuu/core.pyi +591 -565
  7. hikyuu/cpp/__init__.pyi +2 -2
  8. hikyuu/cpp/core310.pyi +446 -13
  9. hikyuu/cpp/core310.so +0 -0
  10. hikyuu/cpp/core311.pyi +440 -13
  11. hikyuu/cpp/core311.so +0 -0
  12. hikyuu/cpp/core312.pyi +440 -13
  13. hikyuu/cpp/core312.so +0 -0
  14. hikyuu/cpp/core313.pyi +446 -13
  15. hikyuu/cpp/core313.so +0 -0
  16. hikyuu/cpp/i18n/zh_CN/hikyuu.mo +0 -0
  17. hikyuu/cpp/libboost_charconv-mt.so +0 -0
  18. hikyuu/cpp/libboost_charconv-mt.so.1.88.0 +0 -0
  19. hikyuu/cpp/libboost_chrono-mt.so +0 -0
  20. hikyuu/cpp/libboost_chrono-mt.so.1.88.0 +0 -0
  21. hikyuu/cpp/libboost_date_time-mt.so +0 -0
  22. hikyuu/cpp/libboost_date_time-mt.so.1.88.0 +0 -0
  23. hikyuu/cpp/libboost_serialization-mt.so +0 -0
  24. hikyuu/cpp/libboost_serialization-mt.so.1.88.0 +0 -0
  25. hikyuu/cpp/libboost_system-mt.so +0 -0
  26. hikyuu/cpp/libboost_system-mt.so.1.88.0 +0 -0
  27. hikyuu/cpp/libboost_thread-mt.so +0 -0
  28. hikyuu/cpp/libboost_thread-mt.so.1.88.0 +0 -0
  29. hikyuu/cpp/libboost_wserialization-mt.so +0 -0
  30. hikyuu/cpp/libboost_wserialization-mt.so.1.88.0 +0 -0
  31. hikyuu/cpp/libhikyuu.so +0 -0
  32. hikyuu/cpp/libsqlite3.so +0 -0
  33. hikyuu/data/clickhouse_upgrade/createdb.sql +105 -105
  34. hikyuu/data/common.py +3 -3
  35. hikyuu/data/common_clickhouse.py +1 -1
  36. hikyuu/data/download_block.py +318 -0
  37. hikyuu/data/em_block_to_clickhouse.py +26 -74
  38. hikyuu/data/em_block_to_mysql.py +25 -75
  39. hikyuu/data/em_block_to_sqlite.py +26 -78
  40. hikyuu/data/hku_config_template.py +3 -3
  41. hikyuu/data/pytdx_to_clickhouse.py +15 -11
  42. hikyuu/data/pytdx_to_h5.py +6 -2
  43. hikyuu/data/pytdx_to_mysql.py +5 -1
  44. hikyuu/data/pytdx_weight_to_clickhouse.py +1 -1
  45. hikyuu/data/pytdx_weight_to_mysql.py +1 -1
  46. hikyuu/data/pytdx_weight_to_sqlite.py +1 -1
  47. hikyuu/data/zh_bond10_to_clickhouse.py +1 -1
  48. hikyuu/draw/drawplot/__init__.pyi +8 -8
  49. hikyuu/draw/drawplot/bokeh_draw.pyi +603 -578
  50. hikyuu/draw/drawplot/common.pyi +1 -1
  51. hikyuu/draw/drawplot/echarts_draw.pyi +605 -580
  52. hikyuu/draw/drawplot/matplotlib_draw.py +4 -74
  53. hikyuu/draw/drawplot/matplotlib_draw.pyi +615 -590
  54. hikyuu/draw/elder.pyi +11 -11
  55. hikyuu/draw/kaufman.pyi +18 -18
  56. hikyuu/draw/volume.pyi +10 -10
  57. hikyuu/examples/notebook/Demo/Demo1.ipynb +48 -33
  58. hikyuu/extend.pyi +599 -573
  59. hikyuu/fetcher/stock/zh_block_em.py +50 -18
  60. hikyuu/gui/HikyuuTDX.py +81 -30
  61. hikyuu/gui/data/CollectSpotThread.py +1 -1
  62. hikyuu/gui/data/EscapetimeThread.py +8 -14
  63. hikyuu/gui/data/ImportBlockInfoTask.py +3 -10
  64. hikyuu/gui/data/MainWindow.py +1168 -715
  65. hikyuu/gui/data/SchedImportThread.py +2 -2
  66. hikyuu/gui/data/UsePytdxImportToH5Thread.py +3 -3
  67. hikyuu/gui/data/UseQmtImportToH5Thread.py +2 -2
  68. hikyuu/gui/data/UseTdxImportToH5Thread.py +3 -3
  69. hikyuu/gui/data/tool.py +32 -25
  70. hikyuu/gui/dataserver.py +5 -3
  71. hikyuu/hub.pyi +6 -6
  72. hikyuu/include/hikyuu/DataType.h +4 -16
  73. hikyuu/include/hikyuu/KData.h +6 -3
  74. hikyuu/include/hikyuu/KDataPrivatedBufferImp.h +1 -1
  75. hikyuu/include/hikyuu/KDataSharedBufferImp.h +1 -1
  76. hikyuu/include/hikyuu/KQuery.h +2 -2
  77. hikyuu/include/hikyuu/Stock.h +3 -0
  78. hikyuu/include/hikyuu/StockManager.h +13 -3
  79. hikyuu/include/hikyuu/config.h +3 -0
  80. hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +8 -0
  81. hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +6 -0
  82. hikyuu/include/hikyuu/data_driver/KDataDriver.h +26 -1
  83. hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +1 -1
  84. hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +1 -1
  85. hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +2 -1
  86. hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +2 -1
  87. hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +2 -1
  88. hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +1 -1
  89. hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +1 -1
  90. hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +1 -1
  91. hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +1 -1
  92. hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +1 -1
  93. hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +1 -1
  94. hikyuu/include/hikyuu/hikyuu.h +1 -1
  95. hikyuu/include/hikyuu/indicator/build_in.h +1 -0
  96. hikyuu/include/hikyuu/indicator/crt/CYCLE.h +4 -4
  97. hikyuu/include/hikyuu/indicator/crt/HSL.h +2 -2
  98. hikyuu/include/hikyuu/indicator/crt/QUANTILE_TRUNC.h +30 -0
  99. hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +1 -0
  100. hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +2 -2
  101. hikyuu/include/hikyuu/indicator/imp/IQuantileTrunc.h +25 -0
  102. hikyuu/include/hikyuu/misc.h +38 -0
  103. hikyuu/include/hikyuu/plugin/dataserver.h +2 -1
  104. hikyuu/include/hikyuu/plugin/extind.h +37 -0
  105. hikyuu/include/hikyuu/plugin/hkuextra.h +0 -18
  106. hikyuu/include/hikyuu/plugin/hkuviews.h +36 -0
  107. hikyuu/include/hikyuu/plugin/interface/DataServerPluginInterface.h +2 -2
  108. hikyuu/include/hikyuu/plugin/interface/ExtendIndicatorsPluginInterface.h +12 -0
  109. hikyuu/include/hikyuu/plugin/interface/HkuExtraPluginInterface.h +0 -14
  110. hikyuu/include/hikyuu/plugin/interface/HkuViewsPluginInterface.h +34 -0
  111. hikyuu/include/hikyuu/plugin/interface/plugins.h +8 -1
  112. hikyuu/include/hikyuu/python/pybind_utils.h +6 -1
  113. hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +3 -0
  114. hikyuu/include/hikyuu/trade_manage/Performance.h +4 -4
  115. hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +10 -1
  116. hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalFundsMM.h +0 -4
  117. hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +36 -3
  118. hikyuu/include/hikyuu/trade_sys/multifactor/NormalizeBase.h +125 -0
  119. hikyuu/include/hikyuu/trade_sys/multifactor/ScoresFilterBase.h +125 -0
  120. hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +3 -0
  121. hikyuu/include/hikyuu/trade_sys/multifactor/buildin_norm.h +36 -0
  122. hikyuu/include/hikyuu/trade_sys/multifactor/buildin_scfilter.h +51 -0
  123. hikyuu/include/hikyuu/trade_sys/multifactor/filter/GroupSCFilter.h +24 -0
  124. hikyuu/include/hikyuu/trade_sys/multifactor/filter/IgnoreLessOrEqualValueSCFilter.h +24 -0
  125. hikyuu/include/hikyuu/trade_sys/multifactor/filter/IgnoreNanSCFilter.h +24 -0
  126. hikyuu/include/hikyuu/trade_sys/multifactor/filter/MinAmountPercentSCFilter.h +25 -0
  127. hikyuu/include/hikyuu/trade_sys/multifactor/filter/PriceSCFilter.h +24 -0
  128. hikyuu/include/hikyuu/trade_sys/multifactor/filter/TopNSCFilter.h +24 -0
  129. hikyuu/include/hikyuu/trade_sys/multifactor/filter/__init__.py +1 -0
  130. hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +1 -1
  131. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +1 -1
  132. hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +1 -1
  133. hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +1 -1
  134. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormMinMax.h +23 -0
  135. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormQuantile.h +28 -0
  136. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormQuantileUniform.h +28 -0
  137. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/NormZScore.h +25 -0
  138. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/__init__.py +1 -0
  139. hikyuu/include/hikyuu/trade_sys/multifactor/normalize/quantile_trunc.h +16 -0
  140. hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +7 -0
  141. hikyuu/include/hikyuu/trade_sys/portfolio/imp/SimplePortfolio.h +7 -0
  142. hikyuu/include/hikyuu/trade_sys/portfolio/imp/WithoutAFPortfolio.h +7 -0
  143. hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +49 -0
  144. hikyuu/include/hikyuu/trade_sys/selector/build_in.h +1 -0
  145. hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor2.h +40 -0
  146. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +0 -3
  147. hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector2.h +49 -0
  148. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +1 -1
  149. hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +1 -1
  150. hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +0 -4
  151. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/AddValueSignal.h +2 -2
  152. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/DivValueSignal.h +2 -2
  153. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/MulValueSignal.h +2 -2
  154. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorSignal.h +1 -1
  155. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/OperatorValueSignal.h +4 -4
  156. hikyuu/include/hikyuu/trade_sys/signal/imp/logic/SubValueSignal.h +2 -2
  157. hikyuu/include/hikyuu/trade_sys/system/System.h +14 -1
  158. hikyuu/include/hikyuu/utilities/SpendTimer.h +17 -7
  159. hikyuu/include/hikyuu/utilities/arithmetic.h +55 -0
  160. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +1 -1
  161. hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +1 -1
  162. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +1 -1
  163. hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +1 -1
  164. hikyuu/include/hikyuu/utilities/plugin/PluginLoader.h +4 -1
  165. hikyuu/include/hikyuu/version.h +4 -4
  166. hikyuu/plugin/libbacktest.so +0 -0
  167. hikyuu/plugin/libclickhousedriver.so +0 -0
  168. hikyuu/plugin/libdataserver.so +0 -0
  169. hikyuu/plugin/libdevice.so +0 -0
  170. hikyuu/plugin/libextind.so +0 -0
  171. hikyuu/plugin/libhkuextra.so +0 -0
  172. hikyuu/plugin/libhkuviews.so +0 -0
  173. hikyuu/plugin/libimport2hdf5.so +0 -0
  174. hikyuu/plugin/libtmreport.so +0 -0
  175. hikyuu/trade_manage/__init__.pyi +603 -578
  176. hikyuu/trade_manage/broker.pyi +3 -3
  177. hikyuu/trade_manage/broker_easytrader.pyi +1 -1
  178. hikyuu/trade_manage/trade.pyi +603 -578
  179. hikyuu/util/__init__.pyi +2 -2
  180. hikyuu/util/singleton.pyi +1 -1
  181. {hikyuu-2.6.8.4.dist-info → hikyuu-2.6.9.dist-info}/METADATA +13 -13
  182. {hikyuu-2.6.8.4.dist-info → hikyuu-2.6.9.dist-info}/RECORD +185 -156
  183. {hikyuu-2.6.8.4.dist-info → hikyuu-2.6.9.dist-info}/top_level.txt +2 -1
  184. hikyuu/cpp/core39.pyi +0 -14385
  185. hikyuu/cpp/core39.so +0 -0
  186. hikyuu/data_driver/__init__.py +0 -49
  187. hikyuu/data_driver/jqdata_data_driver.py +0 -277
  188. hikyuu/data_driver/pytdx_data_driver.py +0 -292
  189. hikyuu/fetcher/stock/zh_stock_a_huatai.py +0 -51
  190. hikyuu/fetcher/stock/zh_stock_a_pytdx.py +0 -129
  191. hikyuu/gui/data/CollectToMemThread.py +0 -123
  192. hikyuu/gui/data/CollectToMySQLThread.py +0 -178
  193. hikyuu/gui/start_huatai_insight.py +0 -510
  194. hikyuu/tools/update_block_info.py +0 -168
  195. {hikyuu-2.6.8.4.dist-info → hikyuu-2.6.9.dist-info}/WHEEL +0 -0
  196. {hikyuu-2.6.8.4.dist-info → hikyuu-2.6.9.dist-info}/entry_points.txt +0 -0
hikyuu/cpp/core313.so CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
hikyuu/cpp/libhikyuu.so CHANGED
Binary file
hikyuu/cpp/libsqlite3.so CHANGED
Binary file
@@ -880,15 +880,15 @@ INSERT INTO `hku_base`.`holiday` (`date`) VALUES
880
880
 
881
881
  CREATE DATABASE IF NOT EXISTS hku_data;
882
882
  CREATE table if not exists hku_data.day_k (
883
- `market` String,
884
- `code` String,
883
+ `market` FixedString(2),
884
+ `code` FixedString(6),
885
885
  `date` DateTime,
886
- `open` DOUBLE,
887
- `high` DOUBLE,
888
- `low` DOUBLE,
889
- `close` DOUBLE,
890
- `amount` DOUBLE,
891
- `volume` DOUBLE
886
+ `open` UInt32,
887
+ `high` UInt32,
888
+ `low` UInt32,
889
+ `close` UInt32,
890
+ `amount` UInt64,
891
+ `volume` UInt64
892
892
  )
893
893
  ENGINE = MergeTree()
894
894
  PARTITION BY market
@@ -896,188 +896,188 @@ PRIMARY KEY (market, code, date)
896
896
  ORDER BY (market, code, date)
897
897
  SETTINGS index_granularity = 2048;
898
898
  CREATE table if not exists hku_data.week_k (
899
- `market` String,
900
- `code` String,
899
+ `market` FixedString(2),
900
+ `code` FixedString(6),
901
901
  `date` DateTime,
902
- `open` DOUBLE,
903
- `high` DOUBLE,
904
- `low` DOUBLE,
905
- `close` DOUBLE,
906
- `amount` DOUBLE,
907
- `volume` DOUBLE
902
+ `open` UInt32,
903
+ `high` UInt32,
904
+ `low` UInt32,
905
+ `close` UInt32,
906
+ `amount` UInt64,
907
+ `volume` UInt64
908
908
  )
909
909
  ENGINE = MergeTree()
910
910
  PARTITION BY market
911
911
  PRIMARY KEY (market, code, date)
912
912
  ORDER BY (market, code, date);
913
913
  CREATE table if not exists hku_data.month_k (
914
- `market` String,
915
- `code` String,
914
+ `market` FixedString(2),
915
+ `code` FixedString(6),
916
916
  `date` DateTime,
917
- `open` DOUBLE,
918
- `high` DOUBLE,
919
- `low` DOUBLE,
920
- `close` DOUBLE,
921
- `amount` DOUBLE,
922
- `volume` DOUBLE
917
+ `open` UInt32,
918
+ `high` UInt32,
919
+ `low` UInt32,
920
+ `close` UInt32,
921
+ `amount` UInt64,
922
+ `volume` UInt64
923
923
  )
924
924
  ENGINE = MergeTree()
925
925
  PARTITION BY market
926
926
  PRIMARY KEY (market, code, date)
927
927
  ORDER BY (market, code, date);
928
928
  CREATE table if not exists hku_data.quarter_k (
929
- `market` String,
930
- `code` String,
929
+ `market` FixedString(2),
930
+ `code` FixedString(6),
931
931
  `date` DateTime,
932
- `open` DOUBLE,
933
- `high` DOUBLE,
934
- `low` DOUBLE,
935
- `close` DOUBLE,
936
- `amount` DOUBLE,
937
- `volume` DOUBLE
932
+ `open` UInt32,
933
+ `high` UInt32,
934
+ `low` UInt32,
935
+ `close` UInt32,
936
+ `amount` UInt64,
937
+ `volume` UInt64
938
938
  )
939
939
  ENGINE = MergeTree()
940
940
  PARTITION BY market
941
941
  PRIMARY KEY (market, code, date)
942
942
  ORDER BY (market, code, date);
943
943
  CREATE table if not exists hku_data.halfyear_k (
944
- `market` String,
945
- `code` String,
944
+ `market` FixedString(2),
945
+ `code` FixedString(6),
946
946
  `date` DateTime,
947
- `open` DOUBLE,
948
- `high` DOUBLE,
949
- `low` DOUBLE,
950
- `close` DOUBLE,
951
- `amount` DOUBLE,
952
- `volume` DOUBLE
947
+ `open` UInt32,
948
+ `high` UInt32,
949
+ `low` UInt32,
950
+ `close` UInt32,
951
+ `amount` UInt64,
952
+ `volume` UInt64
953
953
  )
954
954
  ENGINE = MergeTree()
955
955
  PARTITION BY market
956
956
  PRIMARY KEY (market, code, date)
957
957
  ORDER BY (market, code, date);
958
958
  CREATE table if not exists hku_data.year_k (
959
- `market` String,
960
- `code` String,
959
+ `market` FixedString(2),
960
+ `code` FixedString(6),
961
961
  `date` DateTime,
962
- `open` DOUBLE,
963
- `high` DOUBLE,
964
- `low` DOUBLE,
965
- `close` DOUBLE,
966
- `amount` DOUBLE,
967
- `volume` DOUBLE
962
+ `open` UInt32,
963
+ `high` UInt32,
964
+ `low` UInt32,
965
+ `close` UInt32,
966
+ `amount` UInt64,
967
+ `volume` UInt64
968
968
  )
969
969
  ENGINE = MergeTree()
970
970
  PARTITION BY market
971
971
  PRIMARY KEY (market, code, date)
972
972
  ORDER BY (market, code, date);
973
973
  CREATE table if not exists hku_data.min_k (
974
- `market` String,
975
- `code` String,
974
+ `market` FixedString(2),
975
+ `code` FixedString(6),
976
976
  `date` DateTime,
977
- `open` DOUBLE,
978
- `high` DOUBLE,
979
- `low` DOUBLE,
980
- `close` DOUBLE,
981
- `amount` DOUBLE,
982
- `volume` DOUBLE
977
+ `open` UInt32,
978
+ `high` UInt32,
979
+ `low` UInt32,
980
+ `close` UInt32,
981
+ `amount` UInt64,
982
+ `volume` UInt64
983
983
  )
984
984
  ENGINE = MergeTree()
985
985
  PARTITION BY (market, toYear(date)-toYear(date)%10)
986
986
  PRIMARY KEY (market, code, date)
987
987
  ORDER BY (market, code, date);
988
988
  CREATE table if not exists hku_data.min5_k (
989
- `market` String,
990
- `code` String,
989
+ `market` FixedString(2),
990
+ `code` FixedString(6),
991
991
  `date` DateTime,
992
- `open` DOUBLE,
993
- `high` DOUBLE,
994
- `low` DOUBLE,
995
- `close` DOUBLE,
996
- `amount` DOUBLE,
997
- `volume` DOUBLE
992
+ `open` UInt32,
993
+ `high` UInt32,
994
+ `low` UInt32,
995
+ `close` UInt32,
996
+ `amount` UInt64,
997
+ `volume` UInt64
998
998
  )
999
999
  ENGINE = MergeTree()
1000
1000
  PARTITION BY (market, toYear(date)-toYear(date)%10)
1001
1001
  PRIMARY KEY (market, code, date)
1002
1002
  ORDER BY (market, code, date);
1003
1003
  CREATE table if not exists hku_data.min15_k (
1004
- `market` String,
1005
- `code` String,
1004
+ `market` FixedString(2),
1005
+ `code` FixedString(6),
1006
1006
  `date` DateTime,
1007
- `open` DOUBLE,
1008
- `high` DOUBLE,
1009
- `low` DOUBLE,
1010
- `close` DOUBLE,
1011
- `amount` DOUBLE,
1012
- `volume` DOUBLE
1007
+ `open` UInt32,
1008
+ `high` UInt32,
1009
+ `low` UInt32,
1010
+ `close` UInt32,
1011
+ `amount` UInt64,
1012
+ `volume` UInt64
1013
1013
  )
1014
1014
  ENGINE = MergeTree()
1015
1015
  PARTITION BY (market, toYear(date)-toYear(date)%10)
1016
1016
  PRIMARY KEY (market, code, date)
1017
1017
  ORDER BY (market, code, date);
1018
1018
  CREATE table if not exists hku_data.min30_k (
1019
- `market` String,
1020
- `code` String,
1019
+ `market` FixedString(2),
1020
+ `code` FixedString(6),
1021
1021
  `date` DateTime,
1022
- `open` DOUBLE,
1023
- `high` DOUBLE,
1024
- `low` DOUBLE,
1025
- `close` DOUBLE,
1026
- `amount` DOUBLE,
1027
- `volume` DOUBLE
1022
+ `open` UInt32,
1023
+ `high` UInt32,
1024
+ `low` UInt32,
1025
+ `close` UInt32,
1026
+ `amount` UInt64,
1027
+ `volume` UInt64
1028
1028
  )
1029
1029
  ENGINE = MergeTree()
1030
1030
  PARTITION BY (market, toYear(date)-toYear(date)%10)
1031
1031
  PRIMARY KEY (market, code, date)
1032
1032
  ORDER BY (market, code, date);
1033
1033
  CREATE table if not exists hku_data.min60_k (
1034
- `market` String,
1035
- `code` String,
1034
+ `market` FixedString(2),
1035
+ `code` FixedString(6),
1036
1036
  `date` DateTime,
1037
- `open` DOUBLE,
1038
- `high` DOUBLE,
1039
- `low` DOUBLE,
1040
- `close` DOUBLE,
1041
- `amount` DOUBLE,
1042
- `volume` DOUBLE
1037
+ `open` UInt32,
1038
+ `high` UInt32,
1039
+ `low` UInt32,
1040
+ `close` UInt32,
1041
+ `amount` UInt64,
1042
+ `volume` UInt64
1043
1043
  )
1044
1044
  ENGINE = MergeTree()
1045
1045
  PARTITION BY market
1046
1046
  PRIMARY KEY (market, code, date)
1047
1047
  ORDER BY (market, code, date);
1048
1048
  CREATE table if not exists hku_data.hour2_k (
1049
- `market` String,
1050
- `code` String,
1049
+ `market` FixedString(2),
1050
+ `code` FixedString(6),
1051
1051
  `date` DateTime,
1052
- `open` DOUBLE,
1053
- `high` DOUBLE,
1054
- `low` DOUBLE,
1055
- `close` DOUBLE,
1056
- `amount` DOUBLE,
1057
- `volume` DOUBLE
1052
+ `open` UInt32,
1053
+ `high` UInt32,
1054
+ `low` UInt32,
1055
+ `close` UInt32,
1056
+ `amount` UInt64,
1057
+ `volume` UInt64
1058
1058
  )
1059
1059
  ENGINE = MergeTree()
1060
1060
  PARTITION BY market
1061
1061
  PRIMARY KEY (market, code, date)
1062
1062
  ORDER BY (market, code, date);
1063
1063
  CREATE table if not exists hku_data.timeline (
1064
- `market` String,
1065
- `code` String,
1064
+ `market` FixedString(2),
1065
+ `code` FixedString(6),
1066
1066
  `date` DateTime,
1067
- `price` DOUBLE,
1068
- `vol` DOUBLE
1067
+ `price` UInt32,
1068
+ `vol` UInt32
1069
1069
  )
1070
1070
  ENGINE = MergeTree()
1071
1071
  PARTITION BY (market, toYear(date)-toYear(date)%10)
1072
1072
  PRIMARY KEY (market, code, date)
1073
1073
  ORDER BY (market, code, date);
1074
1074
  CREATE table if not exists hku_data.transdata (
1075
- `market` String,
1076
- `code` String,
1075
+ `market` FixedString(2),
1076
+ `code` FixedString(6),
1077
1077
  `date` DateTime,
1078
- `price` DOUBLE,
1079
- `vol` DOUBLE,
1080
- `buyorsell` int
1078
+ `price` UInt32,
1079
+ `vol` UInt32,
1080
+ `buyorsell` UInt8
1081
1081
  )
1082
1082
  ENGINE = MergeTree()
1083
1083
  PARTITION BY (market, toYear(date))
hikyuu/data/common.py CHANGED
@@ -200,11 +200,11 @@ def get_china_bond10_rate(start_date="19901219"):
200
200
 
201
201
 
202
202
  def modifiy_code(code):
203
- if code.startswith(('0', '3')):
203
+ if code.startswith(('0', '3', '5', '20')):
204
204
  return 'SZ' + code
205
- if code.startswith(('4', '8', '92')):
205
+ if code.startswith(('1', '4', '8', '92')):
206
206
  return 'BJ' + code
207
- if code.startswith('6'):
207
+ if code.startswith(('6', '900')):
208
208
  return 'SH' + code
209
209
  else:
210
210
  hku_warn("Unknow code: {}", code)
@@ -163,7 +163,7 @@ def get_last_krecord(connect, tablename):
163
163
  # hku_info(f"{tablename} {a}")
164
164
  if not a:
165
165
  return None
166
- return (Datetime.from_timestamp_utc(a[0][0]*1000000).ymdhm, a[0][1], a[0][2], a[0][3], a[0][4], a[0][5], a[0][6])
166
+ return (Datetime.from_timestamp_utc(a[0][0]*1000000).ymdhm, a[0][1]*0.001, a[0][2]*0.001, a[0][3]*0.001, a[0][4]*0.001, a[0][5]*0.001, a[0][6]*0.001)
167
167
  except:
168
168
  return None
169
169