hikyuu 2.2.2__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hikyuu/LICENSE.txt +21 -0
- hikyuu/__init__.py +137 -0
- hikyuu/analysis/__init__.py +14 -0
- hikyuu/analysis/analysis.py +151 -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/cpp/__init__.py +1 -0
- hikyuu/cpp/boost_date_time-mt.dll +0 -0
- hikyuu/cpp/boost_serialization-mt.dll +0 -0
- hikyuu/cpp/boost_wserialization-mt.dll +0 -0
- hikyuu/cpp/concrt140.dll +0 -0
- hikyuu/cpp/core310.pyd +0 -0
- hikyuu/cpp/core311.pyd +0 -0
- hikyuu/cpp/core312.pyd +0 -0
- hikyuu/cpp/core313.pyd +0 -0
- hikyuu/cpp/core38.pyd +0 -0
- hikyuu/cpp/core39.pyd +0 -0
- hikyuu/cpp/hikyuu.dll +0 -0
- hikyuu/cpp/hku_hdf5.dll +0 -0
- hikyuu/cpp/hku_hdf5_cpp.dll +0 -0
- hikyuu/cpp/hku_hdf5_hl.dll +0 -0
- hikyuu/cpp/hku_hdf5_hl_cpp.dll +0 -0
- hikyuu/cpp/libcrypto-1_1-x64.dll +0 -0
- hikyuu/cpp/libmysql.dll +0 -0
- hikyuu/cpp/libssl-1_1-x64.dll +0 -0
- hikyuu/cpp/msvcp140.dll +0 -0
- hikyuu/cpp/msvcp140_1.dll +0 -0
- hikyuu/cpp/msvcp140_2.dll +0 -0
- hikyuu/cpp/msvcp140_atomic_wait.dll +0 -0
- hikyuu/cpp/msvcp140_codecvt_ids.dll +0 -0
- hikyuu/cpp/sqlite3.dll +0 -0
- hikyuu/cpp/vcruntime140.dll +0 -0
- hikyuu/cpp/vcruntime140_1.dll +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/__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/__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 +59 -0
- hikyuu/draw/drawplot/__init__.py +291 -0
- hikyuu/draw/drawplot/bokeh_draw.py +583 -0
- hikyuu/draw/drawplot/common.py +89 -0
- hikyuu/draw/drawplot/echarts_draw.py +402 -0
- hikyuu/draw/drawplot/matplotlib_draw.py +832 -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 +622 -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/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 +839 -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 +807 -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/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/include/__init__.py +1 -0
- hikyuu/include/hikyuu/Block.h +173 -0
- hikyuu/include/hikyuu/DataType.h +171 -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 +361 -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 +48 -0
- hikyuu/include/hikyuu/data_driver/BaseInfoDriver.h +201 -0
- hikyuu/include/hikyuu/data_driver/BlockInfoDriver.h +94 -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 +29 -0
- hikyuu/include/hikyuu/data_driver/block_info/mysql/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/qianlong/QLBlockInfoDriver.h +29 -0
- hikyuu/include/hikyuu/data_driver/block_info/qianlong/__init__.py +1 -0
- hikyuu/include/hikyuu/data_driver/block_info/sqlite/SQLiteBlockInfoDriver.h +29 -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 +403 -0
- hikyuu/include/hikyuu/indicator/IndicatorImp.h +413 -0
- hikyuu/include/hikyuu/indicator/__init__.py +1 -0
- hikyuu/include/hikyuu/indicator/build_in.h +114 -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 +32 -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/CORR.h +24 -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 +32 -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 +34 -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/INSUM.h +33 -0
- hikyuu/include/hikyuu/indicator/crt/INTPART.h +38 -0
- hikyuu/include/hikyuu/indicator/crt/IR.h +44 -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/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 +23 -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/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/ICorr.h +42 -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/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/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 +42 -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/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/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 +182 -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 +782 -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 +12 -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/__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/__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 +27 -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 +143 -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 +87 -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 +1264 -0
- hikyuu/interactive.py +331 -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/sqlite3.dll +0 -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/broker.py +95 -0
- hikyuu/trade_manage/broker_easytrader.py +63 -0
- hikyuu/trade_manage/broker_mail.py +101 -0
- hikyuu/trade_manage/trade.py +111 -0
- hikyuu/trade_sys/__init__.py +27 -0
- hikyuu/trade_sys/trade_sys.py +251 -0
- hikyuu/util/__init__.py +49 -0
- hikyuu/util/check.py +153 -0
- hikyuu/util/mylog.py +264 -0
- hikyuu/util/notebook.py +47 -0
- hikyuu/util/singleton.py +29 -0
- hikyuu/util/slice.py +43 -0
- hikyuu/util/timeout.py +83 -0
- hikyuu/vcruntime140.dll +0 -0
- hikyuu/vcruntime140_1.dll +0 -0
- hikyuu-2.2.2.dist-info/LICENSE +201 -0
- hikyuu-2.2.2.dist-info/METADATA +127 -0
- hikyuu-2.2.2.dist-info/RECORD +820 -0
- hikyuu-2.2.2.dist-info/WHEEL +5 -0
- hikyuu-2.2.2.dist-info/entry_points.txt +3 -0
- hikyuu-2.2.2.dist-info/top_level.txt +112 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* KDataImp.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2013-2-4
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef KDATAIMP_H_
|
|
10
|
+
#define KDATAIMP_H_
|
|
11
|
+
|
|
12
|
+
#include "Stock.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
class HKU_API KDataImp {
|
|
17
|
+
public:
|
|
18
|
+
KDataImp();
|
|
19
|
+
KDataImp(const Stock& stock, const KQuery& query);
|
|
20
|
+
virtual ~KDataImp();
|
|
21
|
+
|
|
22
|
+
const KQuery& getQuery() const {
|
|
23
|
+
return m_query;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const Stock& getStock() const {
|
|
27
|
+
return m_stock;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const KRecord& getKRecord(size_t pos) const {
|
|
31
|
+
return m_buffer[pos];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
bool empty() const {
|
|
35
|
+
return m_buffer.empty();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
size_t size() {
|
|
39
|
+
return m_buffer.size();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
size_t startPos();
|
|
43
|
+
size_t endPos();
|
|
44
|
+
size_t lastPos();
|
|
45
|
+
|
|
46
|
+
size_t getPos(const Datetime& datetime);
|
|
47
|
+
|
|
48
|
+
const KRecord* data() const {
|
|
49
|
+
return m_buffer.data();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
DatetimeList getDatetimeList() const;
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
typedef KRecordList::iterator iterator;
|
|
56
|
+
typedef KRecordList::const_iterator const_iterator;
|
|
57
|
+
|
|
58
|
+
iterator begin() {
|
|
59
|
+
return m_buffer.begin();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
iterator end() {
|
|
63
|
+
return m_buffer.end();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const_iterator cbegin() const {
|
|
67
|
+
return m_buffer.cbegin();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const_iterator cend() const {
|
|
71
|
+
return m_buffer.cend();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
private:
|
|
75
|
+
void _getPosInStock();
|
|
76
|
+
void _recoverForward();
|
|
77
|
+
void _recoverBackward();
|
|
78
|
+
void _recoverEqualForward();
|
|
79
|
+
void _recoverEqualBackward();
|
|
80
|
+
void _recoverForUpDay();
|
|
81
|
+
|
|
82
|
+
private:
|
|
83
|
+
KRecordList m_buffer;
|
|
84
|
+
KQuery m_query;
|
|
85
|
+
Stock m_stock;
|
|
86
|
+
size_t m_start;
|
|
87
|
+
size_t m_end;
|
|
88
|
+
bool m_have_pos_in_stock;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
typedef shared_ptr<KDataImp> KDataImpPtr;
|
|
92
|
+
|
|
93
|
+
} /* namespace hku */
|
|
94
|
+
#endif /* KDATAIMP_H_ */
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* KQuery.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2009-11-23
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef KQUERY_H_
|
|
10
|
+
#define KQUERY_H_
|
|
11
|
+
|
|
12
|
+
#include "KRecord.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 按索引方式查询K线数据条件
|
|
18
|
+
* @ingroup StockManage
|
|
19
|
+
*/
|
|
20
|
+
class HKU_API KQuery {
|
|
21
|
+
public:
|
|
22
|
+
/// 查询方式:索引或日期
|
|
23
|
+
enum QueryType {
|
|
24
|
+
INDEX = 0, ///< 按索引方式查询
|
|
25
|
+
DATE = 1, ///< 按日期方式查询
|
|
26
|
+
INVALID = 2
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/// 查询K线类型:日线/周线等
|
|
30
|
+
/*enum KType {
|
|
31
|
+
//notes: 如添加新类型,请注意按大小顺序添加,否则可能出错
|
|
32
|
+
MIN = 0, ///<1分钟线
|
|
33
|
+
MIN5 = 1, ///<5分钟线
|
|
34
|
+
MIN15 = 2, ///<15分钟线
|
|
35
|
+
MIN30 = 3, ///<30分钟线
|
|
36
|
+
MIN60 = 4, ///<60分钟线
|
|
37
|
+
DAY = 5, ///<日线
|
|
38
|
+
WEEK = 6, ///<周线
|
|
39
|
+
MONTH = 7, ///<月线
|
|
40
|
+
QUARTER = 8, ///<季线
|
|
41
|
+
HALFYEAR = 9, ///<半年线
|
|
42
|
+
YEAR = 10, ///<年线
|
|
43
|
+
|
|
44
|
+
//BTC扩展
|
|
45
|
+
MIN3 = 11, ///<3分钟线
|
|
46
|
+
HOUR2 = 12, ///<2小时线
|
|
47
|
+
HOUR4 = 13, ///<4小时线
|
|
48
|
+
HOUR6 = 14, ///<6小时线
|
|
49
|
+
HOUR12 = 15, ///<12小时线
|
|
50
|
+
INVALID_KTYPE = 16
|
|
51
|
+
};*/
|
|
52
|
+
typedef string KType;
|
|
53
|
+
|
|
54
|
+
static const string MIN;
|
|
55
|
+
static const string MIN5;
|
|
56
|
+
static const string MIN15;
|
|
57
|
+
static const string MIN30;
|
|
58
|
+
static const string MIN60;
|
|
59
|
+
static const string DAY;
|
|
60
|
+
static const string WEEK;
|
|
61
|
+
static const string MONTH;
|
|
62
|
+
static const string QUARTER;
|
|
63
|
+
static const string HALFYEAR;
|
|
64
|
+
static const string YEAR;
|
|
65
|
+
static const string MIN3;
|
|
66
|
+
static const string HOUR2;
|
|
67
|
+
static const string HOUR4;
|
|
68
|
+
static const string HOUR6;
|
|
69
|
+
static const string HOUR12;
|
|
70
|
+
// static const string INVALID_KTYPE;
|
|
71
|
+
|
|
72
|
+
/** 获取所有的 KType */
|
|
73
|
+
static const vector<KType>& getAllKType();
|
|
74
|
+
|
|
75
|
+
static int32_t getKTypeInMin(KType);
|
|
76
|
+
|
|
77
|
+
/** 判断是否为有效 ktype */
|
|
78
|
+
static bool isKType(const string& ktype);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* 复权类型
|
|
82
|
+
* @note 日线以上,如周线/月线不支持复权
|
|
83
|
+
*/
|
|
84
|
+
enum RecoverType {
|
|
85
|
+
NO_RECOVER = 0, ///< 不复权
|
|
86
|
+
FORWARD = 1, ///< 前向复权
|
|
87
|
+
BACKWARD = 2, ///< 后向复权
|
|
88
|
+
EQUAL_FORWARD = 3, ///< 等比前向复权
|
|
89
|
+
EQUAL_BACKWARD = 4, ///< 等比后向复权
|
|
90
|
+
INVALID_RECOVER_TYPE = 5
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/** 默认构造,按索引方式查询全部日线数据,不复权 */
|
|
94
|
+
KQuery()
|
|
95
|
+
: m_start(0),
|
|
96
|
+
m_end(Null<int64_t>()),
|
|
97
|
+
m_queryType(INDEX),
|
|
98
|
+
m_dataType(DAY),
|
|
99
|
+
m_recoverType(NO_RECOVER) {};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* K线查询,范围[start, end)
|
|
103
|
+
* @param start 起始索引,支持负数
|
|
104
|
+
* @param end 结束索引(不包含本身),支持负数
|
|
105
|
+
* @param dataType K线类型
|
|
106
|
+
* @param recoverType 复权类型
|
|
107
|
+
* @param queryType 默认按索引方式查询
|
|
108
|
+
*/
|
|
109
|
+
KQuery(int64_t start, // cppcheck-suppress [noExplicitConstructor]
|
|
110
|
+
int64_t end = Null<int64_t>(), const KType& dataType = DAY,
|
|
111
|
+
RecoverType recoverType = NO_RECOVER, QueryType queryType = INDEX)
|
|
112
|
+
: m_start(start),
|
|
113
|
+
m_end(end),
|
|
114
|
+
m_queryType(queryType),
|
|
115
|
+
m_dataType(dataType),
|
|
116
|
+
m_recoverType(recoverType) {
|
|
117
|
+
to_upper(m_dataType);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* 按指定日期查询 K 线,范围[start, end)
|
|
122
|
+
* @param start 起始日期
|
|
123
|
+
* @param end 结束日期
|
|
124
|
+
* @param ktype K线类型
|
|
125
|
+
* @param recoverType 复权类型
|
|
126
|
+
*/
|
|
127
|
+
KQuery(Datetime start, // cppcheck-suppress [noExplicitConstructor]
|
|
128
|
+
Datetime end = Null<Datetime>(), const KType& ktype = DAY,
|
|
129
|
+
RecoverType recoverType = NO_RECOVER);
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* 按索引方式查询时,返回指定的起始索引,否则返回Null<int64_t>()
|
|
133
|
+
*/
|
|
134
|
+
int64_t start() const {
|
|
135
|
+
return m_queryType != INDEX ? Null<int64_t>() : m_start;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* 按索引方式查询时,返回指定的结束索引,否则返回Null<int64_t>()
|
|
140
|
+
*/
|
|
141
|
+
int64_t end() const {
|
|
142
|
+
return m_queryType != INDEX ? Null<int64_t>() : m_end;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* 按日期方式查询时,返回指定的起始日期,否则返回Null<Datetime>()
|
|
147
|
+
*/
|
|
148
|
+
Datetime startDatetime() const;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* 按日期方式查询时,返回指定的结束日期,否则返回Null<Datetime>()
|
|
152
|
+
*/
|
|
153
|
+
Datetime endDatetime() const;
|
|
154
|
+
|
|
155
|
+
/** 获取查询条件类型 */
|
|
156
|
+
QueryType queryType() const {
|
|
157
|
+
return m_queryType;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/** 获取K线数据类型 */
|
|
161
|
+
// KType kType() const { return m_dataType; }
|
|
162
|
+
string kType() const {
|
|
163
|
+
return m_dataType;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** 获取复权类型 */
|
|
167
|
+
RecoverType recoverType() const {
|
|
168
|
+
return m_recoverType;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/** 设置复权类型 */
|
|
172
|
+
void recoverType(RecoverType recoverType) {
|
|
173
|
+
m_recoverType = recoverType;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/** 获取queryType名称,用于显示输出 */
|
|
177
|
+
static string getQueryTypeName(QueryType);
|
|
178
|
+
|
|
179
|
+
/** 获取KType名称,用于显示输出 */
|
|
180
|
+
static string getKTypeName(KType);
|
|
181
|
+
|
|
182
|
+
/** 获取recoverType名称,用于显示输出 */
|
|
183
|
+
static string getRecoverTypeName(RecoverType);
|
|
184
|
+
|
|
185
|
+
/** 根据字符串名称获取相应的queryType枚举值 */
|
|
186
|
+
static QueryType getQueryTypeEnum(const string&);
|
|
187
|
+
|
|
188
|
+
/** 根据字符串名称,获取相应的枚举值 */
|
|
189
|
+
static KType getKTypeEnum(const string&);
|
|
190
|
+
|
|
191
|
+
/** 根据字符串名称,获取相应的枚举值 */
|
|
192
|
+
static RecoverType getRecoverTypeEnum(const string&);
|
|
193
|
+
|
|
194
|
+
private:
|
|
195
|
+
int64_t m_start;
|
|
196
|
+
int64_t m_end;
|
|
197
|
+
QueryType m_queryType;
|
|
198
|
+
KType m_dataType;
|
|
199
|
+
RecoverType m_recoverType;
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* 构造按索引方式K线查询,范围[start, end)
|
|
204
|
+
* @param start 起始索引,支持负数
|
|
205
|
+
* @param end 结束索引(不包含本身),支持负数
|
|
206
|
+
* @param dataType K线类型
|
|
207
|
+
* @param recoverType 复权类型
|
|
208
|
+
* @see KQuery
|
|
209
|
+
* @ingroup StockManage*
|
|
210
|
+
*/
|
|
211
|
+
KQuery HKU_API KQueryByIndex(int64_t start = 0, int64_t end = Null<int64_t>(),
|
|
212
|
+
const KQuery::KType& dataType = KQuery::DAY,
|
|
213
|
+
KQuery::RecoverType recoverType = KQuery::NO_RECOVER);
|
|
214
|
+
|
|
215
|
+
inline KQuery KQueryByIndex(int64_t start, int64_t end, const KQuery::KType& dataType,
|
|
216
|
+
KQuery::RecoverType recoverType) {
|
|
217
|
+
return KQuery(start, end, dataType, recoverType, KQuery::INDEX);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* 构造按日期方式K线查询,范围[startDatetime, endDatetime)
|
|
222
|
+
* @param start 起始日期
|
|
223
|
+
* @param end 结束日期(不包含本身)
|
|
224
|
+
* @param dataType K线类型
|
|
225
|
+
* @param recoverType 复权类型
|
|
226
|
+
* @see KQuery
|
|
227
|
+
* @ingroup StockManage
|
|
228
|
+
*/
|
|
229
|
+
KQuery HKU_API KQueryByDate(const Datetime& start = Datetime::min(),
|
|
230
|
+
const Datetime& end = Null<Datetime>(),
|
|
231
|
+
const KQuery::KType& dataType = KQuery::DAY,
|
|
232
|
+
KQuery::RecoverType recoverType = KQuery::NO_RECOVER);
|
|
233
|
+
|
|
234
|
+
inline KQuery KQueryByDate(const Datetime& start, const Datetime& end,
|
|
235
|
+
const KQuery::KType& dataType, KQuery::RecoverType recoverType) {
|
|
236
|
+
return KQuery(start, end, dataType, recoverType);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* 输出KQuery信息,如:KQuery(start, end, queryType, kType, recoverType)
|
|
241
|
+
* @ingroup StockManage
|
|
242
|
+
*/
|
|
243
|
+
HKU_API std::ostream& operator<<(std::ostream& os, const KQuery& query);
|
|
244
|
+
|
|
245
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
246
|
+
//
|
|
247
|
+
// 关系比较函数, 不直接在类中定义是为了支持 Null<>() == d,Null可以放在左边
|
|
248
|
+
//
|
|
249
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
250
|
+
bool HKU_API operator==(const KQuery&, const KQuery&);
|
|
251
|
+
bool HKU_API operator!=(const KQuery&, const KQuery&);
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* 提供KQuery的Null值
|
|
255
|
+
* @ingroup StockManage
|
|
256
|
+
*/
|
|
257
|
+
template <>
|
|
258
|
+
class Null<KQuery> {
|
|
259
|
+
public:
|
|
260
|
+
Null() {}
|
|
261
|
+
operator KQuery() {
|
|
262
|
+
return KQuery(Null<int64_t>(), Null<int64_t>(),
|
|
263
|
+
"", // KQuery::INVALID_KTYPE,
|
|
264
|
+
KQuery::INVALID_RECOVER_TYPE, KQuery::INVALID);
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
} // namespace hku
|
|
269
|
+
|
|
270
|
+
#if FMT_VERSION >= 90000
|
|
271
|
+
template <>
|
|
272
|
+
struct fmt::formatter<hku::KQuery> : ostream_formatter {};
|
|
273
|
+
#endif
|
|
274
|
+
|
|
275
|
+
#endif /* KQUERY_H_ */
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* KRecord.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2011-12-24
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef KRECORD_H_
|
|
10
|
+
#define KRECORD_H_
|
|
11
|
+
|
|
12
|
+
#include "DataType.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* K线数据记录
|
|
18
|
+
* @ingroup StockManage
|
|
19
|
+
*/
|
|
20
|
+
class KRecord {
|
|
21
|
+
public:
|
|
22
|
+
Datetime datetime; ///< 日期,格式:YYYYMMDDHHMM 如:200901010930
|
|
23
|
+
price_t openPrice; ///< 开盘价
|
|
24
|
+
price_t highPrice; ///< 最高价
|
|
25
|
+
price_t lowPrice; ///< 最低价
|
|
26
|
+
price_t closePrice; ///< 收盘价
|
|
27
|
+
price_t transAmount; ///< 成交金额(万元)
|
|
28
|
+
price_t transCount; ///< 成交量(手),日线以下为股数
|
|
29
|
+
|
|
30
|
+
KRecord()
|
|
31
|
+
: datetime(Null<Datetime>()),
|
|
32
|
+
openPrice(0.0),
|
|
33
|
+
highPrice(0.0),
|
|
34
|
+
lowPrice(0.0),
|
|
35
|
+
closePrice(0.0),
|
|
36
|
+
transAmount(0.0),
|
|
37
|
+
transCount(0.0) {}
|
|
38
|
+
|
|
39
|
+
explicit KRecord(const Datetime& indate)
|
|
40
|
+
: datetime(indate),
|
|
41
|
+
openPrice(0.0),
|
|
42
|
+
highPrice(0.0),
|
|
43
|
+
lowPrice(0.0),
|
|
44
|
+
closePrice(0.0),
|
|
45
|
+
transAmount(0.0),
|
|
46
|
+
transCount(0.0) {}
|
|
47
|
+
|
|
48
|
+
KRecord(const Datetime& date, price_t openPrice, price_t highPrice, price_t lowPrice,
|
|
49
|
+
price_t closePrice, price_t transAmount, price_t transCount)
|
|
50
|
+
: datetime(date),
|
|
51
|
+
openPrice(openPrice),
|
|
52
|
+
highPrice(highPrice),
|
|
53
|
+
lowPrice(lowPrice),
|
|
54
|
+
closePrice(closePrice),
|
|
55
|
+
transAmount(transAmount),
|
|
56
|
+
transCount(transCount) {}
|
|
57
|
+
|
|
58
|
+
bool isValid() const {
|
|
59
|
+
return datetime == Null<Datetime>() ? false : true;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/** @ingroup StockManage */
|
|
64
|
+
typedef vector<KRecord> KRecordList;
|
|
65
|
+
|
|
66
|
+
/** @ingroup StockManage */
|
|
67
|
+
typedef shared_ptr<KRecordList> KRecordListPtr;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* 输出KRecord信息,如:KRecord(datetime, open, high, low, close, transAmount, count)
|
|
71
|
+
* @ingroup StockManage
|
|
72
|
+
*/
|
|
73
|
+
HKU_API std::ostream& operator<<(std::ostream&, const KRecord&);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 比较两个KRecord是否相等,一般仅测试时使用
|
|
77
|
+
* @ingroup StockManage
|
|
78
|
+
*/
|
|
79
|
+
bool HKU_API operator==(const KRecord& d1, const KRecord& d2);
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* 两个KRecord不等比较
|
|
83
|
+
* @ingroup StockManage
|
|
84
|
+
*/
|
|
85
|
+
bool HKU_API operator!=(const KRecord& d1, const KRecord& d2);
|
|
86
|
+
|
|
87
|
+
} // namespace hku
|
|
88
|
+
|
|
89
|
+
#if FMT_VERSION >= 90000
|
|
90
|
+
template <>
|
|
91
|
+
struct fmt::formatter<hku::KRecord> : ostream_formatter {};
|
|
92
|
+
#endif
|
|
93
|
+
|
|
94
|
+
#endif /* KRECORD_H_ */
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* MarketInfo.h
|
|
3
|
+
*
|
|
4
|
+
* Created on: 2011-12-5
|
|
5
|
+
* Author: fasiondog
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
#ifndef MARKETINFO_H_
|
|
10
|
+
#define MARKETINFO_H_
|
|
11
|
+
|
|
12
|
+
#include "DataType.h"
|
|
13
|
+
|
|
14
|
+
namespace hku {
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 市场信息记录
|
|
18
|
+
* @ingroup StockManage
|
|
19
|
+
*/
|
|
20
|
+
class HKU_API MarketInfo {
|
|
21
|
+
public:
|
|
22
|
+
/** 默认构造函数,返回Null<MarketInfo>() */
|
|
23
|
+
MarketInfo();
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param market 市场简称
|
|
27
|
+
* @param name 市场名称
|
|
28
|
+
* @param description 市场描述
|
|
29
|
+
* @param code 基本指数:用于读取该市场的交易日历
|
|
30
|
+
* @param lastDate 市场当前最后日期
|
|
31
|
+
* @param openTime1 开市时间段1起始时间
|
|
32
|
+
* @param closeTime1 开市时间段1结束时间
|
|
33
|
+
* @param openTime2 开市时间段2起始时间
|
|
34
|
+
* @param closeTime2 开市时间段2结束时间
|
|
35
|
+
*/
|
|
36
|
+
MarketInfo(const string& market, const string& name, const string& description,
|
|
37
|
+
const string& code, const Datetime& lastDate, TimeDelta openTime1,
|
|
38
|
+
TimeDelta closeTime1, TimeDelta openTime2, TimeDelta closeTime2);
|
|
39
|
+
|
|
40
|
+
/** 获取市场简称 */
|
|
41
|
+
const string& market() const {
|
|
42
|
+
return m_market;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** 获取市场名称 */
|
|
46
|
+
const string& name() const {
|
|
47
|
+
return m_name;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** 获取市场描述 */
|
|
51
|
+
const string& description() const {
|
|
52
|
+
return m_description;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** 获取该市场对应的指数代码 */
|
|
56
|
+
const string& code() const {
|
|
57
|
+
return m_code;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** 获取市场数据的最后更新日期 */
|
|
61
|
+
Datetime lastDate() const {
|
|
62
|
+
return m_lastDate;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** 开市时间1 */
|
|
66
|
+
TimeDelta openTime1() const {
|
|
67
|
+
return m_openTime1;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** 闭市时间1 */
|
|
71
|
+
TimeDelta closeTime1() const {
|
|
72
|
+
return m_closeTime1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** 开市时间2 */
|
|
76
|
+
TimeDelta openTime2() const {
|
|
77
|
+
return m_openTime2;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** 闭市时间2 */
|
|
81
|
+
TimeDelta closeTime2() const {
|
|
82
|
+
return m_closeTime2;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** 仅用于python的__str__ */
|
|
86
|
+
string toString() const;
|
|
87
|
+
|
|
88
|
+
private:
|
|
89
|
+
string m_market; // 市场标识
|
|
90
|
+
string m_name; // 市场名称
|
|
91
|
+
string m_description; // 描述信息
|
|
92
|
+
string m_code; // 市场对应的指数代码,用于获取交易日历
|
|
93
|
+
Datetime m_lastDate; // 当前市场最后日期
|
|
94
|
+
TimeDelta m_openTime1; // 上午开市时间
|
|
95
|
+
TimeDelta m_closeTime1; // 上午闭市时间
|
|
96
|
+
TimeDelta m_openTime2; // 下午开市时间
|
|
97
|
+
TimeDelta m_closeTime2; // 下午闭市时间
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* 输出市场信息,如:
|
|
102
|
+
* MarketInfo(SH, 上海证券交易所, 上海市场, 000001, 2011-Dec-06 00:00:00)
|
|
103
|
+
* @ingroup StockManage
|
|
104
|
+
*/
|
|
105
|
+
HKU_API std::ostream& operator<<(std::ostream&, const MarketInfo&);
|
|
106
|
+
|
|
107
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
108
|
+
//
|
|
109
|
+
// 关系比较函数
|
|
110
|
+
//
|
|
111
|
+
///////////////////////////////////////////////////////////////////////////////
|
|
112
|
+
bool operator==(const MarketInfo&, const MarketInfo&);
|
|
113
|
+
bool operator!=(const MarketInfo&, const MarketInfo&);
|
|
114
|
+
|
|
115
|
+
/** 相等比较 */
|
|
116
|
+
inline bool operator==(const MarketInfo& m1, const MarketInfo& m2) {
|
|
117
|
+
return m1.market() == m2.market();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** 不等比较 */
|
|
121
|
+
inline bool operator!=(const MarketInfo& m1, const MarketInfo& m2) {
|
|
122
|
+
return m1.market() != m2.market();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
} // namespace hku
|
|
126
|
+
|
|
127
|
+
#if FMT_VERSION >= 90000
|
|
128
|
+
template <>
|
|
129
|
+
struct fmt::formatter<hku::MarketInfo> : ostream_formatter {};
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
#endif /* MARKETINFO_H_ */
|