hikyuu 2.3.1__py3-none-macosx_11_1_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hikyuu/LICENSE.txt +21 -0
- hikyuu/__init__.py +137 -0
- hikyuu/__init__.pyi +782 -0
- hikyuu/analysis/__init__.py +14 -0
- hikyuu/analysis/__init__.pyi +473 -0
- hikyuu/analysis/analysis.py +151 -0
- hikyuu/analysis/analysis.pyi +503 -0
- hikyuu/config/__init__.py +1 -0
- hikyuu/config/block/__init__.py +0 -0
- hikyuu/config/block/dybk.ini +5357 -0
- hikyuu/config/block/gnbk.ini +50024 -0
- hikyuu/config/block/hybk.ini +5464 -0
- hikyuu/config/block/self.ini +10 -0
- hikyuu/config/block/zsbk.ini +65543 -0
- hikyuu/core.py +27 -0
- hikyuu/core.pyi +468 -0
- hikyuu/cpp/__init__.py +1 -0
- hikyuu/cpp/__init__.pyi +3 -0
- hikyuu/cpp/core310.so +0 -0
- hikyuu/cpp/core311.so +0 -0
- hikyuu/cpp/core312.pyi +12475 -0
- hikyuu/cpp/core312.so +0 -0
- hikyuu/cpp/core313.so +0 -0
- hikyuu/cpp/core39.so +0 -0
- hikyuu/cpp/libcrypto.3.dylib +0 -0
- hikyuu/cpp/libcrypto.dylib +0 -0
- hikyuu/cpp/libhku_hdf5.200.2.0.dylib +0 -0
- hikyuu/cpp/libhku_hdf5.200.dylib +0 -0
- hikyuu/cpp/libhku_hdf5.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_cpp.200.2.0.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_cpp.200.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_cpp.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_hl.200.1.0.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_hl.200.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_hl.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_hl_cpp.200.1.0.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_hl_cpp.200.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_hl_cpp.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_tools.200.1.1.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_tools.200.dylib +0 -0
- hikyuu/cpp/libhku_hdf5_tools.dylib +0 -0
- hikyuu/cpp/libmysqlclient.21.dylib +0 -0
- hikyuu/cpp/libmysqlclient.dylib +0 -0
- hikyuu/cpp/libsqlite3.dylib +0 -0
- hikyuu/cpp/libssl.3.dylib +0 -0
- hikyuu/cpp/libssl.dylib +0 -0
- hikyuu/data/__init__.py +1 -0
- hikyuu/data/common.py +248 -0
- hikyuu/data/common_h5.py +398 -0
- hikyuu/data/common_mysql.py +485 -0
- hikyuu/data/common_pytdx.py +108 -0
- hikyuu/data/common_sqlite3.py +140 -0
- hikyuu/data/em_block_to_mysql.py +120 -0
- hikyuu/data/em_block_to_sqlite.py +117 -0
- hikyuu/data/hku_config_template.py +266 -0
- hikyuu/data/mysql_upgrade/0001.sql +5 -0
- hikyuu/data/mysql_upgrade/0002.sql +3 -0
- hikyuu/data/mysql_upgrade/0003.sql +9 -0
- hikyuu/data/mysql_upgrade/0004.sql +26 -0
- hikyuu/data/mysql_upgrade/0005.sql +3 -0
- hikyuu/data/mysql_upgrade/0006.sql +2 -0
- hikyuu/data/mysql_upgrade/0007.sql +20 -0
- hikyuu/data/mysql_upgrade/0008.sql +6 -0
- hikyuu/data/mysql_upgrade/0009.sql +36 -0
- hikyuu/data/mysql_upgrade/0010.sql +5 -0
- hikyuu/data/mysql_upgrade/0011.sql +5 -0
- hikyuu/data/mysql_upgrade/0012.sql +5 -0
- hikyuu/data/mysql_upgrade/0013.sql +2389 -0
- hikyuu/data/mysql_upgrade/0014.sql +3 -0
- hikyuu/data/mysql_upgrade/0015.sql +4 -0
- hikyuu/data/mysql_upgrade/0016.sql +4 -0
- hikyuu/data/mysql_upgrade/0017.sql +5 -0
- hikyuu/data/mysql_upgrade/0018.sql +2 -0
- hikyuu/data/mysql_upgrade/0019.sql +6 -0
- hikyuu/data/mysql_upgrade/0020.sql +4 -0
- hikyuu/data/mysql_upgrade/0021.sql +4 -0
- hikyuu/data/mysql_upgrade/0022.sql +5 -0
- hikyuu/data/mysql_upgrade/0023.sql +4 -0
- hikyuu/data/mysql_upgrade/0024.sql +2 -0
- hikyuu/data/mysql_upgrade/0025.sql +61 -0
- hikyuu/data/mysql_upgrade/__init__.py +1 -0
- hikyuu/data/mysql_upgrade/createdb.sql +265 -0
- hikyuu/data/pytdx_finance_to_mysql.py +129 -0
- hikyuu/data/pytdx_finance_to_sqlite.py +162 -0
- hikyuu/data/pytdx_to_h5.py +662 -0
- hikyuu/data/pytdx_to_mysql.py +803 -0
- hikyuu/data/pytdx_weight_to_mysql.py +196 -0
- hikyuu/data/pytdx_weight_to_sqlite.py +192 -0
- hikyuu/data/sqlite_mem.py +84 -0
- hikyuu/data/sqlite_mem_sql/__init__.py +1 -0
- hikyuu/data/sqlite_mem_sql/createdb.sql +126 -0
- hikyuu/data/sqlite_upgrade/0001.sql +4 -0
- hikyuu/data/sqlite_upgrade/0002.sql +48 -0
- hikyuu/data/sqlite_upgrade/0003.sql +18 -0
- hikyuu/data/sqlite_upgrade/0004.sql +11 -0
- hikyuu/data/sqlite_upgrade/0005.sql +28 -0
- hikyuu/data/sqlite_upgrade/0006.sql +5 -0
- hikyuu/data/sqlite_upgrade/0007.sql +4 -0
- hikyuu/data/sqlite_upgrade/0008.sql +22 -0
- hikyuu/data/sqlite_upgrade/0009.sql +8 -0
- hikyuu/data/sqlite_upgrade/0010.sql +5 -0
- hikyuu/data/sqlite_upgrade/0011.sql +16 -0
- hikyuu/data/sqlite_upgrade/0012.sql +15 -0
- hikyuu/data/sqlite_upgrade/0013.sql +9 -0
- hikyuu/data/sqlite_upgrade/0014.sql +607 -0
- hikyuu/data/sqlite_upgrade/0015.sql +7 -0
- hikyuu/data/sqlite_upgrade/0016.sql +8 -0
- hikyuu/data/sqlite_upgrade/0017.sql +16 -0
- hikyuu/data/sqlite_upgrade/0018.sql +5 -0
- hikyuu/data/sqlite_upgrade/0019.sql +4 -0
- hikyuu/data/sqlite_upgrade/0020.sql +4 -0
- hikyuu/data/sqlite_upgrade/0021.sql +6 -0
- hikyuu/data/sqlite_upgrade/0022.sql +6 -0
- hikyuu/data/sqlite_upgrade/0023.sql +7 -0
- hikyuu/data/sqlite_upgrade/0024.sql +22 -0
- hikyuu/data/sqlite_upgrade/0025.sql +63 -0
- hikyuu/data/sqlite_upgrade/__init__.py +1 -0
- hikyuu/data/sqlite_upgrade/createdb.sql +61 -0
- hikyuu/data/tdx_to_h5.py +464 -0
- hikyuu/data/tdx_to_mysql.py +464 -0
- hikyuu/data/weight_to_mysql.py +72 -0
- hikyuu/data/weight_to_sqlite.py +70 -0
- hikyuu/data/zh_bond10_to_mysql.py +30 -0
- hikyuu/data/zh_bond10_to_sqlite.py +42 -0
- hikyuu/data_driver/__init__.py +49 -0
- hikyuu/data_driver/jqdata_data_driver.py +277 -0
- hikyuu/data_driver/pytdx_data_driver.py +292 -0
- hikyuu/deprecated.py +651 -0
- hikyuu/draw/__init__.py +65 -0
- hikyuu/draw/drawplot/__init__.py +300 -0
- hikyuu/draw/drawplot/bokeh_draw.py +583 -0
- hikyuu/draw/drawplot/common.py +89 -0
- hikyuu/draw/drawplot/echarts_draw.py +604 -0
- hikyuu/draw/drawplot/icon/1.png +0 -0
- hikyuu/draw/drawplot/icon/10.png +0 -0
- hikyuu/draw/drawplot/icon/11.png +0 -0
- hikyuu/draw/drawplot/icon/12.png +0 -0
- hikyuu/draw/drawplot/icon/13.png +0 -0
- hikyuu/draw/drawplot/icon/14.png +0 -0
- hikyuu/draw/drawplot/icon/15.png +0 -0
- hikyuu/draw/drawplot/icon/16.png +0 -0
- hikyuu/draw/drawplot/icon/17.png +0 -0
- hikyuu/draw/drawplot/icon/18.png +0 -0
- hikyuu/draw/drawplot/icon/19.png +0 -0
- hikyuu/draw/drawplot/icon/2.png +0 -0
- hikyuu/draw/drawplot/icon/20.png +0 -0
- hikyuu/draw/drawplot/icon/21.png +0 -0
- hikyuu/draw/drawplot/icon/22.png +0 -0
- hikyuu/draw/drawplot/icon/23.png +0 -0
- hikyuu/draw/drawplot/icon/24.png +0 -0
- hikyuu/draw/drawplot/icon/25.png +0 -0
- hikyuu/draw/drawplot/icon/26.png +0 -0
- hikyuu/draw/drawplot/icon/27.png +0 -0
- hikyuu/draw/drawplot/icon/28.png +0 -0
- hikyuu/draw/drawplot/icon/29.png +0 -0
- hikyuu/draw/drawplot/icon/3.png +0 -0
- hikyuu/draw/drawplot/icon/30.png +0 -0
- hikyuu/draw/drawplot/icon/31.png +0 -0
- hikyuu/draw/drawplot/icon/32.png +0 -0
- hikyuu/draw/drawplot/icon/33.png +0 -0
- hikyuu/draw/drawplot/icon/34.png +0 -0
- hikyuu/draw/drawplot/icon/35.png +0 -0
- hikyuu/draw/drawplot/icon/36.png +0 -0
- hikyuu/draw/drawplot/icon/37.png +0 -0
- hikyuu/draw/drawplot/icon/38.png +0 -0
- hikyuu/draw/drawplot/icon/39.png +0 -0
- hikyuu/draw/drawplot/icon/4.png +0 -0
- hikyuu/draw/drawplot/icon/40.png +0 -0
- hikyuu/draw/drawplot/icon/41.png +0 -0
- hikyuu/draw/drawplot/icon/42.png +0 -0
- hikyuu/draw/drawplot/icon/43.png +0 -0
- hikyuu/draw/drawplot/icon/44.png +0 -0
- hikyuu/draw/drawplot/icon/45.png +0 -0
- hikyuu/draw/drawplot/icon/46.png +0 -0
- hikyuu/draw/drawplot/icon/47.png +0 -0
- hikyuu/draw/drawplot/icon/48.png +0 -0
- hikyuu/draw/drawplot/icon/49.png +0 -0
- hikyuu/draw/drawplot/icon/5.png +0 -0
- hikyuu/draw/drawplot/icon/6.png +0 -0
- hikyuu/draw/drawplot/icon/7.png +0 -0
- hikyuu/draw/drawplot/icon/8.png +0 -0
- hikyuu/draw/drawplot/icon/9.png +0 -0
- hikyuu/draw/drawplot/icon/__init__.py +0 -0
- hikyuu/draw/drawplot/matplotlib_draw.py +1381 -0
- hikyuu/draw/elder.py +135 -0
- hikyuu/draw/kaufman.py +192 -0
- hikyuu/draw/volume.py +122 -0
- hikyuu/examples/Turtle_SG.py +47 -0
- hikyuu/examples/__init__.py +1 -0
- hikyuu/examples/examples_init.py +33 -0
- hikyuu/examples/notebook/000-Index.ipynb +76 -0
- hikyuu/examples/notebook/001-overview.ipynb +345 -0
- hikyuu/examples/notebook/002-HowToGetStock.ipynb +265 -0
- hikyuu/examples/notebook/003-HowToGetKDataAndDraw.ipynb +375 -0
- hikyuu/examples/notebook/004-IndicatorOverview.ipynb +501 -0
- hikyuu/examples/notebook/005-Drawplot.ipynb +321 -0
- hikyuu/examples/notebook/006-TradeManager.ipynb +381 -0
- hikyuu/examples/notebook/007-SystemDetails.ipynb +380 -0
- hikyuu/examples/notebook/008-Pickle.ipynb +127 -0
- hikyuu/examples/notebook/009-RealData.ipynb +110 -0
- hikyuu/examples/notebook/010-Portfolio.ipynb +333 -0
- hikyuu/examples/notebook/011-PyechartsDrawplot.ipynb +21821 -0
- hikyuu/examples/notebook/Demo/Demo1.ipynb +623 -0
- hikyuu/examples/notebook/Demo/Demo2.ipynb +665 -0
- hikyuu/examples/notebook/Demo/__init__.py +1 -0
- hikyuu/examples/notebook/README.md +1 -0
- hikyuu/examples/notebook/__init__.py +1 -0
- hikyuu/examples/notebook/images/002_01_block_config.png +0 -0
- hikyuu/examples/notebook/images/008_01_tocsv.png +0 -0
- hikyuu/examples/notebook/images/008_02_tocsv_look.png +0 -0
- hikyuu/examples/notebook/images/008_03_pickle.png +0 -0
- hikyuu/examples/notebook/images/__init__.py +1 -0
- hikyuu/examples/quick_crtsg.py +40 -0
- hikyuu/extend.py +387 -0
- hikyuu/extend.pyi +621 -0
- hikyuu/fetcher/__init__.py +8 -0
- hikyuu/fetcher/proxy/__init__.py +12 -0
- hikyuu/fetcher/proxy/proxy.py +39 -0
- hikyuu/fetcher/proxy/zhima.py +63 -0
- hikyuu/fetcher/stock/__init__.py +8 -0
- hikyuu/fetcher/stock/zh_block_em.py +140 -0
- hikyuu/fetcher/stock/zh_stock_a_huatai.py +51 -0
- hikyuu/fetcher/stock/zh_stock_a_pytdx.py +139 -0
- hikyuu/fetcher/stock/zh_stock_a_qmt.py +58 -0
- hikyuu/fetcher/stock/zh_stock_a_sina_qq.py +229 -0
- hikyuu/flat/Spot.py +440 -0
- hikyuu/flat/SpotList.py +74 -0
- hikyuu/flat/__init__.py +4 -0
- hikyuu/gui/HikyuuTDX.py +842 -0
- hikyuu/gui/__init__.py +1 -0
- hikyuu/gui/data/CollectSpotThread.py +43 -0
- hikyuu/gui/data/CollectToMemThread.py +123 -0
- hikyuu/gui/data/CollectToMySQLThread.py +178 -0
- hikyuu/gui/data/EscapetimeThread.py +32 -0
- hikyuu/gui/data/ImportBlockInfoTask.py +55 -0
- hikyuu/gui/data/ImportHistoryFinanceTask.py +141 -0
- hikyuu/gui/data/ImportPytdxTimeToH5Task.py +94 -0
- hikyuu/gui/data/ImportPytdxToH5Task.py +98 -0
- hikyuu/gui/data/ImportPytdxTransToH5Task.py +94 -0
- hikyuu/gui/data/ImportTdxToH5Task.py +111 -0
- hikyuu/gui/data/ImportWeightToSqliteTask.py +114 -0
- hikyuu/gui/data/ImportZhBond10Task.py +48 -0
- hikyuu/gui/data/MainWindow.py +824 -0
- hikyuu/gui/data/SchedImportThread.py +62 -0
- hikyuu/gui/data/UsePytdxImportToH5Thread.py +371 -0
- hikyuu/gui/data/UseTdxImportToH5Thread.py +182 -0
- hikyuu/gui/data/__init__.py +1 -0
- hikyuu/gui/data/tool.py +43 -0
- hikyuu/gui/hikyuu.ico +0 -0
- hikyuu/gui/hikyuu_small.png +0 -0
- hikyuu/gui/importdata.py +166 -0
- hikyuu/gui/spot_server.py +336 -0
- hikyuu/gui/start_huatai_insight.py +510 -0
- hikyuu/gui/start_qmt.py +122 -0
- hikyuu/hub.py +634 -0
- hikyuu/hub.pyi +255 -0
- hikyuu/include/__init__.py +1 -0
- hikyuu/include/hikyuu/Block.h +173 -0
- hikyuu/include/hikyuu/DataType.h +173 -0
- hikyuu/include/hikyuu/GlobalInitializer.h +46 -0
- hikyuu/include/hikyuu/HistoryFinanceInfo.h +35 -0
- hikyuu/include/hikyuu/KData.h +271 -0
- hikyuu/include/hikyuu/KDataImp.h +94 -0
- hikyuu/include/hikyuu/KQuery.h +275 -0
- hikyuu/include/hikyuu/KRecord.h +94 -0
- hikyuu/include/hikyuu/MarketInfo.h +132 -0
- hikyuu/include/hikyuu/Stock.h +351 -0
- hikyuu/include/hikyuu/StockManager.h +371 -0
- hikyuu/include/hikyuu/StockMapIterator.h +72 -0
- hikyuu/include/hikyuu/StockTypeInfo.h +127 -0
- hikyuu/include/hikyuu/StockWeight.h +148 -0
- hikyuu/include/hikyuu/StrategyContext.h +107 -0
- hikyuu/include/hikyuu/TimeLineRecord.h +71 -0
- hikyuu/include/hikyuu/TransRecord.h +79 -0
- hikyuu/include/hikyuu/ZhBond10.h +36 -0
- hikyuu/include/hikyuu/__init__.py +1 -0
- hikyuu/include/hikyuu/analysis/__init__.py +1 -0
- hikyuu/include/hikyuu/analysis/analysis_sys.h +76 -0
- hikyuu/include/hikyuu/analysis/combinate.h +115 -0
- hikyuu/include/hikyuu/config.h +51 -0
- hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
- hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +108 -0
- hikyuu/include/hikyuu/data_driver/DataDriverFactory.h +58 -0
- hikyuu/include/hikyuu/data_driver/DriverConnectPool.h +146 -0
- hikyuu/include/hikyuu/data_driver/HistoryFinanceReader.h +36 -0
- hikyuu/include/hikyuu/data_driver/KDataDriver.h +194 -0
- hikyuu/include/hikyuu/data_driver/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/mysql/MySQLBaseInfoDriver.h +54 -0
- hikyuu/include/hikyuu/data_driver/base_info/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/sqlite/SQLiteBaseInfoDriver.h +50 -0
- hikyuu/include/hikyuu/data_driver/base_info/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceFieldTable.h +19 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/HistoryFinanceTable.h +23 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/HolidayTable.h +29 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/MarketInfoTable.h +127 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/StockTable.h +64 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/StockTypeInfoTable.h +108 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/StockWeightTable.h +52 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/ZhBond10Table.h +20 -0
- hikyuu/include/hikyuu/data_driver/base_info/table/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/mysql/MySQLBlockInfoDriver.h +36 -0
- hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +31 -0
- hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +36 -0
- hikyuu/include/hikyuu/data_driver/block_info/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/DoNothingKDataDriver.h +33 -0
- hikyuu/include/hikyuu/data_driver/kdata/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/cvs/KDataTempCsvDriver.h +106 -0
- hikyuu/include/hikyuu/data_driver/kdata/cvs/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5KDataDriver.h +89 -0
- hikyuu/include/hikyuu/data_driver/kdata/hdf5/H5Record.h +50 -0
- hikyuu/include/hikyuu/data_driver/kdata/hdf5/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/KRecordTable.h +124 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/MySQLKDataDriver.h +78 -0
- hikyuu/include/hikyuu/data_driver/kdata/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/sqlite/SQLiteKDataDriver.h +62 -0
- hikyuu/include/hikyuu/data_driver/kdata/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/kdata/tdx/TdxKDataDriver.h +63 -0
- hikyuu/include/hikyuu/data_driver/kdata/tdx/__init__.py +1 -0
- hikyuu/include/hikyuu/debug.h +32 -0
- hikyuu/include/hikyuu/doc.h +166 -0
- hikyuu/include/hikyuu/global/GlobalSpotAgent.h +33 -0
- hikyuu/include/hikyuu/global/SpotRecord.h +52 -0
- hikyuu/include/hikyuu/global/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/SpotAgent.h +143 -0
- hikyuu/include/hikyuu/global/agent/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/hikyuu/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/hikyuu/flat/__init__.py +1 -0
- hikyuu/include/hikyuu/global/agent/spot_generated.h +527 -0
- hikyuu/include/hikyuu/global/schedule/__init__.py +1 -0
- hikyuu/include/hikyuu/global/schedule/inner_tasks.h +16 -0
- hikyuu/include/hikyuu/global/schedule/scheduler.h +24 -0
- hikyuu/include/hikyuu/global/sysinfo.h +67 -0
- hikyuu/include/hikyuu/hikyuu.h +55 -0
- hikyuu/include/hikyuu/indicator/IndParam.h +39 -0
- hikyuu/include/hikyuu/indicator/Indicator.h +410 -0
- hikyuu/include/hikyuu/indicator/IndicatorImp.h +419 -0
- hikyuu/include/hikyuu/indicator/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator/build_in.h +122 -0
- hikyuu/include/hikyuu/indicator/crt/ABS.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/ACOS.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/AD.h +28 -0
- hikyuu/include/hikyuu/indicator/crt/ADVANCE.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/ALIGN.h +42 -0
- hikyuu/include/hikyuu/indicator/crt/AMA.h +113 -0
- hikyuu/include/hikyuu/indicator/crt/ASIN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ATAN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ATR.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/AVEDEV.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/BACKSET.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/BARSCOUNT.h +37 -0
- hikyuu/include/hikyuu/indicator/crt/BARSLAST.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/BARSSINCE.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/BETWEEN.h +85 -0
- hikyuu/include/hikyuu/indicator/crt/BLOCKSETNUM.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/CEILING.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/CONTEXT.h +30 -0
- hikyuu/include/hikyuu/indicator/crt/CORR.h +26 -0
- hikyuu/include/hikyuu/indicator/crt/COS.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/COST.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/COUNT.h +54 -0
- hikyuu/include/hikyuu/indicator/crt/CROSS.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/CVAL.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/DECLINE.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/DEVSQ.h +40 -0
- hikyuu/include/hikyuu/indicator/crt/DIFF.h +31 -0
- hikyuu/include/hikyuu/indicator/crt/DMA.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/DOWNNDAY.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/DROPNA.h +31 -0
- hikyuu/include/hikyuu/indicator/crt/EMA.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/EVERY.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/EXIST.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/EXP.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/FILTER.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/FINANCE.h +20 -0
- hikyuu/include/hikyuu/indicator/crt/FLOOR.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/HHV.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/HHVBARS.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/HSL.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/IC.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/ICIR.h +51 -0
- hikyuu/include/hikyuu/indicator/crt/INDEX.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/INSUM.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/IR.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/ISINF.h +28 -0
- hikyuu/include/hikyuu/indicator/crt/ISINFA.h +28 -0
- hikyuu/include/hikyuu/indicator/crt/ISLASTBAR.h +30 -0
- hikyuu/include/hikyuu/indicator/crt/ISNA.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/KDATA.h +72 -0
- hikyuu/include/hikyuu/indicator/crt/LAST.h +100 -0
- hikyuu/include/hikyuu/indicator/crt/LIUTONGPAN.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/LLV.h +46 -0
- hikyuu/include/hikyuu/indicator/crt/LLVBARS.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/LN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/LOG.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/LONGCROSS.h +68 -0
- hikyuu/include/hikyuu/indicator/crt/MA.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/MACD.h +62 -0
- hikyuu/include/hikyuu/indicator/crt/MAX.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/MDD.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/MIN.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/MOD.h +49 -0
- hikyuu/include/hikyuu/indicator/crt/MRR.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/NDAY.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/NOT.h +35 -0
- hikyuu/include/hikyuu/indicator/crt/POS.h +21 -0
- hikyuu/include/hikyuu/indicator/crt/POW.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/PRICELIST.h +59 -0
- hikyuu/include/hikyuu/indicator/crt/RECOVER.h +45 -0
- hikyuu/include/hikyuu/indicator/crt/REF.h +48 -0
- hikyuu/include/hikyuu/indicator/crt/REPLACE.h +29 -0
- hikyuu/include/hikyuu/indicator/crt/RESULT.h +20 -0
- hikyuu/include/hikyuu/indicator/crt/REVERSE.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ROC.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROCP.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROCR.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROCR100.h +39 -0
- hikyuu/include/hikyuu/indicator/crt/ROUND.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ROUNDDOWN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/ROUNDUP.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/RSI.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/SAFTYLOSS.h +79 -0
- hikyuu/include/hikyuu/indicator/crt/SGN.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/SIN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/SLICE.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/SLOPE.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/SMA.h +72 -0
- hikyuu/include/hikyuu/indicator/crt/SPEARMAN.h +24 -0
- hikyuu/include/hikyuu/indicator/crt/SQRT.h +41 -0
- hikyuu/include/hikyuu/indicator/crt/STDEV.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/STDP.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/SUM.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/SUMBARS.h +44 -0
- hikyuu/include/hikyuu/indicator/crt/TAN.h +36 -0
- hikyuu/include/hikyuu/indicator/crt/TIME.h +69 -0
- hikyuu/include/hikyuu/indicator/crt/TIMELINE.h +23 -0
- hikyuu/include/hikyuu/indicator/crt/TIMELINEVOL.h +21 -0
- hikyuu/include/hikyuu/indicator/crt/TURNOVER.h +21 -0
- hikyuu/include/hikyuu/indicator/crt/UPNDAY.h +43 -0
- hikyuu/include/hikyuu/indicator/crt/VAR.h +40 -0
- hikyuu/include/hikyuu/indicator/crt/VARP.h +40 -0
- hikyuu/include/hikyuu/indicator/crt/VIGOR.h +34 -0
- hikyuu/include/hikyuu/indicator/crt/WMA.h +46 -0
- hikyuu/include/hikyuu/indicator/crt/ZHBOND10.h +27 -0
- hikyuu/include/hikyuu/indicator/crt/ZONGGUBEN.h +17 -0
- hikyuu/include/hikyuu/indicator/crt/ZSCORE.h +30 -0
- hikyuu/include/hikyuu/indicator/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator/imp/IAbs.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IAcos.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAd.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IAdvance.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IAlign.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAma.h +38 -0
- hikyuu/include/hikyuu/indicator/imp/IAsin.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAtan.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IAtr.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBackset.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsCount.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsLast.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBarsSince.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IBlockSetNum.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ICeil.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IContext.h +44 -0
- hikyuu/include/hikyuu/indicator/imp/ICorr.h +41 -0
- hikyuu/include/hikyuu/indicator/imp/ICos.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ICount.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/ICval.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDecline.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDevsq.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDiff.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IDma.h +47 -0
- hikyuu/include/hikyuu/indicator/imp/IDropna.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IEma.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IEvery.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IExist.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IExp.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IFilter.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/IFinance.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/IFloor.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IHhvbars.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IHighLine.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/IIc.h +45 -0
- hikyuu/include/hikyuu/indicator/imp/IInSum.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IIntpart.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IIsInf.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IIsInfa.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IIsLastBar.h +27 -0
- hikyuu/include/hikyuu/indicator/imp/IIsNa.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IKData.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/ILiuTongPan.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/ILn.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ILog.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ILowLine.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/ILowLineBars.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IMa.h +27 -0
- hikyuu/include/hikyuu/indicator/imp/IMacd.h +41 -0
- hikyuu/include/hikyuu/indicator/imp/IMdd.h +23 -0
- hikyuu/include/hikyuu/indicator/imp/IMrr.h +23 -0
- hikyuu/include/hikyuu/indicator/imp/INot.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IPow.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IPriceList.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRecover.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRef.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/IReplace.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IResult.h +26 -0
- hikyuu/include/hikyuu/indicator/imp/IReverse.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/IRoc.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRocp.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRocr.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRocr100.h +29 -0
- hikyuu/include/hikyuu/indicator/imp/IRound.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IRoundDown.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IRoundUp.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/ISaftyLoss.h +44 -0
- hikyuu/include/hikyuu/indicator/imp/ISign.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ISin.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ISlice.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/ISlope.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/ISma.h +34 -0
- hikyuu/include/hikyuu/indicator/imp/ISpearman.h +41 -0
- hikyuu/include/hikyuu/indicator/imp/ISqrt.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IStdev.h +31 -0
- hikyuu/include/hikyuu/indicator/imp/IStdp.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/ISum.h +27 -0
- hikyuu/include/hikyuu/indicator/imp/ISumBars.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/ITan.h +28 -0
- hikyuu/include/hikyuu/indicator/imp/ITime.h +33 -0
- hikyuu/include/hikyuu/indicator/imp/ITimeLine.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IVar.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IVarp.h +32 -0
- hikyuu/include/hikyuu/indicator/imp/IVigor.h +35 -0
- hikyuu/include/hikyuu/indicator/imp/IWma.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IZScore.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/IZhBond10.h +30 -0
- hikyuu/include/hikyuu/indicator/imp/IZongGuBen.h +25 -0
- hikyuu/include/hikyuu/indicator/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator_talib/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaAdosc.h +26 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaApo.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaBbands.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaMa.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaMacd.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaMacdext.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaMama.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaMavp.h +41 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaPpo.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaSar.h +26 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaSarext.h +31 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaStddev.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaStoch.h +27 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaStochf.h +26 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaStochrsi.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaT3.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaUltosc.h +26 -0
- hikyuu/include/hikyuu/indicator_talib/imp/TaVar.h +24 -0
- hikyuu/include/hikyuu/indicator_talib/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator_talib/imp/ta_defines.h +288 -0
- hikyuu/include/hikyuu/indicator_talib/imp/ta_imp.h +1374 -0
- hikyuu/include/hikyuu/indicator_talib/ta_crt.h +322 -0
- hikyuu/include/hikyuu/python/__init__.py +1 -0
- hikyuu/include/hikyuu/python/pickle_support.h +90 -0
- hikyuu/include/hikyuu/python/pybind_utils.h +103 -0
- hikyuu/include/hikyuu/serialization/Block_serialization.h +55 -0
- hikyuu/include/hikyuu/serialization/Datetime_serialization.h +40 -0
- hikyuu/include/hikyuu/serialization/KData_serialization.h +45 -0
- hikyuu/include/hikyuu/serialization/KQuery_serialization.h +79 -0
- hikyuu/include/hikyuu/serialization/KRecord_serialization.h +50 -0
- hikyuu/include/hikyuu/serialization/MarketInfo_serialization.h +68 -0
- hikyuu/include/hikyuu/serialization/PriceList_serialization.h +66 -0
- hikyuu/include/hikyuu/serialization/StockTypeInfo_serialization.h +62 -0
- hikyuu/include/hikyuu/serialization/StockWeight_serialization.h +65 -0
- hikyuu/include/hikyuu/serialization/Stock_serialization.h +47 -0
- hikyuu/include/hikyuu/serialization/TimeDelta_serialization.h +44 -0
- hikyuu/include/hikyuu/serialization/TimeLineRecord_serialization.h +42 -0
- hikyuu/include/hikyuu/serialization/TransRecord_serialization.h +44 -0
- hikyuu/include/hikyuu/serialization/__init__.py +1 -0
- hikyuu/include/hikyuu/serialization/all.h +26 -0
- hikyuu/include/hikyuu/strategy/BrokerTradeManager.h +433 -0
- hikyuu/include/hikyuu/strategy/RunPortfolioInStrategy.h +37 -0
- hikyuu/include/hikyuu/strategy/RunSystemInStrategy.h +38 -0
- hikyuu/include/hikyuu/strategy/Strategy.h +191 -0
- hikyuu/include/hikyuu/strategy/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_manage/BorrowRecord.h +91 -0
- hikyuu/include/hikyuu/trade_manage/CostRecord.h +67 -0
- hikyuu/include/hikyuu/trade_manage/FundsRecord.h +110 -0
- hikyuu/include/hikyuu/trade_manage/LoanRecord.h +64 -0
- hikyuu/include/hikyuu/trade_manage/OrderBrokerBase.h +207 -0
- hikyuu/include/hikyuu/trade_manage/Performance.h +80 -0
- hikyuu/include/hikyuu/trade_manage/PositionRecord.h +108 -0
- hikyuu/include/hikyuu/trade_manage/TradeCostBase.h +174 -0
- hikyuu/include/hikyuu/trade_manage/TradeManager.h +487 -0
- hikyuu/include/hikyuu/trade_manage/TradeManagerBase.h +778 -0
- hikyuu/include/hikyuu/trade_manage/TradeRecord.h +151 -0
- hikyuu/include/hikyuu/trade_manage/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_manage/build_in.h +19 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA.h +45 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2015.h +43 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_FixedA2017.h +44 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_TestStub.h +21 -0
- hikyuu/include/hikyuu/trade_manage/crt/TC_Zero.h +25 -0
- hikyuu/include/hikyuu/trade_manage/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_manage/crt/crtTM.h +33 -0
- hikyuu/include/hikyuu/trade_manage/imp/FixedA2015TradeCost.h +53 -0
- hikyuu/include/hikyuu/trade_manage/imp/FixedA2017TradeCost.h +56 -0
- hikyuu/include/hikyuu/trade_manage/imp/FixedATradeCost.h +88 -0
- hikyuu/include/hikyuu/trade_manage/imp/TradeCostStub.h +48 -0
- hikyuu/include/hikyuu/trade_manage/imp/ZeroTradeCost.h +50 -0
- hikyuu/include/hikyuu/trade_manage/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/all.h +24 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/AllocateFundsBase.h +229 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_EqualWeight.h +25 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_FixedWeight.h +26 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/AF_MultiFactor.h +21 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/EqualWeightAllocateFunds.h +27 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/FixedWeightAllocateFunds.h +28 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/MultiFactorAllocaterFunds.h +23 -0
- hikyuu/include/hikyuu/trade_sys/allocatefunds/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/ConditionBase.h +241 -0
- hikyuu/include/hikyuu/trade_sys/condition/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/build_in.h +17 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Bool.h +22 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Logic.h +35 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_Manual.h +20 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/CN_OPLine.h +26 -0
- hikyuu/include/hikyuu/trade_sys/condition/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/BoolCondition.h +40 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/ManualCondition.h +23 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/OPLineCondition.h +44 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/SubCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AddCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/AndCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/DivCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/MultiCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/OrCondition.h +42 -0
- hikyuu/include/hikyuu/trade_sys/condition/imp/logic/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/environment/EnvironmentBase.h +178 -0
- hikyuu/include/hikyuu/trade_sys/environment/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/environment/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Bool.h +23 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/EV_Manual.h +20 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/EV_TwoLine.h +28 -0
- hikyuu/include/hikyuu/trade_sys/environment/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/BoolEnvironment.h +41 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/ManualEnvironment.h +23 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/TwoLineEnvironment.h +47 -0
- hikyuu/include/hikyuu/trade_sys/environment/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/MoneyManagerBase.h +230 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/build_in.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCapital.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedCount.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedPercent.h +27 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedRisk.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_FixedUnits.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_Nothing.h +24 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/MM_WilliamsFixedRisk.h +20 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCapitalMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedCountMoneyManager.h +38 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedPercentMoneyManager.h +34 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedRiskMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/FixedUnitsMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/NotMoneyManager.h +30 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/WilliamsFixedRiskMoneyManager.h +28 -0
- hikyuu/include/hikyuu/trade_sys/moneymanager/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/MultiFactorBase.h +275 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/ScoreRecord.h +51 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/build_in.h +13 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_EqualWeight.h +29 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICIRWeight.h +30 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_ICWeight.h +30 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/MF_Weight.h +30 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/EqualWeightMultiFactor.h +25 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICIRMultiFactor.h +27 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/ICMultiFactor.h +27 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/WeightMultiFactor.h +41 -0
- hikyuu/include/hikyuu/trade_sys/multifactor/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/Portfolio.h +256 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/build_in.h +14 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/crt/PF_Simple.h +23 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/portfolio/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/ProfitGoalBase.h +189 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedHoldDays.h +26 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_FixedPercent.h +25 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/PG_NoGoal.h +24 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedHoldDays.h +29 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/FixedPercentProfitGoal.h +28 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/NoGoalProfitGoal.h +27 -0
- hikyuu/include/hikyuu/trade_sys/profitgoal/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/SelectorBase.h +245 -0
- hikyuu/include/hikyuu/trade_sys/selector/SystemWeight.h +70 -0
- hikyuu/include/hikyuu/trade_sys/selector/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/build_in.h +18 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Fixed.h +38 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Logic.h +43 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_MultiFactor.h +40 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Optimal.h +26 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/SE_Signal.h +30 -0
- hikyuu/include/hikyuu/trade_sys/selector/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/FixedSelector.h +28 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/MultiFactorSelector.h +52 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/SignalSelector.h +30 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorAddValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorDivValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertDivValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorInvertSubValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorMulValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSelector.h +108 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorSubValueSelector.h +19 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/OperatorValueSelector.h +94 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/logic/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/MaxFundsOptimalSelector.h +27 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/OptimalSelectorBase.h +86 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/PerformanceOptimalSelector.h +42 -0
- hikyuu/include/hikyuu/trade_sys/selector/imp/optimal/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/signal/SignalBase.h +249 -0
- hikyuu/include/hikyuu/trade_sys/signal/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/signal/build_in.h +22 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_AllwaysBuy.h +20 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Band.h +37 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Bool.h +28 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cross.h +28 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_CrossGold.h +29 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Cycle.h +20 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Flex.h +29 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Manual.h +20 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/SG_Single.h +56 -0
- hikyuu/include/hikyuu/trade_sys/signal/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/AllwaysBuySignal.h +25 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/BandSignal2.h +47 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/BoolSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/CrossGoldSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/CrossSignal.h +46 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/CycleSignal.h +25 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/ManualSignal.h +23 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal.h +45 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/SingleSignal2.h +45 -0
- hikyuu/include/hikyuu/trade_sys/signal/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/slippage/SlippageBase.h +170 -0
- hikyuu/include/hikyuu/trade_sys/slippage/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/slippage/build_in.h +15 -0
- hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedPercent.h +26 -0
- hikyuu/include/hikyuu/trade_sys/slippage/crt/SP_FixedValue.h +26 -0
- hikyuu/include/hikyuu/trade_sys/slippage/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedPercentSlippage.h +28 -0
- hikyuu/include/hikyuu/trade_sys/slippage/imp/FixedValueSlippage.h +28 -0
- hikyuu/include/hikyuu/trade_sys/slippage/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/StoplossBase.h +199 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/build_in.h +16 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_FixedPercent.h +25 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Indicator.h +21 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/ST_Saftyloss.h +37 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/FixedPercentStoploss.h +30 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/IndicatorStoploss.h +50 -0
- hikyuu/include/hikyuu/trade_sys/stoploss/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/system/System.h +639 -0
- hikyuu/include/hikyuu/trade_sys/system/SystemPart.h +54 -0
- hikyuu/include/hikyuu/trade_sys/system/TradeRequest.h +94 -0
- hikyuu/include/hikyuu/trade_sys/system/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/system/build_in.h +15 -0
- hikyuu/include/hikyuu/trade_sys/system/crt/SYS_Simple.h +50 -0
- hikyuu/include/hikyuu/trade_sys/system/crt/SYS_WalkForward.h +21 -0
- hikyuu/include/hikyuu/trade_sys/system/crt/__init__.py +1 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/DelegateSystem.h +51 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardSystem.h +70 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/WalkForwardTradeManager.h +465 -0
- hikyuu/include/hikyuu/trade_sys/system/imp/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/ConnectPool.h +163 -0
- hikyuu/include/hikyuu/utilities/FilterNode.h +267 -0
- hikyuu/include/hikyuu/utilities/LRUCache11.h +230 -0
- hikyuu/include/hikyuu/utilities/Log.h +411 -0
- hikyuu/include/hikyuu/utilities/Null.h +176 -0
- hikyuu/include/hikyuu/utilities/Parameter.h +511 -0
- hikyuu/include/hikyuu/utilities/ResourcePool.h +636 -0
- hikyuu/include/hikyuu/utilities/SpendTimer.h +305 -0
- hikyuu/include/hikyuu/utilities/TimerManager.h +552 -0
- hikyuu/include/hikyuu/utilities/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/any_to_string.h +142 -0
- hikyuu/include/hikyuu/utilities/arithmetic.h +401 -0
- hikyuu/include/hikyuu/utilities/base64.h +52 -0
- hikyuu/include/hikyuu/utilities/config.h +41 -0
- hikyuu/include/hikyuu/utilities/cppdef.h +25 -0
- hikyuu/include/hikyuu/utilities/datetime/Datetime.h +438 -0
- hikyuu/include/hikyuu/utilities/datetime/TimeDelta.h +343 -0
- hikyuu/include/hikyuu/utilities/datetime/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/db_connect/AutoTransAction.h +124 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBCondition.h +248 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBConnect.h +30 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBConnectBase.h +658 -0
- hikyuu/include/hikyuu/utilities/db_connect/DBUpgrade.h +28 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLException.h +62 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLResultSet.h +248 -0
- hikyuu/include/hikyuu/utilities/db_connect/SQLStatementBase.h +305 -0
- hikyuu/include/hikyuu/utilities/db_connect/TableMacro.h +2579 -0
- hikyuu/include/hikyuu/utilities/db_connect/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLConnect.h +56 -0
- hikyuu/include/hikyuu/utilities/db_connect/mysql/MySQLStatement.h +88 -0
- hikyuu/include/hikyuu/utilities/db_connect/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteConnect.h +89 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteStatement.h +71 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/SQLiteUtil.h +80 -0
- hikyuu/include/hikyuu/utilities/db_connect/sqlite/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/exception.h +52 -0
- hikyuu/include/hikyuu/utilities/http_client/HttpClient.h +229 -0
- hikyuu/include/hikyuu/utilities/http_client/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/http_client/nng_wrap.h +517 -0
- hikyuu/include/hikyuu/utilities/http_client/url.h +25 -0
- hikyuu/include/hikyuu/utilities/ini_parser/IniParser.h +104 -0
- hikyuu/include/hikyuu/utilities/ini_parser/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/md5.h +41 -0
- hikyuu/include/hikyuu/utilities/mo/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/mo/mo.h +48 -0
- hikyuu/include/hikyuu/utilities/mo/moFileReader.h +836 -0
- hikyuu/include/hikyuu/utilities/node/NodeClient.h +175 -0
- hikyuu/include/hikyuu/utilities/node/NodeError.h +66 -0
- hikyuu/include/hikyuu/utilities/node/NodeMessage.h +80 -0
- hikyuu/include/hikyuu/utilities/node/NodeServer.h +246 -0
- hikyuu/include/hikyuu/utilities/node/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/os.h +102 -0
- hikyuu/include/hikyuu/utilities/osdef.h +159 -0
- hikyuu/include/hikyuu/utilities/runtimeinfo.h +35 -0
- hikyuu/include/hikyuu/utilities/snowflake.h +110 -0
- hikyuu/include/hikyuu/utilities/string_view.h +70 -0
- hikyuu/include/hikyuu/utilities/thread/FuncWrapper.h +85 -0
- hikyuu/include/hikyuu/utilities/thread/InterruptFlag.h +30 -0
- hikyuu/include/hikyuu/utilities/thread/MQStealQueue.h +112 -0
- hikyuu/include/hikyuu/utilities/thread/MQStealThreadPool.h +315 -0
- hikyuu/include/hikyuu/utilities/thread/MQThreadPool.h +275 -0
- hikyuu/include/hikyuu/utilities/thread/StealThreadPool.h +309 -0
- hikyuu/include/hikyuu/utilities/thread/ThreadPool.h +231 -0
- hikyuu/include/hikyuu/utilities/thread/ThreadSafeQueue.h +101 -0
- hikyuu/include/hikyuu/utilities/thread/WorkStealQueue.h +105 -0
- hikyuu/include/hikyuu/utilities/thread/__init__.py +1 -0
- hikyuu/include/hikyuu/utilities/thread/algorithm.h +110 -0
- hikyuu/include/hikyuu/utilities/thread/thread.h +10 -0
- hikyuu/include/hikyuu/version.h +24 -0
- hikyuu/indicator/__init__.py +29 -0
- hikyuu/indicator/indicator.py +157 -0
- hikyuu/indicator/pyind.py +47 -0
- hikyuu/indicator/talib_wrap.py +1273 -0
- hikyuu/interactive.py +385 -0
- hikyuu/setup.py +104 -0
- hikyuu/shell/__init__.py +0 -0
- hikyuu/shell/cmdserver.py +126 -0
- hikyuu/shell/hkucmd.py +110 -0
- hikyuu/shell/hkushell.py +20 -0
- hikyuu/strategy/__init__.py +2 -0
- hikyuu/strategy/strategy_demo1.py +54 -0
- hikyuu/strategy/strategy_demo2.py +47 -0
- hikyuu/strategy/strategy_demo3.py +24 -0
- hikyuu/test/AllocateFunds.py +25 -0
- hikyuu/test/Condition.py +95 -0
- hikyuu/test/Datetime.py +61 -0
- hikyuu/test/Environment.py +88 -0
- hikyuu/test/Indicator.py +233 -0
- hikyuu/test/KData.py +64 -0
- hikyuu/test/MarketInfo.py +26 -0
- hikyuu/test/MoneyManager.py +88 -0
- hikyuu/test/Parameter.py +62 -0
- hikyuu/test/ProfitGoal.py +83 -0
- hikyuu/test/Signal.py +160 -0
- hikyuu/test/Slippage.py +88 -0
- hikyuu/test/Stock.py +127 -0
- hikyuu/test/StockTypeInfo.py +47 -0
- hikyuu/test/Stoploss.py +86 -0
- hikyuu/test/TradeCost.py +71 -0
- hikyuu/test/__init__.py +0 -0
- hikyuu/test/test.py +63 -0
- hikyuu/test/test_init.py +36 -0
- hikyuu/tools/__init__.py +1 -0
- hikyuu/tools/copy_file.py +16 -0
- hikyuu/tools/delete_index.py +50 -0
- hikyuu/tools/fenge.py +139 -0
- hikyuu/tools/h5_data_clear.py +163 -0
- hikyuu/tools/mysql_clear_last_day_data.py +61 -0
- hikyuu/tools/update_block_info.py +168 -0
- hikyuu/trade_manage/__init__.py +30 -0
- hikyuu/trade_manage/__init__.pyi +713 -0
- hikyuu/trade_manage/broker.py +95 -0
- hikyuu/trade_manage/broker.pyi +54 -0
- hikyuu/trade_manage/broker_easytrader.py +63 -0
- hikyuu/trade_manage/broker_easytrader.pyi +21 -0
- hikyuu/trade_manage/broker_mail.py +101 -0
- hikyuu/trade_manage/broker_mail.pyi +55 -0
- hikyuu/trade_manage/trade.py +111 -0
- hikyuu/trade_manage/trade.pyi +719 -0
- hikyuu/trade_sys/__init__.py +27 -0
- hikyuu/trade_sys/trade_sys.py +251 -0
- hikyuu/util/__init__.py +49 -0
- hikyuu/util/__init__.pyi +55 -0
- hikyuu/util/check.py +153 -0
- hikyuu/util/check.pyi +59 -0
- hikyuu/util/mylog.py +264 -0
- hikyuu/util/mylog.pyi +70 -0
- hikyuu/util/notebook.py +47 -0
- hikyuu/util/notebook.pyi +23 -0
- hikyuu/util/singleton.py +29 -0
- hikyuu/util/singleton.pyi +18 -0
- hikyuu/util/slice.py +43 -0
- hikyuu/util/slice.pyi +8 -0
- hikyuu/util/timeout.py +83 -0
- hikyuu-2.3.1.dist-info/LICENSE +201 -0
- hikyuu-2.3.1.dist-info/METADATA +151 -0
- hikyuu-2.3.1.dist-info/RECORD +931 -0
- hikyuu-2.3.1.dist-info/WHEEL +5 -0
- hikyuu-2.3.1.dist-info/entry_points.txt +3 -0
- hikyuu-2.3.1.dist-info/top_level.txt +115 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* StockWeight.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2011-12-9
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef STOCKWEIGHT_H_
|
|
10
|
+
#define STOCKWEIGHT_H_
|
|
11
|
+
|
|
12
|
+
#include "DataType.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 权息数据结构
|
|
18
|
+
* @ingroup StockManage
|
|
19
|
+
*/
|
|
20
|
+
class HKU_API StockWeight {
|
|
21
|
+
public:
|
|
22
|
+
/** 默认构造函数,返回Null<StockWeight>() */
|
|
23
|
+
StockWeight() = default;
|
|
24
|
+
|
|
25
|
+
explicit StockWeight(const Datetime& datetime);
|
|
26
|
+
|
|
27
|
+
StockWeight(const Datetime& datetime, price_t countAsGift, price_t countForSell,
|
|
28
|
+
price_t priceForSell, price_t bonus, price_t increasement, price_t totalCount,
|
|
29
|
+
price_t freeCount, price_t suogu);
|
|
30
|
+
|
|
31
|
+
/** 权息日期 */
|
|
32
|
+
Datetime datetime() const {
|
|
33
|
+
return m_datetime;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** 每10股送X股 */
|
|
37
|
+
price_t countAsGift() const {
|
|
38
|
+
return m_countAsGift;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** 每10股配X股 */
|
|
42
|
+
price_t countForSell() const {
|
|
43
|
+
return m_countForSell;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** 配股价 */
|
|
47
|
+
price_t priceForSell() const {
|
|
48
|
+
return m_priceForSell;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** 每10股红利 */
|
|
52
|
+
price_t bonus() const {
|
|
53
|
+
return m_bonus;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** 每10股转增X股 */
|
|
57
|
+
price_t increasement() const {
|
|
58
|
+
return m_increasement;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** 总股本(万股) */
|
|
62
|
+
price_t totalCount() const {
|
|
63
|
+
return m_totalCount;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** 流通股(万股) */
|
|
67
|
+
price_t freeCount() const {
|
|
68
|
+
return m_freeCount;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** 扩缩股比例 */
|
|
72
|
+
price_t suogu() const {
|
|
73
|
+
return m_suogu;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
private:
|
|
77
|
+
Datetime m_datetime; // 权息日期
|
|
78
|
+
price_t m_countAsGift{0.}; // 每10股送X股
|
|
79
|
+
price_t m_countForSell{0.}; // 每10股配X股
|
|
80
|
+
price_t m_priceForSell{0.}; // 配股价
|
|
81
|
+
price_t m_bonus{0.}; // 每10股红利
|
|
82
|
+
price_t m_increasement{0.}; // 每10股转增X股
|
|
83
|
+
price_t m_totalCount{0.}; // 总股本(万股)
|
|
84
|
+
price_t m_freeCount{0.}; // 流通股(万股)
|
|
85
|
+
price_t m_suogu{0.}; // 扩缩股比例
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/** @ingroup StockManage */
|
|
89
|
+
typedef vector<StockWeight> StockWeightList;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* 输出权息信息,如:Weight(datetime, countAsGift, countForSell,
|
|
93
|
+
* priceForSell, bonus, increasement, totalCount, freeCount)
|
|
94
|
+
* @ingroup StockManage
|
|
95
|
+
*/
|
|
96
|
+
HKU_API std::ostream& operator<<(std::ostream&, const StockWeight&);
|
|
97
|
+
|
|
98
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
99
|
+
//
|
|
100
|
+
// 关系比较函数
|
|
101
|
+
//
|
|
102
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
103
|
+
bool operator==(const StockWeight&, const StockWeight&);
|
|
104
|
+
bool operator!=(const StockWeight&, const StockWeight&);
|
|
105
|
+
bool operator>(const StockWeight&, const StockWeight&);
|
|
106
|
+
bool operator<(const StockWeight&, const StockWeight&);
|
|
107
|
+
bool operator>=(const StockWeight&, const StockWeight&);
|
|
108
|
+
bool operator<=(const StockWeight&, const StockWeight&);
|
|
109
|
+
|
|
110
|
+
/* 相等比较, 仅根据日期判断 */
|
|
111
|
+
inline bool operator==(const StockWeight& m1, const StockWeight& m2) {
|
|
112
|
+
return m1.datetime() == m2.datetime();
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* 不等比较, 仅根据日期判断 */
|
|
116
|
+
inline bool operator!=(const StockWeight& m1, const StockWeight& m2) {
|
|
117
|
+
return m1.datetime() != m2.datetime();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* 大于比较, 仅根据日期判断 */
|
|
121
|
+
inline bool operator>(const StockWeight& m1, const StockWeight& m2) {
|
|
122
|
+
return m1.datetime() > m2.datetime();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* 小于比较, 仅根据日期判断 */
|
|
126
|
+
inline bool operator<(const StockWeight& m1, const StockWeight& m2) {
|
|
127
|
+
return m1.datetime() < m2.datetime();
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* 大于等于比较, 仅根据日期判断 */
|
|
131
|
+
inline bool operator>=(const StockWeight& m1, const StockWeight& m2) {
|
|
132
|
+
return m1.datetime() >= m2.datetime();
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* 小于等于比较, 仅根据日期判断 */
|
|
136
|
+
inline bool operator<=(const StockWeight& m1, const StockWeight& m2) {
|
|
137
|
+
return m1.datetime() <= m2.datetime();
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/** @} */
|
|
141
|
+
} // namespace hku
|
|
142
|
+
|
|
143
|
+
#if FMT_VERSION >= 90000
|
|
144
|
+
template <>
|
|
145
|
+
struct fmt::formatter<hku::StockWeight> : ostream_formatter {};
|
|
146
|
+
#endif
|
|
147
|
+
|
|
148
|
+
#endif /* STOCKWEIGHT_H_ */
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright(C) 2021 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Create on: 2021-02-10
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "DataType.h"
|
|
11
|
+
#include "KQuery.h"
|
|
12
|
+
|
|
13
|
+
namespace hku {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 策略上下文,定义策略执行时包含的证券/K线级别信息
|
|
17
|
+
* @ingroup Strategy
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
class HKU_API StrategyContext {
|
|
21
|
+
public:
|
|
22
|
+
StrategyContext() = default;
|
|
23
|
+
virtual ~StrategyContext() = default;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 构造函数
|
|
27
|
+
* @note 未指定 ktypelist 时,默认按预加载参数加载全部
|
|
28
|
+
* @param stockCodeList 指定的证券代码列表,如:如:{"sz000001", "sz000002"}
|
|
29
|
+
*/
|
|
30
|
+
explicit StrategyContext(const vector<string>& stockCodeList);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 构造函数
|
|
34
|
+
* @note 证券列表中如果包含 ("ALL") 则表示全部证券;
|
|
35
|
+
* 指定K线类型列表同时影响着K线数据的优先加载顺序,靠前的将优先加载。同时受系统配置中预加载参数影响!
|
|
36
|
+
* @param stockCodeList 指定的证券代码列表,如:{"sh000001", "sz000001"}
|
|
37
|
+
* @param ktypeList 指定的 K线数据列表,如:{"day", "min"}
|
|
38
|
+
*/
|
|
39
|
+
StrategyContext(const vector<string>& stockCodeList, const vector<KQuery::KType>& ktypeList);
|
|
40
|
+
|
|
41
|
+
// 自定义移动构造与赋值会引起 python 中无法正常退出
|
|
42
|
+
// StrategyContext(const StrategyContext&) = default;
|
|
43
|
+
// StrategyContext(StrategyContext&& rv) = delete;
|
|
44
|
+
// StrategyContext& operator=(const StrategyContext&) = default;
|
|
45
|
+
// StrategyContext& operator=(StrategyContext&&) = delete;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 是否为加载全部证券,只要 stockCodeList 包含 "ALL"(不区分大小写) ,即认为加载全部
|
|
49
|
+
* @return true
|
|
50
|
+
* @return false
|
|
51
|
+
*/
|
|
52
|
+
bool isAll() const noexcept;
|
|
53
|
+
|
|
54
|
+
bool empty() const noexcept {
|
|
55
|
+
return m_stockCodeList.empty();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
Datetime startDatetime() const noexcept {
|
|
59
|
+
return m_startDatetime;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
void setStockCodeList(const vector<string>& stockList) {
|
|
63
|
+
_removeDuplicateCode(stockList);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const vector<string>& getStockCodeList() const noexcept {
|
|
67
|
+
return m_stockCodeList;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
void setKTypeList(const vector<KQuery::KType>& ktypeList) {
|
|
71
|
+
_checkAndRemoveDuplicateKType(ktypeList);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const vector<KQuery::KType>& getKTypeList() const noexcept {
|
|
75
|
+
return m_ktypeList;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 隐含的默认必须被加载的证券列表
|
|
80
|
+
* @note 影响交易日历判断、和某些常被作为默认比较基准的证券,通常被作为某些函数的默认值
|
|
81
|
+
*/
|
|
82
|
+
const vector<string>& getMustLoadStockCodeList() const noexcept {
|
|
83
|
+
return m_mustLoad;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* 返回所有需要加载的证券列表(含指定的证券列表和默认包含必须加载的证券列表)
|
|
88
|
+
* @return vector<string>
|
|
89
|
+
*/
|
|
90
|
+
vector<string> getAllNeedLoadStockCodeList() const noexcept;
|
|
91
|
+
|
|
92
|
+
string str() const;
|
|
93
|
+
|
|
94
|
+
private:
|
|
95
|
+
void _removeDuplicateCode(const vector<string>& stockCodeList);
|
|
96
|
+
void _checkAndRemoveDuplicateKType(const vector<KQuery::KType>& ktypeList);
|
|
97
|
+
|
|
98
|
+
private:
|
|
99
|
+
Datetime m_startDatetime{19901219};
|
|
100
|
+
vector<string> m_mustLoad{"sh000001", "sh000300"}; // 默认必须加载的 stock
|
|
101
|
+
vector<string> m_stockCodeList;
|
|
102
|
+
vector<KQuery::KType> m_ktypeList;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
HKU_API std::ostream& operator<<(std::ostream& os, const StrategyContext& context);
|
|
106
|
+
|
|
107
|
+
} // namespace hku
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TimeLineRecord.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2019-1-27
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TIMELINERECORD_H_
|
|
10
|
+
#define TIMELINERECORD_H_
|
|
11
|
+
|
|
12
|
+
#include "DataType.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 分时线记录
|
|
18
|
+
* @ingroup StockManage
|
|
19
|
+
*/
|
|
20
|
+
class HKU_API TimeLineRecord {
|
|
21
|
+
public:
|
|
22
|
+
Datetime datetime;
|
|
23
|
+
price_t price;
|
|
24
|
+
price_t vol;
|
|
25
|
+
|
|
26
|
+
TimeLineRecord();
|
|
27
|
+
TimeLineRecord(const Datetime& datetime, price_t price, price_t vol);
|
|
28
|
+
|
|
29
|
+
bool isValid() const;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 分时线
|
|
34
|
+
* @ingroup StockManage
|
|
35
|
+
*/
|
|
36
|
+
typedef vector<TimeLineRecord> TimeLineList;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 输出TimeLineRecord信息,如:TimeSharingRecord(datetime, price, vol)
|
|
40
|
+
* @ingroup StockManage
|
|
41
|
+
*/
|
|
42
|
+
HKU_API std::ostream& operator<<(std::ostream&, const TimeLineRecord&);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 输出TimeLine信息
|
|
46
|
+
* @details
|
|
47
|
+
* <pre>
|
|
48
|
+
* TimeLine{
|
|
49
|
+
* size : 738501
|
|
50
|
+
* start: YYYY-MM-DD hh:mm:ss
|
|
51
|
+
* last : YYYY-MM-DD hh:mm:ss
|
|
52
|
+
* }
|
|
53
|
+
* </pre>
|
|
54
|
+
* @ingroup StockManage
|
|
55
|
+
*/
|
|
56
|
+
HKU_API std::ostream& operator<<(std::ostream& os, const TimeLineList&);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* 比较两个TimeLineRecord是否相等,一般仅测试时使用
|
|
60
|
+
* @ingroup StockManage
|
|
61
|
+
*/
|
|
62
|
+
bool HKU_API operator==(const TimeLineRecord& d1, const TimeLineRecord& d2);
|
|
63
|
+
|
|
64
|
+
} /* namespace hku */
|
|
65
|
+
|
|
66
|
+
#if FMT_VERSION >= 90000
|
|
67
|
+
template <>
|
|
68
|
+
struct fmt::formatter<hku::TimeLineRecord> : ostream_formatter {};
|
|
69
|
+
#endif
|
|
70
|
+
|
|
71
|
+
#endif /* TIMELINERECORD_H_ */
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* TransRecord.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2019年2月10日
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef TRANSRECORD_H_
|
|
10
|
+
#define TRANSRECORD_H_
|
|
11
|
+
|
|
12
|
+
#include "DataType.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 分笔成交记录
|
|
18
|
+
* @ingroup StockManage
|
|
19
|
+
*/
|
|
20
|
+
class HKU_API TransRecord {
|
|
21
|
+
public:
|
|
22
|
+
enum DIRECT {
|
|
23
|
+
BUY = 0, /**< 买盘 */
|
|
24
|
+
SELL = 1, /**< 卖盘 */
|
|
25
|
+
AUCTION = 2 /**< 集合竞价 */
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
Datetime datetime; // 时间
|
|
29
|
+
price_t price; // 成交均价
|
|
30
|
+
price_t vol; // 成交量
|
|
31
|
+
DIRECT direct; // 买卖盘性质:1--sell 0--buy 2--集合竞价
|
|
32
|
+
|
|
33
|
+
TransRecord();
|
|
34
|
+
TransRecord(const Datetime& datetime, price_t price, price_t vol, DIRECT);
|
|
35
|
+
|
|
36
|
+
bool isValid() const;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 分时线
|
|
41
|
+
* @ingroup StockManage
|
|
42
|
+
*/
|
|
43
|
+
typedef vector<TransRecord> TransList;
|
|
44
|
+
typedef vector<TransRecord> TransRecordList;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 输出 TransRecord 信息,如:TimeSharingRecord(datetime, price, vol)
|
|
48
|
+
* @ingroup StockManage
|
|
49
|
+
*/
|
|
50
|
+
HKU_API std::ostream& operator<<(std::ostream&, const TransRecord&);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 输出 TransList 信息
|
|
54
|
+
* @details
|
|
55
|
+
* <pre>
|
|
56
|
+
* TimeLine{
|
|
57
|
+
* size : 738501
|
|
58
|
+
* start: YYYY-MM-DD hh:mm:ss
|
|
59
|
+
* last : YYYY-MM-DD hh:mm:ss
|
|
60
|
+
* }
|
|
61
|
+
* </pre>
|
|
62
|
+
* @ingroup StockManage
|
|
63
|
+
*/
|
|
64
|
+
HKU_API std::ostream& operator<<(std::ostream& os, const TransList&);
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 比较两个 TransRecord 是否相等,一般仅测试时使用
|
|
68
|
+
* @ingroup StockManage
|
|
69
|
+
*/
|
|
70
|
+
bool HKU_API operator==(const TransRecord& d1, const TransRecord& d2);
|
|
71
|
+
|
|
72
|
+
} /* namespace hku */
|
|
73
|
+
|
|
74
|
+
#if FMT_VERSION >= 90000
|
|
75
|
+
template <>
|
|
76
|
+
struct fmt::formatter<hku::TransRecord> : ostream_formatter {};
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
#endif /* TRANSRECORD_H_ */
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2024-03-01
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "DataType.h"
|
|
11
|
+
|
|
12
|
+
namespace hku {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 10年期中国国债数据结构
|
|
16
|
+
* @ingroup StockManage
|
|
17
|
+
*/
|
|
18
|
+
struct HKU_API ZhBond10 {
|
|
19
|
+
Datetime date; ///< 日期
|
|
20
|
+
price_t value; ///< 收益率
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
typedef vector<ZhBond10> ZhBond10List;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 输出 ZhBond10 ZhBond10(date, value)
|
|
27
|
+
* @ingroup StockManage
|
|
28
|
+
*/
|
|
29
|
+
HKU_API std::ostream& operator<<(std::ostream&, const ZhBond10&);
|
|
30
|
+
|
|
31
|
+
} // namespace hku
|
|
32
|
+
|
|
33
|
+
#if FMT_VERSION >= 90000
|
|
34
|
+
template <>
|
|
35
|
+
struct fmt::formatter<hku::ZhBond10> : ostream_formatter {};
|
|
36
|
+
#endif
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2023-12-25
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "hikyuu/trade_sys/system/System.h"
|
|
11
|
+
#include "hikyuu/trade_manage/Performance.h"
|
|
12
|
+
#include "hikyuu/utilities/thread/thread.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
struct HKU_API AnalysisSystemOutput {
|
|
17
|
+
string market_code; ///< 证券代码
|
|
18
|
+
string name; ///< 证券名称
|
|
19
|
+
PriceList values; ///< 统计各项指标值
|
|
20
|
+
|
|
21
|
+
AnalysisSystemOutput() = default;
|
|
22
|
+
AnalysisSystemOutput(const AnalysisSystemOutput& other) = default;
|
|
23
|
+
AnalysisSystemOutput(AnalysisSystemOutput&& rv)
|
|
24
|
+
: market_code(std::move(rv.market_code)),
|
|
25
|
+
name(std::move(rv.name)),
|
|
26
|
+
values(std::move(rv.values)) {}
|
|
27
|
+
|
|
28
|
+
AnalysisSystemOutput& operator=(const AnalysisSystemOutput&) = default;
|
|
29
|
+
AnalysisSystemOutput& operator=(AnalysisSystemOutput&& rv) {
|
|
30
|
+
HKU_IF_RETURN(this == &rv, *this);
|
|
31
|
+
market_code = std::move(rv.market_code);
|
|
32
|
+
name = std::move(rv.name);
|
|
33
|
+
values = std::move(rv.values);
|
|
34
|
+
return *this;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 统计所有指定系统策略, 系统列表中的每一个系统都应该是独立的系统实例
|
|
40
|
+
* @note 系统实例列表和证券列表是一一对应,不是两两组合
|
|
41
|
+
* @param sys_list 系统策略实例列表
|
|
42
|
+
* @param stk_list 证券列表,须与系统策略列表一一对应
|
|
43
|
+
* @param query 查询条件
|
|
44
|
+
* @return vector<AnalysisSystemOutput>
|
|
45
|
+
*/
|
|
46
|
+
vector<AnalysisSystemOutput> HKU_API analysisSystemList(const SystemList& sys_list,
|
|
47
|
+
const StockList& stk_list,
|
|
48
|
+
const KQuery& query);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 以指定的 stock 统计执行所有的系统策略
|
|
52
|
+
* @param sys_list 系统策略思路列表,每一个都应是单独的实例
|
|
53
|
+
* @param stk 指定证券
|
|
54
|
+
* @param query 查询条件
|
|
55
|
+
* @return vector<AnalysisSystemOutput>
|
|
56
|
+
*/
|
|
57
|
+
vector<AnalysisSystemOutput> HKU_API analysisSystemList(const SystemList& sys_list,
|
|
58
|
+
const Stock& stk, const KQuery& query);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* 以指定的 stock 统计执行所有的系统策略,并按指定的统计项返回统计项最高或最低的系统实例及其统计值
|
|
62
|
+
* @param sys_list 系统策略思路列表,每一个都应是单独的实例
|
|
63
|
+
* @param stk 指定证券
|
|
64
|
+
* @param query 查询条件
|
|
65
|
+
* @param sort_key Performance 中的统计项名称,按该统计项返回
|
|
66
|
+
* @param sort_mode 0 为取统计最高值的系统,其他值为取统计最低值的系统
|
|
67
|
+
* @return std::pair<double, SYSPtr>
|
|
68
|
+
*/
|
|
69
|
+
std::pair<double, SYSPtr> HKU_API findOptimalSystem(const SystemList& sys_list, const Stock& stk,
|
|
70
|
+
const KQuery& query, const string& sort_key,
|
|
71
|
+
int sort_mode = 0);
|
|
72
|
+
|
|
73
|
+
std::pair<double, SYSPtr> HKU_API findOptimalSystemMulti(const SystemList& sys_list,
|
|
74
|
+
const Stock& stk, const KQuery& query,
|
|
75
|
+
const string& sort_key, int sort_mode = 0);
|
|
76
|
+
} // namespace hku
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 hikyuu.org
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2023-09-26
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include "hikyuu/indicator/Indicator.h"
|
|
11
|
+
#include "hikyuu/trade_sys/system/System.h"
|
|
12
|
+
#include "hikyuu/trade_manage/Performance.h"
|
|
13
|
+
#include "hikyuu/utilities/Log.h"
|
|
14
|
+
|
|
15
|
+
namespace hku {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 获取指定序列索引的组合,返回由序列下标索引组成的组合集合
|
|
19
|
+
* @note 组合的总数是 2**n - 1 个,所以inputs的长度需要控制
|
|
20
|
+
* @exception 输入序列的最大长度仅支持15,超过时将抛出异常 HKUException
|
|
21
|
+
* @param inputs 任意类型的序列
|
|
22
|
+
* @return
|
|
23
|
+
*/
|
|
24
|
+
template <class T>
|
|
25
|
+
std::vector<std::vector<size_t>> combinateIndex(const std::vector<T>& inputs) {
|
|
26
|
+
size_t total = inputs.size();
|
|
27
|
+
HKU_CHECK(total <= 15, "The length of inputs exceeds the maximum limit!");
|
|
28
|
+
|
|
29
|
+
std::vector<std::vector<size_t>> result;
|
|
30
|
+
std::vector<size_t> current;
|
|
31
|
+
for (size_t i = 0; i < total; i++) {
|
|
32
|
+
for (size_t j = 0, len = result.size(); j < len; j++) {
|
|
33
|
+
current.resize(result[j].size());
|
|
34
|
+
std::copy(result[j].cbegin(), result[j].cend(), current.begin());
|
|
35
|
+
current.push_back(i);
|
|
36
|
+
result.push_back(std::move(current));
|
|
37
|
+
}
|
|
38
|
+
current.clear();
|
|
39
|
+
current.push_back(i);
|
|
40
|
+
result.push_back(std::move(current));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @brief 对输入的指标序列进行组合
|
|
48
|
+
* @details
|
|
49
|
+
* 如输入为 [ind1, ind2], 输出为 [EXIST(ind1,n), EXIST(ind2,n),
|
|
50
|
+
* EXIST(ind1,n)&EXIST(ind2,n)]
|
|
51
|
+
* @param inputs 待组合的指标列表
|
|
52
|
+
* @param n 指标在 n 周期内存在
|
|
53
|
+
* @return std::vector<Indicator>
|
|
54
|
+
*/
|
|
55
|
+
std::vector<Indicator> HKU_API combinateIndicator(const std::vector<Indicator>& inputs, int n);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @brief 对指定的证券及买入、卖出信号指标进行组合测试
|
|
59
|
+
* @param stk 指定证券
|
|
60
|
+
* @param query 指定范围条件
|
|
61
|
+
* @param tm 指定交易管理实例
|
|
62
|
+
* @param sys 指定交易策略实例
|
|
63
|
+
* @param buy_inds 买入信号指标列表
|
|
64
|
+
* @param sell_inds 卖出信号指标列表
|
|
65
|
+
* @param n 组合时间范围参数
|
|
66
|
+
* @return std::map<std::string, Performance>
|
|
67
|
+
*/
|
|
68
|
+
std::map<std::string, Performance> HKU_API combinateIndicatorAnalysis(
|
|
69
|
+
const Stock& stk, const KQuery& query, TradeManagerPtr tm, SystemPtr sys,
|
|
70
|
+
const std::vector<Indicator>& buy_inds, const std::vector<Indicator>& sell_inds, int n);
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @brief combinateIndicatorAnalysisWithBlock 输出结果定义
|
|
74
|
+
*/
|
|
75
|
+
struct HKU_API CombinateAnalysisOutput {
|
|
76
|
+
string combinateName; ///< 买入、卖出指标组合名称
|
|
77
|
+
string market_code; ///< 证券代码
|
|
78
|
+
string name; ///< 证券名称
|
|
79
|
+
PriceList values; ///< 统计各项指标值
|
|
80
|
+
|
|
81
|
+
CombinateAnalysisOutput() = default;
|
|
82
|
+
CombinateAnalysisOutput(const CombinateAnalysisOutput&) = default;
|
|
83
|
+
CombinateAnalysisOutput(CombinateAnalysisOutput&& rv)
|
|
84
|
+
: combinateName(std::move(rv.combinateName)),
|
|
85
|
+
market_code(std::move(rv.market_code)),
|
|
86
|
+
name(std::move(rv.name)),
|
|
87
|
+
values(std::move(rv.values)) {}
|
|
88
|
+
|
|
89
|
+
CombinateAnalysisOutput& operator=(const CombinateAnalysisOutput&) = default;
|
|
90
|
+
CombinateAnalysisOutput& operator=(CombinateAnalysisOutput&& rv) {
|
|
91
|
+
HKU_IF_RETURN(this == &rv, *this);
|
|
92
|
+
combinateName = std::move(rv.combinateName);
|
|
93
|
+
market_code = std::move(rv.market_code);
|
|
94
|
+
name = std::move(rv.name);
|
|
95
|
+
values = std::move(rv.values);
|
|
96
|
+
return *this;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @brief 对指定的证券列表,进行买入、卖出信号指标组合测试
|
|
102
|
+
* @param blk 指定板块
|
|
103
|
+
* @param query 指定范围条件
|
|
104
|
+
* @param tm 指定交易实例
|
|
105
|
+
* @param sys 指定系统策略实例
|
|
106
|
+
* @param buy_inds 买入指标列表
|
|
107
|
+
* @param sell_inds 卖出指标列表
|
|
108
|
+
* @param n 组合时间范围参数
|
|
109
|
+
* @return vector<CombinateAnalysisOutput>
|
|
110
|
+
*/
|
|
111
|
+
vector<CombinateAnalysisOutput> HKU_API combinateIndicatorAnalysisWithBlock(
|
|
112
|
+
const Block& blk, const KQuery& query, TradeManagerPtr tm, SystemPtr sys,
|
|
113
|
+
const std::vector<Indicator>& buy_inds, const std::vector<Indicator>& sell_inds, int n);
|
|
114
|
+
|
|
115
|
+
} // namespace hku
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#ifndef HIKYUU_CONFIG_H_
|
|
3
|
+
#define HIKYUU_CONFIG_H_
|
|
4
|
+
|
|
5
|
+
// clang-format off
|
|
6
|
+
|
|
7
|
+
// Debug 模式
|
|
8
|
+
#define HKU_DEBUG_MODE 0
|
|
9
|
+
|
|
10
|
+
// support serialization
|
|
11
|
+
#define HKU_SUPPORT_SERIALIZATION 1
|
|
12
|
+
|
|
13
|
+
#if HKU_SUPPORT_SERIALIZATION
|
|
14
|
+
#define HKU_SUPPORT_TEXT_ARCHIVE 0
|
|
15
|
+
#define HKU_SUPPORT_XML_ARCHIVE 1 //must 1 for python
|
|
16
|
+
#define HKU_SUPPORT_BINARY_ARCHIVE 1 //must 1 for python
|
|
17
|
+
#endif /* HKU_SUPPORT_SERIALIZATION*/
|
|
18
|
+
|
|
19
|
+
// 检查下标越界
|
|
20
|
+
#define CHECK_ACCESS_BOUND 1
|
|
21
|
+
|
|
22
|
+
// 启用MSVC内存泄漏检查
|
|
23
|
+
#define ENABLE_MSVC_LEAK_DETECT 0
|
|
24
|
+
|
|
25
|
+
// 启用内存泄漏检测,用于 linux 系统
|
|
26
|
+
#define HKU_ENABLE_LEAK_DETECT 0
|
|
27
|
+
|
|
28
|
+
// 启用发送用户使用信息
|
|
29
|
+
#define HKU_ENABLE_SEND_FEEDBACK 1
|
|
30
|
+
|
|
31
|
+
// 启用 hdf5 K线数据引擎
|
|
32
|
+
#define HKU_ENABLE_HDF5_KDATA 1
|
|
33
|
+
|
|
34
|
+
// 启用 MySQL K线数据引擎
|
|
35
|
+
#define HKU_ENABLE_MYSQL_KDATA 1
|
|
36
|
+
|
|
37
|
+
// 启用 SQLite K线数据引擎
|
|
38
|
+
#define HKU_ENABLE_SQLITE_KDATA 1
|
|
39
|
+
|
|
40
|
+
// 启用通达信本地 K线数据引擎
|
|
41
|
+
#define HKU_ENABLE_TDX_KDATA 1
|
|
42
|
+
|
|
43
|
+
// 使用低精度版本,Indicator 使用 float 类型进行计算
|
|
44
|
+
#define HKU_USE_LOW_PRECISION 0
|
|
45
|
+
|
|
46
|
+
// 使用 TA-Lib
|
|
47
|
+
#define HKU_ENABLE_TA_LIB 1
|
|
48
|
+
|
|
49
|
+
// clang-format on
|
|
50
|
+
|
|
51
|
+
#endif /* HIKYUU_CONFIG_H_ */
|